Bläddra i källkod

rename rc file again, add rc.ripe-filter for dual daemon manipulation, correct conditional rc file inclusion logic

Michael Schloh von Bennewitz 21 år sedan
förälder
incheckning
edfcbcaa8a
3 ändrade filer med 59 tillägg och 20 borttagningar
  1. 10 17
      ripe-dbase/rc.ripe-dbase.extobjs
  2. 43 0
      ripe-dbase/rc.ripe-filter
  3. 6 3
      ripe-dbase/ripe-dbase.spec

+ 10 - 17
ripe-dbase/rc.ripe-dbase.extobjs

@@ -5,7 +5,6 @@
 
 %config
     ripe_dbase_enable="$openpkg_rc_def"
-    rip_filter_enable="$openpkg_rc_def"
     ripe_dbase_log_prolog="true"
     ripe_dbase_log_epilog="true"
     ripe_dbase_log_numfiles="10"
@@ -14,30 +13,19 @@
 
 %common
     ripe_dbase_pidfile="@l_prefix@/var/ripe-dbase/whois_rip.pid"
-    ripe_filter_pidfile="@l_prefix@/var/ripe-dbase/whois_filt.pid"
     ripe_dbase_cfgfile="@l_prefix@/etc/ripe-dbase/rip.config.sample"
     ripe_dbase_signal () {
         [ -f $ripe_dbase_pidfile ] && kill -$1 `cat $ripe_dbase_pidfile`
     }
-    ripe_filter_signal () {
-        [ -f $ripe_filter_pidfile ] && kill -$1 `cat $ripe_filter_pidfile`
-    }
 
 %status -u @l_susr@ -o
     ripe_dbase_usable="unknown"
     ripe_dbase_active="no"
-    ripe_filter_usable="unknown"
-    ripe_filter_active="no"
     rcService ripe-dbase enable yes && \
         ripe_dbase_signal 0 && ripe_dbase_active="yes"
-    rcService ripe-filter enable yes && \
-        ripe_filter_signal 0 && ripe_filter_active="yes"
     echo "ripe_dbase_enable=\"$ripe_dbase_enable\""
     echo "ripe_dbase_usable=\"$ripe_dbase_usable\""
     echo "ripe_dbase_active=\"$ripe_dbase_active\""
-    echo "ripe_filter_enable=\"$ripe_filter_enable\""
-    echo "ripe_filter_usable=\"$ripe_filter_usable\""
-    echo "ripe_filter_active=\"$ripe_filter_active\""
 
 %start -u @l_susr@
     #   main server
@@ -45,16 +33,21 @@
     rcService ripe-dbase active yes && exit 0
     nohup @l_prefix@/bin/whois_rip -p ${ripe_dbase_pidfile} \
         -c ${ripe_dbase_cfgfile} &
-    #   perl filter
-    rcService rip_filter enable yes || exit 0
-    rcService rip_filter active yes && exit 0
-    @l_prefix@/bin/whois_filt
+    #   filter server
+    rcService ripe-filter enable yes || exit 0
+    rcService ripe-filter active yes && exit 0
+    rc ripe-filter start
 
 %stop -u @l_susr@
+    #   main server
     rcService ripe-dbase enable yes || exit 0
     rcService ripe-dbase active no  && exit 0
     ripe_dbase_signal TERM
-    sleep 8
+    sleep 6
+    #   filter server
+    rcService ripe-filter enable yes || exit 0
+    rcService ripe-filter active no && exit 0
+    rc ripe-filter stop
 
 %restart -u @l_susr@
     rcService ripe-dbase enable yes || exit 0

+ 43 - 0
ripe-dbase/rc.ripe-filter

@@ -0,0 +1,43 @@
+#!@l_prefix@/lib/openpkg/bash @l_prefix@/etc/rc
+##
+##  rc.ripe-filter -- Run-Commands
+##
+
+%config
+    ripe_filter_enable="$openpkg_rc_def"
+
+%common
+    ripe_filter_pidfile="@l_prefix@/var/ripe-dbase/whois_filt.pid"
+    ripe_filter_signal () {
+        [ -f $ripe_filter_pidfile ] && kill -$1 `cat $ripe_filter_pidfile`
+    }
+
+%status -u @l_susr@ -o
+    ripe_filter_usable="unknown"
+    ripe_filter_active="no"
+    rcService ripe-filter enable yes && \
+        ripe_filter_signal 0 && ripe_filter_active="yes"
+    echo "ripe_filter_enable=\"$ripe_filter_enable\""
+    echo "ripe_filter_usable=\"$ripe_filter_usable\""
+    echo "ripe_filter_active=\"$ripe_filter_active\""
+
+%start -u @l_susr@
+    rcService ripe-filter enable yes || exit 0
+    rcService ripe-filter active yes && exit 0
+    @l_prefix@/bin/whois_filt &
+
+%stop -u @l_susr@
+    rcService ripe-filter enable yes || exit 0
+    rcService ripe-filter active no  && exit 0
+    ripe_filter_signal TERM
+    rm -f ${ripe_filter_pidfile}
+    sleep 2
+
+%restart -u @l_susr@
+    rcService ripe-filter enable yes || exit 0
+    rcService ripe-filter active no  && exit 0
+    rc ripe-filter stop start
+
+%daily -u @l_susr@
+    rcService ripe-filter enable yes || exit 0
+

+ 6 - 3
ripe-dbase/ripe-dbase.spec

@@ -45,8 +45,9 @@ Source1:      ripe-dbase-setup.sh
 Source2:      ripe-dbase-modify.sh
 Source3:      rc.ripe-dbase
 Source4:      rc.ripe-dbase.extobjs
-Source5:      whois_filt.pl
-Source6:      whois_filt.config
+Source5:      rc.ripe-filter
+Source6:      whois_filt.pl
+Source7:      whois_filt.config
 Patch0:       ripe-dbase.patch
 Patch1:       ripe-dbase.patch.extobjs
 
@@ -158,7 +159,9 @@ AutoReqProv:  no
         %{SOURCE whois_filt.config} \
         $RPM_BUILD_ROOT%{l_prefix}/etc/ripe-dbase/
     %{l_shtool} install -c -m 755 %{l_value -s -a} \
-        %{SOURCE rc.ripe-dbase.extobjs} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
+        %{SOURCE rc.ripe-dbase.extobjs} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/rc.ripe-dbase
+    %{l_shtool} install -c -m 755 %{l_value -s -a} \
+        %{SOURCE rc.ripe-filter} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
 %endif
     %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
         %{l_files_std} \