Forráskód Böngészése

PR#202: spec ghost log, %post, %preun; rc %status

Thomas Lotterer 22 éve
szülő
commit
1ba831bdf3
2 módosított fájl, 27 hozzáadás és 6 törlés
  1. 22 4
      cvs/cvs.spec
  2. 5 2
      cvs/rc.cvs

+ 22 - 4
cvs/cvs.spec

@@ -37,9 +37,9 @@ Distribution: OpenPKG [CORE]
 Group:        SCM
 License:      GPL
 Version:      %{V_cvs}
-Release:      20030717
+Release:      20030718
 
-#   optional support for applying the RSE patches
+#   package options
 %option       with_fsl                      yes
 %option       with_rse_patches              yes
 %option       with_rse_patch_cvsuser_caller cvs
@@ -130,8 +130,6 @@ AutoReqProv:  no
 
 %install
     rm -rf $RPM_BUILD_ROOT
-    %{l_shtool} mkdir -f -p -m 755 \
-        $RPM_BUILD_ROOT%{l_prefix}/var
     ( cd cvs-%{V_cvs}
       %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
       rm -f $RPM_BUILD_ROOT%{l_prefix}/bin/rcs2log
@@ -159,11 +157,18 @@ AutoReqProv:  no
         %{SOURCE fsl.cvs} \
         $RPM_BUILD_ROOT%{l_prefix}/etc/fsl/
 
+    #   install ghost log
+    %{l_shtool} mkdir -f -p -m 755 \
+        $RPM_BUILD_ROOT%{l_prefix}/var/cvs
+    %{l_shtool} install -c /dev/null \
+        $RPM_BUILD_ROOT%{l_prefix}/var/cvs/cvs.log
+
     #   determine installation files
     %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
         %{l_files_std} \
         '%not %dir %{l_prefix}/etc/fsl' \
         '%config %{l_prefix}/etc/fsl/fsl.cvs' \
+        '%ghost %attr(644,%{l_musr},%{l_mgrp}) %{l_prefix}/var/cvs/cvs.log' \
         '%attr(1777,-,-) %{l_prefix}/var/cvs/tmp'
 
 %files -f files
@@ -171,3 +176,16 @@ AutoReqProv:  no
 %clean
     rm -rf $RPM_BUILD_ROOT
 
+%post
+    #   after upgrade, restart service
+    [ $1 -eq 2 ] || exit 0
+    eval `%{l_rc} cvs status 2>/dev/null`
+    [ ".$cvs_active" = .yes ] && %{l_rc} cvs restart
+    exit 0
+
+%preun
+    #   before erase, stop service
+    [ $1 -eq 0 ] || exit 0
+    %{l_rc} cvs stop 2>/dev/null
+    exit 0
+

+ 5 - 2
cvs/rc.cvs

@@ -31,6 +31,7 @@
 
 %start -p 200 -u @l_susr@
     opService cvs enable yes || exit 0
+    opService cvs active yes && exit 0
     @l_prefix@/bin/cvs --version | grep RSE >/dev/null || exit 0
     @l_prefix@/bin/cvs -f $cvs_gflags \
         pserverd -d -p $cvs_pserverd_pidfile \
@@ -38,11 +39,13 @@
 
 %stop -p 200 -u @l_susr@
     opService cvs enable yes || exit 0
+    opService cvs active no  && exit 0
     cvs_pserverd_signal TERM
     rm -f $cvs_pserverd_pidfile 2>/dev/null || true
 
 %restart -p 200 -u @l_susr@
     opService cvs enable yes || exit 0
+    opService cvs active no  && exit 0
     rc cvs stop start
 
 %daily -u @l_susr@
@@ -51,8 +54,8 @@
     #   rotate logfile
     shtool rotate -f \
         -n${cvs_log_numfiles} -s${cvs_log_minsize} -d \
-        -z${cvs_log_complevel} -o@l_rusr@ -g@l_rgrp@ -m644 \
+        -z${cvs_log_complevel} -m644 -o@l_musr@ -g@l_mgrp@ \
         -P "${cvs_log_prolog}" \
-        -E "${cvs_log_epilog}" \
+        -E "${cvs_log_epilog} && rc cvs restart" \
         @l_prefix@/var/cvs/cvs.log