diff options
author | Jeroen Roovers <jer@gentoo.org> | 2010-01-12 02:08:14 +0000 |
---|---|---|
committer | Jeroen Roovers <jer@gentoo.org> | 2010-01-12 02:08:14 +0000 |
commit | b8d7a3fc7b4d16276291e39af7a0bab641aeeefd (patch) | |
tree | 39fd76a9ff6f3e27768bc668728eb573e50d7c48 | |
parent | No removal for net-nntp/inn just yet. (diff) | |
download | gentoo-2-b8d7a3fc7b4d16276291e39af7a0bab641aeeefd.tar.gz gentoo-2-b8d7a3fc7b4d16276291e39af7a0bab641aeeefd.tar.bz2 gentoo-2-b8d7a3fc7b4d16276291e39af7a0bab641aeeefd.zip |
Version bump, and backporting to 2.5.0 fixing the following issues: Depend on dev-perl/MIME-tools thanks to Raphaël Barrois (bug #298160). Fix configure options (remove obsolete ones, replace changed options, add default ones). Fix python.m4 failure because it greps LDFLAGS (which we do not use to pass libraries to the linker). Fix biff/comsat service test. Fix doexe error in doinitd. Do not enable libtool (not the upstream default).
(Portage version: 2.2_rc61/cvs/Linux i686)
-rw-r--r-- | net-nntp/inn/ChangeLog | 16 | ||||
-rw-r--r-- | net-nntp/inn/inn-2.5.0.ebuild | 54 | ||||
-rw-r--r-- | net-nntp/inn/inn-2.5.1.ebuild | 246 |
3 files changed, 281 insertions, 35 deletions
diff --git a/net-nntp/inn/ChangeLog b/net-nntp/inn/ChangeLog index 1d2a46ae2734..75e3e95f6dbd 100644 --- a/net-nntp/inn/ChangeLog +++ b/net-nntp/inn/ChangeLog @@ -1,6 +1,18 @@ # ChangeLog for net-nntp/inn -# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-nntp/inn/ChangeLog,v 1.25 2009/11/08 22:34:33 rich0 Exp $ +# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/net-nntp/inn/ChangeLog,v 1.26 2010/01/12 02:08:14 jer Exp $ + +*inn-2.5.1 (12 Jan 2010) + + 12 Jan 2010; Jeroen Roovers <jer@gentoo.org> inn-2.5.0.ebuild, + +inn-2.5.1.ebuild: + Version bump, and backporting to 2.5.0 fixing the following issues: Depend + on dev-perl/MIME-tools thanks to Raphaël Barrois (bug #298160). Fix + configure options (remove obsolete ones, replace changed options, add + default ones). Fix python.m4 failure because it greps LDFLAGS (which we do + not use to pass libraries to the linker). Fix biff/comsat service test. + Fix doexe error in doinitd. Do not enable libtool (not the upstream + default). *inn-2.4.3-r2 (08 Nov 2009) diff --git a/net-nntp/inn/inn-2.5.0.ebuild b/net-nntp/inn/inn-2.5.0.ebuild index 2479aed39d56..f63e6cedb169 100644 --- a/net-nntp/inn/inn-2.5.0.ebuild +++ b/net-nntp/inn/inn-2.5.0.ebuild @@ -1,15 +1,13 @@ -# Copyright 1999-2009 Gentoo Foundation +# Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-nntp/inn/inn-2.5.0.ebuild,v 1.1 2009/07/25 15:16:14 patrick Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-nntp/inn/inn-2.5.0.ebuild,v 1.2 2010/01/12 02:08:14 jer Exp $ EAPI="2" -WANT_AUTOCONF="2.1" - -inherit fixheadtails ssl-cert eutils multilib libtool autotools +inherit autotools eutils fixheadtails multilib ssl-cert # they fail since 2.4.x, so ... -RESTRICT="test" +#RESTRICT="test" DESCRIPTION="The Internet News daemon, fully featured NNTP server" HOMEPAGE="http://www.isc.org/products/INN" @@ -24,53 +22,44 @@ RDEPEND="virtual/mta kerberos? ( virtual/krb5 ) sasl? ( >=dev-libs/cyrus-sasl-2 ) ssl? ( dev-libs/openssl ) - perl? ( dev-lang/perl ) + perl? ( dev-perl/MIME-tools ) python? ( dev-lang/python ) berkdb? ( sys-libs/db )" DEPEND="${RDEPEND}" src_prepare() { - #ht_fix_file configure.in support/fixscript.in + sed -i -e "s/ -B .OLD//" Makefile.global.in || die "sed failed" - sed -i \ - -e "s/ -B .OLD//" \ - Makefile.global.in \ - control/Makefile \ - doc/man/Makefile - - sed -i \ - -e "s:@prefix@/lib:/etc/news/cert:" \ - samples/sasl.conf.in - - # Fixes compatibility problems with sys-libs/db-4.4 and 4.5, - # bug 174680. - #epatch "${FILESDIR}/${P}-berkdb45.patch" - - # Fixes problems with the test suite. - #epatch "${FILESDIR}/${P}-runtests.patch" + # Do not treat LDFLAGS as if it contained libraries to link to + sed -i m4/python.m4 -e 's|LDFLAGS||g' || die "sed python.m4 failed" + + # We do not have the biff service, but we do have comsat + sed -i tests/lib/getnameinfo-t.c \ + -e 's|"biff"|"comsat"|g' \ + || die "sed getnameinfo-t.c failed" - elibtoolize + eautoreconf } -src_compile() { +src_configure() { econf \ --prefix=/usr/$(get_libdir)/news \ + --sysconfdir=/etc/news \ --mandir=/usr/share/man \ --infodir=/usr/share/info \ --with-control-dir=/usr/$(get_libdir)/news/bin/control \ - --with-etc-dir=/etc/news \ --with-filter-dir=/usr/$(get_libdir)/news/bin/filter \ --with-db-dir=/var/spool/news/db \ --with-doc-dir=/usr/share/doc/${PF} \ --with-spool-dir=/var/spool/news \ --with-log-dir=/var/log/news \ --with-run-dir=/var/run/news \ - --with-tmp-path=/var/spool/news/tmp \ - --enable-libtool \ + --with-tmp-dir=/var/spool/news/tmp \ + --disable-libtool \ + --with-gnu-ld \ --enable-setgid-inews \ --enable-uucp-rnews \ - --without-tcl \ $(use_with perl) \ $(use_with python) \ $(use_with kerberos kerberos /usr) \ @@ -82,11 +71,10 @@ src_compile() { $(use_enable inntaggedhash tagged-hash) \ $(use_enable innkeywords keywords) \ || die "econf failed" - emake -j1 P="" || die "emake failed" } src_install() { - make DESTDIR="${D}/" P="" SPECIAL="" install || die "make install failed" + emake DESTDIR="${D}/" P="" SPECIAL="" install || die "make install failed" chown -R root:0 "${D}"/usr/{$(get_libdir)/news/{lib,include},share/{doc,man}} chmod 644 "${D}"/etc/news/* @@ -111,7 +99,7 @@ src_install() { insinto /usr/$(get_libdir)/news/include doins include/*.h - doinitd "${FILESDIR}"/innd innd + doinitd "${FILESDIR}"/innd } pkg_postinst() { diff --git a/net-nntp/inn/inn-2.5.1.ebuild b/net-nntp/inn/inn-2.5.1.ebuild new file mode 100644 index 000000000000..bdb52d395755 --- /dev/null +++ b/net-nntp/inn/inn-2.5.1.ebuild @@ -0,0 +1,246 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-nntp/inn/inn-2.5.1.ebuild,v 1.1 2010/01/12 02:08:14 jer Exp $ + +EAPI="2" + +inherit autotools eutils fixheadtails multilib ssl-cert + +# they fail since 2.4.x, so ... +#RESTRICT="test" + +DESCRIPTION="The Internet News daemon, fully featured NNTP server" +HOMEPAGE="http://www.isc.org/products/INN" +SRC_URI="ftp://ftp.isc.org/isc/inn/${P}.tar.gz" + +SLOT="0" +LICENSE="as-is BSD GPL-2" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="ipv6 kerberos sasl ssl perl python berkdb inntaggedhash innkeywords" + +RDEPEND="virtual/mta + kerberos? ( virtual/krb5 ) + sasl? ( >=dev-libs/cyrus-sasl-2 ) + ssl? ( dev-libs/openssl ) + perl? ( dev-perl/MIME-tools ) + python? ( dev-lang/python ) + berkdb? ( sys-libs/db )" +DEPEND="${RDEPEND}" + +src_prepare() { + #ht_fix_file configure.in support/fixscript.in + sed -i -e "s/ -B .OLD//" Makefile.global.in || die "sed failed" + + # Do not treat LDFLAGS as if it contained libraries to link to + sed -i m4/python.m4 -e 's|LDFLAGS||g' || die "sed python.m4 failed" + + # We do not have the biff service, but we do have comsat + sed -i tests/lib/getnameinfo-t.c \ + -e 's|"biff"|"comsat"|g' \ + || die "sed getnameinfo-t.c failed" + + eautoreconf +} + +src_configure() { + econf \ + --prefix=/usr/$(get_libdir)/news \ + --sysconfdir=/etc/news \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --with-control-dir=/usr/$(get_libdir)/news/bin/control \ + --with-filter-dir=/usr/$(get_libdir)/news/bin/filter \ + --with-db-dir=/var/spool/news/db \ + --with-doc-dir=/usr/share/doc/${PF} \ + --with-spool-dir=/var/spool/news \ + --with-log-dir=/var/log/news \ + --with-run-dir=/var/run/news \ + --with-tmp-dir=/var/spool/news/tmp \ + --disable-libtool \ + --with-gnu-ld \ + --enable-setgid-inews \ + --enable-uucp-rnews \ + $(use_with perl) \ + $(use_with python) \ + $(use_with kerberos kerberos /usr) \ + $(use_with sasl) \ + $(use_with ssl openssl) \ + $(use_with berkdb berkeleydb /usr) \ + $(use_enable ipv6) \ + $(use_enable !inntaggedhash largefiles) \ + $(use_enable inntaggedhash tagged-hash) \ + $(use_enable innkeywords keywords) \ + || die "econf failed" +} + +src_install() { + emake DESTDIR="${D}/" P="" SPECIAL="" install || die "make install failed" + + chown -R root:0 "${D}"/usr/{$(get_libdir)/news/{lib,include},share/{doc,man}} + chmod 644 "${D}"/etc/news/* + for file in control.ctl expire.ctl incoming.conf nntpsend.ctl passwd.nntp readers.conf + do + chmod 640 "${D}"/etc/news/${file} + done + + # Prevent old db/* files from being overwritten + insinto /usr/share/inn/dbexamples + newins site/active.minimal active + newins site/newsgroups.minimal newsgroups + + keepdir \ + /var/{log,run}/news \ + /var/spool/news/{,archive,articles,db,incoming{,/bad},innfeed,outgoing,overview,tmp} + + dodoc ChangeLog MANIFEST README* doc/checklist + use ipv6 && dodoc doc/IPv6-info + + # So other programs can build against INN. (eg. Suck) + insinto /usr/$(get_libdir)/news/include + doins include/*.h + + doinitd "${FILESDIR}"/innd +} + +pkg_postinst() { + for db_file in active newsgroups + do + [[ -f ${ROOT}/var/spool/news/db/${db_file} ]] && continue + + if [[ -f ${ROOT}/usr/share/inn/dbexamples/${db_file} ]] + then + cp "${ROOT}"/usr/share/inn/dbexamples/${db_file} "${ROOT}"/var/spool/news/db/${db_file} + else + touch "${ROOT}"/var/spool/news/db/${db_file} + fi + + chown news:news "${ROOT}"/var/spool/news/db/${db_file} + chmod 664 "${ROOT}"/var/spool/news/db/${db_file} + done + + elog "Do not forget to update your cron entries, and also run" + elog "makedbz if you need to. If this is a first-time installation" + elog "a minimal active file has been installed. You will need to" + elog "touch history and run 'makedbz -i' to initialize the history" + elog "database. See INSTALL for more information." + elog + elog "You need to assign a real shell to the news user, or else" + elog "starting inn will fail. You can use 'usermod -s /bin/bash news'" + elog "for this." + + if use ssl + then + install_cert /etc/news/cert/cert + chown news:news "${ROOT}"/etc/news/cert/cert.{crt,csr,key,pem} + + elog + elog "You may want to start nnrpd manually for native ssl support." + elog "If you choose to do so, automating this with a bootscript might" + elog "also be a good choice." + elog "Have a look at man nnrpd for valid parameters." + elog + elog "The certificate location in /etc/news/sasl.conf has been changed" + elog "to /etc/news/cert!" + + fi +} + +pkg_postrm() { + elog + elog "If you want your newsspool or altered configuration files" + elog "to be removed, please do so now manually." + elog +} + +pkg_config() { + NEWSSPOOL_DIR="${ROOT}/var/spool/news" + NEWS_SHELL="`awk -F':' '/^news:/ {print $7;}' ${ROOT}/etc/passwd`" + NEWS_ERRFLAG="0" + + if [[ ${NEWS_SHELL} == /bin/false || ${NEWS_SHELL} == /dev/null ]] + then + if [ ${UID} -eq 0 ] + then + einfo "Changing shell to /bin/bash for user news..." + usermod -s /bin/bash news + else + NEWS_ERRFLAG=1 + eerror + eerror "Could not change shell for user news." + eerror "Please run 'usermod -s /bin/bash news' as root." + fi + else + einfo "Shell for user news unchanged ('${NEWS_SHELL}')." + if [[ ${NEWS_SHELL} != /bin/sh && ${NEWS_SHELL} != /bin/bash ]] + then + ewarn "You might want to change it to '/bin/bash', though." + fi + fi + + if [[ ! -e ${NEWSSPOOL_DIR}/db/history ]] + then + if [[ ! -f ${NEWSSPOOL_DIR}/db/history.dir \ + && ! -f ${NEWSSPOOL_DIR}/db/history.pag \ + && ! -f ${NEWSSPOOL_DIR}/db/history.hash \ + && ! -f ${NEWSSPOOL_DIR}/db/history.index ]] + then + einfo "Building history database..." + + touch "${NEWSSPOOL_DIR}"/db/history + chown news:news "${NEWSSPOOL_DIR}"/db/history + chmod 644 "${NEWSSPOOL_DIR}"/db/history + + su - news -c "/usr/$(get_libdir)/news/bin/makedbz -i" + [[ -f ${NEWSSPOOL_DIR}/db/history.n.dir ]] && mv -f "${NEWSSPOOL_DIR}"/db/history.n.dir "${NEWSSPOOL_DIR}"/db/history.dir + [[ -f ${NEWSSPOOL_DIR}/db/history.n.pag ]] && mv -f "${NEWSSPOOL_DIR}"/db/history.n.pag "${NEWSSPOOL_DIR}"/db/history.pag + [[ -f ${NEWSSPOOL_DIR}/db/history.n.hash ]] && mv -f "${NEWSSPOOL_DIR}"/db/history.n.hash "${NEWSSPOOL_DIR}"/db/history.hash + [[ -f ${NEWSSPOOL_DIR}/db/history.n.index ]] && mv -f "${NEWSSPOOL_DIR}"/db/history.n.index "${NEWSSPOOL_DIR}"/db/history.index + su - news -c /usr/$(get_libdir)/news/bin/makehistory + else + NEWS_ERRFLAG="1" + eerror + eerror "Your installation seems to be screwed up." + eerror "${NEWSSPOOL_DIR}/db/history does not exist, but there's" + eerror "one of the files history.dir, history.hash or history.index" + eerror "within ${NEWSSPOOL_DIR}/db." + eerror "Use your backup to restore the history database." + fi + else + einfo "${NEWSSPOOL_DIR}/db/history found. Leaving history database as it is." + fi + + INNCFG_INODES="$(sed -e '/innwatchspoolnodes/ ! d' /etc/news/inn.conf | sed -e 's/[^ ]*[ ]*\([^ ]*\)/\1/')" + INNSPOOL_INODES="$(df -Pi ${NEWSSPOOL_DIR} | sed -e 's/[^ ]*[ ]*\([^ ]*\).*/\1/' | sed -e '1 d')" + if [[ ${INNCFG_INODES} -gt ${INNSPOOL_INODES} ]] + then + ewarn "Setting innwatchspoolinodes to zero, because the filesystem behind" + ewarn "$NEWSSPOOL_DIR works without inodes." + ewarn + cp /etc/news/inn.conf /etc/news/inn.conf.OLD + einfo "A copy of your old inn.conf has been saved to /etc/news/inn.conf.OLD." + sed -i -e '/innwatchspoolnodes/ s/\([^ ]*\)\([ ]*\).*/\1\20/' /etc/news/inn.conf + chown news:news /etc/news/inn.conf + chmod 644 /etc/news/inn.conf + fi + + INNCHECK_LINES="$(su - news -c "/usr/$(get_libdir)/news/bin/inncheck | wc -l")" + if [[ ${INNCHECK_LINES} -gt 0 ]] + then + NEWS_ERRFLAG="1" + ewarn "inncheck most certainly found an error." + ewarn "Please check its output:" + eerror "`su - news -c /usr/$(get_libdir)/news/bin/inncheck`" + fi + + if [[ ${NEWS_ERRFLAG} -gt 0 ]] + then + eerror + eerror "There were one or more errors/warnings checking your configuration." + eerror "Please read inn's documentation and fix them accordingly." + else + einfo + einfo "Inn configuration tests passed successfully." + einfo + ewarn "Please ensure you configured inn properly." + fi +} |