OpenPKG CVS Repository http://cvs.openpkg.org/ ____________________________________________________________________________
Server: cvs.openpkg.org Name: Thomas Lotterer Root: /e/openpkg/cvs Email: [EMAIL PROTECTED] Module: openpkg-src Date: 22-Jul-2003 11:21:23 Branch: HEAD Handle: 2003072210212200 Modified files: openpkg-src/ntp ntp.spec rc.ntp Log: PR#202 run-time check and related issues Summary: Revision Changes Path 1.49 +14 -0 openpkg-src/ntp/ntp.spec 1.19 +35 -53 openpkg-src/ntp/rc.ntp ____________________________________________________________________________ patch -p0 <<'@@ .' Index: openpkg-src/ntp/ntp.spec ============================================================================ $ cvs diff -u -r1.48 -r1.49 ntp.spec --- openpkg-src/ntp/ntp.spec 22 Jul 2003 08:10:55 -0000 1.48 +++ openpkg-src/ntp/ntp.spec 22 Jul 2003 09:21:22 -0000 1.49 @@ -129,3 +129,17 @@ %clean rm -rf $RPM_BUILD_ROOT +%post + # after upgrade, restart service + [ $1 -eq 2 ] || exit 0 + eval `%{l_rc} ntp status 2>/dev/null` + [ ".$ntp_active" = .yes ] && %{l_rc} ntp restart + exit 0 + +%preun + # before erase, stop service and remove log files + [ $1 -eq 0 ] || exit 0 + %{l_rc} ntp stop 2>/dev/null + rm -f $RPM_INSTALL_PREFIX/var/ntp/ntp.log* >/dev/null 2>&1 || true + exit 0 + @@ . patch -p0 <<'@@ .' Index: openpkg-src/ntp/rc.ntp ============================================================================ $ cvs diff -u -r1.18 -r1.19 rc.ntp --- openpkg-src/ntp/rc.ntp 22 Jul 2003 08:10:55 -0000 1.18 +++ openpkg-src/ntp/rc.ntp 22 Jul 2003 09:21:22 -0000 1.19 @@ -5,7 +5,9 @@ %config ntp_enable="$openpkg_rc_def" + ntp_ostart="yes" ntp_daemon="yes" + ntp_hourly="no" ntp_log_prolog="true" ntp_log_epilog="true" ntp_log_numfiles="10" @@ -30,77 +32,57 @@ %start -p 200 -u @l_susr@ rcService ntp enable yes || exit 0 + rcService ntp active yes && exit 0 - # synchronize local machine once at startup + # on startup, force synchronize local machine # because ntpd does not skip large time offsets - @l_prefix@/bin/ntpdate \ - `grep "^server" @l_prefix@/etc/ntp/ntp.conf |\ - awk '{ printf(" %s", $2); }'` + # the "active" short circuit above does not hurt + if rcService ntp ostart yes; then + @l_prefix@/bin/ntpdate \ + `grep "^server" @l_prefix@/etc/ntp/ntp.conf |\ + awk '{ printf(" %s", $2); }'` + fi # run the NTP daemon for continued synchronization - if rcVarIsYes ntp_daemon; then + if rcService ntp daemon yes; then @l_prefix@/bin/ntpd \ -p @l_prefix@/var/ntp/ntpd.pid \ -f @l_prefix@/var/ntp/ntpd.drift \ -s @l_prefix@/var/ntp/ntpd.stat/ fi -%stop -p 200 -u @l_susr@ +%stop -u @l_susr@ rcService ntp enable yes || exit 0 - if rcVarIsYes ntp_daemon; then - ntp_signal TERM - rm -f $ntp_pidfile 2>/dev/null || true - fi + rcService ntp active no && exit 0 + rcService ntp daemon yes || exit 0 + ntp_signal TERM + rm -f $ntp_pidfile 2>/dev/null || true %restart -p 200 -u @l_susr@ rcService ntp enable yes || exit 0 - if rcVarIsYes ntp_daemon; then - ntp_signal TERM - sleep 2 - @l_prefix@/bin/ntpd \ - -p @l_prefix@/var/ntp/ntpd.pid \ - -f @l_prefix@/var/ntp/ntpd.drift \ - -s @l_prefix@/var/ntp/ntpd.stat/ - fi + rcService ntp active no && exit 0 + rcService ntp daemon yes || exit 0 + rc ntp stop start %hourly -u @l_susr@ rcService ntp enable yes || exit 0 - if ! rcVarIsYes ntp_daemon; then - ( sleep 30 - @l_prefix@/bin/ntpdate \ - `grep "^server" @l_prefix@/etc/ntp/ntp.conf |\ - awk '{ printf(" %s", $2); }'` - ) >/dev/null & - fi + rcService ntp hourly yes || exit 0 + + # synchronize local machine every hour + # because ntpd does not skip large time offsets + # and to allow operation without daemon + @l_prefix@/bin/ntpdate \ + `grep "^server" @l_prefix@/etc/ntp/ntp.conf |\ + awk '{ printf(" %s", $2); }'` >/dev/null %daily -u @l_susr@ rcService ntp enable yes || exit 0 - if rcVarIsYes ntp_daemon; then - rcTmp -i -p ntp - hintfile=`rcTmp -f -n hint` - prolog="true" - if [ ".$ntp_log_prolog" != . ]; then - prolog="$prolog; $ntp_log_prolog" - fi - epilog="echo 'epilog' >$hintfile" - if [ ".$ntp_log_epilog" != . ]; then - epilog="$epilog; $ntp_log_epilog" - fi - shtool rotate -f \ - -n ${ntp_log_numfiles} -s ${ntp_log_minsize} \ - -d -z ${ntp_log_complevel} \ - -o @l_musr@ -g @l_mgrp@ -m 644 \ - -P "$prolog" \ - -E "$epilog" \ - @l_prefix@/var/ntp/ntp.log - if [ ".`cat $hintfile`" = ".epilog" ]; then - ntp_signal TERM - sleep 2 - @l_prefix@/bin/ntpd \ - -p @l_prefix@/var/ntp/ntpd.pid \ - -f @l_prefix@/var/ntp/ntpd.drift \ - -s @l_prefix@/var/ntp/ntpd.stat/ - fi - rcTmp -k - fi + + # rotate logfile + shtool rotate -f \ + -n ${ntp_log_numfiles} -s ${ntp_log_minsize} -d \ + -z ${ntp_log_complevel} -m 644 -o @l_susr@ -g @l_mgrp@ \ + -P "${ntp_log_prolog}" \ + -E "${ntp_log_epilog} && rc ntp restart" \ + @l_prefix@/var/ntp/ntp.log @@ . ______________________________________________________________________ The OpenPKG Project www.openpkg.org CVS Repository Commit List [EMAIL PROTECTED]