Selaa lähdekoodia

PR#202 run-time check and related issues

Thomas Lotterer 22 vuotta sitten
vanhempi
commit
3540023881
2 muutettua tiedostoa jossa 28 lisäystä ja 19 poistoa
  1. 13 8
      proftpd/proftpd.spec
  2. 15 11
      proftpd/rc.proftpd

+ 13 - 8
proftpd/proftpd.spec

@@ -247,16 +247,21 @@ AutoReqProv:  no
     fi
 %endif
 
+    #   after upgrade, restart service
+    [ $1 -eq 2 ] || exit 0
+    eval `%{l_rc} proftpd status 2>/dev/null`
+    [ ".$proftpd_active" = .yes ] && %{l_rc} proftpd restart
+    exit 0
+
 %preun
+    #   before erase, stop service and remove log files
+    [ $1 -eq 0 ] || exit 0
+    %{l_rc} proftpd stop 2>/dev/null
+    rm -f $RPM_INSTALL_PREFIX/var/proftpd/*.log* >/dev/null 2>&1 || true
+    rm -f $RPM_INSTALL_PREFIX/var/proftpd/*.pid  >/dev/null 2>&1 || true
 %if "%{with_pam}" == "yes"
     #   remove PAM configuration entry
-    if [ $1 -eq 0 ]; then
-        $RPM_INSTALL_PREFIX/sbin/pamtool --remove --smart --name=proftpd
-    fi
+    $RPM_INSTALL_PREFIX/sbin/pamtool --remove --smart --name=proftpd
 %endif
-    if [ $1 -eq 0 ]; then
-        $RPM_INSTALL_PREFIX/etc/rc proftpd stop
-        rm -f $RPM_INSTALL_PREFIX/var/proftpd/*.log
-        rm -f $RPM_INSTALL_PREFIX/var/proftpd/*.pid
-    fi
+    exit 0
 

+ 15 - 11
proftpd/rc.proftpd

@@ -47,17 +47,19 @@
 
 %start -u @l_susr@
     rcService proftpd enable yes || exit 0
+    rcService proftpd active yes && exit 0
     @l_prefix@/sbin/proftpd
 
 %stop -u @l_susr@
     rcService proftpd enable yes || exit 0
+    rcService proftpd active no  && exit 0
     proftpd_signal TERM
+    sleep 2
 
 %restart -u @l_susr@
     rcService proftpd enable yes || exit 0
-    proftpd_signal TERM
-    sleep 2
-    @l_prefix@/sbin/proftpd
+    rcService proftpd active no  && exit 0
+    rc proftpd stop start
 
 %reload -u @l_susr@
     rcService proftpd enable yes || exit 0
@@ -65,28 +67,30 @@
 
 %daily -u @l_susr@
     rcService proftpd enable yes || exit 0
+
+    #   rotate logfile
     shtool rotate -f \
         -n ${proftpd_acc_numfiles} -s ${proftpd_acc_minsize} -d \
-        -z ${proftpd_acc_complevel} -o @l_susr@ -g @l_sgrp@ -m 600 \
+        -z ${proftpd_acc_complevel} -m 644 -o @l_susr@ -g @l_mgrp@ \
         -P "${proftpd_acc_prolog}" \
-        -E "@l_prefix@/etc/rc.d/rc.proftpd restart; ${proftpd_acc_epilog}" \
+        -E "${proftpd_acc_epilog} && rc proftpd restart" \
         ${proftpd_acc_file}
     shtool rotate -f \
         -n ${proftpd_auth_numfiles} -s ${proftpd_auth_minsize} -d \
-        -z ${proftpd_auth_complevel} -o @l_susr@ -g @l_sgrp@ -m 600 \
+        -z ${proftpd_auth_complevel} -m 644 -o @l_susr@ -g @l_mgrp@ \
         -P "${proftpd_auth_prolog}" \
-        -E "@l_prefix@/etc/rc.d/rc.proftpd restart; ${proftpd_auth_epilog}" \
+        -E "${proftpd_auth_epilog} && rc proftpd restart" \
         ${proftpd_auth_file}
     shtool rotate -f \
         -n ${proftpd_sys_numfiles} -s ${proftpd_sys_minsize} -d \
-        -z ${proftpd_sys_complevel} -o @l_susr@ -g @l_sgrp@ -m 600 \
+        -z ${proftpd_sys_complevel} -m 644 -o @l_susr@ -g @l_mgrp@ \
         -P "${proftpd_sys_prolog}" \
-        -E "@l_prefix@/etc/rc.d/rc.proftpd restart; ${proftpd_sys_epilog}" \
+        -E "${proftpd_sys_epilog} && rc proftpd restart" \
         ${proftpd_sys_file}
     shtool rotate -f \
         -n ${proftpd_xfer_numfiles} -s ${proftpd_xfer_minsize} -d \
-        -z ${proftpd_xfer_complevel} -o @l_susr@ -g @l_sgrp@ -m 600 \
+        -z ${proftpd_xfer_complevel} -m 644 -o @l_susr@ -g @l_mgrp@ \
         -P "${proftpd_xfer_prolog}" \
-        -E "@l_prefix@/etc/rc.d/rc.proftpd restart; ${proftpd_xfer_epilog}" \
+        -E "${proftpd_xfer_epilog} && rc proftpd restart" \
         ${proftpd_xfer_file}