]>
Commit | Line | Data |
---|---|---|
9bb8ee1c ER |
1 | # |
2 | # Conditional build: | |
78781d0e JR |
3 | %bcond_with umbrella_hack # break anonimization (for use with moderated umbrella list of moderated lists) |
4 | ||
d53f06ff | 5 | %define rel 2 |
e03ec2d4 | 6 | Summary: The GNU Mailing List Management System |
a444548f ER |
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 | |
e03ec2d4 | 10 | Name: mailman |
606235c9 | 11 | Version: 2.1.34 |
344ad428 | 12 | Release: %{rel}%{?with_umbrella_hack:.umh} |
d53f06ff | 13 | Epoch: 5 |
6db16968 | 14 | License: GPL v2+ |
71786abb | 15 | Group: Applications/System |
a5c1bef4 | 16 | Source0: http://downloads.sourceforge.net/mailman/%{name}-%{version}.tgz |
606235c9 | 17 | # Source0-md5: b02c7cfad08d2e967bb1b79bab08021e |
55198b62 | 18 | Source1: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/%{name}-man-pages.tar.bz2 |
cfa9db27 | 19 | # Source1-md5: 6b55f9f8051c76961b84a12ed17fc14f |
b50fdfbd | 20 | Source2: %{name}.conf |
4f307f1a | 21 | Source3: %{name}.init |
45822e50 | 22 | Source4: %{name}.sysconfig |
1f1f1e51 | 23 | Source5: %{name}.logrotate |
e5e7e1da ER |
24 | Source6: add_nonmembers |
25 | Source7: subscribe_list | |
24f168e4 | 26 | Source8: %{name}.tmpfiles |
e107c305 JK |
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 | |
9ac4bc26 JR |
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 | |
bd0eb725 ER |
52 | Patch10: %{name}-daemonize-fds.patch |
53 | Patch11: %{name}-httpauth.patch | |
bad20e64 | 54 | Patch12: %{name}-MM_FIND_USER_NAME.patch |
064d962f | 55 | Patch13: keep-original-mime-headers.patch |
611deac8 | 56 | URL: http://www.list.org/ |
42215f42 | 57 | BuildRequires: autoconf |
c227cd5a | 58 | BuildRequires: automake |
42215f42 JB |
59 | BuildRequires: python >= 2.1 |
60 | BuildRequires: python-devel | |
d8731d15 | 61 | BuildRequires: python-dns |
3028296b | 62 | BuildRequires: python-modules |
63 | BuildRequires: rpm-pythonprov | |
e107c305 JK |
64 | BuildRequires: rpmbuild(macros) >= 1.644 |
65 | BuildRequires: sed >= 4.0 | |
1ca365d2 JB |
66 | Requires(post): /bin/hostname |
67 | Requires(post): grep | |
d366fa4f ER |
68 | Requires(post,preun): /sbin/chkconfig |
69 | Requires(postun): /usr/sbin/groupdel | |
70 | Requires(postun): /usr/sbin/userdel | |
1ca365d2 JB |
71 | Requires(postun): fileutils |
72 | Requires(postun): grep | |
d366fa4f ER |
73 | Requires(pre): /bin/id |
74 | Requires(pre): /usr/bin/getgid | |
75 | Requires(pre): /usr/sbin/groupadd | |
76 | Requires(pre): /usr/sbin/useradd | |
4bc957f5 | 77 | Requires: /sbin/chkconfig |
e107c305 | 78 | Requires: cronjobs |
b47844d8 | 79 | Requires: mailcap >= 2.3-5 |
d8731d15 ER |
80 | Requires: python-dns |
81 | Requires: python-modules | |
d366fa4f | 82 | Requires: rc-scripts |
18e8047c | 83 | Requires: smtpdaemon |
e107c305 | 84 | Requires: systemd-units >= 38 |
5de7fff6 | 85 | Requires: webapps |
28503e33 | 86 | Requires: webserver |
c395bdae | 87 | Requires: webserver(indexfile) |
283de5b9 | 88 | Provides: group(mailman) |
89 | Provides: user(mailman) | |
002dea4b PG |
90 | # for converting text/html into plain text in default configuration: |
91 | Suggests: lynx | |
889d4132 | 92 | Conflicts: logrotate < 3.8.0 |
e03ec2d4 AM |
93 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
94 | ||
ff7c645e | 95 | %define _queuedir /var/spool/%{name} |
ad258e55 PG |
96 | %define _lockdir /var/lock/%{name} |
97 | %define _logdir /var/log/%{name} | |
f242975b | 98 | %define _logarchdir /var/log/archive/%{name} |
ad258e55 PG |
99 | %define _piddir /var/run/%{name} |
100 | ||
5de7fff6 JR |
101 | %define _webapps /etc/webapps |
102 | %define _webapp %{name} | |
103 | %define _sysconfdir %{_webapps}/%{_webapp} | |
ad258e55 | 104 | |
e03ec2d4 | 105 | %description |
71786abb | 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 | |
0433634b | 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) | |
71786abb | 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 | ||
c7fea9f2 JR |
128 | %description -l es.UTF-8 |
129 | Mailman -- El sistema de manutención de listas de discusión de la | |
0433634b | 130 | licencia GNU. |
131 | ||
c7fea9f2 JR |
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ą, | |
71786abb | 136 | digesty itp, |
c7fea9f2 JR |
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 | |
71786abb | 140 | prywatnymi archiwami, |
141 | - bramki mail <-> news, | |
c7fea9f2 | 142 | - doskonały system wykrywania odbić i korekcji odbitej poczty, |
71786abb | 143 | - system ochrony przed spamem, |
144 | - rozszerzone logowanie, | |
c7fea9f2 | 145 | - listy mogą być własnością wielu osób oraz moderatorów może być |
71786abb | 146 | kilku. |
e03ec2d4 | 147 | |
c7fea9f2 JR |
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: | |
0433634b | 152 | |
c7fea9f2 JR |
153 | - Maioria das características de lista de discussão padrão, incluindo: |
154 | moderação, comandos baseados em e-mail, compiladores (digests), | |
0d521289 | 155 | etc... |
c7fea9f2 JR |
156 | - Uma interface extensiva da Web, personalizável lista a lista. |
157 | - Interface de administração de lista baseada na Web para *todas* as | |
0433634b | 158 | tarefas de tipo de admin. |
c7fea9f2 JR |
159 | - Arquivos automáticos de estilo hypermail baseado na Web (usando |
160 | pipermail ou outros arquivadores externos), incluindo provisões para | |
0433634b | 161 | arquivos privados. |
c7fea9f2 JR |
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 | |
0d521289 | 166 | lista de e-mails; envie um e-mail a viega@list.org, eu gostaria de |
c7fea9f2 JR |
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. | |
0433634b | 176 | |
7d7f0b99 JR |
177 | %package sendmail |
178 | Summary: Sendmail support for mailman | |
942975fb | 179 | Summary(pl.UTF-8): Obsługa mailmana dla sendmaila |
7d7f0b99 JR |
180 | Group: Applications/System |
181 | Requires: %{name} = %{epoch}:%{version}-%{release} | |
182 | ||
183 | %description sendmail | |
942975fb JB |
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. | |
7d7f0b99 | 190 | |
e03ec2d4 | 191 | %prep |
4987a9c4 | 192 | %setup -q |
9ac4bc26 JR |
193 | %patch0 -p1 |
194 | #patch1 -p1 | |
951d18f3 | 195 | %patch2 -p1 |
ad258e55 | 196 | %patch3 -p1 |
7fca4a12 | 197 | %patch4 -p1 |
33bf8c3c | 198 | %patch5 -p1 |
ad258e55 PG |
199 | %patch6 -p1 |
200 | %patch7 -p1 | |
1918aa10 | 201 | %patch8 -p1 |
9ac4bc26 | 202 | %{?with_umbrella_hack:%patch9 -p1} |
417e2177 | 203 | %patch10 -p1 |
91cf6964 | 204 | %patch11 -p1 |
bad20e64 | 205 | %patch12 -p1 |
064d962f | 206 | %patch13 -p1 |
9ac4bc26 JR |
207 | |
208 | # Conflicts with python built-in email package | |
209 | sed -i -e 's,EMAILPKG=,#EMAILPKG=,g' misc/Makefile.in | |
e03ec2d4 | 210 | |
e5e7e1da ER |
211 | install -p %{SOURCE6} %{SOURCE7} contrib |
212 | ||
c0f8dd25 AM |
213 | %{__sed} -i -e '1s,^#!.*python,#!%{__python},' contrib/{add_nonmembers,subscribe_list} |
214 | ||
e03ec2d4 | 215 | %build |
47b79953 | 216 | %{__aclocal} |
52cf35d9 | 217 | %{__autoconf} |
838e4fb7 | 218 | |
e03ec2d4 | 219 | %configure \ |
9ddb2c4a | 220 | --prefix=%{_libdir}/%{name} \ |
9db31966 | 221 | --exec-prefix=%{_libdir}/%{name} \ |
9ddb2c4a | 222 | --with-var-prefix=/var/lib/%{name} \ |
5de7fff6 | 223 | --with-config-dir=%{_sysconfdir} \ |
ad258e55 PG |
224 | --with-lock-dir=%{_lockdir} \ |
225 | --with-log-dir=%{_logdir} \ | |
226 | --with-pid-dir=%{_piddir} \ | |
ff7c645e | 227 | --with-queue-dir=%{_queuedir} \ |
e03ec2d4 AM |
228 | --with-username=%{name} \ |
229 | --with-groupname=%{name} \ | |
d7156e9e AM |
230 | --with-mail-gid='mailman' \ |
231 | --with-cgi-gid='http' \ | |
28503e33 | 232 | --with-mailhost=localhost.localdomain \ |
ad258e55 | 233 | --with-urlhost=localhost.localdomain \ |
c0f8dd25 | 234 | --with-python=%{__python} \ |
d366fa4f | 235 | --without-permcheck |
e03ec2d4 | 236 | |
9ac4bc26 | 237 | %{__make} |
ad258e55 | 238 | |
ac2bd660 ER |
239 | %py_lint Mailman bin misc |
240 | ||
e03ec2d4 AM |
241 | %install |
242 | rm -rf $RPM_BUILD_ROOT | |
9ddb2c4a | 243 | install -d $RPM_BUILD_ROOT{/etc/{cron.d,logrotate.d,rc.d/init.d,sysconfig,smrsh},%{_mandir}} \ |
e107c305 | 244 | $RPM_BUILD_ROOT{%{_sysconfdir},%{_logarchdir},%{systemdunitdir}} \ |
24f168e4 | 245 | $RPM_BUILD_ROOT/usr/lib/tmpfiles.d |
e03ec2d4 | 246 | |
a5c1bef4 | 247 | export PYTHONPATH=$RPM_BUILD_ROOT%{_libdir}/%{name}:$RPM_BUILD_ROOT%{_libdir}/%{name}/pythonlib |
2dd74da3 | 248 | |
7ef4b69f | 249 | %{__make} doinstall \ |
9ddb2c4a | 250 | DESTDIR=$RPM_BUILD_ROOT |
ad258e55 PG |
251 | |
252 | %{__make} install-packages -C misc \ | |
9ddb2c4a | 253 | DESTDIR=$RPM_BUILD_ROOT |
e03ec2d4 | 254 | |
55198b62 | 255 | bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir} |
256 | ||
b50fdfbd | 257 | sed -e 's#/usr/lib/mailman#%{_libdir}/mailman#g' %{SOURCE2} \ |
ef0fd010 | 258 | > $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf |
31cccda6 ER |
259 | sed -e 's#/usr/lib/mailman#%{_libdir}/mailman#g' %{SOURCE2} \ |
260 | > $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf | |
ef0fd010 JR |
261 | sed -e 's#/usr/lib/mailman#%{_libdir}/mailman#g' %{SOURCE3} \ |
262 | > $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name} | |
a5c1bef4 ER |
263 | cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/%{name} |
264 | cp -a %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/%{name} | |
24f168e4 | 265 | install %{SOURCE8} $RPM_BUILD_ROOT/usr/lib/tmpfiles.d/%{name}.conf |
4f307f1a | 266 | |
a5c1bef4 | 267 | cp -a cron/crontab.in $RPM_BUILD_ROOT/etc/cron.d/%{name} |
f7c05caf | 268 | |
e107c305 JK |
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 | ||
e5e7e1da ER |
274 | install -p contrib/{subscribe_list,add_nonmembers} $RPM_BUILD_ROOT%{_libdir}/%{name}/bin |
275 | ||
d9cb6a7a | 276 | ln -s %{_sysconfdir}/sitelist.cfg $RPM_BUILD_ROOT%{_var}/lib/mailman/data/sitelist.cfg |
4ee42131 | 277 | |
076c2f35 | 278 | cat >> $RPM_BUILD_ROOT%{_sysconfdir}/mm_cfg.py << 'EOF' |
d7156e9e AM |
279 | DEFAULT_EMAIL_HOST = 'YOUR.HOST.NAME.HERE' |
280 | DEFAULT_URL_HOST = 'YOUR.HOST.NAME.HERE' | |
0800ed01 | 281 | DEFAULT_HOST_NAME = 'YOUR.HOST.NAME.HERE' |
d7156e9e AM |
282 | IMAGE_LOGOS = '/mailman/icons/' |
283 | PUBLIC_ARCHIVE_URL = '/mailman/pipermail/%%(listname)s' | |
284 | MAILMAN_GROUP = '%{name}' | |
285 | MAILMAN_USER = '%{name}' | |
0800ed01 | 286 | VIRTUAL_HOST_OVERVIEW = Off |
dc848f2c ER |
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 | |
d7156e9e AM |
296 | |
297 | # For available options and their descriptions see: | |
e5e7e1da | 298 | # %{_docdir}/%{name}-%{version}/Defaults.py* |
d7156e9e AM |
299 | EOF |
300 | ||
076c2f35 ER |
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 | ||
ad258e55 | 305 | # Create a link to the wrapper in /etc/smrsh to allow sendmail to run it. |
9db31966 | 306 | ln -s %{_libdir}/%{name}/mail/%{name} $RPM_BUILD_ROOT/etc/smrsh |
ad258e55 | 307 | |
39f4ef46 | 308 | # regenerate pyc files with proper paths |
91960d37 | 309 | find $RPM_BUILD_ROOT -name '*.pyc' | xargs rm -f |
39f4ef46 | 310 | %py_comp $RPM_BUILD_ROOT |
dc848f2c ER |
311 | # save mm_cfg.py from py_postclean |
312 | mv $RPM_BUILD_ROOT%{_libdir}/%{name}/Mailman/mm_cfg.{py,pyX} | |
9bb8ee1c | 313 | %py_postclean %{_libdir}/mailman |
39f4ef46 | 314 | |
dc848f2c ER |
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 | ||
076c2f35 ER |
321 | rm -f $RPM_BUILD_ROOT%{_mandir}/README-mailman-man-pages |
322 | rm -f $RPM_BUILD_ROOT%{_mandir}/diff.arch.8 | |
ac2bd660 | 323 | rm -f $RPM_BUILD_ROOT%{_libdir}/%{name}/cron/crontab.in |
a5c1bef4 | 324 | rm -rf $RPM_BUILD_ROOT%{_libdir}/mailman/tests |
d8fd5be9 ER |
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 | |
a5c1bef4 ER |
332 | |
333 | # create dirs to package them | |
064d962f | 334 | install -d $RPM_BUILD_ROOT%{_queuedir}/{archive,bad,bounces,commands,in,news,out,retry,shunt,virgin} |
9bb8ee1c | 335 | |
e03ec2d4 AM |
336 | %clean |
337 | rm -rf $RPM_BUILD_ROOT | |
338 | ||
838e4fb7 | 339 | %pre |
45b15c94 | 340 | %groupadd -g 94 mailman |
9ddb2c4a | 341 | %useradd -u 94 -d %{_var}/lib/%{name} -s /bin/false -c "GNU Mailing List Manager" -g mailman mailman |
1941810d | 342 | |
838e4fb7 | 343 | %post |
6fe860f9 | 344 | if [ "$1" = "1" ]; then |
076c2f35 ER |
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 | ||
d366fa4f | 349 | %service -q crond restart |
18e8047c | 350 | fi |
076c2f35 ER |
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 | |
2f132763 | 360 | /sbin/chkconfig --add mailman |
d366fa4f ER |
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 | |
4f307f1a | 363 | fi |
076c2f35 ER |
364 | if [ ! -f %{_sysconfdir}/aliases ]; then |
365 | touch %{_sysconfdir}/aliases{,.db} | |
8decd3c6 ER |
366 | chown root:mailman %{_sysconfdir}/aliases |
367 | chown mailman:mailman %{_sysconfdir}/aliases.db | |
076c2f35 ER |
368 | chmod 660 %{_sysconfdir}/aliases{,.db} |
369 | fi | |
9bb8ee1c | 370 | %service mailman restart "Mailman Qrunner Daemon" |
e107c305 | 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 |
4f307f1a TO |
372 | |
373 | %preun | |
374 | if [ "$1" = "0" ]; then | |
d366fa4f | 375 | %service mailman stop |
4f307f1a TO |
376 | /sbin/chkconfig --del mailman |
377 | fi | |
e107c305 | 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 |
838e4fb7 | 379 | |
380 | %postun | |
381 | if [ "$1" = "0" ]; then | |
283de5b9 | 382 | %userremove mailman |
383 | %groupremove mailman | |
d366fa4f | 384 | %service -q crond restart |
838e4fb7 | 385 | fi |
e107c305 | 386 | %systemd_reload |
838e4fb7 | 387 | |
711ebd43 | 388 | %triggerin -- apache1 < 1.3.37-3, apache1-base |
31cccda6 ER |
389 | %webapp_register apache %{_webapp} |
390 | ||
711ebd43 | 391 | %triggerun -- apache1 < 1.3.37-3, apache1-base |
31cccda6 ER |
392 | %webapp_unregister apache %{_webapp} |
393 | ||
b50fdfbd | 394 | %triggerin -- apache < 2.2.0, apache-base |
5de7fff6 JR |
395 | %webapp_register httpd %{_webapp} |
396 | ||
b50fdfbd | 397 | %triggerun -- apache < 2.2.0, apache-base |
5de7fff6 JR |
398 | %webapp_unregister httpd %{_webapp} |
399 | ||
3ba6587c | 400 | %triggerpostun -- mailman < 1:2.1.7-2.1 |
bfa57404 | 401 | if [ -f /var/spool/cron/%{name} ]; then |
0c77cb1a | 402 | crontab -u %{name} -r |
bfa57404 TO |
403 | fi |
404 | ||
9ddb2c4a JR |
405 | if [ -f /var/lock/subsys/mailman ]; then |
406 | ln -sf %{_sysconfdir}/sitelist.cfg /var/spool/mailman/data/sitelist.cfg | |
d366fa4f | 407 | /sbin/service mailman stop 1>&2 |
9ddb2c4a JR |
408 | stopped=true |
409 | fi | |
410 | ||
5de7fff6 JR |
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 | ||
9ddb2c4a JR |
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" | |
24cd3ebb | 424 | mv -f /var/spool/mailman/archives/private/* %{_var}/lib/mailman/archives/private/ |
9ddb2c4a JR |
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/ | |
a5c1bef4 | 434 | for i in *; do |
9ddb2c4a JR |
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!) | |
24cd3ebb | 443 | rmdir --ignore-fail-on-non-empty /var/spool/mailman/{archives/{private,public},archives,data,lists,spam,logs,locks,qfiles} |
23ade1a9 JR |
444 | if [ -f %{_var}/lib/mailman/Mailman/mm_cfg.pyc ]; then |
445 | rm -f %{_var}/lib/mailman/Mailman/mm_cfg.pyc | |
446 | fi | |
9ddb2c4a | 447 | %{_libdir}/mailman/bin/update |
d366fa4f | 448 | if [ "$stopped" = "true" ]; then |
9ddb2c4a | 449 | rm -f /var/spool/mailman/data/sitelist.cfg |
d366fa4f | 450 | /sbin/service mailman start 1>&2 |
9ddb2c4a JR |
451 | fi |
452 | ||
5de7fff6 JR |
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 | ||
0b26fc15 JR |
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 | ||
5de7fff6 JR |
470 | rm -f /etc/httpd/httpd.conf/90_%{name}.conf |
471 | /usr/sbin/webapp register httpd %{_webapp} | |
d366fa4f | 472 | %service -q httpd reload |
5de7fff6 | 473 | |
e107c305 JK |
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 | ||
d8fd5be9 | 478 | %files -f %{name}.lang |
e03ec2d4 | 479 | %defattr(644,root,root,755) |
ad258e55 | 480 | %doc BUGS FAQ NEWS README README.CONTRIB README.NETSCAPE README.USERAGENT TODO UPGRADING INSTALL |
e5e7e1da | 481 | %doc Mailman/mm_cfg.py.dist Mailman/Defaults.py |
736c46b0 | 482 | %{_mandir}/man?/* |
31cccda6 ER |
483 | %attr(2775,root,mailman) %dir %{_sysconfdir} |
484 | %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/apache.conf | |
5de7fff6 | 485 | %attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/httpd.conf |
31cccda6 | 486 | %attr(644,root,mailman) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mm_cfg.py |
dc848f2c | 487 | %attr(664,root,mailman) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/mm_cfg.pyc |
31cccda6 | 488 | %attr(644,root,mailman) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/sitelist.cfg |
fd555e2f | 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 | |
3aaf3756 | 492 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name} |
3aaf3756 | 493 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/cron.d/%{name} |
1f1f1e51 | 494 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name} |
838e4fb7 | 495 | |
ad258e55 | 496 | %attr(754,root,root) /etc/rc.d/init.d/%{name} |
4f307f1a | 497 | |
736c46b0 | 498 | %defattr(644,root,mailman,2775) |
9ddb2c4a JR |
499 | %dir %{_libdir}/%{name} |
500 | %dir %{_libdir}/%{name}/bin | |
ff7c645e | 501 | %dir %{_libdir}/%{name}/cgi-bin |
9ddb2c4a JR |
502 | %dir %{_libdir}/%{name}/cron |
503 | %dir %{_libdir}/%{name}/icons | |
ff7c645e | 504 | %dir %{_libdir}/%{name}/mail |
9ddb2c4a JR |
505 | %dir %{_libdir}/%{name}/scripts |
506 | %dir %{_libdir}/%{name}/templates | |
9ddb2c4a | 507 | %dir %{_libdir}/%{name}/messages |
dc848f2c ER |
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 | ||
e5e7e1da ER |
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 | |
2392da95 | 544 | %attr(2755,root,mailman) %{_libdir}/%{name}/bin/mailman-config |
e5e7e1da ER |
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 | |
ff7c645e | 581 | %{_libdir}/%{name}/cron/paths.py* |
9ddb2c4a JR |
582 | %{_libdir}/%{name}/scripts/* |
583 | %{_libdir}/%{name}/icons/* | |
e5e7e1da | 584 | %attr(2755,root,mailman) %{_libdir}/%{name}/mail/mailman |
9ddb2c4a | 585 | |
ff7c645e JR |
586 | %dir %{_var}/lib/%{name} |
587 | %dir %{_var}/lib/%{name}/archives | |
e5e7e1da | 588 | %dir %attr(2771,root,mailman) %{_var}/lib/%{name}/archives/private |
ff7c645e | 589 | %dir %{_var}/lib/%{name}/archives/public |
076c2f35 ER |
590 | %dir %{_var}/lib/%{name}/data |
591 | %ghost %{_var}/lib/%{name}/data/last_mailman_version | |
592 | %{_var}/lib/%{name}/data/sitelist.cfg | |
ff7c645e JR |
593 | %dir %{_var}/lib/%{name}/lists |
594 | %dir %{_var}/lib/%{name}/spam | |
595 | %dir %{_queuedir} | |
a5c1bef4 | 596 | %dir %{_queuedir}/* |
ad258e55 PG |
597 | %dir %{_lockdir} |
598 | %dir %{_logdir} | |
599 | %dir %{_logarchdir} | |
600 | %dir %{_piddir} | |
24f168e4 | 601 | /usr/lib/tmpfiles.d/%{name}.conf |
7d7f0b99 | 602 | |
e107c305 JK |
603 | %systemdunitdir/*.service |
604 | %systemdunitdir/*.timer | |
605 | ||
7d7f0b99 JR |
606 | %files sendmail |
607 | %defattr(644,root,root,755) | |
608 | /etc/smrsh/%{name} |