From 415856bdd4f48ab4f2732996f0bae58595092bbe Mon Sep 17 00:00:00 2001 From: Parabola Date: Tue, 5 Apr 2011 14:26:38 +0000 Subject: Tue Apr 5 14:26:38 UTC 2011 --- community/inn/PKGBUILD | 121 ++++++++++++++++++++++++++++++++++++++++++ community/inn/inn.install | 22 ++++++++ community/inn/innd.conf | 2 + community/inn/innd.rc | 41 ++++++++++++++ community/inn/nnrpd.conf | 3 ++ community/inn/nnrpd.rc | 49 +++++++++++++++++ community/inn/site.make.patch | 32 +++++++++++ 7 files changed, 270 insertions(+) create mode 100644 community/inn/PKGBUILD create mode 100644 community/inn/inn.install create mode 100644 community/inn/innd.conf create mode 100644 community/inn/innd.rc create mode 100644 community/inn/nnrpd.conf create mode 100644 community/inn/nnrpd.rc create mode 100644 community/inn/site.make.patch (limited to 'community/inn') diff --git a/community/inn/PKGBUILD b/community/inn/PKGBUILD new file mode 100644 index 000000000..98d913f43 --- /dev/null +++ b/community/inn/PKGBUILD @@ -0,0 +1,121 @@ +# $Id: PKGBUILD 44059 2011-04-01 20:32:01Z spupykin $ +# Maintainer: Sergej Pupykin +# Maintainer: Edward Tjörnhammar +# Contributor: Edward Tjörnhammar + +pkgname=inn +pkgver=2.5.2 +pkgrel=5 +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.rc + nnrpd.rc + innd.conf + nnrpd.conf + site.make.patch) +md5sums=('a6e577dceb90d07501b96149508b974b' + '2ad5138dac7c7535278f73f30020d656' + 'a0b1ff8501ac8a31ce81a2f9c9b4bac9' + 'fbf1d2c5b3c5a08ae3e515c71c2e2e4a' + 'bb4bbe86ae52fbbf08b0f6f370dea052' + '960c800026ed6e03901cf0bafdfd53d8') + +build() { + cd $srcdir/inn-$pkgver + + [ $NOEXTRACT -eq 1 ] || 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 + # build in chroot fails with default news:news since they don't exist. + # uncomment following lines for working build. not sure if this is the correct solution though. + # --with-news-user=root \ + # --with-news-group=root \ + + sed -i 's|-export-dynamic gnu|-export-dynamic|' Makefile.global + + [ $NOEXTRACT -eq 1 ] || patch -p3 < $srcdir/site.make.patch + export LD_LIBRARY_PATH=.:$pkgdir/usr/lib:$LD_LIBRARY_PATH + + make + make DESTDIR=$pkgdir install + + mkdir -p $pkgdir/etc/{conf,rc}.d && \ + install -m0755 $srcdir/innd.rc $pkgdir/etc/rc.d/innd + install -m0644 $srcdir/innd.conf $pkgdir/etc/conf.d/innd + + install -m0755 $srcdir/nnrpd.rc $pkgdir/etc/rc.d/nnrpd + install -m0644 $srcdir/nnrpd.conf $pkgdir/etc/conf.d/nnrpd + + 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 +} diff --git a/community/inn/inn.install b/community/inn/inn.install new file mode 100644 index 000000000..37b6394b1 --- /dev/null +++ b/community/inn/inn.install @@ -0,0 +1,22 @@ +post_install() { + grep -e "^news:" /etc/group 2>&- >&- || groupadd -r news 2>&- >&- + grep -e "^news:" /etc/passwd 2>&- >&- || useradd -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/innd.conf b/community/inn/innd.conf new file mode 100644 index 000000000..48f96ba5e --- /dev/null +++ b/community/inn/innd.conf @@ -0,0 +1,2 @@ +NEWS_USER=news +NEWS_GROUP=news diff --git a/community/inn/innd.rc b/community/inn/innd.rc new file mode 100644 index 000000000..e88bd0c39 --- /dev/null +++ b/community/inn/innd.rc @@ -0,0 +1,41 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions +[ -f /etc/conf.d/innd ] && . /etc/conf.d/innd +[ -z "$NEWS_USER" ] && print "Please set news username" && exit 1; + +case "$1" in + start) + stat_busy "Starting InterNetNews" + [ -d /var/run/inn ] || mkdir -p /var/run/inn + su $NEWS_USER -c /usr/bin/rc.news 2>&- >&- + if [ $? -gt 0 ]; then + stat_fail + else + echo $! > /var/run/innd.pid + add_daemon innd + stat_done + fi + + ;; + stop) + stat_busy "Stopping InterNetNews" + su $NEWS_USER -c /usr/bin/rc.news stop 2>&- >&- + if [ $? -gt 0 ]; then + stat_fail + else + rm /var/run/innd.pid + rm_daemon innd + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 diff --git a/community/inn/nnrpd.conf b/community/inn/nnrpd.conf new file mode 100644 index 000000000..689a289ce --- /dev/null +++ b/community/inn/nnrpd.conf @@ -0,0 +1,3 @@ +USE_SSL=1 +LISTEN_PORT=563 +NNRPD_OPTS="-D -S -p $LISTEN_PORT -c /etc/inn/readers.conf" diff --git a/community/inn/nnrpd.rc b/community/inn/nnrpd.rc new file mode 100644 index 000000000..d7c902832 --- /dev/null +++ b/community/inn/nnrpd.rc @@ -0,0 +1,49 @@ +#!/bin/bash + +. /etc/rc.conf +. /etc/rc.d/functions +[ -f /etc/conf.d/nnrpd ] && . /etc/conf.d/nnrpd +[ -z "$NNRPD_OPTS" ] && print "FATAL: No arguments where passed" && exit 1; + +PID=`pidof -o %PPID nnrpd` +case "$1" in + start) + stat_busy "Starting InterNetNews Readers Daemon" + if [ ! -f /var/run/nnrpd.pid ]; then + stat_append ":: InterNetNews (innd) is not running" + stat_fail + exit 1 + fi + + [ -d /var/run/inn ] || mkdir -p /var/run/inn + [ -z "$PID" ] && nnrpd $NNRPD_OPTS 2>&- >&- + if [ $? -gt 0 ]; then + stat_fail + else + PID=`pidof -o %PPID nnrpd` + echo $PID > /var/run/nnrpd.pid + add_daemon nnrpd + stat_done + fi + + ;; + stop) + stat_busy "Stopping InterNetNews Readers Daemon" + [ ! -z "$PID" ] && kill $PID >&- + if [ $? -gt 0 ]; then + stat_fail + else + rm /var/run/nnrpd.pid + rm_daemon nnrpd + stat_done + fi + ;; + restart) + $0 stop + sleep 1 + $0 start + ;; + *) + echo "usage: $0 {start|stop|restart}" +esac +exit 0 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: + -- cgit v1.2.3-54-g00ecf