[PATCH] mailman

Michal Kochanowicz michal w michal.waw.pl
Sob, 4 Paź 2003, 14:47:16 CEST


On Sat, Oct 04, 2003 at 11:33:55AM +0200, Michal Kochanowicz wrote:
> Załączam patche, które trochę "cywylizują" mailman'a.
> 
> mailman.spec.patch:
> 
> - Dodaje łatkę MM_FIND_GROUP_NAME.
> - BR: sed.
> - Wymusza konkretne grupy dla mailmana i skryptów CGI, żeby nie było to
>   zależne od środowiska w którym się buduje.
> - Likwiduje gusła odprawiane na pliku /etc/mailman/mm_cfg.py. Teraz ten
>   plik nie jest modyfikowany w %post. Dostarczana jest wersja w którą
>   trzeba wstawić nazwę hosta. Dzięki temu usunięta została (i tak
>   wywalająca się) magia, ponadto zacznie działać %config(noreplace).
    ... i dostosowuje nazwy używanych zmiennych do mailmana 2.1.x.
> - Likwiduje rzeźbienie w gów^Whttp.conf, które raz że było
>   niedostosowane do apache2, dwa działałoby tylko w najbardziej
>   trywialnej konfiguracji jaką można sobie wyobrazić. A to też nie
>   koniecznie.
> - Dodaje brakujący plik.
-- 
--= Michal Kochanowicz =--==--==BOFH==--==--= michal w michal.waw.pl =--
--= finger me for PGP public key or visit http://michal.waw.pl/PGP =--
--==--==--==--==--==-- Vodka. Connecting people.--==--==--==--==--==--
A chodzenie po górach SSIE!!!
-------------- następna część ---------
Index: mailman.spec
===================================================================
RCS file: /cvsroot/SPECS/mailman.spec,v
retrieving revision 1.62
diff -u -r1.62 mailman.spec
--- mailman.spec	24 Sep 2003 16:05:29 -0000	1.62
+++ mailman.spec	4 Oct 2003 12:43:01 -0000
@@ -20,11 +20,13 @@
 Source4:	%{name}.sysconfig
 # Need to check if it's still useful
 #Patch0:		%{name}-xss.patch
+Patch1:		%{name}-MM_FIND_GROUP_NAME.patch
 URL:		http://www.list.org/
 BuildRequires:	autoconf
 BuildRequires:	automake
 BuildRequires:	python >= 2.1
 BuildRequires:	python-devel
+BuildRequires:	sed
 PreReq:		rc-scripts
 Requires(pre):	/usr/bin/getgid
 Requires(pre):	/bin/id
@@ -124,6 +126,7 @@
 %prep
 %setup -q
 #patch0 -p1
+%patch1 -p1
 
 %build
 %{__aclocal}
@@ -136,8 +139,8 @@
 	--without-permcheck \
 	--with-username=%{name} \
 	--with-groupname=%{name} \
-	--with-mail-gid='nobody mail root' \
-	--with-cgi-gid='http nobody' \
+	--with-mail-gid='mailman' \
+	--with-cgi-gid='http' \
 	--with-mailhost=localhost.localdomain \
 	--with-urlhost=localhost.localdomain
 %{__make}
@@ -164,16 +167,23 @@
 mv $RPM_BUILD_ROOT/var/lib/%{name}/Mailman/mm_cfg.py $RPM_BUILD_ROOT/etc/%{name}
 ln -s /etc/%{name}/mm_cfg.py $RPM_BUILD_ROOT/var/lib/%{name}/Mailman/mm_cfg.py
 
