# HG changeset patch # User Michael Schloh von Bennewitz # Date 1349375694 -7200 # Node ID c1c5867435182cc9d86757f134be7c37a926b8eb # Parent 65edd7d6b3a0c5ff474e11e5eeb838a745f66271 Import package vendor original spec for necessary manipulations. diff -r 65edd7d6b3a0 -r c1c586743518 ntp/fsl.ntp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ntp/fsl.ntp Thu Oct 04 20:34:54 2012 +0200 @@ -0,0 +1,16 @@ +## +## fsl.ntp -- OSSP fsl configuration +## + +ident (ntp.*|dcfd|adjtimed)/.+ q{ + prefix( + prefix="%b %d %H:%M:%S %N <%L> $1[%P]: " + ) + -> { + debug: file( + path="@l_prefix@/var/ntp/ntp.log", + perm=0644 + ) + } +}; + diff -r 65edd7d6b3a0 -r c1c586743518 ntp/ntp.conf --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ntp/ntp.conf Thu Oct 04 20:34:54 2012 +0200 @@ -0,0 +1,20 @@ +## +## ntp.conf -- NTP Daemon Configuration +## + +# global NTP daemon options +logfile @l_prefix@/var/ntp/ntp.log +pidfile @l_prefix@/var/ntp/ntpd.pid +driftfile @l_prefix@/var/ntp/ntpd.drift +statsdir @l_prefix@/var/ntp/ntpd.stat/ + +# list of NTP peers +# (see http://www.pool.ntp.org/) +server 0.pool.ntp.org iburst +server 1.pool.ntp.org iburst +server 2.pool.ntp.org iburst + +# restrictions +restrict default limited noquery nomodify notrap nopeer +restrict 127.0.0.0 mask 255.0.0.0 + diff -r 65edd7d6b3a0 -r c1c586743518 ntp/ntp.spec --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ntp/ntp.spec Thu Oct 04 20:34:54 2012 +0200 @@ -0,0 +1,204 @@ +## +## ntp.spec -- OpenPKG RPM Package Specification +## Copyright (c) 2000-2011 OpenPKG Foundation e.V. +## +## Permission to use, copy, modify, and distribute this software for +## any purpose with or without fee is hereby granted, provided that +## the above copyright notice and this permission notice appear in all +## copies. +## +## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED +## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR +## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +## SUCH DAMAGE. +## + +# package version +%define V_major 4 +%define V_minor 2 +%define V_micro 6p5 + +# package information +Name: ntp +Summary: Network Time Protocol (NTP) Daemon +URL: http://www.ntp.org/ +Vendor: David L. Mills +Packager: OpenPKG Foundation e.V. +Distribution: OpenPKG Community +Class: CORE +Group: Network +License: BSD-style +Version: %{V_major}.%{V_minor}.%{V_micro} +Release: 20111226 + +# package options +%option with_fsl yes +%option with_crypto yes +%option with_sntp yes +%option with_local yes + +# list of sources +Source0: http://www.eecis.udel.edu/~ntp/ntp_spool/ntp%{V_major}/ntp-%{version}.tar.gz +Source1: ntp-doc.tar.gz +Source2: ntp.conf +Source3: rc.ntp +Source4: fsl.ntp + +# build information +BuildPreReq: OpenPKG, openpkg >= 20100101, make +PreReq: OpenPKG, openpkg >= 20100101 +%if "%{with_fsl}" == "yes" +BuildPreReq: fsl +PreReq: fsl +%endif +%if "%{with_crypto}" == "yes" +BuildPreReq: openssl, gcc +PreReq: openssl +%endif + +%description + The Network Time Protocol (NTP) is used to synchronize the time + of a computer client or server to another server or reference + time source, such as a radio or satellite receiver or modem. It + provides accuracies typically within a millisecond on LANs and + up to a few tens of milliseconds on WANs relative to Coordinated + Universal Time (UTC) via a Global Positioning Service (GPS) + receiver, for example. Typical NTP configurations utilize multiple + redundant servers and diverse network paths in order to achieve high + accuracy and reliability. Some configurations include cryptographic + authentication to prevent accidental or malicious protocol attacks + and some provide automatic server discovery using IP multicast. + +%track + prog ntp = { + version = %{version} + url = http://www.ntp.org/downloads.html + regex = ntp-(\d+\.\d+\.\d+(p\d+)?)\.tar\.gz + } + +%prep + %setup -q + %setup -q -T -D -a 1 + +%build + # configure program + ( case "%{l_platform -t}" in + *-netbsd* ) echo "ac_cv_header_sys_soundcard_h=no" >>config.cache ;; + esac + ) >config.cache + %{l_shtool} subst \ + -e 's;\(CFLAGS="$CFLAGS -W.*\);#\1;g' \ + configure + AUTOCONF=true \ + AUTOMAKE=true \ + ACLOCAL=true \ + AUTOHEADER=true \ + CC="%{l_cc}" \ + CFLAGS="%{l_cflags -O}" \ + LDFLAGS="%{l_fsl_ldflags}" \ +%if "%{with_crypto}" == "yes" + LIBS="%{l_fsl_libs} -lcrypto" \ +%else + LIBS="%{l_fsl_libs}" \ +%endif + ./configure \ + --cache-file=./config.cache \ + --prefix=%{l_prefix} \ + --mandir=%{l_prefix}/man \ +%if "%{with_sntp}" == "yes" + --with-sntp \ +%endif +%if "%{with_local}" == "yes" + --enable-LOCAL-CLOCK \ +%endif +%if "%{with_crypto}" == "yes" + --with-crypto \ + --with-openssl-libdir=%{l_prefix}/lib \ + --with-openssl-incdir=%{l_prefix}/include \ +%else + --without-crypto \ + --without-openssl-libdir \ + --without-openssl-incdir \ +%endif + --enable-ntpdate-step \ + --without-lineeditlibs \ + --without-net-snmp-config \ + --without-ntpsnmpd + %{l_shtool} subst \ + -e 's;\(CONFIG_FILE[^"]*"\)/etc/ntp.conf;\1%{l_prefix}/etc/ntp/ntp.conf;' \ + include/ntp_config.h ntpdate/ntptime_config.c + + # build program + %{l_make} %{l_mflags -O} + +%install + # install program + %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT" + + # install manual pages + ( cd ntp-doc + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/man/man5 + %{l_shtool} install -c -m 644 \ + *.5 $RPM_BUILD_ROOT%{l_prefix}/man/man5/ + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/man/man8 + %{l_shtool} install -c -m 644 *.8 \ + $RPM_BUILD_ROOT%{l_prefix}/man/man8/ + ) || exit $? + + # install default configuration + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/etc/ntp + %{l_shtool} install -c -m 644 %{l_value -s -a} \ + %{SOURCE ntp.conf} $RPM_BUILD_ROOT%{l_prefix}/etc/ntp/ + + # post-adjust installation + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/var/ntp/ntpd.stat + strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true + + # install run-command script + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d + %{l_shtool} install -c -m 755 %{l_value -s -a} \ + %{SOURCE rc.ntp} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ + + # install OSSP fsl configuration + %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/fsl + %{l_shtool} install -c -m 644 %{l_value -s -a} \ + %{SOURCE fsl.ntp} \ + $RPM_BUILD_ROOT%{l_prefix}/etc/fsl/ + + # determine installation files + %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ + %{l_files_std} \ + '%config %{l_prefix}/etc/fsl/fsl.ntp' \ + '%config %{l_prefix}/etc/ntp/ntp.conf' + +%files -f files + +%clean + +%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 + diff -r 65edd7d6b3a0 -r c1c586743518 ntp/rc.ntp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ntp/rc.ntp Thu Oct 04 20:34:54 2012 +0200 @@ -0,0 +1,99 @@ +#!@l_prefix@/bin/openpkg rc +## +## rc.ntp -- Run-Commands +## + +%config + ntp_enable="$openpkg_rc_def" + ntp_mode="daemon" + ntp_daemon_flags="" + ntp_log_prolog="true" + ntp_log_epilog="true" + ntp_log_numfiles="10" + ntp_log_minsize="1M" + ntp_log_complevel="9" + +%common + ntp_pidfile=`grep "^pidfile" @l_prefix@/etc/ntp/ntp.conf | awk '{ printf("%s", $2); }'` + ntp_signal () { + [ -f $ntp_pidfile ] && kill -$1 `cat $ntp_pidfile` + } + ntp_once () { + [ ".$1" != . ] && sleep $1 + @l_prefix@/bin/ntpd -q -g + } + +%status -u @l_susr@ -o + ntp_usable="unknown" + ntp_active="no" + rcService ntp enable yes && \ + [ ".$ntp_mode" = ".daemon" ] && \ + ntp_signal 0 && ntp_active="yes" + echo "ntp_enable=\"$ntp_enable\"" + echo "ntp_usable=\"$ntp_usable\"" + echo "ntp_active=\"$ntp_active\"" + +%start -p 200 -u @l_susr@ + rcService ntp enable yes || exit 0 + rcService ntp active yes && exit 0 + + # under both periodical and daemon mode, synchronize local machine + # once manually -- either to fill the gap between startup time and + # the first run of the cron jobs (periodical mode) or to perform + # a possible large time offset which ntpd does not perform itself + # (daemon mode). + case "$ntp_mode" in + once | \ + daemon | \ + quarterly | hourly | daily | weekly | monthly ) + ntp_once + ;; + esac + + # run the NTP daemon for continued synchronization + if [ ".$ntp_mode" = .daemon ]; then + @l_prefix@/bin/ntpd ${ntp_daemon_flags} + fi + +%stop -p 800 -u @l_susr@ + rcService ntp enable yes || exit 0 + rcService ntp active no && 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 + rcService ntp active no && exit 0 + rc ntp stop start + +%quarterly -p 800 -u @l_susr@ + rcService ntp enable yes || exit 0 + [ ".$ntp_mode" = .quarterly ] && ntp_once 30 + exit 0 + +%hourly -p 800 -u @l_susr@ + rcService ntp enable yes || exit 0 + [ ".$ntp_mode" = .hourly ] && ntp_once 30 + exit 0 + +%daily -p 800 -u @l_susr@ + rcService ntp enable yes || exit 0 + [ ".$ntp_mode" = .daily ] && ntp_once 30 + 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 + exit 0 + +%weekly -p 800 -u @l_susr@ + rcService ntp enable yes || exit 0 + [ ".$ntp_mode" = .weekly ] && ntp_once 30 + exit 0 + +%monthly -p 800 -u @l_susr@ + rcService ntp enable yes || exit 0 + [ ".$ntp_mode" = .monthly ] && ntp_once 30 + exit 0 +