SPECS: mailman.spec - release back to 2.1 - FHS compliance work
baggins
baggins at pld-linux.org
Thu Feb 2 15:04:23 CET 2006
Author: baggins Date: Thu Feb 2 14:04:23 2006 GMT
Module: SPECS Tag: HEAD
---- Log message:
- release back to 2.1
- FHS compliance work
---- Files affected:
SPECS:
mailman.spec (1.103 -> 1.104)
---- Diffs:
================================================================
Index: SPECS/mailman.spec
diff -u SPECS/mailman.spec:1.103 SPECS/mailman.spec:1.104
--- SPECS/mailman.spec:1.103 Thu Feb 2 14:38:14 2006
+++ SPECS/mailman.spec Thu Feb 2 15:04:17 2006
@@ -7,7 +7,7 @@
Summary(pt_BR): O Sistema de Manutençăo de listas da GNU
Name: mailman
Version: 2.1.7
-Release: 3
+Release: 2.1
Epoch: 1
License: GPL v2+
Group: Applications/System
@@ -57,7 +57,6 @@
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _quedirdir /var/spool/%{name}
-%define _varmmdir /var/lib/%{name}
%define _lockdir /var/lock/%{name}
%define _logdir /var/log/%{name}
%define _logarchdir /var/log/archiv/%{name}
@@ -156,14 +155,14 @@
%{__autoconf}
%configure \
- --prefix=%{_varmmdir} \
+ --prefix=%{_libdir}/%{name} \
--exec-prefix=%{_libdir}/%{name} \
- --with-var-prefix=%{_quedirdir} \
+ --with-var-prefix=/var/lib/%{name} \
--with-config-dir=%{_sysconfdir} \
--with-lock-dir=%{_lockdir} \
--with-log-dir=%{_logdir} \
--with-pid-dir=%{_piddir} \
- --with-queue-dir=%{_quedirdir}/qfiles \
+ --with-queue-dir=%{_quedirdir} \
--with-username=%{name} \
--with-groupname=%{name} \
--with-mail-gid='mailman' \
@@ -177,22 +176,17 @@
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/etc/{cron.d,logrotate.d,httpd/httpd.conf,rc.d/init.d,sysconfig,smrsh},%{_mandir}} \
- $RPM_BUILD_ROOT{%{_varmmdir},%{_quedirdir},%{_quedirdir}/qfiles,%{_sysconfdir},%{_lockdir},%{_logdir},%{_logarchdir},%{_piddir}}
+install -d $RPM_BUILD_ROOT{/etc/{cron.d,logrotate.d,rc.d/init.d,sysconfig,smrsh},%{_mandir}} \
+ $RPM_BUILD_ROOT{%{_sysconfdir},%{_logarchdir}}
-PYTHONPATH=$RPM_BUILD_ROOT%{_varmmdir}:$RPM_BUILD_ROOT%{_varmmdir}/pythonlib/
+PYTHONPATH=$RPM_BUILD_ROOT%{_libdir}/%{name}:$RPM_BUILD_ROOT%{_libdir}/%{name}/pythonlib/
export PYTHONPATH
%{__make} doinstall \
- prefix=$RPM_BUILD_ROOT%{_varmmdir} \
- exec_prefix=$RPM_BUILD_ROOT%{_libdir}/mailman \
- var_prefix=$RPM_BUILD_ROOT%{_quedirdir} \
- FHS_DIRS=$RPM_BUILD_ROOT
+ DESTDIR=$RPM_BUILD_ROOT
%{__make} install-packages -C misc \
- prefix=$RPM_BUILD_ROOT%{_varmmdir} \
- exec_prefix=$RPM_BUILD_ROOT%{_libdir}/mailman \
- var_prefix=$RPM_BUILD_ROOT%{_quedirdir} \
+ DESTDIR=$RPM_BUILD_ROOT
bzip2 -dc %{SOURCE1} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
@@ -202,8 +196,10 @@
install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
install %{SOURCE5} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
-mv $RPM_BUILD_ROOT%{_varmmdir}/Mailman/mm_cfg.py $RPM_BUILD_ROOT%{_sysconfdir}
-ln -s %{_sysconfdir}/mm_cfg.py $RPM_BUILD_ROOT%{_varmmdir}/Mailman/mm_cfg.py
+mv $RPM_BUILD_ROOT%{_libdir}/%{name}/Mailman/mm_cfg.py $RPM_BUILD_ROOT%{_sysconfdir}
+ln -s %{_sysconfdir}/mm_cfg.py $RPM_BUILD_ROOT%{_libdir}/%{name}/Mailman/mm_cfg.py
+
+ln -s %{_configdir}/sitelist.cfg $RPM_BUILD_ROOT%{_var}/lib/mailman/data/sitelist.cfg
cat >> $RPM_BUILD_ROOT%{_sysconfdir}/mm_cfg.py << EOF
DEFAULT_EMAIL_HOST = 'YOUR.HOST.NAME.HERE'
@@ -215,7 +211,7 @@
#DEFAULT_SERVER_LANGUAGE = 'pl'
# For available options and their descriptions see:
-# /var/lib/mailman/Mailman/Defaults.py
+# %{_libdir}/%{name}/Mailman/Defaults.py
EOF
# Create a link to the wrapper in /etc/smrsh to allow sendmail to run it.
@@ -230,7 +226,7 @@
%pre
%groupadd -g 94 mailman
-%useradd -u 94 -d %{_var}/spool/%{name} -s /bin/false -c "GNU Mailing List Manager" -g mailman mailman
+%useradd -u 94 -d %{_var}/lib/%{name} -s /bin/false -c "GNU Mailing List Manager" -g mailman mailman
%post
if [ "$1" = "1" ]; then
@@ -241,6 +237,9 @@
%{_var}/lib/mailman/bin/update
/sbin/chkconfig --add mailman
if [ -f /var/lock/subsys/mailman ]; then
+ if [ -d /var/spool/mailman/data ]; then
+ ln -sf %{_sysconfdir}/sitelist.cfg /var/spool/mailman/data/sitelist.cfg
+ fi
/etc/rc.d/init.d/mailman restart 1>&2
else
echo "Run \"/etc/rc.d/init.d/mailman start\" to start mailman qrunner daemon."
@@ -274,6 +273,12 @@
crontab -u %{name} -r
fi
+if [ -f /var/lock/subsys/mailman ]; then
+ ln -sf %{_sysconfdir}/sitelist.cfg /var/spool/mailman/data/sitelist.cfg
+ /etc/rc.d/init.d/mailman stop 1>&2
+ stopped=true
+fi
+
# rescue app configs.
for i in mm_cfg.py sitelist.cfg; do
if [ -f /etc/%{name}/$i.rpmsave ]; then
@@ -282,6 +287,37 @@
fi
done
+if [ "`getent passwd mailman | cut -d: -f6`" != "%{_var}/lib/%{name}" ]; then
+ echo "Fixing passwd entry"
+ /usr/sbin/usermod -d %{_var}/lib/%{name} mailman
+fi
+echo "Moving data from /var/spool/mailman to /var/lib/mailman"
+mv -f /var/spool/mailman/archives/private/* %{_var}/lib/mailman/archives/privat
+mv -f /var/spool/mailman/archives/public/* %{_var}/lib/mailman/archives/public/
+mv -f /var/spool/mailman/data/* %{_var}/lib/mailman/data/
+mv -f /var/spool/mailman/lists/* %{_var}/lib/mailman/lists/
+mv -f /var/spool/mailman/spam/* %{_var}/lib/mailman/spam/
+mv -f /var/spool/mailman/logs/* %{_logdir}/
+mv -f /var/spool/mailman/locks/* %{_lockdir}/
+mv -f /var/spool/mailman/qfiles/* %{_queuedir}/
+# Fix symlinks for public archives
+cd %{_var}/lib/mailman/archives/public/
+for i in * ; do
+ link=$(readlink "$i")
+ dn=$(dirname "$link")
+ if [ "$dn" = "/var/spool/mailman/archives/private" ]; then
+ ln -sf "%{_var}/lib/mailman/archives/private/$i" "$i"
+ fi
+done
+cd -
+# Remove empty dirs (DON'T rm -rf here!)
+rmdir --ignore-fail-on-non-empty /var/spool/mailman/{archives/{private,public},
+%{_libdir}/mailman/bin/update
+if [ "x$stopped" = "xtrue" ]; then
+ rm -f /var/spool/mailman/data/sitelist.cfg
+ /etc/rc.d/init.d/mailman start 1>&2
+fi
+
# nuke very-old config location (this mostly for Ra)
if [ -f /etc/httpd/httpd.conf ]; then
sed -i -e "/^Include.*%{name}.conf/d" /etc/httpd/httpd.conf
@@ -326,36 +362,35 @@
%dir %{_libdir}/%{name}/mail
%attr(2755,root,mailman) %{_libdir}/%{name}/*/*
-%dir %{_varmmdir}
-%dir %{_varmmdir}/bin
-%dir %{_varmmdir}/cron
-%dir %{_varmmdir}/icons
-%dir %{_varmmdir}/scripts
-%dir %{_varmmdir}/templates
-%dir %{_varmmdir}/pythonlib
-%dir %{_varmmdir}/messages
-%dir %{_varmmdir}/tests
-
-%{_varmmdir}/Mailman
-%{_varmmdir}/bin/p*
-%attr(2755,root,mailman) %{_varmmdir}/bin/[!p]*
-%attr(755,root,root) %{_varmmdir}/cron/*
-%{_varmmdir}/scripts/*
-%{_varmmdir}/icons/*
-%{_varmmdir}/templates/*
-%{_varmmdir}/pythonlib/*
-%{_varmmdir}/messages/*
-%{_varmmdir}/tests/*
+%dir %{_libdir}/%{name}
+%dir %{_libdir}/%{name}/bin
+%dir %{_libdir}/%{name}/cron
+%dir %{_libdir}/%{name}/icons
+%dir %{_libdir}/%{name}/scripts
+%dir %{_libdir}/%{name}/templates
+%dir %{_libdir}/%{name}/pythonlib
+%dir %{_libdir}/%{name}/messages
+%dir %{_libdir}/%{name}/tests
+
+%{_libdir}/%{name}/Mailman
+%{_libdir}/%{name}/bin/p*
+%attr(2755,root,mailman) %{_libdir}/%{name}/bin/[!p]*
+%attr(755,root,root) %{_libdir}/%{name}/cron/*
+%{_libdir}/%{name}/scripts/*
+%{_libdir}/%{name}/icons/*
+%{_libdir}/%{name}/templates/*
+%{_libdir}/%{name}/pythonlib/*
+%{_libdir}/%{name}/messages/*
+%{_libdir}/%{name}/tests/*
+%dir %{_var}/lib/mailman
%dir %{_quedirdir}
-%dir %{_quedirdir}/archives
-%attr(2771,root,mailman) %dir %{_quedirdir}/archives/private
-%dir %{_quedirdir}/archives/public
-%{_quedirdir}/data
-%dir %{_quedirdir}/lists
-#%dir %{_quedirdir}/logs
-%dir %{_quedirdir}/qfiles
-%dir %{_quedirdir}/spam
+%dir %{_var}/lib/mailman/archives
+%attr(2771,root,mailman) %dir %{_var}/lib/mailman/archives/private
+%dir %{_var}/lib/mailman/archives/public
+%{_var}/lib/mailman/data
+%dir %{_var}/lib/mailman/lists
+%dir %{_var}/lib/mailman/spam
%dir %{_lockdir}
%dir %{_logdir}
%dir %{_logarchdir}
@@ -367,6 +402,10 @@
All persons listed below can be reached at <cvs_login>@pld-linux.org
$Log$
+Revision 1.104 2006/02/02 14:04:17 baggins
+- release back to 2.1
+- FHS compliance work
+
Revision 1.103 2006/02/02 13:38:14 baggins
- run update before restart
================================================================
---- CVS-web:
http://cvs.pld-linux.org/SPECS/mailman.spec?r1=1.103&r2=1.104&f=u
More information about the pld-cvs-commit
mailing list