+cat >> $RPM_BUILD_ROOT/etc/%{name}/mm_cfg.py << EOF
+DEFAULT_EMAIL_HOST		= 'YOUR.HOST.NAME.HERE'
+DEFAULT_URL_HOST		= 'YOUR.HOST.NAME.HERE'
+IMAGE_LOGOS			= '/mailman/icons/'
+PUBLIC_ARCHIVE_URL		= '/mailman/pipermail/%%(listname)s'
+MAILMAN_GROUP			= '%{name}'
+MAILMAN_USER			= '%{name}'
+#DEFAULT_SERVER_LANGUAGE		= 'pl'
+
+# For available options and their descriptions see:
+# /var/lib/mailman/Mailman/Defaults.py
+EOF
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %pre
-if [ -f /var/lib/mailman/Mailman/mm_cfg.py ]; then
-	mkdir -m 755 /etc/mailman
-	cp -f /var/lib/mailman/Mailman/mm_cfg.py /etc/mailman/mm_cfg.py.rpmsave
-	echo /var/lib/mailman/Mailman/mm_cfg.py saved as /etc/mailman/mm_cfg.py.rpmsave >&2
-fi
-
 if [ -n "`getgid %{name}`" ]; then
 	if [ "`getgid %{name}`" != "94" ]; then
 		echo "Error: group %{name} doesn't have gid=94. Correct this before installing %{name}." 1>&2
@@ -196,26 +206,9 @@
 
 %post
 if [ "$1" = "1" ]; then
-	echo "DEFAULT_HOST_NAME	= '`/bin/hostname -f`'" >> /etc/mailman/mm_cfg.py
-	echo "DEFAULT_URL		= 'http://`/bin/hostname -f`/mailman/'" >> /etc/mailman/mm_cfg.py
-	echo "IMAGE_LOGOS		= '/mailman/icons/'" >> /etc/mailman/mm_cfg.py
-	echo "PUBLIC_ARCHIVE_URL	= '/mailman/pipermail/%%(listname)s'" >> /etc/mailman/mm_cfg.py
-	echo "MAILMAN_GROUP		= '%{name}'" >> /etc/mailman/mm_cfg.py
-	echo "MAILMAN_USER		= '%{name}'" >> /etc/mailman/mm_cfg.py
-	echo "#DEFAULT_SERVER_LANGUAGE	= 'pl'" >> /etc/mailman/mm_cfg.py
-
 	if [ -f /var/lock/subsys/crond ]; then
 		/etc/rc.d/init.d/crond restart
 	fi
-	if [ -f /etc/httpd/httpd.conf ] && \
-	    ! grep -q "^Include.*/mailman.conf" /etc/httpd/httpd.conf; then
-		echo "Include /etc/httpd/mailman.conf" >> /etc/httpd/httpd.conf
-	fi
-	if [ -f /var/lock/subsys/httpd ]; then
-		/etc/rc.d/init.d/httpd restart 1>&2
-	else
-		echo "Run \"/etc/rc.d/init.d/httpd start\" to start apache http daemon."
-	fi
 fi
 /sbin/chkconfig --add mailman
 if [ -f /var/lock/subsys/mailman ]; then
@@ -239,13 +232,6 @@
 	if [ -f /var/lock/subsys/crond ]; then
 		/etc/rc.d/init.d/crond restart
 	fi
-	umask 027
-	grep -E -v "^Include.*mailman.conf" /etc/httpd/httpd.conf > \
-		/etc/httpd/httpd.conf.tmp
-	mv -f /etc/httpd/httpd.conf.tmp /etc/httpd/httpd.conf
-	if [ -f /var/lock/subsys/httpd ]; then
-		/etc/rc.d/init.d/httpd restart 1>&2
-	fi
 fi
 
 %triggerpostun -- mailman <= mailman 3:2.0.13-6
@@ -296,7 +282,7 @@
 %dir %{_var}/spool/mailman/archives
 %attr(2771,root,mailman) %dir %{_var}/spool/mailman/archives/private
 %dir %{_var}/spool/mailman/archives/public
-%dir %{_var}/spool/mailman/data
+%{_var}/spool/mailman/data
 %dir %{_var}/spool/mailman/lists
 %dir %{_var}/spool/mailman/locks
 %dir %{_var}/spool/mailman/logs


Więcej informacji o liście dyskusyjnej pld-devel-pl