Hello community,

here is the log from the commit of package mailman for openSUSE:Factory checked 
in at 2018-12-12 17:29:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/mailman (Old)
 and      /work/SRC/openSUSE:Factory/.mailman.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "mailman"

Wed Dec 12 17:29:09 2018 rev:47 rq:657139 version:2.1.29

Changes:
--------
--- /work/SRC/openSUSE:Factory/mailman/mailman.changes  2018-08-24 
17:10:48.738549801 +0200
+++ /work/SRC/openSUSE:Factory/.mailman.new.28833/mailman.changes       
2018-12-12 17:29:13.698820367 +0100
@@ -1,0 +2,16 @@
+Tue Dec 11 10:58:06 UTC 2018 - Jan Engelhardt <jeng...@inai.de>
+
+- Use multi-argument find -exec.
+- Set bash as build shell due to occurrence of "=~".
+
+-------------------------------------------------------------------
+Fri Dec  7 11:40:02 CET 2018 - mc...@suse.com
+
+- Add systemd timers to be used instead of cron. (boo#1115446)
+- Rewrite whole package to use systemd services instead of SysV
+  init. (boo#1116022)
+- Lots and lots of cleanup to minimize rpmlint warnings
+  (remainings are either false positives or they don't make
+  much sense)
+
+-------------------------------------------------------------------

New:
----
  mailman-rpmlintrc
  mailman.service
  systemd-units.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ mailman.spec ++++++
--- /var/tmp/diff_new_pack.Sm6zOW/_old  2018-12-12 17:29:14.786818990 +0100
+++ /var/tmp/diff_new_pack.Sm6zOW/_new  2018-12-12 17:29:14.786818990 +0100
@@ -12,10 +12,11 @@
 # license that conforms to the Open Source Definition (Version 1.9)
 # published by the Open Source Initiative.
 
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
 #
 
 
+%global _buildshell /bin/bash
 %define       m_uid 72
 %define       m_gid 67
 %define       apache2_confd       %{_sysconfdir}/apache2/conf.d
@@ -25,13 +26,19 @@
 %if ! %{defined _fillupdir}
   %define _fillupdir %{_localstatedir}/adm/fillup-templates
 %endif
+
+# optional: checkdbs, gate_news, nightly_gzip, 
+# switched on per default: cull_bad_shunt, disabled, mailpasswds,
+# nightly_archives, senddigests
+%define timers mailman_cull_bad_shunt.timer mailman_disabled.timer 
mailman_gate_news.timer mailman_checkdbs.timer mailman_mailpasswds.timer 
mailman_nightly_archives.timer mailman_nightly_gzip.timer 
mailman_senddigests.timer mailman_cull_bad_shunt.service 
mailman_disabled.service mailman_gate_news.service mailman_checkdbs.service 
mailman_mailpasswds.service mailman_nightly_archives.service 
mailman_nightly_gzip.service mailman_senddigests.service
+
 Name:           mailman
 Version:        2.1.29
 Release:        0
 Summary:        The GNU Mailing List Manager
 License:        GPL-2.0-or-later
 Group:          Productivity/Networking/Email/Mailinglists
-Url:            http://www.gnu.org/software/mailman/mailman.html
+URL:            http://www.gnu.org/software/mailman/mailman.html
 Source0:        https://ftp.gnu.org/gnu/mailman/%{name}-%{version}.tgz
 Source1:        README.SUSE
 Source2:        mailman-2.1-manpages.tgz
@@ -41,10 +48,13 @@
 Source7:        sysconfig.mailman
 Source8:        mailman.sgidlist
 Source9:        mailman-apache2.conf
+Source10:       mailman-rpmlintrc
 Source11:       logrotate.mailman
 Source12:       mm-text.png
 Source13:       https://ftp.gnu.org/gnu/mailman/%{name}-%{version}.tgz.sig
 Source14:       %{name}.keyring
+Source15:       systemd-units.tar.xz
+Source16:       mailman.service
 Patch1:         mailman-wrapper.patch
 Patch3:         mailman-2.1.14-python.dif
 Patch5:         mailman-2.1.14-editarch.patch
@@ -55,29 +65,61 @@
 Patch17:        mailman-weak-password.diff
 Patch18:        mailman-2.1.5-no_extra_asian.dif
 Patch19:        reproducible.patch
+BuildRequires:  aaa_base
+BuildRequires:  fdupes
 BuildRequires:  krb5
 BuildRequires:  pcre-devel
+BuildRequires:  pkgconfig
 BuildRequires:  postfix
 BuildRequires:  pwdutils
 BuildRequires:  python-devel
 BuildRequires:  python-dnspython
+BuildRequires:  systemd-rpm-macros
+BuildRequires:  pkgconfig(systemd)
 #!BuildIgnore:  sendmail
-Requires:       cron
+Requires:       aaa_base
 Requires:       logrotate
 Requires:       python
 Requires:       python-dnspython
 Requires:       smtp_daemon
 Requires:       w3m
 Requires(post): %fillup_prereq
-Requires(post): %insserv_prereq
 Requires(post): coreutils
 Requires(post): gawk
 Requires(post): group(nobody)
 Requires(post): openssl
 Requires(post): user(nobody)
 Requires(post): user(wwwrun)
-Requires(pre):  shadow
+Requires(post): permissions
 Requires(pre):  permissions
+Requires(pre):  shadow
+%{?systemd_requires}
+
+# Installation directories
+# rpmlint will give an error about hardcoded library path,
+# but this is necessary, because there are python executables inside,
+# which the user can run in their scripts. 
+# see rhbz#226117 for more information
+%global mmdir %{_libexecdir}/%{name}
+%global varmmdir /var/lib/%{name}
+%global docdir %{?_pkgdocdir}%{!?_pkgdocdir:%{_docdir}/%{name}-%{version}}
+%global configdir /etc/%{name}
+%global datadir %{varmmdir}/data
+%global archivesdir %{varmmdir}/archives
+%global logdir /var/log/%{name}
+%global piddir /var/run/%{name}
+%global queuedir /var/spool/%{name}
+%global templatedir %{mmdir}/templates
+%global httpdconfdir /etc/httpd/conf.d
+%global restart_flag /var/run/%{name}-restart-after-rpm-install
+%global mmbuilddir %{_builddir}/%{name}-%{version}
+
+%global httpdconffile %{name}.conf
+# Now, the user and group the CGIs will expect to be run under.  This should
+# match the user and group the web server is configured to run as.  The scripts
+# will error out if they are invoked by any other user.
+%global cgiuser    apache
+%global cgigroup   apache
 
 %description
 This is the GNU Mailing List manager. Mailman provides an
@@ -86,17 +128,10 @@
 
 %prep
 %setup -q
-%patch1
-%patch3
-%patch5 -p1
-%patch6 -p1
-%patch7
-%patch10 -p1
-%patch11 -p1
-%patch17 -p1
-%patch18
-%patch19 -p1
+%autopatch -p1
 cp -av %{SOURCE1} .
+cp -av %{SOURCE8} .
+tar -xvf %{SOURCE15}
 
 find . -name \*.py |while read PYFN ; do
     sed -i -e '1s/env python/python/' $PYFN
@@ -104,134 +139,217 @@
 
 %build
 %configure \
-    --prefix=%{_libexecdir}/mailman \
-    --exec-prefix=%{_libexecdir}/mailman \
+    --prefix=%{mmdir} \
+    --exec-prefix=%{mmdir} \
     --localstatedir=%{_localstatedir}/run \
-    --libexecdir=%{_libexecdir}/mailman \
+    --libexecdir=%{mmdir} \
     --with-groupname=mailman \
     --with-username=mailman \
-    --with-var-prefix=%{_localstatedir}/lib/mailman \
+    --with-var-prefix=%{varmmdir} \
     --without-permcheck \
-    --with-cgi-gid=nobody \
-    --with-mail-gid=nobody
+    --with-cgi-gid=%{cgiuser} \
+    --with-mail-gid=%{cgigroup}
 make %{?_smp_mflags} OPT="%{optflags} -fpie -pie"
 
 # Mark sitemappgen as non-executable
-find . -name sitemapgen -print -exec chmod -x '{}' \;
+find . -name sitemapgen -print -exec chmod -x '{}' +
 
 %install
 install -d 
%{buildroot}/{usr/sbin,etc/{mailman,sysconfig,init.d,logrotate.d},%{_fillupdir},bin/conf.d}/
 %make_install
-# add a hint to the crontab
-cat <<EOF > %{buildroot}%{_libexecdir}/mailman/cron/crontab
-#
-# if you want to make changes to this file, please modify
-# /usr/lib/mailman/cron/crontab and restart mailman
-#
-EOF
-# add user mailman in column 6 since we are going to use it as system crontab
-awk '/^[0-9,\*]/ { print $1 " " $2 " " $3 " " $4 " " $5 " mailman " $6 " " $7 
" " $8 } /^\#/ { print $0 }' \
-       %{buildroot}%{_libexecdir}/mailman/cron/crontab.in \
-       >> %{buildroot}%{_libexecdir}/mailman/cron/crontab
 # write initial wrapper id files:
 . %{SOURCE7}
-getent group $MAILMAN_CGI_GID | cut -d: -f3 > 
$RPM_BUILD_ROOT/%{mailman_confd}/mailman.cgi-gid
+getent group $MAILMAN_CGI_GID \
+    | cut -d: -f3 > %{buildroot}/%{mailman_confd}/mailman.cgi-gid
 echo %{m_gid} > %{buildroot}/%{mailman_confd}/mailman.mail-gid
+
 # SuSEconfig stuff:
 install -m 644 %{SOURCE7} %{buildroot}%{_fillupdir}/
-install -m 755 %{SOURCE4} %{buildroot}%{_libexecdir}/mailman/bin/
-install -m 644 %{SOURCE8} %{buildroot}%{_libexecdir}/mailman/sgidlist
-# start script:
-ln -sf ../..%{_initddir}/mailman %{buildroot}%{_sbindir}/rcmailman
-install -m 755 %{SOURCE5} %{buildroot}%{_initddir}/mailman
+install -m 755 %{SOURCE4} %{buildroot}%{mmdir}/bin/
+install -m 644 %{SOURCE8} %{buildroot}%{mmdir}/sgidlist
+
+# Move configuration files to proper location
+mv -v %{buildroot}%{mmdir}/Mailman/mm_cfg.py* %{buildroot}%{configdir}/
+ln -srf %{buildroot}%{configdir}/mm_cfg.py* %{buildroot}%{mmdir}/Mailman/
+
 # make sure there is a valid  group writable aliases.db
 # if the aliases.db would be generated later on, list creation
 # through the web interface would not work!
-install -m 664 %{SOURCE6} 
%{buildroot}%{_localstatedir}/lib/mailman/data/aliases
+install -m 664 %{SOURCE6} %{buildroot}%{datadir}/aliases
+
 # created in %%post and marked as %%ghost in the file section, so simply fake 
it:
-%{_bindir}/touch %{buildroot}%{_localstatedir}/lib/mailman/data/aliases.db
+%{_bindir}/touch \
+    %{buildroot}%{datadir}/aliases.db
+
 # apache stuff:
 mkdir -p %{buildroot}/%{apache2_confd}
 cp -av %{SOURCE9} %{buildroot}/%{apache2_confd}/mailman.conf
+
 # link to enhance interoperability with Sendmail
 mkdir -p %{buildroot}/%{sendmail_libd}/bin
-ln -sf %{_libexecdir}/mailman/mail/mailman 
%{buildroot}/%{sendmail_libd}/bin/mailman
+ln -sf %{mmdir}/mail/mailman %{buildroot}/%{sendmail_libd}/bin/mailman
+
+# Install manpages
 install -d %{buildroot}%{_mandir}/man8/
 tar xz -C %{buildroot}%{_mandir}/man8/ -f %{SOURCE2}
+
+# Install configuration of logrotate 
 install -m 644 %{SOURCE11} %{buildroot}%{_sysconfdir}/logrotate.d/mailman
 
+# Install timer systemd files
+install -D -m 0644 -t %{buildroot}%{_unitdir}/ systemd-units/*
+
+# Install mailman.service
+install -m 0644 -t %{buildroot}%{_unitdir}/ %{SOURCE16}
+
+# Install rcmailman to _sbindir
+ln -sf /usr/sbin/service %{buildroot}%{_sbindir}/rcmailman
+
+# Add symlinks to _sbindir
+for service in %{timers} mailman.service ; do
+    if [[ $service =~ \.service ]] ; then
+        ln -sf %{_unitdir}/${service} %{buildroot}%{_sbindir}/
+    fi
+done
+
+# Deduplicate
+%fdupes %{buildroot}%{mmdir}
+
+# Change permissions of directories to keep rpmlint silent
+find %{buildroot}/%{mmdir} -type d -exec chmod 755 {} +
+find %{buildroot}/%{templatedir} -type d -exec chmod 755 {} +
+# There is no need for setgid bit in all files in those directories except 
cgi-bin
+chmod %{buildroot}/%{mmdir} -s -R
+chmod -s %{buildroot}/%{mmdir} %{buildroot}/%{mmdir}/Mailman
+chmod -s %{buildroot}/%{varmmdir} %{buildroot}/%{datadir}
+# cgi-bin contains ELF executables which have to have setgid
+chmod g+s %{buildroot}/%{mmdir}/cgi-bin/*
+chmod g+s %{buildroot}/%{mmdir}/mail/mailman
+
+# Add executable bits to help scripts
+chmod +x %{buildroot}/%{mmdir}/Mailman/Archiver/pipermail.py \
+    %{buildroot}/%{mmdir}/Mailman/Post.py
+
+# no need for setgid in configdir
+chmod %{buildroot}/%{configdir} -s -R
+chmod %{buildroot}/%{varmmdir} -s -R
+
 %pre
-getent group mailman >/dev/null || %{_sbindir}/groupadd -g %{m_gid} -o -r 
mailman
-getent passwd mailman >/dev/null || %{_sbindir}/useradd -r -o -g mailman -u 
%{m_uid} -s /bin/bash -c "GNU mailing list manager" -d 
%{_localstatedir}/lib/mailman mailman
+%service_add_pre %{timers} mailman.service
+getent group mailman >/dev/null \
+    || %{_sbindir}/groupadd -g %{m_gid} -o -r mailman
+getent passwd mailman >/dev/null \
+    || %{_sbindir}/useradd -r -o -g mailman -u %{m_uid} -s /bin/bash \
+       -c "GNU mailing list manager" -d %{varmmdir} mailman
 exit 0
 
 %post
-%{fillup_and_insserv mailman}
-if [ -e %{_localstatedir}/lib/mailman/logs/error ]; then
-    chown wwwrun.mailman %{_localstatedir}/lib/mailman/logs/error
+%service_add_post %{timers} mailman.service
+%set_permissions %{mmdir} 
+%set_permissions %{mmdir}/cgi-bin/admin 
+%set_permissions %{mmdir}/cgi-bin/admindb 
+%set_permissions %{mmdir}/cgi-bin/confirm 
+%set_permissions %{mmdir}/cgi-bin/create 
+%set_permissions %{mmdir}/cgi-bin/editarch 
+%set_permissions %{mmdir}/cgi-bin/edithtml 
+%set_permissions %{mmdir}/cgi-bin/listinfo 
+%set_permissions %{mmdir}/cgi-bin/options 
+%set_permissions %{mmdir}/cgi-bin/private 
+%set_permissions %{mmdir}/cgi-bin/rmlist 
+%set_permissions %{mmdir}/cgi-bin/roster 
+%set_permissions %{mmdir}/cgi-bin/subscribe 
+%set_permissions %{mmdir}/mail/mailman 
+%set_permissions %{mmdir}/Mailman 
+%set_permissions %{varmmdir}
+%set_permissions %{datadir}
+
+if [ -e %{varmmdir}/logs/error ]; then
+    chown wwwrun.mailman %{varmmdir}/logs/error
 else
-    install -m 664 -o wwwrun -g mailman /dev/null 
%{_localstatedir}/lib/mailman/logs/error
+    install -m 664 -o wwwrun -g mailman /dev/null %{varmmdir}/logs/error
 fi
 # handle very old installations
 test -d %{_localstatedir}/spool/mailman && {
-    echo -n "Moving %{_localstatedir}/spool/mailman -> 
%{_localstatedir}/lib/mailman... "
-    (cd %{_localstatedir}/lib/mailman && cp -a 
%{_localstatedir}/spool/mailman/* .)  && rm -rf %{_localstatedir}/spool/mailman
+    echo -n "Moving %{_localstatedir}/spool/mailman -> %{varmmdir}... "
+    (cd %{varmmdir} && \
+     cp -a %{_localstatedir}/spool/mailman/* .) && \
+    rm -rf %{_localstatedir}/spool/mailman
     echo "Done."
 }
 echo "All done."
+
 # use Mailman facilities for updating old data
-%{_libexecdir}/mailman/bin/update
+%{mmdir}/bin/update
 if test -z "$YAST_IS_RUNNING" ; then
-    echo "Please remember to run 
'%{_libexecdir}/mailman/bin/mailman-generate-sysconfig' to configure mailman"
+    echo "Please remember to run '%{mmdir}/bin/mailman-generate-sysconfig' to 
configure mailman"
 fi
+
 # re-create the list aliases
-%{_libexecdir}/mailman/bin/genaliases > /dev/null
-# update the alias db file and make it group-writeable (important for being 
able to create mailing lists thru the web interface)
-if [ -x %{_sbindir}/postalias -a -r %{_localstatedir}/lib/mailman/data/aliases 
]; then
-    %{_sbindir}/postalias %{_localstatedir}/lib/mailman/data/aliases || :
-    chmod g+w %{_localstatedir}/lib/mailman/data/aliases.db
+%{mmdir}/bin/genaliases > /dev/null
+
+# update the alias db file and make it group-writeable (important for
+# being able to create mailing lists thru the web interface)
+if [ -x %{_sbindir}/postalias -a -r %{datadir}/aliases ]; then
+    %{_sbindir}/postalias %{datadir}/aliases || :
+    chmod g+w %{datadir}/aliases.db
 fi
 exit 0
 
 %verifyscript
-%verify_permissions -f %{_libexecdir}/mailman/sgidlist
+%verify_permissions -e %{mmdir} 
+%verify_permissions -e %{mmdir}/cgi-bin/admin 
+%verify_permissions -e %{mmdir}/cgi-bin/admindb 
+%verify_permissions -e %{mmdir}/cgi-bin/confirm 
+%verify_permissions -e %{mmdir}/cgi-bin/create 
+%verify_permissions -e %{mmdir}/cgi-bin/editarch 
+%verify_permissions -e %{mmdir}/cgi-bin/edithtml 
+%verify_permissions -e %{mmdir}/cgi-bin/listinfo 
+%verify_permissions -e %{mmdir}/cgi-bin/options 
+%verify_permissions -e %{mmdir}/cgi-bin/private 
+%verify_permissions -e %{mmdir}/cgi-bin/rmlist 
+%verify_permissions -e %{mmdir}/cgi-bin/roster 
+%verify_permissions -e %{mmdir}/cgi-bin/subscribe 
+%verify_permissions -e %{mmdir}/mail/mailman 
+%verify_permissions -e %{mmdir}/Mailman 
+%verify_permissions -e %{varmmdir}
+%verify_permissions -e %{datadir}
 
 %preun
+%service_del_preun %{timers} mailman.service
 %stop_on_removal mailman
 
 %postun
+%service_del_postun %{timers} mailman.service
 %restart_on_update mailman
-%insserv_cleanup
 
 %files
 %license gnu-COPYING-GPL
-%doc ACKNOWLEDGMENTS BUGS FAQ INSTALL NEWS TODO UPGRADING contrib 
doc/mailman-admin
+%doc ACKNOWLEDGMENTS BUGS FAQ NEWS TODO UPGRADING contrib doc/mailman-admin
 %doc README README.*
 %{_mandir}/man8/*.8%{?ext_man}
 %dir %{mailman_confd}
 %config(noreplace) %{_sysconfdir}/logrotate.d/mailman
 %config(noreplace) %{mailman_confd}/mailman.*-gid
-%dir %attr(2755, root, mailman) %{_libexecdir}/mailman/
-%{_libexecdir}/mailman/sgidlist
-%attr(-, root, mailman) %{_libexecdir}/mailman/[^Mmc]*
-%attr(-, root, mailman) %{_libexecdir}/mailman/cron
-%dir %attr(-, root, mailman) %{_libexecdir}/mailman/cgi-bin
-%verify(not mode) %attr(2755, root, mailman) %{_libexecdir}/mailman/cgi-bin/*
-%dir %attr(2755, root, mailman) %{_libexecdir}/mailman/Mailman/
-%attr(-, root, mailman) %{_libexecdir}/mailman/Mailman/[^m]*
-%attr(-, root, mailman) %{_libexecdir}/mailman/messages
-%dir %attr(-, root, mailman) %{_libexecdir}/mailman/mail
-%verify(not mode) %attr(2755, root, mailman) 
%{_libexecdir}/mailman/mail/mailman
-%config(noreplace) %attr(-, root, mailman) %{_libexecdir}/mailman/Mailman/m*
-%dir %attr(2755, mailman, mailman) %{_localstatedir}/lib/mailman/
-%attr(-, root, mailman) %{_localstatedir}/lib/mailman/[^d]*
-%dir %attr(2775, root, mailman) %{_localstatedir}/lib/mailman/data/
-%config(noreplace) %attr(-, root, mailman) 
%{_localstatedir}/lib/mailman/data/[^a]*
-%config(noreplace) %attr(-, mailman, mailman) 
%{_localstatedir}/lib/mailman/data/aliases
-%ghost %attr(0664, mailman, mailman) 
%{_localstatedir}/lib/mailman/data/aliases.db
+%config(noreplace) %attr(-, root, mailman) %{configdir}/mm_cfg.py*
+%dir %attr(755, root, mailman) %{mmdir}/
+%attr(-, root, mailman) %{mmdir}/[^Mmc]*
+%attr(-, root, mailman) %{mmdir}/cron
+%dir %attr(-, root, mailman) %{mmdir}/cgi-bin
+%verify(not mode) %attr(2755, root, mailman) %{mmdir}/cgi-bin/*
+%dir %attr(755, root, mailman) %{mmdir}/Mailman/
+%attr(-, root, mailman) %{mmdir}/Mailman/*
+%attr(-, root, mailman) %{mmdir}/messages
+%dir %attr(-, root, mailman) %{mmdir}/mail
+%verify(not mode) %attr(2755, root, mailman) %{mmdir}/mail/mailman
+%dir %attr(755, mailman, mailman) %{varmmdir}/
+%attr(-, root, mailman) %{varmmdir}/[^d]*
+%dir %attr(775, root, mailman) %{datadir}/
+%config(noreplace) %attr(-, root, mailman) %{datadir}/[^a]*
+%config(noreplace) %attr(-, mailman, mailman) %{datadir}/aliases
+%ghost %attr(0664, mailman, mailman) %{datadir}/aliases.db
 %{_fillupdir}/*
+%{_unitdir}/*
 %{_sbindir}/*
-%{_initddir}/*
 %dir %{_sysconfdir}/apache2
 %dir %{apache2_confd}
 %config (noreplace) %{apache2_confd}/mailman.conf

++++++ mailman-2.1.14-editarch.patch ++++++
--- /var/tmp/diff_new_pack.Sm6zOW/_old  2018-12-12 17:29:14.858818898 +0100
+++ /var/tmp/diff_new_pack.Sm6zOW/_new  2018-12-12 17:29:14.858818898 +0100
@@ -1,8 +1,6 @@
-Index: mailman-2.1.14/Mailman/Cgi/admin.py
-===================================================================
---- mailman-2.1.14.orig/Mailman/Cgi/admin.py
-+++ mailman-2.1.14/Mailman/Cgi/admin.py
-@@ -416,6 +416,8 @@ def show_results(mlist, doc, category, s
+--- a/Mailman/Cgi/admin.py
++++ b/Mailman/Cgi/admin.py
+@@ -471,6 +471,8 @@ def show_results(mlist, doc, category, s
                              _('Go to the general list information page')))
      otherlinks.AddItem(Link(mlist.GetScriptURL('edithtml'),
                              _('Edit the public HTML pages and text files')))
@@ -11,10 +9,8 @@
      otherlinks.AddItem(Link(mlist.GetBaseArchiveURL(),
                              _('Go to list archives')).Format() +
                         '<br>&nbsp;<br>')
-Index: mailman-2.1.14/Mailman/Cgi/editarch.py
-===================================================================
 --- /dev/null
-+++ mailman-2.1.14/Mailman/Cgi/editarch.py
++++ b/Mailman/Cgi/editarch.py
 @@ -0,0 +1,509 @@
 +# Copyright (C) 1998,1999,2000,2001,2002 by the Free Software Foundation, Inc.
 +# Copyright (C) 1998,1999,2000,2001,2002 by the Free Software Foundation, Inc.
@@ -525,11 +521,9 @@
 +    for thing, repl in repls:
 +        s = s.replace(thing, repl)
 +    return Utils.uncanonstr(s, lang)
-Index: mailman-2.1.14/Mailman/Defaults.py.in
-===================================================================
---- mailman-2.1.14.orig/Mailman/Defaults.py.in
-+++ mailman-2.1.14/Mailman/Defaults.py.in
-@@ -1390,6 +1390,10 @@ PIDFILE = os.path.join(DATA_DIR, 'master
+--- a/Mailman/Defaults.py.in
++++ b/Mailman/Defaults.py.in
+@@ -1733,6 +1733,10 @@ PIDFILE = os.path.join(DATA_DIR, 'master
  SITE_PW_FILE = os.path.join(DATA_DIR, 'adm.pw')
  LISTCREATOR_PW_FILE = os.path.join(DATA_DIR, 'creator.pw')
  
@@ -540,11 +534,9 @@
  # Import a bunch of version numbers
  from Version import *
  
-Index: mailman-2.1.14/configure
-===================================================================
---- mailman-2.1.14.orig/configure
-+++ mailman-2.1.14/configure
-@@ -5029,6 +5029,7 @@ build/cron/cull_bad_shunt:cron/cull_bad_
+--- a/configure
++++ b/configure
+@@ -4585,6 +4585,7 @@ build/cron/cull_bad_shunt:cron/cull_bad_
  build/cron/disabled:cron/disabled \
  build/cron/gate_news:cron/gate_news \
  build/cron/mailpasswds:cron/mailpasswds \
@@ -552,11 +544,9 @@
  build/cron/nightly_gzip:cron/nightly_gzip \
  build/cron/senddigests:cron/senddigests \
  "
-Index: mailman-2.1.14/configure.in
-===================================================================
---- mailman-2.1.14.orig/configure.in
-+++ mailman-2.1.14/configure.in
-@@ -688,6 +688,7 @@ cron/cull_bad_shunt \
+--- a/configure.in
++++ b/configure.in
+@@ -733,6 +733,7 @@ cron/cull_bad_shunt \
  cron/disabled \
  cron/gate_news \
  cron/mailpasswds \
@@ -564,10 +554,8 @@
  cron/nightly_gzip \
  cron/senddigests \
  ])
-Index: mailman-2.1.14/cron/Makefile.in
-===================================================================
---- mailman-2.1.14.orig/cron/Makefile.in
-+++ mailman-2.1.14/cron/Makefile.in
+--- a/cron/Makefile.in
++++ b/cron/Makefile.in
 @@ -42,7 +42,7 @@ CRONDIR=     $(prefix)/cron
  SHELL=                /bin/sh
  
@@ -577,10 +565,8 @@
  FILES=        crontab.in
  
  BUILDDIR=     ../build/cron
-Index: mailman-2.1.14/cron/crontab.in.in
-===================================================================
---- mailman-2.1.14.orig/cron/crontab.in.in
-+++ mailman-2.1.14/cron/crontab.in.in
+--- a/cron/crontab.in.in
++++ b/cron/crontab.in.in
 @@ -25,3 +25,7 @@
  #
  # At 4:30AM daily, cull old entries from the 'bad' and 'shunt' queues.
@@ -589,10 +575,8 @@
 +# At 3:57am every night, reprocess archives that have been edited.
 +57 3 * * * @PYTHON@ -S @prefix@/cron/nightly_archives
 +
-Index: mailman-2.1.14/cron/nightly_archives
-===================================================================
 --- /dev/null
-+++ mailman-2.1.14/cron/nightly_archives
++++ b/cron/nightly_archives
 @@ -0,0 +1,126 @@
 +#! @PYTHON@
 +# 
@@ -720,11 +704,9 @@
 +
 +if __name__ == '__main__':
 +    main()
-Index: mailman-2.1.14/src/Makefile.in
-===================================================================
---- mailman-2.1.14.orig/src/Makefile.in
-+++ mailman-2.1.14/src/Makefile.in
-@@ -70,7 +70,7 @@ DIRSETGID=   chmod g+s
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -72,7 +72,7 @@ DIRSETGID=   chmod g+s
  
  # Fixed definitions
  

++++++ mailman-2.1.14-misc-PACKAGES.diff ++++++
--- /var/tmp/diff_new_pack.Sm6zOW/_old  2018-12-12 17:29:14.870818884 +0100
+++ /var/tmp/diff_new_pack.Sm6zOW/_new  2018-12-12 17:29:14.870818884 +0100
@@ -1,5 +1,5 @@
---- mailman-2.1.11.orig/Makefile.in
-+++ mailman-2.1.11/Makefile.in
+--- a/Makefile.in
++++ b/Makefile.in
 @@ -125,6 +125,7 @@ doinstall: $(SUBDIRS)
            (cd $$d; $(MAKE) DESTDIR=$(DESTDIR) install); \
        done
@@ -8,9 +8,9 @@
  
  # Only run bin/update if we aren't installing in DESTDIR, as this
  # means there are probably no lists to deal with, and it wouldn't
---- mailman-2.1.14/misc/Makefile.in    2010-09-20 20:18:27.000000000 +0200
-+++ mailman-2.1.14/misc/Makefile.in    2010-11-15 10:34:50.013318554 +0100
-@@ -57,7 +57,7 @@
+--- a/misc/Makefile.in
++++ b/misc/Makefile.in
+@@ -57,7 +57,7 @@ EMAILPKG=    @EMAILPKG@
  JACODECSPKG=  @JACODECSPKG@
  KOCODECSPKG=  @KOCODECSPKG@
  

++++++ mailman-2.1.14-python.dif ++++++
--- /var/tmp/diff_new_pack.Sm6zOW/_old  2018-12-12 17:29:14.882818868 +0100
+++ /var/tmp/diff_new_pack.Sm6zOW/_new  2018-12-12 17:29:14.882818868 +0100
@@ -1,8 +1,6 @@
-Index: Mailman/Defaults.py.in
-===================================================================
---- Mailman/Defaults.py.in.orig        2014-02-14 18:26:31.045186987 +0100
-+++ Mailman/Defaults.py.in     2014-02-14 18:26:32.847196660 +0100
-@@ -83,8 +83,8 @@
+--- a/Mailman/Defaults.py.in
++++ b/Mailman/Defaults.py.in
+@@ -83,8 +83,8 @@ MAILMAN_URL = 'http://www.gnu.org/softwa
  #     add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
  #
  # because otherwise the default mappings won't be correct.
@@ -13,7 +11,7 @@
  DEFAULT_URL_PATTERN = 'http://%s/mailman/'
  
  # DEFAULT_HOST_NAME has been replaced with DEFAULT_EMAIL_HOST, however some
-@@ -1408,8 +1408,8 @@
+@@ -1604,8 +1604,8 @@ if EXEC_PREFIX == '${prefix}':
  CGIEXT = '@CGIEXT@'
  
  # Group id that group-owns the Mailman installation
@@ -24,11 +22,9 @@
  
  # Enumeration for Mailman cgi widget types
  Toggle      = 1
-Index: misc/Makefile.in
-===================================================================
---- misc/Makefile.in.orig      2014-02-14 18:26:31.045186987 +0100
-+++ misc/Makefile.in   2014-02-14 18:26:32.848196665 +0100
-@@ -47,9 +47,9 @@
+--- a/misc/Makefile.in
++++ b/misc/Makefile.in
+@@ -47,9 +47,9 @@ SCRIPTSDIR=  $(prefix)/scripts
  
  SHELL=                /bin/sh
  PYTHONLIBDIR= $(prefix)/pythonlib

++++++ mailman-2.1.26-list_lists.patch ++++++
--- /var/tmp/diff_new_pack.Sm6zOW/_old  2018-12-12 17:29:14.894818853 +0100
+++ /var/tmp/diff_new_pack.Sm6zOW/_new  2018-12-12 17:29:14.894818853 +0100
@@ -1,6 +1,6 @@
---- bin/list_lists     2018-02-04 18:04:39.000000000 +0100
-+++ bin/list_lists     2018-03-15 17:00:17.090758128 +0100
-@@ -37,6 +37,13 @@
+--- a/bin/list_lists
++++ b/bin/list_lists
+@@ -37,6 +37,13 @@ Where:
      -b / --bare
          Displays only the list name, with no description.
  
@@ -14,7 +14,7 @@
      -h / --help
          Print this text and exit.
  
-@@ -69,8 +76,10 @@
+@@ -69,8 +76,10 @@ def usage(code, msg=''):
  
  def main():
      try:
@@ -26,7 +26,7 @@
                                      'virtual-host-overview=',
                                      'help'])
      except getopt.error, msg:
-@@ -80,17 +89,20 @@
+@@ -80,17 +89,20 @@ def main():
      public = 0
      vhost = None
      bare = 0
@@ -48,7 +48,7 @@
  
      names = Utils.list_names()
      names.sort()
-@@ -107,6 +119,8 @@
+@@ -107,6 +119,8 @@ def main():
              continue
          if public and mlist.archive_private:
              continue


++++++ mailman-2.1.4-dirmode.patch ++++++
--- /var/tmp/diff_new_pack.Sm6zOW/_old  2018-12-12 17:29:14.914818828 +0100
+++ /var/tmp/diff_new_pack.Sm6zOW/_new  2018-12-12 17:29:14.914818828 +0100
@@ -1,6 +1,6 @@
---- mailman-2.1.6/Makefile.in
-+++ mailman-2.1.6/Makefile.in
-@@ -103,7 +103,7 @@
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -103,7 +103,7 @@ doinstall: $(SUBDIRS)
            if test ! -d $$dir; then \
                echo "Creating directory hierarchy $$dir"; \
                $(srcdir)/mkinstalldirs $$dir; \
@@ -9,7 +9,7 @@
                $(DIRSETGID) $$dir; \
            else true; \
            fi; \
-@@ -115,7 +115,7 @@
+@@ -115,7 +115,7 @@ doinstall: $(SUBDIRS)
            if test ! -d $$dir; then \
                echo "Creating directory hierarchy $$dir"; \
                $(srcdir)/mkinstalldirs $$dir; \
@@ -18,9 +18,9 @@
                $(DIRSETGID) $$dir; \
            else true; \
            fi; \
---- mailman-2.1.6/bin/check_perms
-+++ mailman-2.1.6/bin/check_perms
-@@ -70,6 +70,7 @@
+--- a/bin/check_perms
++++ b/bin/check_perms
+@@ -71,6 +71,7 @@ class State:
  STATE = State()
  
  DIRPERMS = S_ISGID | S_IRWXU | S_IRWXG | S_IROTH | S_IXOTH
@@ -28,7 +28,7 @@
  QFILEPERMS = S_ISGID | S_IRWXU | S_IRWXG
  PYFILEPERMS = S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH
  ARTICLEFILEPERMS = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP
-@@ -174,8 +175,7 @@
+@@ -182,8 +183,7 @@ def checkall():
          prefix = mm_cfg.PREFIX
          print C_('checking mode for %(prefix)s')
      dirs = {}
@@ -38,7 +38,7 @@
          dirs[d] = True
      for d in dirs.keys():
          try:
-@@ -184,14 +184,24 @@
+@@ -192,14 +192,24 @@ def checkall():
              if e.errno <> errno.ENOENT: raise
              print C_('WARNING: directory does not exist: %(d)s')
              continue

++++++ mailman-2.1.4-notavaliduser.patch ++++++
--- /var/tmp/diff_new_pack.Sm6zOW/_old  2018-12-12 17:29:14.926818813 +0100
+++ /var/tmp/diff_new_pack.Sm6zOW/_new  2018-12-12 17:29:14.926818813 +0100
@@ -1,6 +1,6 @@
---- mailman-2.1.4/Mailman/Cgi/options.py
-+++ mailman-2.1.4/Mailman/Cgi/options.py
-@@ -626,6 +626,10 @@
+--- a/Mailman/Cgi/options.py
++++ b/Mailman/Cgi/options.py
+@@ -789,6 +789,10 @@ address.  Upon confirmation, any other m
              msg += _('You may get one last digest.')
  
          options_page(mlist, doc, user, cpuser, userlang, msg)

++++++ mailman-2.1.5-no_extra_asian.dif ++++++
--- /var/tmp/diff_new_pack.Sm6zOW/_old  2018-12-12 17:29:14.934818803 +0100
+++ /var/tmp/diff_new_pack.Sm6zOW/_new  2018-12-12 17:29:14.938818797 +0100
@@ -1,6 +1,6 @@
---- misc/paths.py.in
-+++ misc/paths.py.in
-@@ -70,14 +70,14 @@
+--- a/misc/paths.py.in
++++ b/misc/paths.py.in
+@@ -71,14 +71,14 @@ sys.path.append(distdir)
  # In a normal interactive Python environment, the japanese.pth and korean.pth
  # files would be imported automatically.  But because we inhibit the importing
  # of the site module, we need to be explicit about importing these codecs.

++++++ mailman-rpmlintrc ++++++
addFilter("zero-length /usr/share/doc/packages/mailman/mailman-admin/index.dat")
++++++ mailman-weak-password.diff ++++++
--- /var/tmp/diff_new_pack.Sm6zOW/_old  2018-12-12 17:29:14.974818752 +0100
+++ /var/tmp/diff_new_pack.Sm6zOW/_new  2018-12-12 17:29:14.978818747 +0100
@@ -1,6 +1,6 @@
---- mailman-2.1.6/Mailman/Defaults.py.in.orig  2005-07-03 01:06:10.377504831 
+0200
-+++ mailman-2.1.6/Mailman/Defaults.py.in       2005-07-03 01:06:20.566725790 
+0200
-@@ -797,7 +797,7 @@
+--- a/Mailman/Defaults.py.in
++++ b/Mailman/Defaults.py.in
+@@ -1069,7 +1069,7 @@ DEFAULT_NEW_MEMBER_OPTIONS = 256
  # Set this value to No to use more cryptographically secure, but harder to
  # remember, passwords -- if your operating system and Python version support
  # the necessary feature (specifically that /dev/urandom be available).

++++++ mailman-wrapper.patch ++++++
--- /var/tmp/diff_new_pack.Sm6zOW/_old  2018-12-12 17:29:14.986818737 +0100
+++ /var/tmp/diff_new_pack.Sm6zOW/_new  2018-12-12 17:29:14.986818737 +0100
@@ -1,5 +1,5 @@
---- src/cgi-wrapper.c
-+++ src/cgi-wrapper.c
+--- a/src/cgi-wrapper.c
++++ b/src/cgi-wrapper.c
 @@ -33,7 +33,7 @@
  const char* logident = LOG_IDENT;
  char* script = SCRIPTNAME;
@@ -9,7 +9,7 @@
  
  int
  main(int argc, char** argv, char** env)
-@@ -42,7 +42,7 @@
+@@ -42,7 +42,7 @@ main(int argc, char** argv, char** env)
          char* fake_argv[3];
  
          running_as_cgi = 1;
@@ -18,9 +18,9 @@
  
          /* For these CGI programs, we can ignore argc and argv since they
           * don't contain anything useful.  `script' will always be the driver
---- src/common.c
-+++ src/common.c
-@@ -117,47 +117,27 @@
+--- a/src/common.c
++++ b/src/common.c
+@@ -117,47 +117,27 @@ fatal(const char* ident, int exitcode, c
  /* Is the parent process allowed to call us?
   */
  void
@@ -32,7 +32,10 @@
 -        char* option;
 -        char* server;
 -        char* wrapper;
--
++       FILE *gidfile_h;
++       GID_T parentgid;
++       GID_T mygid = getgid();
+ 
 -        if (running_as_cgi) {
 -                option = "--with-cgi-gid";
 -                server = "web";
@@ -43,10 +46,6 @@
 -                server = "mail";
 -                wrapper = "mail";
 -        }
-+       FILE *gidfile_h;
-+       GID_T parentgid;
-+       GID_T mygid = getgid();
-+
 +       if ((gidfile_h = fopen(gidfile, "r")) == NULL)
 +               fatal(ident, GROUP_NAME_NOT_FOUND,
 +                       "Cannot open wrapper configuration file: %s",
@@ -55,12 +54,6 @@
 +               fatal(ident, GROUP_NAME_NOT_FOUND,
 +                       "Cannot read wrapper configuration file.");
 +       fclose(gidfile_h);
-+
-+       if (parentgid != mygid) {
-+               fatal(ident, GROUP_MISMATCH,
-+                     "Failure to exec script. WANTED gid %ld, GOT gid %ld.",
-+               parentgid, mygid);
-+       }
  
 -        if (!mygroup)
 -                fatal(ident, GROUP_NAME_NOT_FOUND,
@@ -73,7 +66,12 @@
 -                      "\"%s\".",
 -                      mygid, wrapper, parentgroup, server, mygid, mygid,
 -                      parentgroup, server, parentgroup);
--
++       if (parentgid != mygid) {
++               fatal(ident, GROUP_MISMATCH,
++                     "Failure to exec script. WANTED gid %ld, GOT gid %ld.",
++               parentgid, mygid);
++       }
+ 
 -        if (strcmp(parentgroup, mygroup->gr_name))
 -                fatal(ident, GROUP_MISMATCH,
 -                      "Group mismatch error.  Mailman expected the %s\n"
@@ -87,8 +85,8 @@
  }
  
  
---- src/mail-wrapper.c
-+++ src/mail-wrapper.c
+--- a/src/mail-wrapper.c
++++ b/src/mail-wrapper.c
 @@ -27,6 +27,7 @@
  
  const char* parentgroup = LEGAL_PARENT_GROUP;
@@ -97,7 +95,7 @@
  
  
  
-@@ -74,7 +75,7 @@
+@@ -74,7 +75,7 @@ main(int argc, char** argv, char** env)
                  fatal(logident, MAIL_ILLEGAL_COMMAND,
                        "Illegal command: %s", argv[1]);
  


++++++ mailman.service ++++++
[Unit]
Description=GNU Mailing List Manager
After=syslog.target network.target apache.target

[Service]
ExecStartPre=/usr/lib/mailman/bin/mailman-update-cfg
ExecStartPre=/bin/touch /var/lib/mailman/logs/error
ExecStartPre=/bin/chown mailman:mailman /var/lib/mailman/logs/error
ExecStartPre=/bin/chmod 660 /var/lib/mailman/logs/error
ExecStart=/usr/lib/mailman/bin/mailmanctl -s start
ExecReload=/usr/lib/mailman/bin/mailmanctl restart
ExecStop=/usr/lib/mailman/bin/mailman-update-cfg
ExecStop=/usr/lib/mailman/bin/mailmanctl stop
Type=forking

[Install]
WantedBy=multi-user.target
++++++ reproducible.patch ++++++
--- /var/tmp/diff_new_pack.Sm6zOW/_old  2018-12-12 17:29:15.038818671 +0100
+++ /var/tmp/diff_new_pack.Sm6zOW/_new  2018-12-12 17:29:15.038818671 +0100
@@ -4,10 +4,8 @@
 
 Based on https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=889637
 
-Index: mailman-2.1.26/configure
-===================================================================
---- mailman-2.1.26.orig/configure
-+++ mailman-2.1.26/configure
+--- a/configure
++++ b/configure
 @@ -2144,7 +2144,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
  
  CONFIGURE_OPTS=`echo $@`


Reply via email to