diff options
Diffstat (limited to 'community/inn')
-rw-r--r-- | community/inn/PKGBUILD | 125 | ||||
-rw-r--r-- | community/inn/inn.install | 22 | ||||
-rw-r--r-- | community/inn/inn.tmpfiles | 1 | ||||
-rw-r--r-- | community/inn/innd.service | 16 | ||||
-rw-r--r-- | community/inn/site.make.patch | 32 |
5 files changed, 196 insertions, 0 deletions
diff --git a/community/inn/PKGBUILD b/community/inn/PKGBUILD new file mode 100644 index 000000000..adc62dab0 --- /dev/null +++ b/community/inn/PKGBUILD @@ -0,0 +1,125 @@ +# $Id: PKGBUILD 92442 2013-06-05 11:48:40Z spupykin $ +# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com> +# Maintainer: Edward Tjörnhammar <xhemi@cube2.se> +# Contributor: Edward Tjörnhammar <xhemi@cube2.se> + +pkgname=inn +pkgver=2.5.3 +pkgrel=7 +pkgdesc="Complete open source Usenet system. De facto standard for handling news routing, news spool and serving the spool to customers." +url="http://www.isc.org/software/inn/" +arch=('i686' 'x86_64') +license=("custom:INN") +depends=('openssl' 'dovecot') +makedepends=('make' 'bison' 'python2' 'gcc' 'smtp-forwarder' 'libsasl') +optdepends=('perl' 'python2' 'libsasl') +options=(emptydirs docs zipman) +install=inn.install +backup=(etc/inn/newsfeeds + etc/inn/incoming.conf + etc/inn/nnrpd.track + etc/inn/passwd.nntp + etc/inn/inn.conf + etc/inn/moderators + etc/inn/control.ctl + etc/inn/expire.ctl + etc/inn/nntpsend.ctl + etc/inn/innreport.conf + etc/inn/innwatch.ctl + etc/inn/distrib.pats + etc/inn/actsync.cfg + etc/inn/actsync.ign + etc/inn/motd.news + etc/inn/storage.conf + etc/inn/cycbuff.conf + etc/inn/buffindexed.conf + etc/inn/innfeed.conf + etc/inn/news2mail.cf + etc/inn/readers.conf + etc/inn/radius.conf + etc/inn/ovdb.conf + etc/inn/subscriptions + var/db/inn/active + var/db/inn/active.times + var/db/inn/history + var/db/inn/history.dir + var/db/inn/history.hash + var/db/inn/history.index + var/db/inn/newsgroups) +source=(http://ftp.isc.org/isc/inn/inn-$pkgver.tar.gz + innd.service + inn.tmpfiles + site.make.patch) +md5sums=('353fe95232828ddbc80debff86c240bc' + '9da925a486fcf0cd67fdf462cbb9c0b4' + '050b7bffff3361c673a118739e42349e' + '960c800026ed6e03901cf0bafdfd53d8') + +prepare() { + cd $srcdir/inn-$pkgver +# sed -i 's|-export-dynamic gnu|-export-dynamic|' Makefile.global + [ $NOEXTRACT -eq 1 ] || patch -p3 < $srcdir/site.make.patch + sed -i 's|#define L_NOTICE.*|#define L_NOTICE LOG_NOTICE|' include/inn/options.h +} + +build() { + cd $srcdir/inn-$pkgver + PYTHON=/usr/bin/python2 ./configure --prefix=/usr \ + --includedir=/usr/include/inn \ + --sbindir=/usr/sbin \ + --with-libtool \ + --with-gnu-id \ + --with-db-dir=/var/db/inn \ + --sysconfdir=/etc/inn \ + --with-spool-dir=/var/spool/news \ + --with-log-dir=/var/log/inn \ + --with-run-dir=/var/run/inn \ + --with-tmp-dir=/var/spool/inn/tmp \ + --enable-largefiles \ + --with-openssl=/usr \ + --with-perl \ + --with-python \ + --with-sendmail=/usr/bin/msmtp \ + --with-sasl=/usr \ + --with-news-user=9 \ + --with-news-group=13 + # See https://wiki.archlinux.org/index.php/DeveloperWiki:UID_/_GID_Database + test -f include/config.h + cat >>include/config.h <<EOF +#undef RUNASUSER +#define RUNASUSER "news" +#undef RUNASGROUP +#define RUNASGROUP "news" +EOF + make +} + +package() { + cd $srcdir/inn-$pkgver + export LD_LIBRARY_PATH=.:$pkgdir/usr/lib:$LD_LIBRARY_PATH + + make DESTDIR=$pkgdir install + + cd $pkgdir/usr/lib + for i in lib*.a; do + gcc -shared -o ${i%%.a}.so.2.0.0 $i + for j in 2.0 2; do + ln -s ${i%%a}so.2.0.0 ${i%%a}so.$j + done + done + + touch $pkgdir/var/db/inn/history{.dir,.hash,.index,} + + mkdir -p $pkgdir/usr/share/doc/inn $pkgdir/usr/share/inn/ + mv $pkgdir/usr/share/man/man3/list.3 $pkgdir/usr/share/man/man3/list-inn.3 + mv $pkgdir/usr/doc/* $pkgdir/usr/share/doc/inn/ + mv $pkgdir/usr/http/* $pkgdir/usr/share/inn/ + mv $pkgdir/usr/bin/archive $pkgdir/usr/bin/archive.inn + rm -rf $pkgdir/usr/doc $pkgdir/usr/http $pkgdir/var/run + install -D -m0644 $srcdir/inn-$pkgver/LICENSE $pkgdir/usr/share/licenses/inn/LICENSE + chown root:root $pkgdir/usr/bin/innbind + chmod 05555 $pkgdir/usr/bin/innbind + + install -Dm0644 $srcdir/innd.service $pkgdir/usr/lib/systemd/system/innd.service + install -Dm0644 $srcdir/inn.tmpfiles $pkgdir/usr/lib/tmpfiles.d/inn.conf +} diff --git a/community/inn/inn.install b/community/inn/inn.install new file mode 100644 index 000000000..e4070870f --- /dev/null +++ b/community/inn/inn.install @@ -0,0 +1,22 @@ +post_install() { + grep -e "^news:" /etc/group 2>&- >&- || groupadd -g 13 -r news 2>&- >&- + grep -e "^news:" /etc/passwd 2>&- >&- || useradd -u 9 -r -m -g news news 2>&- >&- + + /usr/bin/makedbz -i -o 2>&- >&- + mkdir /var/log/news 2>&- >&- + + chown news:news -R var/spool/news 2>&- >&- + chown news:news var/log/news 2>&- >&- + chown news:news -R var/db/inn 2>&- >&- + + echo "" + echo "->" + echo "-> If this is a first-time installation, a minimal active file and" + echo "-> history database have been installed. Do not forget to update" + echo "-> your cron entries and configure INN. See INSTALL for more" + echo "-> information." + echo "->" + echo "-> The default user:group for inn is news:news" + echo "->" + echo "" +} diff --git a/community/inn/inn.tmpfiles b/community/inn/inn.tmpfiles new file mode 100644 index 000000000..234b97c2c --- /dev/null +++ b/community/inn/inn.tmpfiles @@ -0,0 +1 @@ +d /run/inn 0755 news news - diff --git a/community/inn/innd.service b/community/inn/innd.service new file mode 100644 index 000000000..724baf90c --- /dev/null +++ b/community/inn/innd.service @@ -0,0 +1,16 @@ +[Unit] +Description=Inetnet News Daemon +After=syslog.target network.target +ConditionPathExists=/etc/inn/inn.conf + +[Service] +User=news +PermissionsStartOnly=true +PIDFile=/run/inn/innd.pid +Type=forking +ExecStart=/usr/bin/rc.news +ExecStop=/bin/su -m news -c '/usr/bin/rc.news stop' +KillMode=control-group + +[Install] +WantedBy=multi-user.target diff --git a/community/inn/site.make.patch b/community/inn/site.make.patch new file mode 100644 index 000000000..5af6e1162 --- /dev/null +++ b/community/inn/site.make.patch @@ -0,0 +1,32 @@ +--- old/src/inn-2.4.5/site/Makefile 2008-06-29 19:56:57.000000000 +0200 ++++ new/src/inn-2.4.5/site/Makefile 2008-10-09 19:27:59.613208825 +0200 +@@ -52,7 +52,6 @@ + + PATH_ACTIVE = ${PATHDB}/active + PATH_ACTIVE_TIMES = ${PATHDB}/active.times +-PATH_HISTORY = ${PATHDB}/history + PATH_NEWSGROUPS = ${PATHDB}/newsgroups + + ## Scripts from above, plus site-specific config files. +@@ -98,7 +97,7 @@ + ALL_INSTALLED = $(MOST_INSTALLED) $(REST_INSTALLED) + + SPECIAL = $D$(PATH_ACTIVE) $D$(PATH_ACTIVE_TIMES) \ +- $D$(PATH_NEWSGROUPS) $D$(PATH_HISTORY) ++ $D$(PATH_NEWSGROUPS) + + ## Get new versions of everything from samples directory. + all: $(ALL) config +@@ -143,12 +142,6 @@ + chown $(RUNASUSER) $@ + chgrp $(RUNASGROUP) $@ + chmod $(FILEMODE) $@ +-$D$(PATH_HISTORY): +- touch $@ +- chown $(RUNASUSER) $@ +- chgrp $(RUNASGROUP) $@ +- chmod $(FILEMODE) $@ +- test -z "$D" && $(PATHBIN)/makedbz -i -o + + bootstrap: + |