--- ../mailman-old/mailman-2.0.12.ebuild Mon Jul 22 21:10:49 2002 +++ ../mailman-old/mailman-2.0.12.ebuild Mon Jul 22 21:34:06 2002 @@ -8,7 +8,8 @@ HOMEPAGE="http://www.list.org/" DEPEND=">=dev-lang/python-1.5.2 virtual/mta - net-www/apache" + net-www/apache + virtual/cron" SLOT="O" LICENSE="GPL-2" @@ -29,7 +30,9 @@ fi mkdir -p ${INSTALLDIR} chown mailman.mailman ${INSTALLDIR} - chmod 2775 ${INSTALLDIR} + # verify that filesystem is not mounted with "nosuid" option + chmod 2775 ${INSTALLDIR} || \ + die "Failed to set-gid permisions to mailman's directory" } src_compile() { @@ -50,25 +53,75 @@ make prefix=${ID} var_prefix=${ID} doinstall || die insinto /etc/apache/conf/addon-modules doins ${FILESDIR}/mailman.conf + + # Install mailman images into apache icons directory + cd ${ID} + einfo "Installing images..." + IMG_DIR=`grep apache /etc/passwd |cut -d: -f6` + + if [ -z "$IMG_DIR" ]; then + eerror "apache user not found in /etc/passwd. Using defaults." + IMG_DIR="/home/httpd/icons" + else + IMG_DIR="${IMG_DIR}/icons" + fi + + dodir ${IMG_DIR} + insinto ${IMG_DIR} + doins icons/mailman.jpg \ + icons/PythonPowered.png \ + icons/gnu-head-tiny.jpg + cd ${S} dodoc ${FILESDIR}/README.gentoo - dodoc ACK* BUGS FAQ NEWS README* TODO UPGRADING + dodoc ACK* BUGS FAQ NEWS README* TODO UPGRADING INSTALL } pkg_postinst() { cd ${INSTALLDIR} bin/update bin/check_perms -f - einfo - einfo "Please read /usr/share/doc/${P}/README.gentoo for additional" - einfo "Setup information, mailman will NOT run unless you follow" - einfo "those instructions!" + echo + einfo "IMPERATIVE! IMPORTANT! DO THIS! YOU'LL BE SORRY IF YOU DON'T!" + einfo "Mailman runs a number of cron jobs for its basic functionality" + einfo "and needs your apache configuration updated" + einfo "Execute ebuild /var/db/pkg/${CATEGORY}/${PF}/${PF}.ebuild config" + einfo "to have your crontab entries and your apache configuration" + einfo "set up for mailman." + echo + einfo "Please read /usr/share/doc/${P}/README.gentoo for additional" + einfo "Setup information, mailman will NOT run unless you follow" + einfo "those instructions!" } pkg_config() { - einfo "Updating apache config" - einfo "added: \"Include conf/addon-modules/mailman.conf\"" - einfo "to ${ROOT}/etc/apache/conf/apache.conf" - echo "Include conf/addon-modules/mailman.conf" \ - >> ${ROOT}/etc/apache/conf/apache.conf + einfo "Updating apache config" + einfo "added: \"Include conf/addon-modules/mailman.conf\"" + einfo "to ${ROOT}/etc/apache/conf/apache.conf" + echo "Include conf/addon-modules/mailman.conf" \ + >> ${ROOT}/etc/apache/conf/apache.conf + + # add the cron jobs + crontab ${INSTALLDIR}/cron/crontab.in -u mailman || \ + die "Failed to set up the crontab entries!" + echo + einfo "Crontab for user mailman correctly set up." + echo + + # test if user is using smrsh in sendmail + if [ -d /etc/smrsh ]; then + einfo "Sendmail restricted shell detected." + ln -s ${INSTALLDIR}/mail/wrapper /etc/smrsh/wrapper || \ + die "Failed to create a symbolic link to Mailman's wrapper program" + einfo "Symbolic link to Mailman's wrapper program created under /etc/smrsh" + echo + fi + + einfo "Hit [enter] to read Mailman's important set up instructions" + einfo "Hit [q] when done." + read foo + zcat /usr/share/doc/${P}/INSTALL.gz \ + |tail -n 202 |head -n 77 \ + |sed -e"s:\$prefix:${INSTALLDIR}:g" \ + |less }