mailman: 2.1.23 -> 3.3.9; a bunch of new python dependencies

This commit is contained in:
Tim Biermann 2024-02-17 16:26:37 +01:00
parent 9542df8d74
commit 7417e3c94a
Signed by: tb
GPG Key ID: 42F8B4E30B673606
5 changed files with 2103 additions and 2443 deletions

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
untrusted comment: verify with /etc/ports/opt.pub
RWSE3ohX2g5d/TBOjFyofcdnTW2NOqlWgTLVVoAcwCaz4Fr4/dIfRS4Ozl6Hn4aJSJXdAXeFFVY+qtj8eWOhFqGOE3MqfIgNyAM=
SHA256 (Pkgfile) = 3508bff65bf187a8cf8e800452300c43a3978fa482f78c98fdd45949cd62546b
SHA256 (.footprint) = d37fe5ae82935771e02ac3ce38f057f886bb42ddd807d0ab8167d470cfa5e7b4
SHA256 (mailman-2.1.23.tgz) = b022ca6f8534621c9dbe50c983948688bc4623214773b580c2c78e4a7ae43e69
SHA256 (mailman.rc) = 93a408d75bcbdaed7f37669f005276101d2855ea16ee83fc2d0975ae2e2948af
RWSE3ohX2g5d/ctyG+nLZo7nDTD0X3olY3Znb5frQmundE1c4UAvN4RjbZSdsP2AU7WXFrdW5x2Almr8KcBLWF6J7TkyV5i8jAU=
SHA256 (Pkgfile) = 760a1fe602746bb85e7c4bd6953075cd1288c62fe3a3cb2c92e49a63eb9bb6b0
SHA256 (.footprint) = 58369c49f87d829bba49dfe4d39b455b3f37ffc6d5c9c405fe0573ae19ce47c2
SHA256 (mailman-v3.3.9.tar.bz2) = f96de9f54c8d513b4c1dd0bae69a9b511d7f515a04c267b7231ba4bedaaafa48
SHA256 (mailman.rc) = b3fc612c058b99153f6168fd6b98ab210f5e6edcf02fd2f0180f94dd541fe17e

View File

