- from PLD
[packages/mailman.git] / mailman-FHS.patch
1 --- mailman-2.1.5.orig/bin/check_perms  2003-03-31 15:07:55.000000000 -0500
2 +++ mailman-2.1.5.FHS/bin/check_perms   2004-10-08 16:05:09.000000000 -0400
3 @@ -164,7 +164,8 @@
4          print _('checking mode for %(prefix)s')
5      dirs = {}
6      for d in (mm_cfg.PREFIX, mm_cfg.EXEC_PREFIX, mm_cfg.VAR_PREFIX,
7 -              mm_cfg.LOG_DIR):
8 +              mm_cfg.CONFIG_DIR, mm_cfg.DATA_DIR, mm_cfg.LOCK_DIR,
9 +              mm_cfg.LOG_DIR, mm_cfg.QUEUE_DIR, mm_cfg.PID_DIR):
10          dirs[d] = True
11      for d in dirs.keys():
12          try:
13 --- mailman-2.1.5.orig/configure.in     2003-12-24 12:11:48.000000000 -0500
14 +++ mailman-2.1.5.FHS/configure.in      2004-09-30 16:13:56.000000000 -0400
15 @@ -180,7 +180,7 @@
16  AC_SUBST(VAR_PREFIX)
17  AC_MSG_CHECKING(for --with-var-prefix)
18  AC_ARG_WITH(var-prefix, dnl
19 -[  --with-var-prefix     directory for mutable data [/var/mailman]])
20 +[  --with-var-prefix    directory for mutable data [/var/mailman]])
21  case "$with_var_prefix" in
22          yes)    VAR_PREFIX="$default_var_prefix"; ans=$VAR_PREFIX;;
23          ""|no)  VAR_PREFIX="$prefix"; ans="no";;
24 @@ -207,6 +207,61 @@
25      prefixcheck=$VAR_PREFIX
26  fi
27  
28 +# Get the configuration file directory
29 +AC_SUBST(CONFIG_DIR)
30 +AC_MSG_CHECKING(for --with-config-dir)
31 +AC_ARG_WITH(config-dir, dnl
32 +[  --with-config-dir    specify directory for configuration data other than [VAR_]PREFIX/data])
33 +case "$with_config_dir" in
34 +    yes|no|"") CONFIG_DIR="$VAR_PREFIX/data";;
35 +    *)         CONFIG_DIR=$with_config_dir;;
36 +esac
37 +AC_MSG_RESULT($CONFIG_DIR)
38 +
39 +# Get the lock directory
40 +AC_SUBST(LOCK_DIR)
41 +AC_MSG_CHECKING(for --with-lock-dir)
42 +AC_ARG_WITH(lock-dir, dnl
43 +[  --with-lock-dir    specify directory for lock files other than [VAR_]PREFIX/locks])
44 +case "$with_lock_dir" in
45 +    yes|no|"") LOCK_DIR="$VAR_PREFIX/locks";;
46 +    *)         LOCK_DIR=$with_lock_dir;;
47 +esac
48 +AC_MSG_RESULT($LOCK_DIR)
49 +
50 +# Get the log directory
51 +AC_SUBST(LOG_DIR)
52 +AC_MSG_CHECKING(for --with-log-dir)
53 +AC_ARG_WITH(log-dir, dnl
54 +[  --with-log-dir    specify directory for log files other than [VAR_]PREFIX/logs])
55 +case "$with_log_dir" in
56 +    yes|no|"") LOG_DIR="$VAR_PREFIX/logs";;
57 +    *)         LOG_DIR=$with_log_dir;;
58 +esac
59 +AC_MSG_RESULT($LOG_DIR)
60 +
61 +# Get the pid directory
62 +AC_SUBST(PID_DIR)
63 +AC_MSG_CHECKING(for --with-pid-dir)
64 +AC_ARG_WITH(pid-dir, dnl
65 +[  --with-pid-dir    specify directory for the pid file other than [VAR_]PREFIX/data])
66 +case "$with_pid_dir" in
67 +    yes|no|"") PID_DIR="$VAR_PREFIX/data";;
68 +    *)         PID_DIR=$with_pid_dir;;
69 +esac
70 +AC_MSG_RESULT($PID_DIR)
71 +
72 +# Get the queue directory
73 +AC_SUBST(QUEUE_DIR)
74 +AC_MSG_CHECKING(for --with-queue-dir)
75 +AC_ARG_WITH(queue-dir, dnl
76 +[  --with-queue-dir    specify directory for queue files other than [VAR_]PREFIX/qfiles])
77 +case "$with_queue_dir" in
78 +    yes|no|"") QUEUE_DIR="$VAR_PREFIX/qfiles";;
79 +    *)         QUEUE_DIR=$with_queue_dir;;
80 +esac
81 +AC_MSG_RESULT($QUEUE_DIR)
82 +
83  # new macro for finding group names
84  AC_DEFUN(MM_FIND_GROUP_NAME, [
85  # $1 == variable name
86 @@ -619,7 +674,7 @@
87             templates/Makefile cron/Makefile scripts/Makefile messages/Makefile
88             cron/crontab.in misc/mailman Makefile
89             tests/Makefile tests/bounces/Makefile tests/msgs/Makefile
90 -           $SCRIPTS],
91 +           $SCRIPTS ],
92          echo "configuration completed at" `date`)
93  
94  # Make sure all the build scripts are executable.
95 --- mailman-2.1.5.orig/Mailman/Defaults.py.in   2004-04-24 22:30:03.000000000 -0400
96 +++ mailman-2.1.5.FHS/Mailman/Defaults.py.in    2004-10-08 14:38:57.000000000 -0400
97 @@ -1198,9 +1198,11 @@
98  
99  # Useful directories
100  LIST_DATA_DIR   = os.path.join(VAR_PREFIX, 'lists')
101 -LOG_DIR         = os.path.join(VAR_PREFIX, 'logs')
102 -LOCK_DIR        = os.path.join(VAR_PREFIX, 'locks')
103 +LOG_DIR         = '@LOG_DIR@'
104 +LOCK_DIR        = '@LOCK_DIR@'
105 +CONFIG_DIR      = '@CONFIG_DIR@'
106  DATA_DIR        = os.path.join(VAR_PREFIX, 'data')
107 +PID_DIR         = '@PID_DIR@'
108  SPAM_DIR        = os.path.join(VAR_PREFIX, 'spam')
109  WRAPPER_DIR     = os.path.join(EXEC_PREFIX, 'mail')
110  BIN_DIR         = os.path.join(PREFIX, 'bin')
111 @@ -1211,7 +1213,7 @@
112  PRIVATE_ARCHIVE_FILE_DIR = os.path.join(VAR_PREFIX, 'archives', 'private')
113  
114  # Directories used by the qrunner subsystem
115 -QUEUE_DIR       = os.path.join(VAR_PREFIX, 'qfiles')
116 +QUEUE_DIR       = '@QUEUE_DIR@'
117  INQUEUE_DIR     = os.path.join(QUEUE_DIR, 'in')
118  OUTQUEUE_DIR    = os.path.join(QUEUE_DIR, 'out')
119  CMDQUEUE_DIR    = os.path.join(QUEUE_DIR, 'commands')
120 @@ -1225,9 +1227,9 @@
121  MAILDIR_DIR     = os.path.join(QUEUE_DIR, 'maildir')
122  
123  # Other useful files
124 -PIDFILE = os.path.join(DATA_DIR, 'master-qrunner.pid')
125 -SITE_PW_FILE = os.path.join(DATA_DIR, 'adm.pw')
126 -LISTCREATOR_PW_FILE = os.path.join(DATA_DIR, 'creator.pw')
127 +PIDFILE = os.path.join(PID_DIR, 'master-qrunner.pid')
128 +SITE_PW_FILE = os.path.join(CONFIG_DIR, 'adm.pw')
129 +LISTCREATOR_PW_FILE = os.path.join(CONFIG_DIR, 'creator.pw')
130  
131  # Import a bunch of version numbers
132  from Version import *
133 --- mailman-2.1.5.orig/Mailman/MTA/Postfix.py   2003-03-31 16:49:43.000000000 -0500
134 +++ mailman-2.1.5.FHS/Mailman/MTA/Postfix.py    2004-10-08 16:02:20.000000000 -0400
135 @@ -32,8 +32,8 @@
136  from Mailman.Logging.Syslog import syslog
137  
138  LOCKFILE = os.path.join(mm_cfg.LOCK_DIR, 'creator')
139 -ALIASFILE = os.path.join(mm_cfg.DATA_DIR, 'aliases')
140 -VIRTFILE = os.path.join(mm_cfg.DATA_DIR, 'virtual-mailman')
141 +ALIASFILE = os.path.join(mm_cfg.CONFIG_DIR, 'aliases')
142 +VIRTFILE = os.path.join(mm_cfg.CONFIG_DIR, 'virtual-mailman')
143  
144  try:
145      True, False
146 --- mailman-2.1.5.orig/Makefile.in      2003-03-31 14:26:57.000000000 -0500
147 +++ mailman-2.1.5.FHS/Makefile.in       2004-10-15 16:48:17.000000000 -0400
148 @@ -28,6 +28,11 @@
149  prefix=                @prefix@
150  exec_prefix=   @exec_prefix@
151  var_prefix=    @VAR_PREFIX@
152 +configdir=     @CONFIG_DIR@
153 +lockdir=       @LOCK_DIR@
154 +logdir=                @LOG_DIR@
155 +piddir=                @PID_DIR@
156 +queuedir=      @QUEUE_DIR@
157  DESTDIR=
158  
159  CC=            @CC@
160 @@ -41,8 +46,12 @@
161  OPT=           @OPT@
162  CFLAGS=                @CFLAGS@ $(OPT) $(DEFS)
163  
164 +FHS_DIRS= \
165 +       ${configdir} ${lockdir} ${logdir} ${piddir} ${queuedir}
166 +
167 +
168  VAR_DIRS= \
169 -       logs archives lists locks data spam qfiles \
170 +       archives lists data spam \
171         archives/private archives/public
172  
173  ARCH_INDEP_DIRS= \
174 @@ -96,6 +105,15 @@
175             else true; \
176             fi; \
177         done
178 +       @for d in $(FHS_DIRS); \
179 +       do \
180 +           dir=$(DESTDIR)/$$d; \
181 +           if test ! -d $$dir; then \
182 +               echo "Creating directory $$dir"; \
183 +               $(INSTALL) -d -m $(DIRMODE) $$dir; \
184 +           else true; \
185 +           fi; \
186 +       done
187         chmod o-r $(DESTDIR)$(var_prefix)/archives/private
188         @for d in $(ARCH_INDEP_DIRS); \
189         do \
190 --- mailman-2.1.5.orig/misc/Makefile.in 2004-05-13 23:34:34.000000000 -0400
191 +++ mailman-2.1.5.FHS/misc/Makefile.in  2004-10-13 14:00:19.000000000 -0400
192 @@ -26,6 +26,12 @@
193  prefix=        @prefix@
194  exec_prefix=   @exec_prefix@
195  var_prefix=    @VAR_PREFIX@
196 +configdir=     @CONFIG_DIR@
197 +lockdir=       @LOCK_DIR@
198 +logdir=                @LOG_DIR@
199 +piddir=                @PID_DIR@
200 +queuedir=      @QUEUE_DIR@
201 +MAILMAN_GROUP=  @MAILMAN_GROUP@
202  DESTDIR=
203  
204  CC=            @CC@
205 @@ -84,7 +90,7 @@
206             $(INSTALL) -m $(FILEMODE) paths.py $$dir; \
207         done
208         $(INSTALL) -m $(EXEMODE) mailman $(DESTDIR)$(SCRIPTSDIR)
209 -       $(INSTALL) -m $(FILEMODE) sitelist.cfg $(DESTDIR)$(DATADIR)
210 +       $(INSTALL) -m $(FILEMODE) sitelist.cfg $(DESTDIR)$(configdir)
211  
212  install-packages:
213         for p in $(PACKAGES); \