1 diff -urNp -x '*.orig' mailman-2.1.34.org/Mailman/Defaults.py.in mailman-2.1.34/Mailman/Defaults.py.in
2 --- mailman-2.1.34.org/Mailman/Defaults.py.in 2020-06-27 02:21:21.000000000 +0200
3 +++ mailman-2.1.34/Mailman/Defaults.py.in 2021-10-23 13:33:04.601341234 +0200
4 @@ -1751,9 +1751,11 @@ AuthListPoster = 6 # List poster (App
7 LIST_DATA_DIR = os.path.join(VAR_PREFIX, 'lists')
8 -LOG_DIR = os.path.join(VAR_PREFIX, 'logs')
9 -LOCK_DIR = os.path.join(VAR_PREFIX, 'locks')
10 +LOG_DIR = '@LOG_DIR@'
11 +LOCK_DIR = '@LOCK_DIR@'
12 +CONFIG_DIR = '@CONFIG_DIR@'
13 DATA_DIR = os.path.join(VAR_PREFIX, 'data')
14 +PID_DIR = '@PID_DIR@'
15 SPAM_DIR = os.path.join(VAR_PREFIX, 'spam')
16 WRAPPER_DIR = os.path.join(EXEC_PREFIX, 'mail')
17 BIN_DIR = os.path.join(PREFIX, 'bin')
18 @@ -1764,7 +1766,7 @@ PUBLIC_ARCHIVE_FILE_DIR = os.path.join(
19 PRIVATE_ARCHIVE_FILE_DIR = os.path.join(VAR_PREFIX, 'archives', 'private')
21 # Directories used by the qrunner subsystem
22 -QUEUE_DIR = os.path.join(VAR_PREFIX, 'qfiles')
23 +QUEUE_DIR = '@QUEUE_DIR@'
24 INQUEUE_DIR = os.path.join(QUEUE_DIR, 'in')
25 OUTQUEUE_DIR = os.path.join(QUEUE_DIR, 'out')
26 CMDQUEUE_DIR = os.path.join(QUEUE_DIR, 'commands')
27 @@ -1778,9 +1780,9 @@ RETRYQUEUE_DIR = os.path.join(QUEUE_DIR
28 MAILDIR_DIR = os.path.join(QUEUE_DIR, 'maildir')
31 -PIDFILE = os.path.join(DATA_DIR, 'master-qrunner.pid')
32 -SITE_PW_FILE = os.path.join(DATA_DIR, 'adm.pw')
33 -LISTCREATOR_PW_FILE = os.path.join(DATA_DIR, 'creator.pw')
34 +PIDFILE = os.path.join(PID_DIR, 'master-qrunner.pid')
35 +SITE_PW_FILE = os.path.join(CONFIG_DIR, 'adm.pw')
36 +LISTCREATOR_PW_FILE = os.path.join(CONFIG_DIR, 'creator.pw')
38 # Import a bunch of version numbers
40 diff -urNp -x '*.orig' mailman-2.1.34.org/Mailman/MTA/Postfix.py mailman-2.1.34/Mailman/MTA/Postfix.py
41 --- mailman-2.1.34.org/Mailman/MTA/Postfix.py 2020-06-27 02:21:21.000000000 +0200
42 +++ mailman-2.1.34/Mailman/MTA/Postfix.py 2021-10-23 13:33:04.601341234 +0200
43 @@ -33,8 +33,8 @@ from Mailman.MTA.Utils import makealiase
44 from Mailman.Logging.Syslog import syslog
46 LOCKFILE = os.path.join(mm_cfg.LOCK_DIR, 'creator')
47 -ALIASFILE = os.path.join(mm_cfg.DATA_DIR, 'aliases')
48 -VIRTFILE = os.path.join(mm_cfg.DATA_DIR, 'virtual-mailman')
49 +ALIASFILE = os.path.join(mm_cfg.CONFIG_DIR, 'aliases')
50 +VIRTFILE = os.path.join(mm_cfg.CONFIG_DIR, 'virtual-mailman')
51 # Desired mode for aliases(.db) and virtual-mailman(.db) for both creation
53 targetmode = S_IFREG | S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH
54 diff -urNp -x '*.orig' mailman-2.1.34.org/Makefile.in mailman-2.1.34/Makefile.in
55 --- mailman-2.1.34.org/Makefile.in 2021-10-23 13:33:04.297992099 +0200
56 +++ mailman-2.1.34/Makefile.in 2021-10-23 13:33:04.601341234 +0200
57 @@ -28,6 +28,11 @@ bindir= @bindir@
59 exec_prefix= @exec_prefix@
60 var_prefix= @VAR_PREFIX@
61 +configdir= @CONFIG_DIR@
65 +queuedir= @QUEUE_DIR@
69 @@ -41,8 +46,12 @@ DEFS= @DEFS@
71 CFLAGS= @CFLAGS@ $(OPT) $(DEFS)
74 + ${configdir} ${lockdir} ${logdir} ${piddir} ${queuedir}
78 - logs archives lists locks data spam qfiles \
79 + archives lists data spam \
80 archives/private archives/public
83 @@ -104,6 +113,15 @@ doinstall: $(SUBDIRS)
84 $(INSTALL) -d -m $(DIRMODE) $$dir; \
88 + @for d in $(FHS_DIRS); \
90 + dir=$(DESTDIR)/$$d; \
91 + if test ! -d $$dir; then \
92 + echo "Creating directory $$dir"; \
93 + $(INSTALL) -d -m $(DIRMODE) $$dir; \
97 chmod o-r $(DESTDIR)$(var_prefix)/archives/private
98 @for d in $(ARCH_INDEP_DIRS); \
99 diff -urNp -x '*.orig' mailman-2.1.34.org/bin/check_perms mailman-2.1.34/bin/check_perms
100 --- mailman-2.1.34.org/bin/check_perms 2020-06-27 02:21:21.000000000 +0200
101 +++ mailman-2.1.34/bin/check_perms 2021-10-23 13:33:04.598007726 +0200
102 @@ -183,7 +183,8 @@ def checkall():
103 print C_('checking mode for %(prefix)s')
105 for d in (mm_cfg.PREFIX, mm_cfg.EXEC_PREFIX, mm_cfg.VAR_PREFIX,
107 + mm_cfg.CONFIG_DIR, mm_cfg.DATA_DIR, mm_cfg.LOCK_DIR,
108 + mm_cfg.LOG_DIR, mm_cfg.QUEUE_DIR, mm_cfg.PID_DIR):
110 for d in dirs.keys():
112 diff -urNp -x '*.orig' mailman-2.1.34.org/configure.in mailman-2.1.34/configure.in
113 --- mailman-2.1.34.org/configure.in 2021-10-23 13:33:04.291325085 +0200
114 +++ mailman-2.1.34/configure.in 2021-10-23 13:33:04.598007726 +0200
115 @@ -321,7 +321,7 @@ default_var_prefix="/var/mailman"
117 AC_MSG_CHECKING(for --with-var-prefix)
118 AC_ARG_WITH(var-prefix, dnl
119 -[ --with-var-prefix directory for mutable data [/var/mailman]])
120 +[ --with-var-prefix directory for mutable data [/var/mailman]])
121 case "$with_var_prefix" in
122 yes) VAR_PREFIX="$default_var_prefix"; ans=$VAR_PREFIX;;
123 ""|no) VAR_PREFIX="$prefix"; ans="no";;
124 @@ -348,6 +348,61 @@ else
125 prefixcheck=$VAR_PREFIX
128 +# Get the configuration file directory
129 +AC_SUBST(CONFIG_DIR)
130 +AC_MSG_CHECKING(for --with-config-dir)
131 +AC_ARG_WITH(config-dir, dnl
132 +[ --with-config-dir specify directory for configuration data other than [VAR_]PREFIX/data])
133 +case "$with_config_dir" in
134 + yes|no|"") CONFIG_DIR="$VAR_PREFIX/data";;
135 + *) CONFIG_DIR=$with_config_dir;;
137 +AC_MSG_RESULT($CONFIG_DIR)
139 +# Get the lock directory
141 +AC_MSG_CHECKING(for --with-lock-dir)
142 +AC_ARG_WITH(lock-dir, dnl
143 +[ --with-lock-dir specify directory for lock files other than [VAR_]PREFIX/locks])
144 +case "$with_lock_dir" in
145 + yes|no|"") LOCK_DIR="$VAR_PREFIX/locks";;
146 + *) LOCK_DIR=$with_lock_dir;;
148 +AC_MSG_RESULT($LOCK_DIR)
150 +# Get the log directory
152 +AC_MSG_CHECKING(for --with-log-dir)
153 +AC_ARG_WITH(log-dir, dnl
154 +[ --with-log-dir specify directory for log files other than [VAR_]PREFIX/logs])
155 +case "$with_log_dir" in
156 + yes|no|"") LOG_DIR="$VAR_PREFIX/logs";;
157 + *) LOG_DIR=$with_log_dir;;
159 +AC_MSG_RESULT($LOG_DIR)
161 +# Get the pid directory
163 +AC_MSG_CHECKING(for --with-pid-dir)
164 +AC_ARG_WITH(pid-dir, dnl
165 +[ --with-pid-dir specify directory for the pid file other than [VAR_]PREFIX/data])
166 +case "$with_pid_dir" in
167 + yes|no|"") PID_DIR="$VAR_PREFIX/data";;
168 + *) PID_DIR=$with_pid_dir;;
170 +AC_MSG_RESULT($PID_DIR)
172 +# Get the queue directory
174 +AC_MSG_CHECKING(for --with-queue-dir)
175 +AC_ARG_WITH(queue-dir, dnl
176 +[ --with-queue-dir specify directory for queue files other than [VAR_]PREFIX/qfiles])
177 +case "$with_queue_dir" in
178 + yes|no|"") QUEUE_DIR="$VAR_PREFIX/qfiles";;
179 + *) QUEUE_DIR=$with_queue_dir;;
181 +AC_MSG_RESULT($QUEUE_DIR)
183 # new macro for finding group names
184 AC_DEFUN([MM_FIND_GROUP_NAME], [
185 # $1 == variable name
186 @@ -744,7 +799,7 @@ AC_OUTPUT([misc/paths.py Mailman/Default
187 templates/Makefile cron/Makefile scripts/Makefile messages/Makefile
188 cron/crontab.in misc/mailman Makefile
189 tests/Makefile tests/bounces/Makefile tests/msgs/Makefile
192 echo "configuration completed at" `date`)
194 # Make sure all the build scripts are executable.
195 diff -urNp -x '*.orig' mailman-2.1.34.org/misc/Makefile.in mailman-2.1.34/misc/Makefile.in
196 --- mailman-2.1.34.org/misc/Makefile.in 2021-10-23 13:33:04.297992099 +0200
197 +++ mailman-2.1.34/misc/Makefile.in 2021-10-23 13:33:04.601341234 +0200
198 @@ -27,6 +27,12 @@ bindir= @bindir@
200 exec_prefix= @exec_prefix@
201 var_prefix= @VAR_PREFIX@
202 +configdir= @CONFIG_DIR@
206 +queuedir= @QUEUE_DIR@
207 +MAILMAN_GROUP= @MAILMAN_GROUP@
211 @@ -87,7 +93,7 @@ install-other:
212 $(INSTALL) -m $(FILEMODE) paths.py $$dir; \
214 $(INSTALL) -m $(EXEMODE) mailman $(DESTDIR)$(SCRIPTSDIR)
215 - $(INSTALL) -m $(FILEMODE) sitelist.cfg $(DESTDIR)$(DATADIR)
216 + $(INSTALL) -m $(FILEMODE) sitelist.cfg $(DESTDIR)$(configdir)
219 if [ -z "$(EMAILPKG)" -a -d $(DESTDIR)$(PYTHONLIBDIR)/email ] ; \