mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
net-mail/mailman: Version bump.
Fix XSS vulnerability, see #629090. Package-Manager: Portage-2.3.10, Repoman-2.3.3
This commit is contained in:
@@ -1 +1,2 @@
|
||||
DIST mailman-2.1.23.tgz 9290881 SHA256 b022ca6f8534621c9dbe50c983948688bc4623214773b580c2c78e4a7ae43e69 SHA512 398dd5c301005512900aff38c068ee641eea9f2970dfde17c37a8641759bd6fff8e6d37ad63c0c86b4b1594459b3c92023844ca4ec23d1681ac02542bd97f8db WHIRLPOOL c5e45bd4fb59dca5017f547e25986addff8079bf10bdcb6f814942e56cfc618d0e6e075beb7d5240e591d809f27af442c4da9c5e5f35358f5bf86a4f24c1d38d
|
||||
DIST mailman-2.1.24.tgz 9251009 SHA256 89b0cfc13c52915b9cdebd4b772852f1043e7435554050b4f5f7094f9093cd77 SHA512 f62f224abe5eb4804828a4d83389432b34595b8d4533310cda4da58ab10c2e62e0b2419929dcc53c32e2754d8f62fa8ef68877db4c65f6112f08f0e452fd6a38 WHIRLPOOL 583f8157de5c93ad6e97f49921f57af65d272da801f3534b454992034484924efde2d792334b7db7dc90b02bbae92a796352a1a65e8576affa80eef9b5cedfc8
|
||||
|
||||
167
net-mail/mailman/mailman-2.1.24.ebuild
Normal file
167
net-mail/mailman/mailman-2.1.24.ebuild
Normal file
@@ -0,0 +1,167 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
|
||||
inherit eutils python-single-r1 multilib systemd user
|
||||
|
||||
DESCRIPTION="A python-based mailing list server with an extensive web interface"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${P/_p/-}.tgz"
|
||||
HOMEPAGE="http://www.list.org/"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~x86"
|
||||
IUSE="selinux"
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
DEPEND="
|
||||
${PYTHON_DEPS}
|
||||
virtual/mta
|
||||
virtual/cron
|
||||
virtual/httpd-cgi
|
||||
virtual/python-dnspython[${PYTHON_USEDEP}]"
|
||||
RDEPEND="${DEPEND}
|
||||
selinux? ( sec-policy/selinux-mailman )
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${P/_p/-}"
|
||||
|
||||
pkg_setup() {
|
||||
python-single-r1_pkg_setup
|
||||
INSTALLDIR=${MAILMAN_PREFIX:-"/usr/$(get_libdir)/mailman"}
|
||||
VAR_PREFIX=${MAILMAN_VAR_PREFIX:-"/var/lib/mailman"}
|
||||
CGIUID=${MAILMAN_CGIUID:-apache}
|
||||
CGIGID=${MAILMAN_CGIGID:-apache}
|
||||
MAILUSR=${MAILMAN_MAILUSR:-mailman}
|
||||
MAILUID=${MAILMAN_MAILUID:-280}
|
||||
MAILGRP=${MAILMAN_MAILGRP:-mailman}
|
||||
MAILGID=${MAILMAN_MAILGID:-280}
|
||||
|
||||
# Bug #58526: switch to enew{group,user}.
|
||||
# need to add mailman here for compile process.
|
||||
# Duplicated at pkg_postinst() for binary install.
|
||||
enewgroup ${MAILGRP} ${MAILGID}
|
||||
enewuser ${MAILUSR} ${MAILUID} /bin/bash ${INSTALLDIR} mailman,cron
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/${PN}-2.1.14_rc1-directory-check.patch"
|
||||
epatch "${FILESDIR}/${PN}-2.1.9-icons.patch"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
--without-permcheck \
|
||||
--prefix="${INSTALLDIR}" \
|
||||
--with-mail-gid=${MAILGID} \
|
||||
--with-cgi-gid=${CGIGID} \
|
||||
--with-cgi-ext="${MAILMAN_CGIEXT}" \
|
||||
--with-var-prefix="${VAR_PREFIX}" \
|
||||
--with-username=${MAILUSR} \
|
||||
--with-groupname=${MAILGRP} \
|
||||
--with-python="${PYTHON}"
|
||||
}
|
||||
|
||||
src_install () {
|
||||
emake "DESTDIR=${D}" doinstall
|
||||
|
||||
insinto /etc/apache2/modules.d
|
||||
newins "${FILESDIR}/50_mailman.conf-r2" 50_mailman.conf
|
||||
sed \
|
||||
-e "s:/usr/local/mailman/cgi-bin:${INSTALLDIR}/cgi-bin:g" \
|
||||
-e "s:/usr/local/mailman/icons:${INSTALLDIR}/icons:g" \
|
||||
-e "s:/usr/local/mailman/archives:${VAR_PREFIX}/archives:g" \
|
||||
-i "${D}/etc/apache2/modules.d/50_mailman.conf" || die
|
||||
|
||||
newdoc "${FILESDIR}/README.gentoo-r3" README.gentoo
|
||||
|
||||
dodoc ACK* BUGS FAQ NEWS README* TODO UPGRADING INSTALL contrib/mailman.mc \
|
||||
contrib/README.check_perms_grsecurity contrib/virtusertable
|
||||
|
||||
exeinto ${INSTALLDIR}/bin
|
||||
doexe build/contrib/*.py contrib/majordomo2mailman.pl contrib/auto \
|
||||
contrib/mm-handler*
|
||||
|
||||
dodir /etc/mailman
|
||||
mv "${D}/${INSTALLDIR}/Mailman/mm_cfg.py" "${D}/etc/mailman"
|
||||
dosym /etc/mailman/mm_cfg.py ${INSTALLDIR}/Mailman/mm_cfg.py
|
||||
|
||||
# Save the old config for updates from pre-2.1.9-r2
|
||||
# To be removed some distant day
|
||||
for i in /var/mailman /home/mailman /usr/local/mailman ${INSTALLDIR}; do
|
||||
if [ -f ${i}/Mailman/mm_cfg.py ] && ! [ -L ${i}/Mailman/mm_cfg.py ]; then
|
||||
cp ${i}/Mailman/mm_cfg.py "${D}/etc/mailman/mm_cfg.py" || die
|
||||
fi
|
||||
done
|
||||
|
||||
newinitd "${FILESDIR}/mailman.rc" mailman
|
||||
cp "${FILESDIR}/mailman.service" "${T}/mailman.service" || die
|
||||
sed -i "s/^User=.*/User=${MAILUSR}/" "${T}/mailman.service" || die
|
||||
systemd_dounit "${T}/mailman.service"
|
||||
|
||||
keepdir ${VAR_PREFIX}/logs
|
||||
keepdir ${VAR_PREFIX}/locks
|
||||
keepdir ${VAR_PREFIX}/spam
|
||||
keepdir ${VAR_PREFIX}/archives/public
|
||||
keepdir ${VAR_PREFIX}/archives/private
|
||||
keepdir ${VAR_PREFIX}/lists
|
||||
keepdir ${VAR_PREFIX}/qfiles
|
||||
|
||||
chown -R ${MAILUSR}:${MAILGRP} "${D}/${VAR_PREFIX}" "${D}/${INSTALLDIR}" "${D}"/etc/mailman/* || die
|
||||
chown ${CGIUID}:${MAILGRP} "${D}/${VAR_PREFIX}/archives/private" || die
|
||||
chmod 2775 "${D}/${INSTALLDIR}" "${D}/${INSTALLDIR}"/templates/* \
|
||||
"${D}/${INSTALLDIR}"/messages/* "${D}/${VAR_PREFIX}" "${D}/${VAR_PREFIX}"/{logs,lists,spam,locks,archives/public} || die
|
||||
chmod 2770 "${D}/${VAR_PREFIX}/archives/private" || die
|
||||
chmod 2770 "${D}/${VAR_PREFIX}/qfiles" || die
|
||||
chmod 2755 "${D}/${INSTALLDIR}"/cgi-bin/* "${D}/${INSTALLDIR}/mail/mailman" || die
|
||||
|
||||
python_optimize "${D}/${INSTALLDIR}/bin/" \
|
||||
"${D}/${INSTALLDIR}/Mailman/" \
|
||||
"${D}/${INSTALLDIR}/Mailman/*"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
enewgroup ${MAILGRP} ${MAILGID}
|
||||
enewuser ${MAILUSR} ${MAILUID} -1 ${INSTALLDIR} mailman,cron
|
||||
echo
|
||||
elog "Please read /usr/share/doc/${PF}/README.gentoo.bz2 for additional"
|
||||
elog "Setup information, mailman will NOT run unless you follow"
|
||||
elog "those instructions!"
|
||||
echo
|
||||
|
||||
elog "An example Mailman configuration file for Apache has been installed into:"
|
||||
elog " ${APACHE2_MODULES_CONFDIR}/50_mailman.conf"
|
||||
echo
|
||||
elog "To enable, you will need to add \"-D MAILMAN\" to"
|
||||
elog "/etc/conf.d/apache2."
|
||||
echo
|
||||
|
||||
ewarn "Default-Configuration has changed deeply in 2.1.9-r2. You can configure"
|
||||
ewarn "mailman with the following variables:"
|
||||
ewarn "MAILMAN_PREFIX (default: /usr/$(get_libdir)/mailman)"
|
||||
ewarn "MAILMAN_VAR_PREFIX (default: /var/lib/mailman)"
|
||||
ewarn "MAILMAN_CGIUID (default: apache)"
|
||||
ewarn "MAILMAN_CGIGID (default: apache)"
|
||||
ewarn "MAILMAN_CGIEXT (default: empty)"
|
||||
ewarn "MAILMAN_MAILUSR (default: mailman)"
|
||||
ewarn "MAILMAN_MAILUID (default: 280)"
|
||||
ewarn "MAILMAN_MAILGRP (default: mailman)"
|
||||
ewarn "MAILMAN_MAILGID (default: 280)"
|
||||
ewarn
|
||||
ewarn "Config file is now symlinked in /etc/mailman, so etc-update works."
|
||||
ewarn
|
||||
ewarn "If you're upgrading from below 2.1.9-r2 or changed MAILMAN_PREFIX, you"
|
||||
ewarn "NEED to make a few manual updates to your system:"
|
||||
ewarn
|
||||
ewarn "1. Update your mailman users's home directory: usermod -d ${INSTALLDIR} mailman"
|
||||
ewarn "2. Re-import the crontab: su - mailman -c 'crontab cron/crontab.in'"
|
||||
ewarn "3. Copy your old mm_cfg.py file to /etc/mailman/mm_cfg.py"
|
||||
ewarn
|
||||
ewarn "Additionally if you've modified MAILMAN_VAR_PREFIX (or upgraded from"
|
||||
ewarn "a pre 2.1.9-r2 installation), you should move your old lists/ and"
|
||||
ewarn "archives/ directory to the new location, ensuring that the"
|
||||
ewarn "permissions is correct. See bug #208789 for a discussion."
|
||||
}
|
||||
Reference in New Issue
Block a user