Author: guillomovitch
Date: Mon Nov 13 11:55:10 2006
New Revision: 83605

Modified:
   packages/cooker/sympa/current/SPECS/sympa.spec

Log:
use a distinct alias file in /var/lib/sympa, and make sure it is included by MTA

Modified: packages/cooker/sympa/current/SPECS/sympa.spec
==============================================================================
--- packages/cooker/sympa/current/SPECS/sympa.spec      (original)
+++ packages/cooker/sympa/current/SPECS/sympa.spec      Mon Nov 13 11:55:10 2006
@@ -75,7 +75,6 @@
        --with-scriptdir=%{data_s}/examples/script \
        --with-sampledir=%{data_s}/examples/sample \
        --with-spooldir=%{spool_s} \
-       --with-sendmail_aliases=/etc/aliases \
        --with-initdir=%{_initrddir}
 
 %make sources
@@ -142,6 +141,8 @@
 cat >> %{buildroot}%{conf_s}/%{name}.conf <<EOF
 css_url                /wws-css
 css_path       /var/lib/sympa/css
+
+sendmail_aliases    %{home_s}/aliases
 EOF
 
 perl -pi \
@@ -238,7 +239,7 @@
 
   perl -pi \
     -e "s|^domain(\s+).*|domain\$1$hostname|;" \
-    -e "s|^listmaster(\s+).*|listmaster\$1$hostname|;" \
+    -e "s|^listmaster(\s+).*|[EMAIL PROTECTED]|;" \
     -e "s|^wwsympa_url(\s+).*|wwsympa_url\$1http://$hostname/wws|;" \
     -e "s|^syslog(\s+).*|syslog\$1LOCAL$cntlog|;" \
     %{conf_s}/%{name}.conf
@@ -246,17 +247,28 @@
   # create log file
   %create_ghostfile %{log_s}/sympa.log sympa sympa 640
 
-  # Try to add some sample entries in /etc/aliases for sympa
-  cat >> %{_sysconfdir}/aliases <<EOF
-# added by %{name}-%{version} rpm $(date)
+  # Initial aliase file creation
+  cat >> %{home_s}/aliases <<EOF
 listmaster:    "|%{lib_s}/bin/queue listmaster"
 sympa:         "|%{lib_s}/bin/queue sympa"
 bounce+*:      "|%{lib_s}/bin/bouncequeue sympa"
-sympa-request: [EMAIL PROTECTED]
-sympa-owner:   [EMAIL PROTECTED]
+sympa-request: [EMAIL PROTECTED]
+sympa-owner:   [EMAIL PROTECTED]
 EOF
-  /usr/bin/newaliases
+  chown sympa.sympa %{home_s}/aliases
 
+  # mta-specific aliases inclusion procedure
+  mta="`readlink /etc/alternatives/sendmail-command 2>/dev/null | cut -d . -f 
2`"
+  if [ "$mta" == "postfix" ]; then
+    maps=`/usr/sbin/postconf -h alias_maps`
+    postconf -e "alias_maps = $maps, hash:%{home_s}/aliases"
+    postalias %{home_s}/aliases
+  else
+    cat >> %{_sysconfdir}/aliases <<EOF
+:include:      %{home_s}/aliases
+EOF
+    /usr/bin/newaliases
+  fi
 fi
 
 %preun
@@ -273,14 +285,7 @@
   /sbin/service syslog reload
 
   # clean aliases
-  sed -i \
-    -e '/^# added by %{name}/d' \
-    -e '/^listmaster:/d' \
-    -e '/^sympa:/d' \
-    -e '/^bounce+\*:/d' \
-    -e '/^sympa-request:/d' \
-    -e '/^sympa-owner:/d' \
-    %{_sysconfdir}/aliases
+  rm -f %{home_s}/aliases 
   /usr/bin/newaliases
 fi
 

Reply via email to