1 ###############################################################################
2 # IPFire.org - An Open Source Firewall Solution #
3 # Copyright (C) - IPFire Development Team <info@ipfire.org> #
4 ###############################################################################
7 version = %{ver_major}.8
11 groups = System/Daemons
12 url = http://www.ntp.org/
13 license = (MIT and BSD and BSD with advertising) and GPLv2
14 summary = The NTP daemon and utilities.
17 The Network Time Protocol (NTP) is used to synchronize a computer's
18 time with another reference time source. This package includes ntpd
19 (a daemon which continuously adjusts system time) and utilities used
20 to query and configure the ntpd daemon.
23 source_dl = http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-%{ver_major}/
24 sources += ntpstat-0.2.tgz
26 # The vendor part in the NTP pool address.
27 VENDORZONE = %{DISTRO_SNAME}
39 %{MACRO_EXTRACT_TARBALL}
41 ln -svf ../ntpstat-0.2 .
45 # Create ntp user and group.
49 configure_options += \
50 --sysconfdir=%{sysconfdir}/ntp/crypto \
51 --with-openssl-libdir=%{libdir} \
53 --enable-parse-clocks \
54 --enable-ntp-signd=%{localstatedir}/run/ntp_signd
57 ./configure %{configure_options}
59 echo "#define KEYFILE \"%{sysconfdir}/ntp/keys\"" >> ntpdate/ntpdate.h
60 echo "#define NTP_VAR \"%{localstatedir}/log/ntpstats/\"" >> config.h
62 make ${PARALLELISMFLAGS}
68 make_install_targets += bindir=%{sbindir}
71 mkdir -pv %{BUILDROOT}%{mandir}/man{5,8}
72 sed -i "s/sntp\.1/sntp\.8/" %{BUILDROOT}%{mandir}/man1/sntp.1
73 mv -v %{BUILDROOT}%{mandir}/man{1/sntp.1,8/sntp.8}
74 rm -rfv %{BUILDROOT}%{mandir}/man1
78 mkdir -pv %{BUILDROOT}%{bindir}
79 install -m 755 ntpstat %{BUILDROOT}%{bindir}
80 install -m 644 ntpstat.1 %{BUILDROOT}%{mandir}/man8/ntpstat.8
83 # Fix section numbers.
84 sed -i 's/\(\.TH[a-zA-Z ]*\)[1-9]\(.*\)/\18\2/' \
85 %{BUILDROOT}%{mandir}/man8/*.8
87 mkdir -pv %{BUILDROOT}/%{sysconfdir}/sysconfig
88 mkdir -pv %{BUILDROOT}/%{localstatedir}/{lib/ntp,log/ntpstats}
89 mkdir -pv %{BUILDROOT}%{prefix}/lib
90 touch %{BUILDROOT}/%{localstatedir}/lib/ntp/{drift,sntp-kod}
93 -e "s@VENDORZONE@%{VENDORZONE}@g" \
94 -e "s@ETCNTP@%{sysconfdir}/ntp@g" \
95 -e "s@VARNTP@%{localstatedir}/lib/ntp@g" \
96 < %{DIR_SOURCE}/ntp.conf > %{BUILDROOT}%{sysconfdir}/ntp.conf
98 mkdir -pv %{BUILDROOT}%{sysconfdir}/ntp
99 sed -e "s@VENDORZONE@%{VENDORZONE}@g" \
100 < %{DIR_SOURCE}/ntp.step-tickers > %{BUILDROOT}%{sysconfdir}/ntp/step-tickers
103 mkdir -pv %{BUILDROOT}%{sysconfdir}/ntp/crypto
104 install -p -m 600 %{DIR_SOURCE}/ntp.cryptopw \
105 %{BUILDROOT}%{sysconfdir}/ntp/crypto/pw
108 install -p -m 600 %{DIR_SOURCE}/ntp.keys \
109 %{BUILDROOT}%{sysconfdir}/ntp/keys
111 # Install ntpdate wrapper.
112 install -p -m 755 %{DIR_SOURCE}/ntpdate-wrapper\
113 %{BUILDROOT}%{prefix}/lib/ntpdate-wrapper
114 install -p -m 644 %{DIR_SOURCE}/ntpdate.sysconfig \
115 %{BUILDROOT}%{sysconfdir}/sysconfig/ntpdate
117 mkdir -pv %{unitdir}/ntp-units.d
118 echo "ntpd.service" > %{unitdir}/ntp-units.d/60-ntpd.list
121 chown -R ntp:ntp %{BUILDROOT}%{sharedstatedir}/ntp
126 getent group ntp >/dev/null || groupadd -g 38 ntp || :
127 getent passwd ntp >/dev/null || useradd -u 38 -g 38 -s /sbin/nologin \
128 -M -r -d %{sysconfdir}/ntp ntp || :
140 %{localstatedir}/lib/ntp/drift
144 systemctl daemon-reload >/dev/null 2>&1 || :
145 systemctl --no-reload enable ntpd.service >/dev/null 2>&1 || :
149 systemctl --no-reload disable ntpd.service >/dev/null 2>&1 || :
150 systemctl stop ntpd.service >/dev/null 2>&1 || :
154 systemctl daemon-reload >/dev/null 2>&1 || :
158 systemctl daemon-reload >/dev/null 2>&1 || :
159 systemctl try-restart ntpd.service >/dev/null 2>&1 || :
164 summary = Utility to set the date and time via NTP.
167 ntpdate is a program for retrieving the date and time
173 %{mandir}/man8/ntpdate.8*
181 systemctl daemon-reload >/dev/null 2>&1 || :
185 systemctl --no-reload disable ntpdate.service >/dev/null 2>&1 || :
186 systemctl stop ntpdate.service >/dev/null 2>&1 || :
190 systemctl daemon-reload >/dev/null 2>&1 || :
194 package %{name}-devel
198 package %{name}-debuginfo