]>
Commit | Line | Data |
---|---|---|
1 | # | |
2 | # Conditional build: | |
3 | %bcond_with umbrella_hack # break anonimization (for use with moderated umbrella list of moderated lists) | |
4 | ||
5 | %define rel 2 | |
6 | Summary: The GNU Mailing List Management System | |
7 | Summary(es.UTF-8): El Sistema de Mantenimiento de listas de GNU | |
8 | Summary(pl.UTF-8): System Zarządzania Listami Pocztowymi GNU | |
9 | Summary(pt_BR.UTF-8): O Sistema de Manutenção de listas da GNU | |
10 | Name: mailman | |
11 | Version: 2.1.34 | |
12 | Release: %{rel}%{?with_umbrella_hack:.umh} | |
13 | Epoch: 5 | |
14 | License: GPL v2+ | |
15 | Group: Applications/System | |
16 | Source0: http://downloads.sourceforge.net/mailman/%{name}-%{version}.tgz | |
17 | # Source0-md5: b02c7cfad08d2e967bb1b79bab08021e | |
18 | Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-man-pages.tar.bz2 | |
19 | # Source1-md5: 6b55f9f8051c76961b84a12ed17fc14f | |
20 | Source2: %{name}.conf | |
21 | Source3: %{name}.init | |
22 | Source4: %{name}.sysconfig | |
23 | Source5: %{name}.logrotate | |
24 | Source6: add_nonmembers | |
25 | Source7: subscribe_list | |
26 | Source8: %{name}.tmpfiles | |
27 | Source9: %{name}.service | |
28 | Source10: cronjob-mailman-checkdbs.timer | |
29 | Source11: cronjob-mailman-cull_bad_shunt.timer | |
30 | Source12: cronjob-mailman-disabled.timer | |
31 | Source13: cronjob-mailman-gate_news.timer | |
32 | Source14: cronjob-mailman-mailpasswds.timer | |
33 | Source15: cronjob-mailman-nightly_gzip.timer | |
34 | Source16: cronjob-mailman-senddigests.timer | |
35 | Source20: cronjob-mailman-checkdbs.service | |
36 | Source21: cronjob-mailman-cull_bad_shunt.service | |
37 | Source22: cronjob-mailman-disabled.service | |
38 | Source23: cronjob-mailman-gate_news.service | |
39 | Source24: cronjob-mailman-mailpasswds.service | |
40 | Source25: cronjob-mailman-nightly_gzip.service | |
41 | Source26: cronjob-mailman-senddigests.service | |
42 | Patch0: %{name}-MM_FIND_GROUP_NAME.patch | |
43 | Patch1: %{name}-dont-send-broken-reminder-ugly-hack.patch | |
44 | Patch2: %{name}-mailmanctl-status.patch | |
45 | Patch3: %{name}-cron.patch | |
46 | Patch4: %{name}-python-compile.patch | |
47 | Patch5: %{name}-build.patch | |
48 | Patch6: %{name}-FHS.patch | |
49 | Patch7: %{name}-x-imap-folder.patch | |
50 | Patch8: %{name}-lib64.patch | |
51 | Patch9: %{name}-umbrella-anon-hack.patch | |
52 | Patch10: %{name}-daemonize-fds.patch | |
53 | Patch11: %{name}-httpauth.patch | |
54 | Patch12: %{name}-MM_FIND_USER_NAME.patch | |
55 | Patch13: keep-original-mime-headers.patch | |
56 | URL: http://www.list.org/ | |
57 | BuildRequires: autoconf | |
58 | BuildRequires: automake | |
59 | BuildRequires: python >= 2.1 | |
60 | BuildRequires: python-devel | |
61 | BuildRequires: python-dns | |
62 | BuildRequires: python-modules | |
63 | BuildRequires: rpm-pythonprov | |
64 | BuildRequires: rpmbuild(macros) >= 1.644 | |
65 | BuildRequires: sed >= 4.0 | |
66 | Requires(post): /bin/hostname | |
67 | Requires(post): grep | |
68 | Requires(post,preun): /sbin/chkconfig | |
69 | Requires(postun): /usr/sbin/groupdel | |
70 | Requires(postun): /usr/sbin/userdel | |
71 | Requires(postun): fileutils | |
72 | Requires(postun): grep | |
73 | Requires(pre): /bin/id | |
74 | Requires(pre): /usr/bin/getgid | |
75 | Requires(pre): /usr/sbin/groupadd | |
76 | Requires(pre): /usr/sbin/useradd | |
77 | Requires: /sbin/chkconfig | |
78 | Requires: cronjobs | |
79 | Requires: mailcap >= 2.3-5 | |
80 | Requires: python-dns | |
81 | Requires: python-modules | |
82 | Requires: rc-scripts | |
83 | Requires: smtpdaemon | |
84 | Requires: systemd-units >= 38 | |
85 | Requires: webapps | |
86 | Requires: webserver | |
87 | Requires: webserver(indexfile) | |
88 | Provides: group(mailman) | |
89 | Provides: user(mailman) | |
90 | # for converting text/html into plain text in default configuration: | |
91 | Suggests: lynx | |
92 | Conflicts: logrotate < 3.8.0 | |
93 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
94 | ||
95 | %define _queuedir /var/spool/%{name} | |
96 | %define _lockdir /var/lock/%{name} | |
97 | %define _logdir /var/log/%{name} | |
98 | %define _logarchdir /var/log/archive/%{name} | |
99 | %define _piddir /var/run/%{name} | |
100 | ||
101 | %define _webapps /etc/webapps | |
102 | %define _webapp %{name} | |
103 | %define _sysconfdir %{_webapps}/%{_webapp} | |
104 | ||
105 | %description | |
106 | Mailman -- The GNU Mailing List Management System -- is a mailing list | |
107 | management system written mostly in Python. Features: | |
108 | - most standard mailing list features, including: moderation, mail | |
109 | based commands, digests, etc... | |
110 | - an extensive Web interface, customizable on a per-list basis, | |
111 | - web based list administration interface for *all* admin-type tasks | |
112 | - automatic Web based hypermail-style archives (using pipermail or | |
113 | other external archiver), including provisions for private archives | |
114 | - integrated mail list to newsgroup gatewaying | |
115 | - integrated newsgroup to mail list gatewaying (polling-based... if | |
116 | you have access to the nntp server, you should be able to easily do | |
117 | non-polling based news->mail list gatewaying; email viega@list.org | |
118 | (I'd like to help get that going and come up with instructions) | |
119 | - smart bounce detection and correction | |
120 | - integrated fast bulk mailing | |
121 | - smart spam protection | |
122 | - extensible logging | |
123 | - multiple list owners and moderators are possible | |
124 | - optional MIME-compliant digests, | |
125 | - nice about which machine you subscribed from if you're from the | |
126 | right domain, | |
127 | ||
128 | %description -l es.UTF-8 | |
129 | Mailman -- El sistema de manutención de listas de discusión de la | |
130 | licencia GNU. | |
131 | ||
132 | %description -l pl.UTF-8 | |
133 | Mailman -- System Zarządzania Listami Pocztowymi GNU -- został | |
134 | napisany głównie w Pythonie. Jego możliwości to: | |
135 | - standardowe możliwości: moderowanie, komendy przesyłane pocztą, | |
136 | digesty itp, | |
137 | - interfejs WWW konfigurowalny dla każdej listy, | |
138 | - automatyczny system archiwizowania (z użyciem pipermaila lub innego | |
139 | zewnętrznego archiwizera) włączając w to odpowiednie zarządzanie | |
140 | prywatnymi archiwami, | |
141 | - bramki mail <-> news, | |
142 | - doskonały system wykrywania odbić i korekcji odbitej poczty, | |
143 | - system ochrony przed spamem, | |
144 | - rozszerzone logowanie, | |
145 | - listy mogą być własnością wielu osób oraz moderatorów może być | |
146 | kilku. | |
147 | ||
148 | %description -l pt_BR.UTF-8 | |
149 | O Mailman -- O sistema de gerenciamento de listas de discussão do GNU | |
150 | -- é um sistema de gerenciamento de listas de discussão escrito em sua | |
151 | maior parte em Python. Características: | |
152 | ||
153 | - Maioria das características de lista de discussão padrão, incluindo: | |
154 | moderação, comandos baseados em e-mail, compiladores (digests), | |
155 | etc... | |
156 | - Uma interface extensiva da Web, personalizável lista a lista. | |
157 | - Interface de administração de lista baseada na Web para *todas* as | |
158 | tarefas de tipo de admin. | |
159 | - Arquivos automáticos de estilo hypermail baseado na Web (usando | |
160 | pipermail ou outros arquivadores externos), incluindo provisões para | |
161 | arquivos privados. | |
162 | - Lista de e-mails integrada ao gateway de grupo de notícias. | |
163 | - Grupo de notícias integrado ao gateway de lista de e-mail (baseado | |
164 | em consulta... se você tiver acesso ao servidor nntp, deve ser fácil | |
165 | conseguir efetuar notícias baseadas em não-consulta->gateway de | |
166 | lista de e-mails; envie um e-mail a viega@list.org, eu gostaria de | |
167 | ajudar a manter isto e aparecer com instruções). | |
168 | - Detecção e correção inteligente de mensagens retornadas. | |
169 | - Envio de e-mail em massa rápido e integrado. | |
170 | - Proteção inteligente contra spam. | |
171 | - Registro ampliável. | |
172 | - São possíveis múltiplos donos e moderadores de lista. | |
173 | - Compiladores (digests) opcionais compatíveis com MIME. | |
174 | - Informa a partir de qual máquina você se inscreveu, caso esteja no | |
175 | domínio correto. | |
176 | ||
177 | %package sendmail | |
178 | Summary: Sendmail support for mailman | |
179 | Summary(pl.UTF-8): Obsługa mailmana dla sendmaila | |
180 | Group: Applications/System | |
181 | Requires: %{name} = %{epoch}:%{version}-%{release} | |
182 | ||
183 | %description sendmail | |
184 | This package provides wrapper symlink in /etc/smrsh that allows | |
185 | sendmail to run mailman. | |
186 | ||
187 | %description sendmail -l pl.UTF-8 | |
188 | Ten pakiet udostępnia dowiązanie w /etc/smrsh pozwalające sendmailowi | |
189 | uruchamiać mailmana. | |
190 | ||
191 | %prep | |
192 | %setup -q | |
193 | %patch0 -p1 | |
194 | #patch1 -p1 | |
195 | %patch2 -p1 | |
196 | %patch3 -p1 | |
197 | %patch4 -p1 | |
198 | %patch5 -p1 | |
199 | %patch6 -p1 | |
200 | %patch7 -p1 | |
201 | %patch8 -p1 | |
202 | %{?with_umbrella_hack:%patch9 -p1} | |
203 | %patch10 -p1 | |
204 | %patch11 -p1 | |
205 | %patch12 -p1 | |
206 | %patch13 -p1 | |
207 | ||
208 | # Conflicts with python built-in email package | |
209 | sed -i -e 's,EMAILPKG=,#EMAILPKG=,g' misc/Makefile.in | |
210 | ||
211 | install -p %{SOURCE6} %{SOURCE7} contrib | |
212 | ||
213 | %{__sed} -i -e '1s,^#!.*python,#!%{__python},' contrib/{add_nonmembers,subscribe_list} | |
214 | ||
215 | %build | |
216 | %{__aclocal} | |
217 | %{__autoconf} | |
218 | ||
219 | %configure \ | |
220 | --prefix=%{_libdir}/%{name} \ | |
221 | --exec-prefix=%{_libdir}/%{name} \ | |
222 | --with-var-prefix=/var/lib/%{name} \ | |
223 | --with-config-dir=%{_sysconfdir} \ | |
224 | --with-lock-dir=%{_lockdir} \ | |
225 | --with-log-dir=%{_logdir} \ | |
226 | --with-pid-dir=%{_piddir} \ | |
227 | --with-queue-dir=%{_queuedir} \ | |
228 | --with-username=%{name} \ | |
229 | --with-groupname=%{name} \ | |
230 | --with-mail-gid='mailman' \ | |
231 | --with-cgi-gid='http' \ | |
232 | --with-mailhost=localhost.localdomain \ | |
233 | --with-urlhost=localhost.localdomain \ | |
234 | --with-python=%{__python} \ | |
235 | --without-permcheck | |
236 | ||
237 | %{__make} | |
238 | ||
239 | %py_lint Mailman bin misc | |
240 | ||
241 | %install | |
242 | rm -rf $RPM_BUILD_ROOT | |
243 | install -d $RPM_BUILD_ROOT{/etc/{cron.d,logrotate.d,rc.d/init.d,sysconfig,smrsh},%{_mandir}} \ | |
244 | $RPM_BUILD_ROOT{%{_sysconfdir},%{_logarchdir},%{systemdunitdir}} \ | |
245 | $RPM_BUILD_ROOT/usr/lib/tmpfiles.d | |
246 | ||
247 | export PYTHONPATH=$RPM_BUILD_ROOT%{_libdir}/%{name}:$RPM_BUILD_ROOT%{_libdir}/%{name}/pythonlib | |
248 | ||
249 | %{__make} doinstall \ | |
250 | DESTDIR=$RPM_BUILD_ROOT | |
251 | ||
252 | %{__make} install-packages -C misc \ | |
253 | DESTDIR=$RPM_BUILD_ROOT | |
254 | ||
255 | bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir} | |
256 | ||
257 | sed -e 's#/usr/lib/mailman#%{_libdir}/mailman#g' %{SOURCE2} \ | |
258 | > $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf | |
259 | sed -e 's#/usr/lib/mailman#%{_libdir}/mailman#g' %{SOURCE2} \ | |
260 | > $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf | |
261 | sed -e 's#/usr/lib/mailman#%{_libdir}/mailman#g' %{SOURCE3} \ | |
262 | > $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name} | |
263 | cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/%{name} | |
264 | cp -a %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/%{name} | |
265 | install %{SOURCE8} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf | |
266 | ||
267 | cp -a cron/crontab.in $RPM_BUILD_ROOT/etc/cron.d/%{name} | |
268 | ||
269 | cp -p %{SOURCE9} $RPM_BUILD_ROOT%{systemdunitdir} | |
270 | cp -p %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} %{SOURCE14} %{SOURCE15} %{SOURCE16} $RPM_BUILD_ROOT%{systemdunitdir} | |
271 | cp -p %{SOURCE20} %{SOURCE21} %{SOURCE22} %{SOURCE23} %{SOURCE24} %{SOURCE25} %{SOURCE26} $RPM_BUILD_ROOT%{systemdunitdir} | |
272 | sed -i -e 's#/usr/lib/mailman#%{_libdir}/mailman#g' $RPM_BUILD_ROOT%{systemdunitdir}/* | |
273 | ||
274 | install -p contrib/{subscribe_list,add_nonmembers} $RPM_BUILD_ROOT%{_libdir}/%{name}/bin | |
275 | ||
276 | ln -s %{_sysconfdir}/sitelist.cfg $RPM_BUILD_ROOT%{_var}/lib/mailman/data/sitelist.cfg | |
277 | ||
278 | cat >> $RPM_BUILD_ROOT%{_sysconfdir}/mm_cfg.py << 'EOF' | |
279 | DEFAULT_EMAIL_HOST = 'YOUR.HOST.NAME.HERE' | |
280 | DEFAULT_URL_HOST = 'YOUR.HOST.NAME.HERE' | |
281 | DEFAULT_HOST_NAME = 'YOUR.HOST.NAME.HERE' | |
282 | IMAGE_LOGOS = '/mailman/icons/' | |
283 | PUBLIC_ARCHIVE_URL = '/mailman/pipermail/%%(listname)s' | |
284 | MAILMAN_GROUP = '%{name}' | |
285 | MAILMAN_USER = '%{name}' | |
286 | VIRTUAL_HOST_OVERVIEW = Off | |
287 | ||
288 | #MTA = 'Postfix' | |
289 | #POSTFIX_STYLE_VIRTUAL_DOMAINS = [] | |
290 | ||
291 | #DEFAULT_SERVER_LANGUAGE = 'pl' | |
292 | ||
293 | # If value is True, site administrator is trusted from REMOTE_USER CGI variable | |
294 | # Use this to if you want to use password authentication for site admin. | |
295 | USE_HTTP_AUTH = False | |
296 | ||
297 | # For available options and their descriptions see: | |
298 | # %{_docdir}/%{name}-%{version}/Defaults.py* | |
299 | EOF | |
300 | ||
301 | touch $RPM_BUILD_ROOT%{_sysconfdir}/aliases{,.db} | |
302 | touch $RPM_BUILD_ROOT%{_sysconfdir}/adm.pw | |
303 | touch $RPM_BUILD_ROOT%{_var}/lib/mailman/data/last_mailman_version | |
304 | ||
305 | # Create a link to the wrapper in /etc/smrsh to allow sendmail to run it. | |
306 | ln -s %{_libdir}/%{name}/mail/%{name} $RPM_BUILD_ROOT/etc/smrsh | |
307 | ||
308 | # regenerate pyc files with proper paths | |
309 | find $RPM_BUILD_ROOT -name '*.pyc' | xargs rm -f | |
310 | %py_comp $RPM_BUILD_ROOT | |
311 | # save mm_cfg.py from py_postclean | |
312 | mv $RPM_BUILD_ROOT%{_libdir}/%{name}/Mailman/mm_cfg.{py,pyX} | |
313 | %py_postclean %{_libdir}/mailman | |
314 | ||
315 | # must do this after py_postclean | |
316 | # should we also symlink .pyc? in case commands are ran as root python would create .pyc file | |
317 | mv $RPM_BUILD_ROOT%{_libdir}/%{name}/Mailman/mm_cfg.pyX $RPM_BUILD_ROOT%{_sysconfdir}/mm_cfg.py | |
318 | ln -s %{_sysconfdir}/mm_cfg.py $RPM_BUILD_ROOT%{_libdir}/%{name}/Mailman/mm_cfg.py | |
319 | rm $RPM_BUILD_ROOT%{_libdir}/%{name}/Mailman/mm_cfg.py.dist | |
320 | ||
321 | rm -f $RPM_BUILD_ROOT%{_mandir}/README-mailman-man-pages | |
322 | rm -f $RPM_BUILD_ROOT%{_mandir}/diff.arch.8 | |
323 | rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/cron/crontab.in | |
324 | rm -rf $RPM_BUILD_ROOT%{_libdir}/mailman/tests | |
325 | rm -f $RPM_BUILD_ROOT%{_libdir}/mailman/messages/*/LC_MESSAGES/*.po | |
326 | ||
327 | > %{name}.lang | |
328 | for a in $RPM_BUILD_ROOT%{_libdir}/mailman/{messages,templates}/*; do | |
329 | l=${a##*/} | |
330 | echo "%lang($l) ${a#$RPM_BUILD_ROOT}" | |
331 | done >> %{name}.lang | |
332 | ||
333 | # create dirs to package them | |
334 | install -d $RPM_BUILD_ROOT%{_queuedir}/{archive,bad,bounces,commands,in,news,out,retry,shunt,virgin} | |
335 | ||
336 | %clean | |
337 | rm -rf $RPM_BUILD_ROOT | |
338 | ||
339 | %pre | |
340 | %groupadd -g 94 mailman | |
341 | %useradd -u 94 -d %{_var}/lib/%{name} -s /bin/false -c "GNU Mailing List Manager" -g mailman mailman | |
342 | ||
343 | %post | |
344 | if [ "$1" = "1" ]; then | |
345 | if hostname=$(hostname -f 2>/dev/null); then | |
346 | %{__sed} -i -e "s,YOUR.HOST.NAME.HERE,$hostname," %{_sysconfdir}/mm_cfg.py | |
347 | fi | |
348 | ||
349 | %service -q crond restart | |
350 | fi | |
351 | if [ ! -f %{_sysconfdir}/adm.pw ]; then | |
352 | echo 'Run "%{_libdir}/%{name}/bin/mmsitepass" to set site pass.' | |
353 | fi | |
354 | if [ ! -d /var/lib/mailman/lists/mailman ]; then | |
355 | echo 'Run "%{_libdir}/%{name}/bin/newlist mailman" to setup site-wide mailinglist.' | |
356 | fi | |
357 | if [ -f %{_var}/lib/mailman/data/last_mailman_version ]; then | |
358 | %{_libdir}/mailman/bin/update | |
359 | fi | |
360 | /sbin/chkconfig --add mailman | |
361 | if [ -f /var/lock/subsys/mailman ] && [ -d /var/spool/mailman/data ]; then | |
362 | ln -sf %{_sysconfdir}/sitelist.cfg /var/spool/mailman/data/sitelist.cfg | |
363 | fi | |
364 | if [ ! -f %{_sysconfdir}/aliases ]; then | |
365 | touch %{_sysconfdir}/aliases{,.db} | |
366 | chown root:mailman %{_sysconfdir}/aliases | |
367 | chown mailman:mailman %{_sysconfdir}/aliases.db | |
368 | chmod 660 %{_sysconfdir}/aliases{,.db} | |
369 | fi | |
370 | %service mailman restart "Mailman Qrunner Daemon" | |
371 | %systemd_post mailman.service cronjob-mailman-checkdbs.timer cronjob-mailman-mailpasswds.timer cronjob-mailman-cull_bad_shunt.timer cronjob-mailman-nightly_gzip.timer cronjob-mailman-disabled.timer cronjob-mailman-senddigests.timer cronjob-mailman-gate_news.timer | |
372 | ||
373 | %preun | |
374 | if [ "$1" = "0" ]; then | |
375 | %service mailman stop | |
376 | /sbin/chkconfig --del mailman | |
377 | fi | |
378 | %systemd_preun mailman.service cronjob-mailman-checkdbs.timer cronjob-mailman-mailpasswds.timer cronjob-mailman-cull_bad_shunt.timer cronjob-mailman-nightly_gzip.timer cronjob-mailman-disabled.timer cronjob-mailman-senddigests.timer cronjob-mailman-gate_news.timer | |
379 | ||
380 | %postun | |
381 | if [ "$1" = "0" ]; then | |
382 | %userremove mailman | |
383 | %groupremove mailman | |
384 | %service -q crond restart | |
385 | fi | |
386 | %systemd_reload | |
387 | ||
388 | %triggerin -- apache1 < 1.3.37-3, apache1-base | |
389 | %webapp_register apache %{_webapp} | |
390 | ||
391 | %triggerun -- apache1 < 1.3.37-3, apache1-base | |
392 | %webapp_unregister apache %{_webapp} | |
393 | ||
394 | %triggerin -- apache < 2.2.0, apache-base | |
395 | %webapp_register httpd %{_webapp} | |
396 | ||
397 | %triggerun -- apache < 2.2.0, apache-base | |
398 | %webapp_unregister httpd %{_webapp} | |
399 | ||
400 | %triggerpostun -- mailman < 1:2.1.7-2.1 | |
401 | if [ -f /var/spool/cron/%{name} ]; then | |
402 | crontab -u %{name} -r | |
403 | fi | |
404 | ||
405 | if [ -f /var/lock/subsys/mailman ]; then | |
406 | ln -sf %{_sysconfdir}/sitelist.cfg /var/spool/mailman/data/sitelist.cfg | |
407 | /sbin/service mailman stop 1>&2 | |
408 | stopped=true | |
409 | fi | |
410 | ||
411 | # rescue app configs. | |
412 | for i in mm_cfg.py sitelist.cfg; do | |
413 | if [ -f /etc/%{name}/$i.rpmsave ]; then | |
414 | mv -f %{_sysconfdir}/$i{,.rpmnew} | |
415 | mv -f /etc/%{name}/$i.rpmsave %{_sysconfdir}/$i | |
416 | fi | |
417 | done | |
418 | ||
419 | if [ "`getent passwd mailman | cut -d: -f6`" != "%{_var}/lib/%{name}" ]; then | |
420 | echo "Fixing passwd entry" | |
421 | /usr/sbin/usermod -d %{_var}/lib/%{name} mailman | |
422 | fi | |
423 | echo "Moving data from /var/spool/mailman to /var/lib/mailman" | |
424 | mv -f /var/spool/mailman/archives/private/* %{_var}/lib/mailman/archives/private/ | |
425 | mv -f /var/spool/mailman/archives/public/* %{_var}/lib/mailman/archives/public/ | |
426 | mv -f /var/spool/mailman/data/* %{_var}/lib/mailman/data/ | |
427 | mv -f /var/spool/mailman/lists/* %{_var}/lib/mailman/lists/ | |
428 | mv -f /var/spool/mailman/spam/* %{_var}/lib/mailman/spam/ | |
429 | mv -f /var/spool/mailman/logs/* %{_logdir}/ | |
430 | mv -f /var/spool/mailman/locks/* %{_lockdir}/ | |
431 | mv -f /var/spool/mailman/qfiles/* %{_queuedir}/ | |
432 | # Fix symlinks for public archives | |
433 | cd %{_var}/lib/mailman/archives/public/ | |
434 | for i in *; do | |
435 | link=$(readlink "$i") | |
436 | dn=$(dirname "$link") | |
437 | if [ "$dn" = "/var/spool/mailman/archives/private" ]; then | |
438 | ln -sf "%{_var}/lib/mailman/archives/private/$i" "$i" | |
439 | fi | |
440 | done | |
441 | cd - | |
442 | # Remove empty dirs (DON'T rm -rf here!) | |
443 | rmdir --ignore-fail-on-non-empty /var/spool/mailman/{archives/{private,public},archives,data,lists,spam,logs,locks,qfiles} | |
444 | if [ -f %{_var}/lib/mailman/Mailman/mm_cfg.pyc ]; then | |
445 | rm -f %{_var}/lib/mailman/Mailman/mm_cfg.pyc | |
446 | fi | |
447 | %{_libdir}/mailman/bin/update | |
448 | if [ "$stopped" = "true" ]; then | |
449 | rm -f /var/spool/mailman/data/sitelist.cfg | |
450 | /sbin/service mailman start 1>&2 | |
451 | fi | |
452 | ||
453 | # nuke very-old config location (this mostly for Ra) | |
454 | if [ -f /etc/httpd/httpd.conf ]; then | |
455 | sed -i -e "/^Include.*%{name}.conf/d" /etc/httpd/httpd.conf | |
456 | fi | |
457 | ||
458 | # migrate from httpd (apache2) config dir | |
459 | if [ -f /etc/httpd/%{name}.conf.rpmsave ]; then | |
460 | cp -f %{_sysconfdir}/httpd.conf{,.rpmnew} | |
461 | mv -f /etc/httpd/%{name}.conf.rpmsave %{_sysconfdir}/httpd.conf | |
462 | fi | |
463 | ||
464 | # migrate from httpd (apache2) config dir | |
465 | if [ -f /etc/httpd/httpd.conf/90_%{name}.conf.rpmsave ]; then | |
466 | cp -f %{_sysconfdir}/httpd.conf{,.rpmnew} | |
467 | mv -f /etc/httpd/httpd.conf/90_%{name}.conf.rpmsave %{_sysconfdir}/httpd.conf | |
468 | fi | |
469 | ||
470 | rm -f /etc/httpd/httpd.conf/90_%{name}.conf | |
471 | /usr/sbin/webapp register httpd %{_webapp} | |
472 | %service -q httpd reload | |
473 | ||
474 | %triggerpostun -- mailman < 5:2.1.23-2 | |
475 | %systemd_trigger mailman.service | |
476 | %systemd_service_enable cronjob-mailman-checkdbs.timer cronjob-mailman-mailpasswds.timer cronjob-mailman-cull_bad_shunt.timer cronjob-mailman-nightly_gzip.timer cronjob-mailman-disabled.timer cronjob-mailman-senddigests.timer cronjob-mailman-gate_news.timer | |
477 | ||
478 | %files -f %{name}.lang | |
479 | %defattr(644,root,root,755) | |
480 | %doc BUGS FAQ NEWS README README.CONTRIB README.NETSCAPE README.USERAGENT TODO UPGRADING INSTALL | |
481 | %doc Mailman/mm_cfg.py.dist Mailman/Defaults.py | |
482 | %{_mandir}/man?/* | |
483 | %attr(2775,root,mailman) %dir %{_sysconfdir} | |
484 | %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf | |
485 | %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf | |
486 | %attr(644,root,mailman) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mm_cfg.py | |
487 | %attr(664,root,mailman) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mm_cfg.pyc | |
488 | %attr(644,root,mailman) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sitelist.cfg | |
489 | %attr(660,root,mailman) %ghost %{_sysconfdir}/aliases | |
490 | %attr(660,root,mailman) %ghost %{_sysconfdir}/aliases.db | |
491 | %attr(640,root,mailman) %ghost %{_sysconfdir}/adm.pw | |
492 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name} | |
493 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name} | |
494 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name} | |
495 | ||
496 | %attr(754,root,root) /etc/rc.d/init.d/%{name} | |
497 | ||
498 | %defattr(644,root,mailman,2775) | |
499 | %dir %{_libdir}/%{name} | |
500 | %dir %{_libdir}/%{name}/bin | |
501 | %dir %{_libdir}/%{name}/cgi-bin | |
502 | %dir %{_libdir}/%{name}/cron | |
503 | %dir %{_libdir}/%{name}/icons | |
504 | %dir %{_libdir}/%{name}/mail | |
505 | %dir %{_libdir}/%{name}/scripts | |
506 | %dir %{_libdir}/%{name}/templates | |
507 | %dir %{_libdir}/%{name}/messages | |
508 | %dir %{_libdir}/%{name}/Mailman | |
509 | ||
510 | # move to %{py_sitedir}? | |
511 | %{_libdir}/%{name}/Mailman/[A-Z_hiv]*.py[co] | |
512 | %{_libdir}/%{name}/Mailman/mm_cfg.py | |
513 | %ghost %{_libdir}/%{name}/Mailman/mm_cfg.pyc | |
514 | %{_libdir}/%{name}/Mailman/Archiver | |
515 | %{_libdir}/%{name}/Mailman/Bouncers | |
516 | %{_libdir}/%{name}/Mailman/Cgi | |
517 | %{_libdir}/%{name}/Mailman/Commands | |
518 | %{_libdir}/%{name}/Mailman/Gui | |
519 | %{_libdir}/%{name}/Mailman/Handlers | |
520 | %{_libdir}/%{name}/Mailman/Logging | |
521 | %{_libdir}/%{name}/Mailman/MTA | |
522 | %{_libdir}/%{name}/Mailman/Queue | |
523 | ||
524 | %{_libdir}/%{name}/bin/*.py[co] | |
525 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/add_members | |
526 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/add_nonmembers | |
527 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/arch | |
528 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/b4b5-archfix | |
529 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/change_pw | |
530 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/check_db | |
531 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/check_perms | |
532 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/cleanarch | |
533 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/clone_member | |
534 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/config_list | |
535 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/discard | |
536 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/dumpdb | |
537 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/find_member | |
538 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/genaliases | |
539 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/inject | |
540 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/list_admins | |
541 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/list_lists | |
542 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/list_members | |
543 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/list_owners | |
544 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/mailman-config | |
545 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/mailmanctl | |
546 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/mmsitepass | |
547 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/newlist | |
548 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/qrunner | |
549 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/rb-archfix | |
550 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/remove_members | |
551 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/rmlist | |
552 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/show_qfiles | |
553 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/subscribe_list | |
554 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/sync_members | |
555 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/transcheck | |
556 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/unshunt | |
557 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/update | |
558 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/version | |
559 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/withlist | |
560 | ||
561 | %attr(2755,root,mailman) %{_libdir}/%{name}/cgi-bin/admin | |
562 | %attr(2755,root,mailman) %{_libdir}/%{name}/cgi-bin/admindb | |
563 | %attr(2755,root,mailman) %{_libdir}/%{name}/cgi-bin/confirm | |
564 | %attr(2755,root,mailman) %{_libdir}/%{name}/cgi-bin/create | |
565 | %attr(2755,root,mailman) %{_libdir}/%{name}/cgi-bin/edithtml | |
566 | %attr(2755,root,mailman) %{_libdir}/%{name}/cgi-bin/listinfo | |
567 | %attr(2755,root,mailman) %{_libdir}/%{name}/cgi-bin/options | |
568 | %attr(2755,root,mailman) %{_libdir}/%{name}/cgi-bin/private | |
569 | %attr(2755,root,mailman) %{_libdir}/%{name}/cgi-bin/rmlist | |
570 | %attr(2755,root,mailman) %{_libdir}/%{name}/cgi-bin/roster | |
571 | %attr(2755,root,mailman) %{_libdir}/%{name}/cgi-bin/subscribe | |
572 | ||
573 | %attr(755,root,root) %{_libdir}/%{name}/cron/bumpdigests | |
574 | %attr(755,root,root) %{_libdir}/%{name}/cron/checkdbs | |
575 | %attr(755,root,root) %{_libdir}/%{name}/cron/cull_bad_shunt | |
576 | %attr(755,root,root) %{_libdir}/%{name}/cron/disabled | |
577 | %attr(755,root,root) %{_libdir}/%{name}/cron/gate_news | |
578 | %attr(755,root,root) %{_libdir}/%{name}/cron/mailpasswds | |
579 | %attr(755,root,root) %{_libdir}/%{name}/cron/nightly_gzip | |
580 | %attr(755,root,root) %{_libdir}/%{name}/cron/senddigests | |
581 | %{_libdir}/%{name}/cron/paths.py* | |
582 | %{_libdir}/%{name}/scripts/* | |
583 | %{_libdir}/%{name}/icons/* | |
584 | %attr(2755,root,mailman) %{_libdir}/%{name}/mail/mailman | |
585 | ||
586 | %dir %{_var}/lib/%{name} | |
587 | %dir %{_var}/lib/%{name}/archives | |
588 | %dir %attr(2771,root,mailman) %{_var}/lib/%{name}/archives/private | |
589 | %dir %{_var}/lib/%{name}/archives/public | |
590 | %dir %{_var}/lib/%{name}/data | |
591 | %ghost %{_var}/lib/%{name}/data/last_mailman_version | |
592 | %{_var}/lib/%{name}/data/sitelist.cfg | |
593 | %dir %{_var}/lib/%{name}/lists | |
594 | %dir %{_var}/lib/%{name}/spam | |
595 | %dir %{_queuedir} | |
596 | %dir %{_queuedir}/* | |
597 | %dir %{_lockdir} | |
598 | %dir %{_logdir} | |
599 | %dir %{_logarchdir} | |
600 | %dir %{_piddir} | |
601 | /usr/lib/tmpfiles.d/%{name}.conf | |
602 | ||
603 | %systemdunitdir/*.service | |
604 | %systemdunitdir/*.timer | |
605 | ||
606 | %files sendmail | |
607 | %defattr(644,root,root,755) | |
608 | /etc/smrsh/%{name} |