summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO62
-rw-r--r--01-mailman-2.1-build.patch694
-rw-r--r--02-fix-500-error-for-non-member.patch19
-rw-r--r--PKGBUILD131
-rw-r--r--mailman-checkdbs.service10
-rw-r--r--mailman-checkdbs.timer10
-rw-r--r--mailman-cullbadshunt.service10
-rw-r--r--mailman-cullbadshunt.timer10
-rw-r--r--mailman-disabled.service10
-rw-r--r--mailman-disabled.timer10
-rw-r--r--mailman-gatenews.service10
-rw-r--r--mailman-gatenews.timer10
-rw-r--r--mailman-mailpasswds.service10
-rw-r--r--mailman-mailpasswds.timer10
-rw-r--r--mailman-nightlygzip.service10
-rw-r--r--mailman-nightlygzip.timer10
-rw-r--r--mailman-senddigests.service10
-rw-r--r--mailman-senddigests.timer10
-rw-r--r--mailman.install16
-rw-r--r--mailman.profile.csh1
-rw-r--r--mailman.profile.sh3
-rw-r--r--mailman.service16
-rw-r--r--mailman.sysusers1
23 files changed, 1083 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..7a7b9cfac8ee
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,62 @@
+pkgbase = mailman
+ pkgdesc = The GNU Mailing List Manager
+ pkgver = 2.1.39
+ pkgrel = 2
+ url = https://www.list.org/
+ install = mailman.install
+ arch = x86_64
+ license = GPL
+ makedepends = mailman
+ depends = glibc
+ depends = python2
+ depends = smtp-server
+ depends = python2-dnspython
+ depends = systemd
+ backup = usr/lib/mailman/Mailman/mm_cfg.py
+ source = https://launchpad.net/mailman/2.1/2.1.39/+download/mailman-2.1.39.tgz
+ source = https://launchpad.net/mailman/2.1/2.1.39/+download/mailman-2.1.39.tgz.asc
+ source = mailman.profile.sh
+ source = mailman.profile.csh
+ source = mailman.sysusers
+ source = mailman.service
+ source = mailman-checkdbs.service
+ source = mailman-checkdbs.timer
+ source = mailman-cullbadshunt.service
+ source = mailman-cullbadshunt.timer
+ source = mailman-disabled.service
+ source = mailman-disabled.timer
+ source = mailman-gatenews.service
+ source = mailman-gatenews.timer
+ source = mailman-mailpasswds.service
+ source = mailman-mailpasswds.timer
+ source = mailman-nightlygzip.service
+ source = mailman-nightlygzip.timer
+ source = mailman-senddigests.service
+ source = mailman-senddigests.timer
+ source = 01-mailman-2.1-build.patch
+ source = 02-fix-500-error-for-non-member.patch
+ validpgpkeys = C638CAEF0AC21563736B5A22555B975E953B8693
+ sha256sums = 7b8e9222364abdfd25cb2053c422319aac7b620c287dd979703e0399d72f4390
+ sha256sums = SKIP
+ sha256sums = 1af0e72434c6dbaada49df3b2b7de03ec4574f7534ce5545b4de26372241d9f4
+ sha256sums = 058d35874967ccd8b9a92fa40480c1350f4ef5ad2fa783e4baf1b0309f6782cb
+ sha256sums = 3e10268d5dfa64699efa247ef0082a6ec5f1dea401fa4d05c030994c6a115348
+ sha256sums = 7c0ae496ba6df36bf53ad4f23d5a7954b472645ed51decadda03f47458c03674
+ sha256sums = 4e59a77b6d000b19909c0e7fdd46e265f75b5d97c2fdc4574ece22541845af6e
+ sha256sums = b08b0617e3039248c8ae7a222dcd0d8097154746d6fc0c6b51cd36e1f6b0f4d8
+ sha256sums = 58bfa5dc0fc3132f0300e2cb612d58c0b9f8d2c0972c71cb903bc252c155992e
+ sha256sums = f49fdecdeb4353ea8b980a93031a5a9ba8b528f7fbcd1e5277c80e5eaaa25c89
+ sha256sums = c100a159168261937a3fea9e715fe2c55c2bdec60d4891c1bfef6edbaf7ea6bf
+ sha256sums = 8794f8e3a448f980a231e00024e3e579d1ee02020ce94ae3e5e29abbfd8fb043
+ sha256sums = f84f61cd87d8c584e1a5ad010f28b764c09ee034296d24b468b05695edbd6a38
+ sha256sums = d07d9373447a53da9c7cec3722b3defd27ff52b609eb9b78c72f48452773fa0f
+ sha256sums = ceb61fb03ea3cdc307985b6885dd516c7921f0408037a5a4ba8e76ad64d5b940
+ sha256sums = 20015b4d292a19deaeabb49cc1b55d6712453a26f1118d7561eea472da52e60f
+ sha256sums = 37cc29eb737700cd14be4cc5c442ebfeb50dfedcc3b0149dc7d9edbcb3558307
+ sha256sums = 4e22a0fec29e6e13d3bcf91a3e89e943aa4a67026f1b818438744cb9925d017e
+ sha256sums = 1c01dc43807366e2cdd9f95bb6ae257641f45946a7b33753692de68bba0c1b11
+ sha256sums = 274ec372975a8092ad2d743668b3a2c73e027ebe46d9f51098edeef6e712eaef
+ sha256sums = 50f14274db4eb34a172cb0658903189ed0b7c77b3c0ecdd59e9a11f770051561
+ sha256sums = aa01f95e6c79cc3c2b82922ee80a7434cfd2f79ad2e1c946df97539460e18b5d
+
+pkgname = mailman
diff --git a/01-mailman-2.1-build.patch b/01-mailman-2.1-build.patch
new file mode 100644
index 000000000000..d00613ad70d6
--- /dev/null
+++ b/01-mailman-2.1-build.patch
@@ -0,0 +1,694 @@
+diff -ruN mailman-2.1.12-a/bin/Makefile.in mailman-2.1.12-b/bin/Makefile.in
+--- mailman-2.1.12-a/bin/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/bin/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -56,7 +55,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -72,8 +71,6 @@
+ $(INSTALL) -m $(EXEMODE) $(BUILDDIR)/$$f $(DESTDIR)$(SCRIPTSDIR); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/cron/Makefile.in mailman-2.1.12-b/cron/Makefile.in
+--- mailman-2.1.12-a/cron/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/cron/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -68,8 +67,6 @@
+ $(INSTALL) -m $(EXEMODE) $(BUILDDIR)/$$f $(DESTDIR)$(CRONDIR); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/Mailman/Archiver/Makefile.in mailman-2.1.12-b/Mailman/Archiver/Makefile.in
+--- mailman-2.1.12-a/Mailman/Archiver/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/Mailman/Archiver/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -47,7 +46,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -63,8 +62,6 @@
+ $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(PACKAGEDIR); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/Mailman/Bouncers/Makefile.in mailman-2.1.12-b/Mailman/Bouncers/Makefile.in
+--- mailman-2.1.12-a/Mailman/Bouncers/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/Mailman/Bouncers/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -45,7 +44,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -61,8 +60,6 @@
+ $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(PACKAGEDIR); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/Mailman/Cgi/Makefile.in mailman-2.1.12-b/Mailman/Cgi/Makefile.in
+--- mailman-2.1.12-a/Mailman/Cgi/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/Mailman/Cgi/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -47,7 +46,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -63,8 +62,6 @@
+ $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(CGIDIR); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/Mailman/Commands/Makefile.in mailman-2.1.12-b/Mailman/Commands/Makefile.in
+--- mailman-2.1.12-a/Mailman/Commands/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/Mailman/Commands/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -45,7 +44,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -61,8 +60,6 @@
+ $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(PACKAGEDIR); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/Mailman/Gui/Makefile.in mailman-2.1.12-b/Mailman/Gui/Makefile.in
+--- mailman-2.1.12-a/Mailman/Gui/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/Mailman/Gui/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -45,7 +44,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -61,8 +60,6 @@
+ $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(PACKAGEDIR); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/Mailman/Handlers/Makefile.in mailman-2.1.12-b/Mailman/Handlers/Makefile.in
+--- mailman-2.1.12-a/Mailman/Handlers/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/Mailman/Handlers/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -45,7 +44,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -61,8 +60,6 @@
+ $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(PACKAGEDIR); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/Mailman/Logging/Makefile.in mailman-2.1.12-b/Mailman/Logging/Makefile.in
+--- mailman-2.1.12-a/Mailman/Logging/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/Mailman/Logging/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -45,7 +44,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -61,8 +60,6 @@
+ $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(PACKAGEDIR); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/Mailman/Makefile.in mailman-2.1.12-b/Mailman/Makefile.in
+--- mailman-2.1.12-a/Mailman/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/Mailman/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -20,8 +20,6 @@
+
+ # Variables set by configure
+
+-VERSION= @VERSION@
+-
+ VPATH= @srcdir@
+ srcdir= @srcdir@
+ bindir= @bindir@
+@@ -30,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -48,7 +45,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -79,12 +76,6 @@
+ (cd $$d; $(MAKE) DESTDIR=$(DESTDIR) install); \
+ done
+
+-finish:
+- @for d in $(SUBDIRS); \
+- do \
+- (cd $$d; $(MAKE) DESTDIR=$(DESTDIR) finish); \
+- done
+-
+ clean:
+ for d in $(SUBDIRS); \
+ do \
+diff -ruN mailman-2.1.12-a/Mailman/MTA/Makefile.in mailman-2.1.12-b/Mailman/MTA/Makefile.in
+--- mailman-2.1.12-a/Mailman/MTA/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/Mailman/MTA/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -45,7 +44,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -61,8 +60,6 @@
+ $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(PACKAGEDIR); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/Mailman/Queue/Makefile.in mailman-2.1.12-b/Mailman/Queue/Makefile.in
+--- mailman-2.1.12-a/Mailman/Queue/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/Mailman/Queue/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -45,7 +44,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -61,8 +60,6 @@
+ $(INSTALL) -m $(FILEMODE) $(srcdir)/$$f $(DESTDIR)$(PACKAGEDIR); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/Makefile.in mailman-2.1.12-b/Makefile.in
+--- mailman-2.1.12-a/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -61,11 +61,10 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+-DIRSETGID= chmod g+s
+
+ DATE = $(shell python -c 'import time; print time.strftime("%d-%b-%Y"),')
+ LANGPACK = README-I18N.en templates messages
+@@ -85,14 +84,24 @@
+
+ doinstall: $(SUBDIRS)
+ @echo "Creating architecture independent directories..."
++ dir=$(DESTDIR)$(prefix); \
++ if test ! -d $$dir; then \
++ echo "Creating directory hierarchy $$dir"; \
++ $(INSTALL) -d -m $(DIRMODE) $$dir; \
++ else true; \
++ fi;
++ dir=$(DESTDIR)$(var_prefix); \
++ if test ! -d $$dir; then \
++ echo "Creating directory hierarchy $$dir"; \
++ $(INSTALL) -d -m $(DIRMODE) $$dir; \
++ else true; \
++ fi;
+ @for d in $(VAR_DIRS); \
+ do \
+ dir=$(DESTDIR)$(var_prefix)/$$d; \
+ if test ! -d $$dir; then \
+ echo "Creating directory hierarchy $$dir"; \
+- $(srcdir)/mkinstalldirs $$dir; \
+- chmod $(DIRMODE) $$dir; \
+- $(DIRSETGID) $$dir; \
++ $(INSTALL) -d -m $(DIRMODE) $$dir; \
+ else true; \
+ fi; \
+ done
+@@ -102,9 +111,7 @@
+ dir=$(DESTDIR)$(prefix)/$$d; \
+ if test ! -d $$dir; then \
+ echo "Creating directory hierarchy $$dir"; \
+- $(srcdir)/mkinstalldirs $$dir; \
+- chmod $(DIRMODE) $$dir; \
+- $(DIRSETGID) $$dir; \
++ $(INSTALL) -d -m $(DIRMODE) $$dir; \
+ else true; \
+ fi; \
+ done
+@@ -114,9 +121,7 @@
+ dir=$(DESTDIR)$(exec_prefix)/$$d; \
+ if test ! -d $$dir; then \
+ echo "Creating directory hierarchy $$dir"; \
+- $(srcdir)/mkinstalldirs $$dir; \
+- chmod $(DIRMODE) $$dir; \
+- $(DIRSETGID) $$dir; \
++ $(INSTALL) -d -m $(DIRMODE) $$dir; \
+ else true; \
+ fi; \
+ done
+diff -ruN mailman-2.1.12-a/messages/Makefile.in mailman-2.1.12-b/messages/Makefile.in
+--- mailman-2.1.12-a/messages/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/messages/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -32,7 +32,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -43,7 +42,6 @@
+ CFLAGS= $(OPT) $(DEFS)
+ PACKAGEDIR= $(prefix)/messages
+ SHELL= /bin/sh
+-DIRSETGID= chmod g+s
+ MSGFMT= @PYTHON@ ../build/bin/msgfmt.py
+ MSGMERGE= msgmerge
+
+@@ -60,7 +58,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -90,9 +88,8 @@
+ do \
+ dir=$(DESTDIR)$(prefix)/$$d; \
+ echo "Creating language directory $$dir"; \
+- $(srcdir)/../mkinstalldirs $$dir; \
+- chmod $(DIRMODE) $$dir; \
+- $(DIRSETGID) $$dir; \
++ $(INSTALL) -d -m $(DIRMODE) `dirname $$dir`; \
++ $(INSTALL) -d -m $(DIRMODE) $$dir; \
+ done
+ @for d in $(LANGUAGES); \
+ do \
+@@ -113,8 +110,6 @@
+
+ mofiles: $(MOFILES)
+
+-finish:
+-
+ clean:
+ -rm -f */LC_MESSAGES/mailman.mo
+
+diff -ruN mailman-2.1.12-a/misc/Makefile.in mailman-2.1.12-b/misc/Makefile.in
+--- mailman-2.1.12-a/misc/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/misc/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -30,7 +30,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+ PYTHON= @PYTHON@
+
+@@ -62,7 +61,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ DATAMODE= 664
+@@ -101,8 +100,6 @@
+ (cd $(PKGDIR)/$$p ; umask 02 ; PYTHONPATH=$(PYTHONLIBDIR) $(PYTHON) $(SETUPCMD)); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/scripts/Makefile.in mailman-2.1.12-b/scripts/Makefile.in
+--- mailman-2.1.12-a/scripts/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/scripts/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -49,7 +48,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -68,8 +67,6 @@
+ $(INSTALL) -m $(FILEMODE) $(srcdir)/join $(DESTDIR)$(SCRIPTSDIR)/subscribe
+ $(INSTALL) -m $(FILEMODE) $(srcdir)/leave $(DESTDIR)$(SCRIPTSDIR)/unsubscribe
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/src/Makefile.in mailman-2.1.12-b/src/Makefile.in
+--- mailman-2.1.12-a/src/Makefile.in 2009-07-28 12:19:47.000000000 +0200
++++ mailman-2.1.12-b/src/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+ PYTHON= @PYTHON@
+
+@@ -63,10 +62,9 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
+-EXEMODE= 755
++DIRMODE= 2775
++EXEMODE= 2755
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+-DIRSETGID= chmod g+s
+
+ # Fixed definitions
+
+@@ -110,20 +108,10 @@
+ do \
+ exe=$(DESTDIR)$(CGIDIR)/$$f$(CGIEXT); \
+ $(INSTALL_PROGRAM) $$f $$exe; \
+- $(DIRSETGID) $$exe; \
+ done
+ for f in $(MAIL_PROGS); \
+ do \
+ $(INSTALL_PROGRAM) $$f $(DESTDIR)$(MAILDIR); \
+- $(DIRSETGID) $(DESTDIR)$(MAILDIR)/$$f; \
+- done
+-
+-finish:
+- -for f in $(SUID_CGI_PROGS); \
+- do \
+- exe=$(DESTDIR)$(CGIDIR)/$$f$(CGIEXT); \
+- chown $(MAILMAN_USER) $$exe; \
+- chmod u+s $$exe; \
+ done
+
+ clean:
+diff -ruN mailman-2.1.12-a/templates/Makefile.in mailman-2.1.12-b/templates/Makefile.in
+--- mailman-2.1.12-a/templates/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/templates/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+ TRUE= @TRUE@
+
+@@ -48,7 +47,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -61,15 +60,13 @@
+ install:
+ for d in $(LANGUAGES); \
+ do \
+- $(srcdir)/../mkinstalldirs $(DESTDIR)$(TEMPLATEDIR)/$$d; \
++ $(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$(TEMPLATEDIR)/$$d; \
+ for f in $(srcdir)/$$d/*.html $(srcdir)/$$d/*.txt; \
+ do \
+ $(INSTALL) -m $(FILEMODE) $$f $(DESTDIR)$(TEMPLATEDIR)/$$d; \
+ done; \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/tests/bounces/Makefile.in mailman-2.1.12-b/tests/bounces/Makefile.in
+--- mailman-2.1.12-a/tests/bounces/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/tests/bounces/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -46,7 +45,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -60,8 +59,6 @@
+ $(INSTALL) -m $(FILEMODE) $$f $(DESTDIR)$(BOUNCEDIR); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/tests/Makefile.in mailman-2.1.12-b/tests/Makefile.in
+--- mailman-2.1.12-a/tests/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/tests/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -46,7 +45,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -71,8 +70,6 @@
+ (cd $$d; $(MAKE) DESTDIR=$(DESTDIR) install); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
+diff -ruN mailman-2.1.12-a/tests/msgs/Makefile.in mailman-2.1.12-b/tests/msgs/Makefile.in
+--- mailman-2.1.12-a/tests/msgs/Makefile.in 2009-02-23 22:23:35.000000000 +0100
++++ mailman-2.1.12-b/tests/msgs/Makefile.in 2009-07-28 12:19:48.000000000 +0200
+@@ -28,7 +28,6 @@
+ DESTDIR=
+
+ CC= @CC@
+-CHMOD= @CHMOD@
+ INSTALL= @INSTALL@
+
+ DEFS= @DEFS@
+@@ -46,7 +45,7 @@
+ # Modes for directories and executables created by the install
+ # process. Default to group-writable directories but
+ # user-only-writable for executables.
+-DIRMODE= 775
++DIRMODE= 2775
+ EXEMODE= 755
+ FILEMODE= 644
+ INSTALL_PROGRAM=$(INSTALL) -m $(EXEMODE)
+@@ -60,8 +59,6 @@
+ $(INSTALL) -m $(FILEMODE) $$f $(DESTDIR)$(MSGSDIR); \
+ done
+
+-finish:
+-
+ clean:
+
+ distclean:
diff --git a/02-fix-500-error-for-non-member.patch b/02-fix-500-error-for-non-member.patch
new file mode 100644
index 000000000000..b893d0ac608d
--- /dev/null
+++ b/02-fix-500-error-for-non-member.patch
@@ -0,0 +1,19 @@
+# https://bazaar.launchpad.net/~mailman-coders/mailman/2.1/revision/1887
+# https://bazaar.launchpad.net/~mailman-coders/mailman/2.1/revision/1888
+
+=== modified file 'Mailman/Cgi/options.py'
+--- old/Mailman/Cgi/options.py 2021-11-24 03:38:19 +0000
++++ new/Mailman/Cgi/options.py 2022-02-22 18:10:03 +0000
+@@ -169,8 +169,9 @@
+ if not mlist.isMember(user):
+ if mlist.private_roster == 0:
+ doc.addError(_('No such member: %(safeuser)s.'))
+- loginpage(mlist, doc, None, language)
+- print doc.Format()
++ user = None
++ loginpage(mlist, doc, user, language)
++ print doc.Format()
+ return
+
+ # Avoid cross-site scripting attacks
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..491872e4e5d2
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,131 @@
+# Maintainer: Sébastien Luttringer
+# Contributor: Paul Mattal <paul@archlinux.org>
+
+pkgname=mailman
+pkgver=2.1.39
+pkgrel=2
+pkgdesc='The GNU Mailing List Manager'
+arch=(x86_64)
+license=('GPL')
+url='https://www.list.org/'
+# we need to have the mailman user to build mailman
+makedepends=('mailman')
+depends=('glibc' 'python2' 'smtp-server' 'python2-dnspython' 'systemd')
+# 'Defaults.py' should not be changed by users; 'mm_cfg.py' should instead.
+backup=('usr/lib/mailman/Mailman/mm_cfg.py')
+install=$pkgname.install
+source=("https://launchpad.net/mailman/2.1/$pkgver/+download/mailman-$pkgver.tgz"{,.asc}
+ 'mailman.profile.sh'
+ 'mailman.profile.csh'
+ 'mailman.sysusers'
+ 'mailman.service'
+ 'mailman-checkdbs.service'
+ 'mailman-checkdbs.timer'
+ 'mailman-cullbadshunt.service'
+ 'mailman-cullbadshunt.timer'
+ 'mailman-disabled.service'
+ 'mailman-disabled.timer'
+ 'mailman-gatenews.service'
+ 'mailman-gatenews.timer'
+ 'mailman-mailpasswds.service'
+ 'mailman-mailpasswds.timer'
+ 'mailman-nightlygzip.service'
+ 'mailman-nightlygzip.timer'
+ 'mailman-senddigests.service'
+ 'mailman-senddigests.timer'
+ '01-mailman-2.1-build.patch'
+ '02-fix-500-error-for-non-member.patch'
+ )
+validpgpkeys=('C638CAEF0AC21563736B5A22555B975E953B8693') # Mark Sapiro <mark@msapiro.net>
+sha256sums=('7b8e9222364abdfd25cb2053c422319aac7b620c287dd979703e0399d72f4390'
+ 'SKIP'
+ '1af0e72434c6dbaada49df3b2b7de03ec4574f7534ce5545b4de26372241d9f4'
+ '058d35874967ccd8b9a92fa40480c1350f4ef5ad2fa783e4baf1b0309f6782cb'
+ '3e10268d5dfa64699efa247ef0082a6ec5f1dea401fa4d05c030994c6a115348'
+ '7c0ae496ba6df36bf53ad4f23d5a7954b472645ed51decadda03f47458c03674'
+ '4e59a77b6d000b19909c0e7fdd46e265f75b5d97c2fdc4574ece22541845af6e'
+ 'b08b0617e3039248c8ae7a222dcd0d8097154746d6fc0c6b51cd36e1f6b0f4d8'
+ '58bfa5dc0fc3132f0300e2cb612d58c0b9f8d2c0972c71cb903bc252c155992e'
+ 'f49fdecdeb4353ea8b980a93031a5a9ba8b528f7fbcd1e5277c80e5eaaa25c89'
+ 'c100a159168261937a3fea9e715fe2c55c2bdec60d4891c1bfef6edbaf7ea6bf'
+ '8794f8e3a448f980a231e00024e3e579d1ee02020ce94ae3e5e29abbfd8fb043'
+ 'f84f61cd87d8c584e1a5ad010f28b764c09ee034296d24b468b05695edbd6a38'
+ 'd07d9373447a53da9c7cec3722b3defd27ff52b609eb9b78c72f48452773fa0f'
+ 'ceb61fb03ea3cdc307985b6885dd516c7921f0408037a5a4ba8e76ad64d5b940'
+ '20015b4d292a19deaeabb49cc1b55d6712453a26f1118d7561eea472da52e60f'
+ '37cc29eb737700cd14be4cc5c442ebfeb50dfedcc3b0149dc7d9edbcb3558307'
+ '4e22a0fec29e6e13d3bcf91a3e89e943aa4a67026f1b818438744cb9925d017e'
+ '1c01dc43807366e2cdd9f95bb6ae257641f45946a7b33753692de68bba0c1b11'
+ '274ec372975a8092ad2d743668b3a2c73e027ebe46d9f51098edeef6e712eaef'
+ '50f14274db4eb34a172cb0658903189ed0b7c77b3c0ecdd59e9a11f770051561'
+ 'aa01f95e6c79cc3c2b82922ee80a7434cfd2f79ad2e1c946df97539460e18b5d')
+
+prepare() {
+ cd $pkgname-$pkgver
+
+ # apply patch from the source array (should be a pacman feature)
+ local filename
+ for filename in "${source[@]}"; do
+ if [[ "$filename" =~ \.patch$ ]]; then
+ echo "Applying patch ${filename##*/}"
+ patch -p1 -N -i "$srcdir/${filename##*/}"
+ fi
+ done
+
+ # some files in mailman doesn't use configure parameter
+ echo 'Fix python2 sheebang'
+ find . -type f -exec \
+ sed -i '1s,^#! \?/usr/bin/\(env \|\)python$,#!/usr/bin/python2,' {} \;
+}
+
+build() {
+ cd $pkgname-$pkgver
+ ./configure \
+ --without-permcheck \
+ --prefix=/usr/lib/mailman \
+ --with-var-prefix=/var/lib/mailman \
+ --with-mail-gid=mailman \
+ --with-username=mailman \
+ --with-groupname=mailman \
+ --with-cgi-gid=http \
+ --with-python=/usr/bin/python2 \
+ --with-mailhost=localhost \
+ --with-urlhost=localhost
+ make
+}
+
+package() {
+ cd $pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+
+ # let's follow Fedora FHS way; Gentoo does it the other way round
+
+ # Create a link so that the config file mm_cfg.py appears in config
+ # directory /etc/mailman. We don't put mm_cfg.py in the config directory
+ # because its executable code (python file) and the security policy wants
+ # to keep executable code out of /etc and inside of a lib directory instead,
+ # and because traditionally mm_cfg.py was in the Mailman subdirectory and
+ # experienced mailman admins will expect to find it there. But having it
+ # "appear" in the config directory is good practice and heading in the
+ # right direction for FHS compliance.
+ install -d -m755 "$pkgdir/etc/$pkgname"
+ ln -sv /usr/lib/mailman/Mailman/mm_cfg.py "$pkgdir/etc/$pkgname/mm_cfg.py"
+ # fix some permissions to satisfy check_perms
+ chown -R mailman:mailman "$pkgdir"/{usr/lib/mailman,var/lib/mailman,etc/mailman/*}
+ chown http:mailman "$pkgdir"/var/lib/mailman/archives/private
+ chmod 2770 "$pkgdir"/var/lib/mailman/archives/private
+ chmod 2755 "$pkgdir"/usr/lib/mailman/cgi-bin/*
+ chmod 2755 "$pkgdir"/usr/lib/mailman/mail/mailman
+ cd "$srcdir"
+ # profiles
+ install -Dm 755 $pkgname.profile.sh "$pkgdir/etc/profile.d/$pkgname.sh"
+ install -Dm 755 $pkgname.profile.csh "$pkgdir/etc/profile.d/$pkgname.csh"
+ # systemd timers and services
+ install -t "${pkgdir}/usr/lib/systemd/system/" \
+ -vDm644 ${pkgname}*.{service,timer}
+ # sysusers.d
+ install -vDm 644 $pkgname.sysusers \
+ "$pkgdir/usr/lib/sysusers.d/$pkgname.conf"
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/mailman-checkdbs.service b/mailman-checkdbs.service
new file mode 100644
index 000000000000..137a926daf51
--- /dev/null
+++ b/mailman-checkdbs.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Send mailman pending requests reminders to admins
+Documentation=file:///usr/lib/mailman/cron/crontab.in
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/python2 -S /usr/lib/mailman/cron/checkdbs
+Nice=19
+IOSchedulingClass=best-effort
+IOSchedulingPriority=7
diff --git a/mailman-checkdbs.timer b/mailman-checkdbs.timer
new file mode 100644
index 000000000000..8a3898d35396
--- /dev/null
+++ b/mailman-checkdbs.timer
@@ -0,0 +1,10 @@
+[Unit]
+Description=Daily mailman checkdbs
+
+[Timer]
+OnCalendar=8:00:00
+AccuracySec=1h
+Persistent=true
+
+[Install]
+WantedBy=timers.target
diff --git a/mailman-cullbadshunt.service b/mailman-cullbadshunt.service
new file mode 100644
index 000000000000..6cc7c4621225
--- /dev/null
+++ b/mailman-cullbadshunt.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Cull old entries from the bad and shunt queues
+Documentation=file:///usr/lib/mailman/cron/crontab.in
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/python2 -S /usr/lib/mailman/cron/cull_bad_shunt
+Nice=19
+IOSchedulingClass=best-effort
+IOSchedulingPriority=7
diff --git a/mailman-cullbadshunt.timer b/mailman-cullbadshunt.timer
new file mode 100644
index 000000000000..615fe5453bcf
--- /dev/null
+++ b/mailman-cullbadshunt.timer
@@ -0,0 +1,10 @@
+[Unit]
+Description=Daily mailman cull_bad_shunt
+
+[Timer]
+OnCalendar=04:00:00
+AccuracySec=1h
+Persistent=true
+
+[Install]
+WantedBy=timers.target
diff --git a/mailman-disabled.service b/mailman-disabled.service
new file mode 100644
index 000000000000..0d8366168037
--- /dev/null
+++ b/mailman-disabled.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Send mailman notifications to disabled members
+Documentation=file:///usr/lib/mailman/cron/crontab.in
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/python2 -S /usr/lib/mailman/cron/disabled
+Nice=19
+IOSchedulingClass=best-effort
+IOSchedulingPriority=7
diff --git a/mailman-disabled.timer b/mailman-disabled.timer
new file mode 100644
index 000000000000..8aa6ffaca9da
--- /dev/null
+++ b/mailman-disabled.timer
@@ -0,0 +1,10 @@
+[Unit]
+Description=Daily mailman disabled
+
+[Timer]
+OnCalendar=9:00:00
+AccuracySec=1h
+Persistent=true
+
+[Install]
+WantedBy=timers.target
diff --git a/mailman-gatenews.service b/mailman-gatenews.service
new file mode 100644
index 000000000000..7a6d15465dff
--- /dev/null
+++ b/mailman-gatenews.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Poll NNTP servers for messages to be gatewayed to mailing lists
+Documentation=file:///usr/lib/mailman/cron/crontab.in
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/python2 -S /usr/lib/mailman/cron/gate_news
+Nice=19
+IOSchedulingClass=best-effort
+IOSchedulingPriority=7
diff --git a/mailman-gatenews.timer b/mailman-gatenews.timer
new file mode 100644
index 000000000000..0a9df1ffc2a4
--- /dev/null
+++ b/mailman-gatenews.timer
@@ -0,0 +1,10 @@
+[Unit]
+Description=Periodic mailman gate_news
+
+[Timer]
+OnCalendar=*:0/5
+AccuracySec=5m
+Persistent=true
+
+[Install]
+WantedBy=timers.target
diff --git a/mailman-mailpasswds.service b/mailman-mailpasswds.service
new file mode 100644
index 000000000000..47d106d7fcba
--- /dev/null
+++ b/mailman-mailpasswds.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Send mailman password reminders
+Documentation=file:///usr/lib/mailman/cron/crontab.in
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/python2 -S /usr/lib/mailman/cron/mailpasswds
+Nice=19
+IOSchedulingClass=best-effort
+IOSchedulingPriority=7
diff --git a/mailman-mailpasswds.timer b/mailman-mailpasswds.timer
new file mode 100644
index 000000000000..1e223778c777
--- /dev/null
+++ b/mailman-mailpasswds.timer
@@ -0,0 +1,10 @@
+[Unit]
+Description=Monthly mailman mailpasswds
+
+[Timer]
+OnCalendar=*-*-1 05:00:00
+AccuracySec=1h
+Persistent=true
+
+[Install]
+WantedBy=timers.target
diff --git a/mailman-nightlygzip.service b/mailman-nightlygzip.service
new file mode 100644
index 000000000000..efbac73d3f2a
--- /dev/null
+++ b/mailman-nightlygzip.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Compression of mailman archive files
+Documentation=file:///usr/lib/mailman/cron/crontab.in
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/python2 -S /usr/lib/mailman/cron/nightly_gzip
+Nice=19
+IOSchedulingClass=best-effort
+IOSchedulingPriority=7
diff --git a/mailman-nightlygzip.timer b/mailman-nightlygzip.timer
new file mode 100644
index 000000000000..aca3f0737203
--- /dev/null
+++ b/mailman-nightlygzip.timer
@@ -0,0 +1,10 @@
+[Unit]
+Description=Daily mailman nightly_gzip
+
+[Timer]
+OnCalendar=03:00:00
+AccuracySec=1h
+Persistent=true
+
+[Install]
+WantedBy=timers.target
diff --git a/mailman-senddigests.service b/mailman-senddigests.service
new file mode 100644
index 000000000000..5a18a891180a
--- /dev/null
+++ b/mailman-senddigests.service
@@ -0,0 +1,10 @@
+[Unit]
+Description=Send mailman digests
+Documentation=file:///usr/lib/mailman/cron/crontab.in
+
+[Service]
+Type=oneshot
+ExecStart=/usr/bin/python2 -S /usr/lib/mailman/cron/senddigests
+Nice=19
+IOSchedulingClass=best-effort
+IOSchedulingPriority=7
diff --git a/mailman-senddigests.timer b/mailman-senddigests.timer
new file mode 100644
index 000000000000..59d86fb6c37a
--- /dev/null
+++ b/mailman-senddigests.timer
@@ -0,0 +1,10 @@
+[Unit]
+Description=Daily mailman senddigests
+
+[Timer]
+OnCalendar=12:00:00
+AccuracySec=1h
+Persistent=true
+
+[Install]
+WantedBy=timers.target
diff --git a/mailman.install b/mailman.install
new file mode 100644
index 000000000000..67b1996f4ea9
--- /dev/null
+++ b/mailman.install
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+## arg 1: the new package version
+post_install() {
+ # check file permissions
+ cd /usr/lib/mailman && bin/check_perms > /dev/null
+}
+
+## arg 1: the new package version
+## arg 2: the old package version
+post_upgrade() {
+ # check file permissions
+ cd /usr/lib/mailman && bin/check_perms > /dev/null
+}
+
+# vim:set ts=2 sw=2 ft=sh et:
diff --git a/mailman.profile.csh b/mailman.profile.csh
new file mode 100644
index 000000000000..c0a39edeecab
--- /dev/null
+++ b/mailman.profile.csh
@@ -0,0 +1 @@
+[ -d /usr/lib/mailman/bin ] && setenv PATH ${PATH}:/usr/lib/mailman/bin
diff --git a/mailman.profile.sh b/mailman.profile.sh
new file mode 100644
index 000000000000..51b69ebfbbe7
--- /dev/null
+++ b/mailman.profile.sh
@@ -0,0 +1,3 @@
+[ -d /usr/lib/mailman/bin ] && PATH=$PATH:/usr/lib/mailman/bin
+
+export PATH
diff --git a/mailman.service b/mailman.service
new file mode 100644
index 000000000000..eeee5371c85c
--- /dev/null
+++ b/mailman.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=GNU Mailing List Manager
+After=network.target
+
+[Service]
+ExecStart=/usr/lib/mailman/bin/mailmanctl -s start
+ExecReload=/usr/lib/mailman/bin/mailmanctl restart
+ExecStop=/usr/lib/mailman/bin/mailmanctl stop
+Type=forking
+ProtectSystem=full
+ProtectHostname=true
+MemoryDenyWriteExecute=yes
+PrivateDevices=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/mailman.sysusers b/mailman.sysusers
new file mode 100644
index 000000000000..7a22eb1d1a20
--- /dev/null
+++ b/mailman.sysusers
@@ -0,0 +1 @@
+u mailman 80 "GNU Mailing List Manager" /usr/lib/mailman