diff options
author | Austin English <wizardedit@gentoo.org> | 2016-05-02 18:15:58 -0500 |
---|---|---|
committer | Austin English <wizardedit@gentoo.org> | 2016-05-02 18:16:13 -0500 |
commit | da138f2b037a8f644d747eb3a6417356400881d3 (patch) | |
tree | bf25c2e453752826a4e33032ee95f23ed9e07c21 /net-nntp/inn | |
parent | net-nntp/inn: use #!/sbin/openrc-run instead of #!/sbin/runscript (diff) | |
download | gentoo-da138f2b037a8f644d747eb3a6417356400881d3.tar.gz gentoo-da138f2b037a8f644d747eb3a6417356400881d3.tar.bz2 gentoo-da138f2b037a8f644d747eb3a6417356400881d3.zip |
net-nntp/inn: remove old versions
Package-Manager: portage-2.2.26
Diffstat (limited to 'net-nntp/inn')
-rw-r--r-- | net-nntp/inn/inn-2.5.3-r2.ebuild | 287 | ||||
-rw-r--r-- | net-nntp/inn/inn-2.5.4.ebuild | 287 | ||||
-rw-r--r-- | net-nntp/inn/inn-2.5.5.ebuild | 287 |
3 files changed, 0 insertions, 861 deletions
diff --git a/net-nntp/inn/inn-2.5.3-r2.ebuild b/net-nntp/inn/inn-2.5.3-r2.ebuild deleted file mode 100644 index 5921291d5661..000000000000 --- a/net-nntp/inn/inn-2.5.3-r2.ebuild +++ /dev/null @@ -1,287 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) - -inherit autotools eutils multilib python-single-r1 ssl-cert toolchain-funcs - -DESCRIPTION="The Internet News daemon, fully featured NNTP server" -HOMEPAGE="https://www.isc.org/software/inn" -SRC_URI="ftp://ftp.isc.org/isc/inn/${P}.tar.gz" - -# GPL-2 only for init script -LICENSE="ISC GPL-2+ public-domain BSD-4 BSD-2 RSA BSD MIT GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86" -IUSE="berkdb innkeywords inntaggedhash ipv6 kerberos perl python sasl ssl" - -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -DEPEND=" - virtual/mta - dev-perl/MIME-tools - sys-libs/pam - sys-libs/zlib - kerberos? ( virtual/krb5 ) - sasl? ( >=dev-libs/cyrus-sasl-2 ) - ssl? ( dev-libs/openssl ) - python? ( ${PYTHON_DEPS} ) - berkdb? ( sys-libs/db ) -" -RDEPEND="${DEPEND}" - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_prepare() { - epatch "${FILESDIR}"/${P}-ar.patch - epatch "${FILESDIR}"/${P}-tests.patch - - sed -e 's: -B .OLD::' -i Makefile.global.in || die - - # Do not treat LDFLAGS as if it contained libraries to link to - sed -e 's:LDFLAGS::g' -i m4/python.m4 || die - - # We do not have the biff service, but we do have comsat - sed -e 's:"biff":"comsat":g' -i tests/lib/getnameinfo-t.c || die - - eautoreconf -} - -src_configure() { - tc-export AR - - 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=/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) -} - -src_install() { - emake DESTDIR="${D}/" P="" SPECIAL="" install - - chown -R root:0 \ - "${D}"/usr/$(get_libdir)/news/$(get_libdir) \ - "${D}"/usr/$(get_libdir)/news/include \ - "${D}"/usr/share/doc \ - "${D}"/usr/share/man \ - || die - chmod 644 "${D}"/etc/news/* || die - chmod 640 \ - "${D}"/etc/news/control.ctl \ - "${D}"/etc/news/expire.ctl \ - "${D}"/etc/news/incoming.conf \ - "${D}"/etc/news/innfeed.conf \ - "${D}"/etc/news/nntpsend.ctl \ - "${D}"/etc/news/passwd.nntp \ - "${D}"/etc/news/readers.conf \ - || die - - # 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/news \ - /var/spool/news/archive \ - /var/spool/news/articles \ - /var/spool/news/db \ - /var/spool/news/incoming \ - /var/spool/news/incoming/bad \ - /var/spool/news/innfeed \ - /var/spool/news/outgoing \ - /var/spool/news/overview \ - /var/spool/news/tmp - - fowners news:news /var/log/news - - dodoc ChangeLog MANIFEST README* doc/checklist - use ipv6 && dodoc doc/IPv6-info - - # So other programs can build against INN - insinto /usr/$(get_libdir)/news/include - doins include/*.h - - newinitd "${FILESDIR}"/innd-r1 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 "It is recommended to run emerge --config ${CATEGORY}/${PN}" - elog "now to finish setting up this package." - elog - 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 - einfo "Changing shell to /bin/bash for user news..." - usermod -s /bin/bash news - 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 - - einfo "Running makedbz -i ..." - su - news -c "/usr/$(get_libdir)/news/bin/makedbz -i" - - einfo "Moving files into place ..." - [[ -f ${NEWSSPOOL_DIR}/db/history.n.dir ]] && \ - mv -vf "${NEWSSPOOL_DIR}"/db/history.n.dir \ - "${NEWSSPOOL_DIR}"/db/history.dir - [[ -f ${NEWSSPOOL_DIR}/db/history.n.pag ]] && \ - mv -vf "${NEWSSPOOL_DIR}"/db/history.n.pag \ - "${NEWSSPOOL_DIR}"/db/history.pag - [[ -f ${NEWSSPOOL_DIR}/db/history.n.hash ]] && \ - mv -vf "${NEWSSPOOL_DIR}"/db/history.n.hash \ - "${NEWSSPOOL_DIR}"/db/history.hash - [[ -f ${NEWSSPOOL_DIR}/db/history.n.index ]] && \ - mv -vf "${NEWSSPOOL_DIR}"/db/history.n.index \ - "${NEWSSPOOL_DIR}"/db/history.index - - einfo "Running makehistory ..." - su - news -c /usr/$(get_libdir)/news/bin/makehistory - else - NEWS_ERRFLAG="1" - 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." - einfo "Leaving history database as it is." - fi - - INNCFG_INODES=$( - sed /etc/news/inn.conf \ - -e '/innwatchspoolnodes/ ! d; s:[^ ]*[ ]*\([^ ]*\):\1:' - ) - INNSPOOL_INODES=$( - df -Pi ${NEWSSPOOL_DIR} | \ - sed -e 's:[^ ]*[ ]*\([^ ]*\).*:\1:; 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 /etc/news/inn.conf \ - -e '/innwatchspoolnodes/ s:\([^ ]*\)\([ ]*\).*:\1\20:' - 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 "There were one or more errors/warnings checking your" - eerror "configuration. Please read inn's documentation and" - eerror "fix them accordingly." - else - einfo "INN configuration tests passed successfully." - ewarn "Please ensure you have configured inn properly." - fi -} diff --git a/net-nntp/inn/inn-2.5.4.ebuild b/net-nntp/inn/inn-2.5.4.ebuild deleted file mode 100644 index a76c4d97da47..000000000000 --- a/net-nntp/inn/inn-2.5.4.ebuild +++ /dev/null @@ -1,287 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) - -inherit autotools eutils multilib python-single-r1 ssl-cert toolchain-funcs - -DESCRIPTION="The Internet News daemon, fully featured NNTP server" -HOMEPAGE="https://www.isc.org/software/inn" -SRC_URI="ftp://ftp.isc.org/isc/inn/${P}.tar.gz" - -# GPL-2 only for init script -LICENSE="ISC GPL-2+ public-domain BSD-4 BSD-2 RSA BSD MIT GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86" -IUSE="berkdb innkeywords inntaggedhash ipv6 kerberos perl python sasl ssl" - -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -DEPEND=" - virtual/mta - dev-perl/MIME-tools - sys-libs/pam - sys-libs/zlib - kerberos? ( virtual/krb5 ) - sasl? ( >=dev-libs/cyrus-sasl-2 ) - ssl? ( dev-libs/openssl ) - python? ( ${PYTHON_DEPS} ) - berkdb? ( sys-libs/db ) -" -RDEPEND="${DEPEND}" - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_prepare() { - epatch "${FILESDIR}"/${PN}-2.5.3-ar.patch - epatch "${FILESDIR}"/${PN}-2.5.3-tests.patch - - sed -e 's: -B .OLD::' -i Makefile.global.in || die - - # Do not treat LDFLAGS as if it contained libraries to link to - sed -e 's:LDFLAGS::g' -i m4/python.m4 || die - - # We do not have the biff service, but we do have comsat - sed -e 's:"biff":"comsat":g' -i tests/lib/getnameinfo-t.c || die - - eautoreconf -} - -src_configure() { - tc-export AR - - 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=/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) -} - -src_install() { - emake DESTDIR="${D}/" P="" SPECIAL="" install - - chown -R root:0 \ - "${D}"/usr/$(get_libdir)/news/$(get_libdir) \ - "${D}"/usr/$(get_libdir)/news/include \ - "${D}"/usr/share/doc \ - "${D}"/usr/share/man \ - || die - chmod 644 "${D}"/etc/news/* || die - chmod 640 \ - "${D}"/etc/news/control.ctl \ - "${D}"/etc/news/expire.ctl \ - "${D}"/etc/news/incoming.conf \ - "${D}"/etc/news/innfeed.conf \ - "${D}"/etc/news/nntpsend.ctl \ - "${D}"/etc/news/passwd.nntp \ - "${D}"/etc/news/readers.conf \ - || die - - # 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/news \ - /var/spool/news/archive \ - /var/spool/news/articles \ - /var/spool/news/db \ - /var/spool/news/incoming \ - /var/spool/news/incoming/bad \ - /var/spool/news/innfeed \ - /var/spool/news/outgoing \ - /var/spool/news/overview \ - /var/spool/news/tmp - - fowners news:news /var/log/news - - dodoc ChangeLog MANIFEST README* doc/checklist - use ipv6 && dodoc doc/IPv6-info - - # So other programs can build against INN - insinto /usr/$(get_libdir)/news/include - doins include/*.h - - newinitd "${FILESDIR}"/innd-r1 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 "It is recommended to run emerge --config ${CATEGORY}/${PN}" - elog "now to finish setting up this package." - elog - 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 - einfo "Changing shell to /bin/bash for user news..." - usermod -s /bin/bash news - 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 - - einfo "Running makedbz -i ..." - su - news -c "/usr/$(get_libdir)/news/bin/makedbz -i" - - einfo "Moving files into place ..." - [[ -f ${NEWSSPOOL_DIR}/db/history.n.dir ]] && \ - mv -vf "${NEWSSPOOL_DIR}"/db/history.n.dir \ - "${NEWSSPOOL_DIR}"/db/history.dir - [[ -f ${NEWSSPOOL_DIR}/db/history.n.pag ]] && \ - mv -vf "${NEWSSPOOL_DIR}"/db/history.n.pag \ - "${NEWSSPOOL_DIR}"/db/history.pag - [[ -f ${NEWSSPOOL_DIR}/db/history.n.hash ]] && \ - mv -vf "${NEWSSPOOL_DIR}"/db/history.n.hash \ - "${NEWSSPOOL_DIR}"/db/history.hash - [[ -f ${NEWSSPOOL_DIR}/db/history.n.index ]] && \ - mv -vf "${NEWSSPOOL_DIR}"/db/history.n.index \ - "${NEWSSPOOL_DIR}"/db/history.index - - einfo "Running makehistory ..." - su - news -c /usr/$(get_libdir)/news/bin/makehistory - else - NEWS_ERRFLAG="1" - 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." - einfo "Leaving history database as it is." - fi - - INNCFG_INODES=$( - sed /etc/news/inn.conf \ - -e '/innwatchspoolnodes/ ! d; s:[^ ]*[ ]*\([^ ]*\):\1:' - ) - INNSPOOL_INODES=$( - df -Pi ${NEWSSPOOL_DIR} | \ - sed -e 's:[^ ]*[ ]*\([^ ]*\).*:\1:; 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 /etc/news/inn.conf \ - -e '/innwatchspoolnodes/ s:\([^ ]*\)\([ ]*\).*:\1\20:' - 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 "There were one or more errors/warnings checking your" - eerror "configuration. Please read inn's documentation and" - eerror "fix them accordingly." - else - einfo "INN configuration tests passed successfully." - ewarn "Please ensure you have configured inn properly." - fi -} diff --git a/net-nntp/inn/inn-2.5.5.ebuild b/net-nntp/inn/inn-2.5.5.ebuild deleted file mode 100644 index a76c4d97da47..000000000000 --- a/net-nntp/inn/inn-2.5.5.ebuild +++ /dev/null @@ -1,287 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 -PYTHON_COMPAT=( python2_7 ) - -inherit autotools eutils multilib python-single-r1 ssl-cert toolchain-funcs - -DESCRIPTION="The Internet News daemon, fully featured NNTP server" -HOMEPAGE="https://www.isc.org/software/inn" -SRC_URI="ftp://ftp.isc.org/isc/inn/${P}.tar.gz" - -# GPL-2 only for init script -LICENSE="ISC GPL-2+ public-domain BSD-4 BSD-2 RSA BSD MIT GPL-2" -SLOT="0" -KEYWORDS="~amd64 ~ppc ~x86" -IUSE="berkdb innkeywords inntaggedhash ipv6 kerberos perl python sasl ssl" - -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -DEPEND=" - virtual/mta - dev-perl/MIME-tools - sys-libs/pam - sys-libs/zlib - kerberos? ( virtual/krb5 ) - sasl? ( >=dev-libs/cyrus-sasl-2 ) - ssl? ( dev-libs/openssl ) - python? ( ${PYTHON_DEPS} ) - berkdb? ( sys-libs/db ) -" -RDEPEND="${DEPEND}" - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_prepare() { - epatch "${FILESDIR}"/${PN}-2.5.3-ar.patch - epatch "${FILESDIR}"/${PN}-2.5.3-tests.patch - - sed -e 's: -B .OLD::' -i Makefile.global.in || die - - # Do not treat LDFLAGS as if it contained libraries to link to - sed -e 's:LDFLAGS::g' -i m4/python.m4 || die - - # We do not have the biff service, but we do have comsat - sed -e 's:"biff":"comsat":g' -i tests/lib/getnameinfo-t.c || die - - eautoreconf -} - -src_configure() { - tc-export AR - - 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=/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) -} - -src_install() { - emake DESTDIR="${D}/" P="" SPECIAL="" install - - chown -R root:0 \ - "${D}"/usr/$(get_libdir)/news/$(get_libdir) \ - "${D}"/usr/$(get_libdir)/news/include \ - "${D}"/usr/share/doc \ - "${D}"/usr/share/man \ - || die - chmod 644 "${D}"/etc/news/* || die - chmod 640 \ - "${D}"/etc/news/control.ctl \ - "${D}"/etc/news/expire.ctl \ - "${D}"/etc/news/incoming.conf \ - "${D}"/etc/news/innfeed.conf \ - "${D}"/etc/news/nntpsend.ctl \ - "${D}"/etc/news/passwd.nntp \ - "${D}"/etc/news/readers.conf \ - || die - - # 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/news \ - /var/spool/news/archive \ - /var/spool/news/articles \ - /var/spool/news/db \ - /var/spool/news/incoming \ - /var/spool/news/incoming/bad \ - /var/spool/news/innfeed \ - /var/spool/news/outgoing \ - /var/spool/news/overview \ - /var/spool/news/tmp - - fowners news:news /var/log/news - - dodoc ChangeLog MANIFEST README* doc/checklist - use ipv6 && dodoc doc/IPv6-info - - # So other programs can build against INN - insinto /usr/$(get_libdir)/news/include - doins include/*.h - - newinitd "${FILESDIR}"/innd-r1 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 "It is recommended to run emerge --config ${CATEGORY}/${PN}" - elog "now to finish setting up this package." - elog - 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 - einfo "Changing shell to /bin/bash for user news..." - usermod -s /bin/bash news - 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 - - einfo "Running makedbz -i ..." - su - news -c "/usr/$(get_libdir)/news/bin/makedbz -i" - - einfo "Moving files into place ..." - [[ -f ${NEWSSPOOL_DIR}/db/history.n.dir ]] && \ - mv -vf "${NEWSSPOOL_DIR}"/db/history.n.dir \ - "${NEWSSPOOL_DIR}"/db/history.dir - [[ -f ${NEWSSPOOL_DIR}/db/history.n.pag ]] && \ - mv -vf "${NEWSSPOOL_DIR}"/db/history.n.pag \ - "${NEWSSPOOL_DIR}"/db/history.pag - [[ -f ${NEWSSPOOL_DIR}/db/history.n.hash ]] && \ - mv -vf "${NEWSSPOOL_DIR}"/db/history.n.hash \ - "${NEWSSPOOL_DIR}"/db/history.hash - [[ -f ${NEWSSPOOL_DIR}/db/history.n.index ]] && \ - mv -vf "${NEWSSPOOL_DIR}"/db/history.n.index \ - "${NEWSSPOOL_DIR}"/db/history.index - - einfo "Running makehistory ..." - su - news -c /usr/$(get_libdir)/news/bin/makehistory - else - NEWS_ERRFLAG="1" - 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." - einfo "Leaving history database as it is." - fi - - INNCFG_INODES=$( - sed /etc/news/inn.conf \ - -e '/innwatchspoolnodes/ ! d; s:[^ ]*[ ]*\([^ ]*\):\1:' - ) - INNSPOOL_INODES=$( - df -Pi ${NEWSSPOOL_DIR} | \ - sed -e 's:[^ ]*[ ]*\([^ ]*\).*:\1:; 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 /etc/news/inn.conf \ - -e '/innwatchspoolnodes/ s:\([^ ]*\)\([ ]*\).*:\1\20:' - 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 "There were one or more errors/warnings checking your" - eerror "configuration. Please read inn's documentation and" - eerror "fix them accordingly." - else - einfo "INN configuration tests passed successfully." - ewarn "Please ensure you have configured inn properly." - fi -} |