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]