+diff -urNp -x '*.orig' mailman-2.1.34.org/Mailman/Defaults.py.in mailman-2.1.34/Mailman/Defaults.py.in
+--- mailman-2.1.34.org/Mailman/Defaults.py.in 2020-06-27 02:21:21.000000000 +0200
++++ mailman-2.1.34/Mailman/Defaults.py.in 2021-10-23 13:33:04.601341234 +0200
+@@ -1751,9 +1751,11 @@ AuthListPoster = 6 # List poster (App
+
+ # Useful directories
+ LIST_DATA_DIR = os.path.join(VAR_PREFIX, 'lists')
+-LOG_DIR = os.path.join(VAR_PREFIX, 'logs')
+-LOCK_DIR = os.path.join(VAR_PREFIX, 'locks')
++LOG_DIR = '@LOG_DIR@'
++LOCK_DIR = '@LOCK_DIR@'
++CONFIG_DIR = '@CONFIG_DIR@'
+ DATA_DIR = os.path.join(VAR_PREFIX, 'data')
++PID_DIR = '@PID_DIR@'
+ SPAM_DIR = os.path.join(VAR_PREFIX, 'spam')
+ WRAPPER_DIR = os.path.join(EXEC_PREFIX, 'mail')
+ BIN_DIR = os.path.join(PREFIX, 'bin')
+@@ -1764,7 +1766,7 @@ PUBLIC_ARCHIVE_FILE_DIR = os.path.join(
+ PRIVATE_ARCHIVE_FILE_DIR = os.path.join(VAR_PREFIX, 'archives', 'private')
+
+ # Directories used by the qrunner subsystem
+-QUEUE_DIR = os.path.join(VAR_PREFIX, 'qfiles')
++QUEUE_DIR = '@QUEUE_DIR@'
+ INQUEUE_DIR = os.path.join(QUEUE_DIR, 'in')
+ OUTQUEUE_DIR = os.path.join(QUEUE_DIR, 'out')
+ CMDQUEUE_DIR = os.path.join(QUEUE_DIR, 'commands')
+@@ -1778,9 +1780,9 @@ RETRYQUEUE_DIR = os.path.join(QUEUE_DIR
+ MAILDIR_DIR = os.path.join(QUEUE_DIR, 'maildir')
+
+ # Other useful files
+-PIDFILE = os.path.join(DATA_DIR, 'master-qrunner.pid')
+-SITE_PW_FILE = os.path.join(DATA_DIR, 'adm.pw')
+-LISTCREATOR_PW_FILE = os.path.join(DATA_DIR, 'creator.pw')
++PIDFILE = os.path.join(PID_DIR, 'master-qrunner.pid')
++SITE_PW_FILE = os.path.join(CONFIG_DIR, 'adm.pw')
++LISTCREATOR_PW_FILE = os.path.join(CONFIG_DIR, 'creator.pw')
+
+ # Import a bunch of version numbers
+ from Version import *
+diff -urNp -x '*.orig' mailman-2.1.34.org/Mailman/MTA/Postfix.py mailman-2.1.34/Mailman/MTA/Postfix.py
+--- mailman-2.1.34.org/Mailman/MTA/Postfix.py 2020-06-27 02:21:21.000000000 +0200
++++ mailman-2.1.34/Mailman/MTA/Postfix.py 2021-10-23 13:33:04.601341234 +0200
+@@ -33,8 +33,8 @@ from Mailman.MTA.Utils import makealiase
+ from Mailman.Logging.Syslog import syslog
+
+ LOCKFILE = os.path.join(mm_cfg.LOCK_DIR, 'creator')
+-ALIASFILE = os.path.join(mm_cfg.DATA_DIR, 'aliases')
+-VIRTFILE = os.path.join(mm_cfg.DATA_DIR, 'virtual-mailman')
++ALIASFILE = os.path.join(mm_cfg.CONFIG_DIR, 'aliases')
++VIRTFILE = os.path.join(mm_cfg.CONFIG_DIR, 'virtual-mailman')
+ # Desired mode for aliases(.db) and virtual-mailman(.db) for both creation
+ # and check_perms.
+ targetmode = S_IFREG | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH
+diff -urNp -x '*.orig' mailman-2.1.34.org/Makefile.in mailman-2.1.34/Makefile.in
+--- mailman-2.1.34.org/Makefile.in 2021-10-23 13:33:04.297992099 +0200
++++ mailman-2.1.34/Makefile.in 2021-10-23 13:33:04.601341234 +0200
+@@ -28,6 +28,11 @@ bindir= @bindir@
+ prefix= @prefix@
+ exec_prefix= @exec_prefix@
+ var_prefix= @VAR_PREFIX@
++configdir= @CONFIG_DIR@
++lockdir= @LOCK_DIR@
++logdir= @LOG_DIR@
++piddir= @PID_DIR@
++queuedir= @QUEUE_DIR@
+ DESTDIR=
+
+ CC= @CC@
+@@ -41,8 +46,12 @@ DEFS= @DEFS@
+ OPT= @OPT@
+ CFLAGS= @CFLAGS@ $(OPT) $(DEFS)
+
++FHS_DIRS= \
++ ${configdir} ${lockdir} ${logdir} ${piddir} ${queuedir}
++
++
+ VAR_DIRS= \
+- logs archives lists locks data spam qfiles \
++ archives lists data spam \
+ archives/private archives/public
+
+ ARCH_INDEP_DIRS= \
+@@ -104,6 +113,15 @@ doinstall: $(SUBDIRS)
+ $(INSTALL) -d -m $(DIRMODE) $$dir; \
+ else true; \
+ fi; \
++ done
++ @for d in $(FHS_DIRS); \
++ do \
++ dir=$(DESTDIR)/$$d; \
++ if test ! -d $$dir; then \
++ echo "Creating directory $$dir"; \
++ $(INSTALL) -d -m $(DIRMODE) $$dir; \
++ else true; \
++ fi; \
+ done
+ chmod o-r $(DESTDIR)$(var_prefix)/archives/private
+ @for d in $(ARCH_INDEP_DIRS); \
+diff -urNp -x '*.orig' mailman-2.1.34.org/bin/check_perms mailman-2.1.34/bin/check_perms
+--- mailman-2.1.34.org/bin/check_perms 2020-06-27 02:21:21.000000000 +0200
++++ mailman-2.1.34/bin/check_perms 2021-10-23 13:33:04.598007726 +0200
+@@ -183,7 +183,8 @@ def checkall():
+ print C_('checking mode for %(prefix)s')