Bladeren bron

switch to use 'rpmtool config' and require MTA instead of Sendmail

Ralf S. Engelschall 24 jaren geleden
bovenliggende
commit
f60655eca7
1 gewijzigde bestanden met toevoegingen van 29 en 31 verwijderingen
  1. 29 31
      petidomo/petidomo.spec

+ 29 - 31
petidomo/petidomo.spec

@@ -43,7 +43,7 @@ Source2:      ftp://ftp.openpkg.org/DST/petidomo/fakesyslog.tar.gz
 Prefix:       %{l_prefix}
 BuildRoot:    %{l_buildroot}
 BuildPreReq:  OpenPKG, openpkg >= 0.9-20011025.0, bison, flex
-PreReq:       OpenPKG, openpkg >= 0.9-20011025.0, sendmail
+PreReq:       OpenPKG, openpkg >= 0.9-20011025.0, MTA
 AutoReq:      no
 AutoReqProv:  no
 
@@ -107,41 +107,39 @@ AutoReqProv:  no
     rm -rf $RPM_BUILD_ROOT
 
 %post 
-    #   add hook into Sendmail configuration
+    #   add hook into MTA configuration
     if [ ".$1" = .1 ]; then
-        if [ -f $RPM_INSTALL_PREFIX/etc/sendmail/t.aliases ]; then
-            check=`grep '^#<OpenPKG pkg=petidomo>' $RPM_INSTALL_PREFIX/etc/sendmail/t.aliases`
-            if [ ".$check" = . ]; then
-                ( echo "#<OpenPKG pkg=petidomo>"
-                  echo "petidomo:              \"|$RPM_INSTALL_PREFIX/bin/petidomo --mode=listserv\""
-                  echo "petidomo-approve:      \"|$RPM_INSTALL_PREFIX/bin/petidomo --mode=approve\""
-                  echo "petidomo-manager:      postmaster"
-                  echo "owner-owner:           petidomo-manager"
-                  echo "users:                 \"|$RPM_INSTALL_PREFIX/bin/petidomo --mode=deliver  --listname=users\""
-                  echo "users-request:         \"|$RPM_INSTALL_PREFIX/bin/petidomo --mode=listserv --listname=users\""
-                  echo "users-owner:           postmaster"
-                  echo "owner-users:           users-owner"
-                  echo "#</OpenPKG>"
-                ) >>$RPM_INSTALL_PREFIX/etc/sendmail/t.aliases
-                (cd $RPM_INSTALL_PREFIX/etc/sendmail/; make t.aliases.db)
-            fi
+        aliases_file=`$RPM_INSTALL_PREFIX/etc/rc --query mta_aliases_file`
+        update_command=`$RPM_INSTALL_PREFIX/etc/rc --query mta_aliases_update`
+        if [ ".$aliases_file" != . ]; then
+            ( echo "petidomo:              \"|$RPM_INSTALL_PREFIX/bin/petidomo --mode=listserv\""
+              echo "petidomo-approve:      \"|$RPM_INSTALL_PREFIX/bin/petidomo --mode=approve\""
+              echo "petidomo-manager:      postmaster"
+              echo "owner-owner:           petidomo-manager"
+              echo "users:                 \"|$RPM_INSTALL_PREFIX/bin/petidomo --mode=deliver  --listname=users\""
+              echo "users-request:         \"|$RPM_INSTALL_PREFIX/bin/petidomo --mode=listserv --listname=users\""
+              echo "users-owner:           postmaster"
+              echo "owner-users:           users-owner"
+            ) |\
+            $RPM_INSTALL_PREFIX/sbin/rpmtool config \
+                -a -i "$RPM_INSTALL_PREFIX:petidomo" $aliases_file
         fi
-    fi  
+        if [ ".$update_command" != . ]; then
+            eval $update_command
+        fi
+    fi
 
 %postun 
-    #   remove hook from Sendmail configuration
+    #   remove hook from MTA configuration
     if [ ".$1" = .0 ]; then
-        if [ -f $RPM_INSTALL_PREFIX/etc/sendmail/t.aliases ]; then
-            check=`grep '^#<OpenPKG pkg=petidomo>' $RPM_INSTALL_PREFIX/etc/sendmail/t.aliases`
-            if [ ".$check" != . ]; then
-                cp -p $RPM_INSTALL_PREFIX/etc/sendmail/t.aliases \
-                      $RPM_INSTALL_PREFIX/etc/sendmail/t.aliases.orig 
-                sed -e '/^#<OpenPKG pkg=petidomo>/,/^#<\/OpenPKG>/d' \
-                    <$RPM_INSTALL_PREFIX/etc/sendmail/t.aliases.orig \
-                    >$RPM_INSTALL_PREFIX/etc/sendmail/t.aliases
-                (cd $RPM_INSTALL_PREFIX/etc/sendmail/; make t.aliases.db)
-                rm -f $RPM_INSTALL_PREFIX/etc/sendmail/t.aliases.orig
-            fi
+        aliases_file=`$RPM_INSTALL_PREFIX/etc/rc --query mta_aliases_file`
+        update_command=`$RPM_INSTALL_PREFIX/etc/rc --query mta_aliases_update`
+        if [ ".$aliases_file" != . ]; then
+            $RPM_INSTALL_PREFIX/sbin/rpmtool config \
+                -r -i "$RPM_INSTALL_PREFIX:petidomo" $aliases_file
+        fi
+        if [ ".$update_command" != . ]; then
+            eval $update_command
         fi
     fi