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]

Reply via email to