@ -1,44 +1,23 @@
# Description: Mailman, the GNU Mailing List Manager
# URL: http://www.gnu.org/software/mailman/
# Maintainer: Jose V Beneyto, sepen at crux dot nu
# Packager: Jose V Beneyto, sepen at crux dot nu
# Depends on: dnspython
# URL: https://www.gnu.org/software/mailman/
# Maintainer: CRUX System Team, core-ports at crux dot nu
# Depends on: gunicorn python3-aiosmtpd python3-alembic python3-authheaders python3-click python3-dateutil python3-falcon python3-flufl-bounce python3-flufl-i18n python3-flufl-lock python3-lazr-config python3-passlib python3-requests python3-zope-component python3-zope-configuration
name=mailman
version=2.1.23
version=3.3.9
release=1
source=(http://ftp.gnu.org/gnu/$name/$name-$version.tgz \
$name.rc)
source=(https://gitlab.com/mailman/mailman/-/archive/v$version/mailman-v$version.tar.bz2
$name.rc)
build() {
cd $name-$version
cd $name-v$version
# update patch from 2.1.5 to 2.1.21
sed 's|# pidfile: .*|# pidfile: @VAR_PREFIX@/data/master-qrunner.pid|' -i contrib/redhat_fhs.patch
patch -p1 -i contrib/redhat_fhs.patch
printf "[mailman]\nlayout: fhs\n" >> ../mailman.cfg
sed -e 's|/var/tmp/mailman|/var/lib/mailman|g' -i src/mailman/config/schema.cfg
rm -f configure
aclocal
autoconf
/usr/bin/python3 -m build --wheel --skip-dependency-check --no-isolation
/usr/bin/python3 -m installer --compile-bytecode 2 --destdir=$PKG dist/*.whl
./configure --prefix=/usr/lib/$name \
--with-var-prefix=/var/lib/$name \
--with-config-dir=/etc/$name \
--with-lock-dir=/var/lock/$name \
--with-log-dir=/var/log/$name \
--with-pid-dir=/var/run/$name \
--with-queue-dir=/var/spool/$name \
--with-mailhost=localhost.localdomain \
--with-urlhost=localhost.localdomain \
--with-mail-gid=$name \
--with-cgi-id=www \
--with-cgi-gid=www \
--without-permcheck
make
make DESTDIR=$PKG install
install -D -m 0755 $SRC/$name.rc $PKG/etc/rc.d/$name
# create empty crontab
install -d $PKG/etc/cron.d
cat > $PKG/etc/cron.d/$name << __EOF__
@ -52,13 +31,14 @@ build() {
__EOF__
# fix permissions
chown -R root:$name $PKG/etc/$name $PKG/usr/lib/$name $PKG/var/{lib,lock,log,run,spool}/$name
mkdir -p $PKG/etc/$name $PKG/usr/lib/$name $PKG/var/{lib,lock,log,spool}/$name $PKG/var/lib/$name/archives/private
chown -R root:$name $PKG/etc/$name $PKG/usr/lib/$name $PKG/var/{lib,lock,log,spool}/$name
chmod 0775 $PKG/var/log/$name
chmod 1777 $PKG/var/lock
find $PKG/usr/lib/$name -type d -exec chmod 0775 {} \;
chmod o+x $PKG/var/lib/$name/archives/private
# fix configs
ln -sf /usr/lib/$name/Mailman/mm_cfg.py $PKG/etc/$name
ln -sf /etc/$name/sitelist.cfg $PKG/var/lib/$name/data
install -vDm 640 ../mailman.cfg -t $PKG/etc/
#ln -sf /etc/$name/sitelist.cfg $PKG/var/lib/$name/data
}

View File

@ -5,45 +5,48 @@
SSD=/sbin/start-stop-daemon
PROG=/usr/lib/mailman/bin/mailmanctl
PID=/var/run/mailman/master-qrunner.pid
PID=/run/mailman/master-qrunner.pid
fix_log_perms() {
local errorlog="/var/log/mailman/error"
if [ ! -f $errorlog ]; then
touch $errorlog
chown root:mailman $errorlog
chmod 775 $errorlog
fi
local errorlog="/var/log/mailman/error"
if [ ! -f $errorlog ]; then
touch $errorlog
chown root:mailman $errorlog
chmod 775 $errorlog
fi
}
case $1 in
start)
fix_log_perms
$SSD --start --pidfile $PID --exec $PROG -- -q start
;;
fix_log_perms
if [ ! -e /run/mailman ]; then
mkdir -p /run/mailman
fi
$SSD --start --pidfile $PID --exec $PROG -- start
;;
stop)
$SSD --start --pidfile $PID --exec $PROG -- -q stop
$SSD --stop --retry 10 --pidfile $PID
;;
$SSD --start --pidfile $PID --exec $PROG -- stop
$SSD --stop --retry 10 --pidfile $PID
;;
restart)
$0 stop
$0 start
;;
$0 stop
$0 start
;;
reload)
$SSD --start --pidfile $PID --exec $PROG -- -q restart
;;
$SSD --start --pidfile $PID --exec $PROG -- -q restart
;;
status)
$SSD --status --pidfile $PID
case $? in
0) echo "$PROG is running with pid $(cat $PID)" ;;
1) echo "$PROG is not running but the pid file $PID exists" ;;
3) echo "$PROG is not running" ;;
4) echo "Unable to determine the program status" ;;
esac
;;
$SSD --status --pidfile $PID
case $? in
0) echo "$PROG is running with pid $(cat $PID)" ;;
1) echo "$PROG is not running but the pid file $PID exists" ;;
3) echo "$PROG is not running" ;;
4) echo "Unable to determine the program status" ;;
esac
;;
*)
echo "usage: $0 [start|stop|restart|reload|status]"
;;
echo "usage: $0 [start|stop|restart|reload|status]"
;;
esac
# End of file

View File

@ -6,9 +6,9 @@ mmhome="/usr/lib/mailman"
# make sure the user/group exists or add if not exists
/usr/bin/getent group $mmgroup || \
/usr/sbin/groupadd -g --system $mmgroup
/usr/sbin/groupadd $mmgroup
/usr/bin/getent passwd $mmuser || \
/usr/sbin/useradd -s /sbin/nologin -d $mmhome --system -g $mmgroup $mmuser
/usr/sbin/useradd -s /sbin/nologin -d $mmhome -g $mmgroup $mmuser
# End of file