2 # - enable and package ntpdsim?
3 # - net-snmp-ntpd needs initscript
5 # - update man pages (from Debian?)
8 %bcond_without avahi # disable DNS-SD support via Avahi
9 %bcond_without sntp # disable building sntp and sntp/tests
10 %bcond_with seccomp # enable experimental support for libseccomp sandboxing
12 %include /usr/lib/rpm/macros.perl
13 Summary: Network Time Protocol utilities
14 Summary(pl.UTF-8): Narzędzia do synchronizacji czasu (Network Time Protocol)
15 Summary(pt_BR.UTF-8): Network Time Protocol versão 4
19 License: distributable
20 Group: Networking/Daemons
21 Source0: https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/%{name}-%{version}.tar.gz
22 # Source0-md5: 4a8636260435b230636f053ffd070e34
25 Source3: %{name}d.init
26 Source4: %{name}d.sysconfig
27 Source5: %{name}date.init
28 Source6: %{name}date.sysconfig
29 Source7: %{name}-manpages.tar.gz
30 # Source7-md5: 208fcc9019e19ab26d28e4597290bffb
31 Source10: %{name}date-wrapper
32 Source11: %{name}d.service
33 Source12: %{name}date.service
34 Source13: http://www.ietf.org/timezones/data/leap-seconds.list
35 # Source13-md5: daabf9679b23c4c4d8ba99dbb89bfdc8
36 Patch0: %{name}-build.patch
37 Patch1: %{name}-no_libelf.patch
38 Patch2: %{name}-ipv6.patch
39 Patch3: %{name}-nano.patch
41 Patch101: %{name}-4.2.6p1-sleep.patch
42 Patch102: %{name}-4.2.6p1-droproot.patch
43 Patch103: %{name}-4.2.6p1-bcast.patch
44 Patch104: %{name}-4.2.6p1-cmsgalign.patch
45 Patch105: %{name}-4.2.6p1-linkfastmath.patch
46 Patch107: %{name}-4.2.6p1-retcode.patch
47 Patch108: %{name}-4.2.6p1-rtnetlink.patch
48 Patch110: %{name}-logdefault.patch
49 Patch111: %{name}-4.2.6p1-mlock.patch
50 URL: http://www.ntp.org/
51 BuildRequires: autoconf >= 2.61
52 BuildRequires: autogen-devel >= 5.18.12
53 BuildRequires: automake >= 1:1.10
54 %{?with_avahi:BuildRequires: avahi-compat-libdns_sd-devel}
55 BuildRequires: libcap-devel
56 %{?with_sntp:BuildRequires: libevent-devel >= 2.0}
57 BuildRequires: libnl-devel
58 %{?with_seccomp:BuildRequires: libseccomp-devel}
59 BuildRequires: libtool
60 BuildRequires: net-snmp-devel
61 BuildRequires: openssl-devel >= 0.9.7d
62 BuildRequires: pciutils-devel
63 BuildRequires: readline-devel >= 4.2
64 BuildRequires: rpm-perlprov >= 4.1-13
65 BuildRequires: rpmbuild(macros) >= 1.626
66 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
68 %define _sysconfdir /etc/ntp
69 %define _bindir %{_sbindir}
70 %define mibdir %{_datadir}/mibs
73 The Network Time Protocol (NTP) is used to synchronize a computer's
74 time with another reference time source. The ntp package contains
75 utilities and daemons which will synchronize your computer's time to
76 Coordinated Universal Time (UTC) via the NTP protocol and NTP servers.
78 %description -l pl.UTF-8
79 Network Time Protocol (NTP) służy do synchronizacji czasu komputera z
80 innym, wzorcowym źródłem czasu. Pakiet ntp zawiera narzędzia i demony
81 służące do dokładnego synchronizowania czasu komputera według czasu
82 uniwersalnego (UTC) poprzez protokół NTP z serwerami NTP.
84 %description -l pt_BR.UTF-8
85 Esta é a versão 4 do Network Time Protocol (NTP). Este protocolo é
86 utilizado para sincronizar o relógio do computador com uma outra
87 referência de horário. Este pacote contém utilitários e servidores que
88 sincronizarão o relógio do seu computador com o horário universal
89 (UTC) através do protocolo NTP e utilizando servidores NTP públicos.
91 Instale o pacote ntp se você necessitar de ferramentas para manter o
92 relógio do seu computador constantemente atualizado.
95 Summary: The NTP daemon
96 Summary(pl.UTF-8): Narzędzia do synchronizacji czasu (Network Time Protocol)
97 Summary(pt_BR.UTF-8): Network Time Protocol versão 4
99 Requires(post,preun): /sbin/chkconfig
100 Requires(postun): /usr/sbin/groupdel
101 Requires(postun): /usr/sbin/userdel
102 Requires(pre): /bin/id
103 Requires(pre): /usr/bin/getgid
104 Requires(pre): /usr/sbin/groupadd
105 Requires(pre): /usr/sbin/useradd
106 Requires(post,preun,postun): systemd-units >= 38
107 Requires: rc-scripts >= 0.4.3.0
108 Requires: systemd-units >= 38
109 Requires: autogen-libs >= 5.18.12
111 Provides: ntp = %{version}-%{release}
114 Obsoletes: ntp < 4.2.4p8-6
120 The Network Time Protocol (NTP) is used to synchronize a computer's
121 time with another reference time source. The ntp package contains
122 utilities and daemons which will synchronize your computer's time to
123 Coordinated Universal Time (UTC) via the NTP protocol and NTP servers.
125 This package includes ntpd (a daemon which continuously adjusts system
128 %description -n ntpd -l pl.UTF-8
129 Network Time Protocol (NTP) służy do synchronizacji czasu komputera z
130 innym, wzorcowym źródłem czasu. Pakiet ntp zawiera narzędzia i demony
131 służące do dokładnego synchronizowania czasu komputera według czasu
132 uniwersalnego (UTC) poprzez protokół NTP z serwerami NTP.
134 Pakiet ntp zawiera ntpd (demona, który w sposób ciągły aktualizuje
137 %description -n ntpd -l pt_BR.UTF-8
138 Esta é a versão 4 do Network Time Protocol (NTP). Este protocolo é
139 utilizado para sincronizar o relógio do computador com uma outra
140 referência de horário. Este pacote contém utilitários e servidores que
141 sincronizarão o relógio do seu computador com o horário universal
142 (UTC) através do protocolo NTP e utilizando servidores NTP públicos.
145 Summary: Utility to set the date and time via NTP
146 Summary(pl.UTF-8): Klient do synchronizacji czasu po NTP (Network Time Protocol)
147 Group: Applications/Networking
148 Requires(post,preun): /sbin/chkconfig
149 Requires(postun): /usr/sbin/groupdel
150 Requires(postun): /usr/sbin/userdel
151 Requires(pre): /bin/id
152 Requires(pre): /usr/bin/getgid
153 Requires(pre): /usr/sbin/groupadd
154 Requires(pre): /usr/sbin/useradd
155 Requires(post,preun,postun): systemd-units >= 38
156 Requires: rc-scripts >= 0.4.3.0
157 Requires: systemd-units >= 38
160 Conflicts: ntp < 4.2.0-3
162 Provides: ntp-client = %{version}-%{release}
163 Obsoletes: ntp-client < 4.2.4p8-6
168 %description -n ntpdate
169 ntpdate is a program for retrieving the date and time from NTP
172 %description -n ntpdate -l pl.UTF-8
173 Klient do synchronizacji czasu po NTP (Network Time Protocol).
176 Summary: MIBs for NTP time entities
177 Summary(pl.UTF-8): Pliki MIB dla elementów czasu NTP
178 Group: Applications/System
180 %if "%{_rpmversion}" >= "5"
184 %description -n mibs-ntp
185 The Management Information Base for NTP time entities.
187 %description -n mibs-ntp -l pl.UTF-8
188 Pliki MIB (Management Information Base) dla elementów czasu NTP
190 %package -n net-snmp-ntpd
191 Summary: NTP SNMP subagent for Net-SNMP
192 Summary(pl.UTF-8): Podagent SNMP NTP dla usługi Net-SNMP
194 Requires(post,preun): /sbin/chkconfig
199 %description -n net-snmp-ntpd
200 NTP SNMP AgentX subagent for Net-SNMP.
202 %description -n net-snmp-ntpd -l pl.UTF-8
203 Podagent SNMP AgentX NTP dla usługi Net-SNMP.
207 Summary(pl.UTF-8): Narzędzia NTP
208 Group: Applications/Networking
209 Obsoletes: ntp-ntptrace
212 This package contains NTP tools:
213 - ntptrace: Trace a chain of NTP servers back to the primary source
214 - ntp-wait: Wait for NTP server to synchronize
215 - calc_tickadj: Calculate optimal value for tick given ntp drift file
217 %description tools -l pl.UTF-8
218 Ten pakiet zawiera narzędzia NTP:
219 - ntptrace: śledzenie łańcucha serwerów NTP aż do oryginalnego źródła
220 - ntp-wait: oczekiwanie na synchronizację serwera NTP
221 - calc_tickadj: obliczenie optymalnej wartości dla pliku dryfu ntp
224 Summary: HTML documentation for ntp
225 Summary(pl.UTF-8): Dokumentacja HTML dla ntp
226 Summary(pt_BR.UTF-8): Documentação adicional para o pacote ntp
228 %if "%{_rpmversion}" >= "5"
232 %description doc-html
233 HTML documentation for ntp.
235 %description doc-html -l pl.UTF-8
236 Dokumentacja do ntp w HTML.
238 %description doc-html -l pt_BR.UTF-8
239 Este pacote contém documentação adicional sobre o NTP versão 4.
257 #%patch111 -p1 -- obsolete?
259 echo 'AM_CONDITIONAL([NEED_LIBOPTS], false)' >> configure.ac
260 echo 'AM_CONDITIONAL([NEED_LIBOPTS], false)' >> sntp/configure.ac
262 %{__rm} sntp/m4/{lt*,libtool}.m4 sntp/libevent/m4/{lt*,libtool}.m4
266 %{__aclocal} -I sntp/m4 -I sntp/libopts/m4 -I sntp/libevent/m4
271 %{__aclocal} -I m4 -I libopts/m4 -I libevent/m4
281 CPPFLAGS="%{rpmcppflags} -I/usr/include/readline"
283 --disable-silent-rules \
284 --with-binsubdir=sbin \
286 --enable-getifaddrs \
287 %{?with_seccomp:--enable-libseccomp} \
288 %{__with_without sntp} \
291 --with-lineeditlibs=readline \
292 --with-crypto=openssl \
293 --disable-local-libopts \
294 --disable-local-libevent
299 rm -rf $RPM_BUILD_ROOT
300 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_mandir}/man1,%{systemdunitdir}} \
301 $RPM_BUILD_ROOT%{_libexecdir}/systemd/ntp-units.d \
302 $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig,cron.hourly}
305 DESTDIR=$RPM_BUILD_ROOT
307 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/ntp.conf
308 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/keys
309 cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/ntp.leapseconds
311 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/ntpd
312 install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/ntpdate
313 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/ntpd
314 cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/ntpdate
316 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_sbindir}/ntpdate-wrapper
317 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{systemdunitdir}/ntpd.service
318 cp -p %{SOURCE12} $RPM_BUILD_ROOT%{systemdunitdir}/ntpdate.service
319 echo 'ntpd.service' > \
320 $RPM_BUILD_ROOT%{_libexecdir}/systemd/ntp-units.d/50-ntpd.list
322 cp -p man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
324 install -d $RPM_BUILD_ROOT/var/lib/ntp
325 touch $RPM_BUILD_ROOT/var/lib/ntp/drift
327 cat > $RPM_BUILD_ROOT/etc/cron.hourly/ntpdate <<'EOF'
329 # Source function library.
330 . /etc/rc.d/init.d/functions
332 # Source ntpdate configuration
333 . /etc/sysconfig/ntpdate
335 is_yes "$NTPDATE_CRON" || exit 0
336 exec %{_sbindir}/ntpdate-wrapper
339 install -d $RPM_BUILD_ROOT%{mibdir}
340 cp -p ntpsnmpd/ntpv4-mib.mib $RPM_BUILD_ROOT%{mibdir}
342 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/{ntp,sntp}
345 rm -rf $RPM_BUILD_ROOT
349 %useradd -u 246 -d %{_sysconfdir} -g ntp -c "NTP Daemon" ntp
352 /sbin/chkconfig --add ntpd
353 %service ntpd restart "NTP Daemon"
354 %systemd_post ntpd.service
357 if [ "$1" = "0" ]; then
359 /sbin/chkconfig --del ntpd
360 rm -f /var/lib/ntp/drift
362 %systemd_preun ntpd.service
365 if [ "$1" = "0" ]; then
373 %useradd -u 246 -d %{_sysconfdir} -g ntp -c "NTP Daemon" ntp
376 /sbin/chkconfig --add ntpdate
377 %service ntpdate restart "NTP Date"
378 %systemd_post ntpdate.service
381 if [ "$1" = "0" ]; then
382 %service ntpdate stop
383 /sbin/chkconfig --del ntpdate
385 %systemd_preun ntpdate.service
388 if [ "$1" = "0" ]; then
394 %triggerun -n ntpd -- ntp < 4.2.4p8-3.14
395 # Prevent preun from ntp from working
396 chmod a-x /etc/rc.d/init.d/ntpd
398 %triggerpostun -n ntpd -- ntp < 4.2.4p8-3.14
399 # Restore what triggerun removed
400 chmod 754 /etc/rc.d/init.d/ntpd
401 sed -i -e 's,/etc/ntp/drift,/var/lib/ntp/drift,' %{_sysconfdir}/ntp.conf
402 mv -f /etc/ntp/ntp.drift /var/lib/ntp/drift 2>/dev/null
403 mv -f /etc/ntp/drift /var/lib/ntp/drift 2>/dev/null
404 %service -q ntpd restart
405 %systemd_trigger ntpd.service
406 %systemd_post ntpdate
408 %triggerpostun -n ntpd -- ntpd < 4.2.6p5-2
409 %systemd_trigger ntpd.service
411 %triggerpostun -n ntpdate -- ntp-client < 4.2.4p8-3.2
412 if [ -f /etc/sysconfig/ntp.rpmsave ]; then
413 cp -f /etc/sysconfig/ntpdate{,.rpmnew}
414 mv -f /etc/sysconfig/ntp.rpmsave /etc/sysconfig/ntpdate
416 %systemd_trigger ntpdate.service
418 %triggerpostun -n ntpdate -- ntpdate < 4.2.6p5-2
419 %systemd_trigger ntpdate.service
422 %defattr(644,root,root,755)
423 %doc NEWS TODO WHERE-TO-START conf/*.conf COPYRIGHT
424 %attr(750,root,root) %dir %{_sysconfdir}
425 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/keys
426 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ntp.conf
427 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ntp.leapseconds
428 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ntpd
429 %attr(754,root,root) /etc/rc.d/init.d/ntpd
430 %{systemdunitdir}/ntpd.service
431 # dir not handled by systemd in pld
432 #%{_libexecdir}/systemd/ntp-units.d/50-ntpd.list
433 %attr(755,root,root) %{_sbindir}/ntpd
434 %attr(755,root,root) %{_sbindir}/ntpdc
435 %attr(755,root,root) %{_sbindir}/ntp-keygen
436 %attr(755,root,root) %{_sbindir}/ntpq
437 %attr(755,root,root) %{_sbindir}/ntptime
438 %attr(755,root,root) %{_sbindir}/sntp
439 %attr(755,root,root) %{_sbindir}/tickadj
440 %{_mandir}/man1/ntpd.1*
441 %{_mandir}/man1/ntpdc.1*
442 %{_mandir}/man1/ntp-keygen.1*
443 %{_mandir}/man1/ntpq.1*
444 %{_mandir}/man1/ntptime.1*
445 %{_mandir}/man1/sntp.1*
446 %{_mandir}/man5/ntp.conf.5*
447 %{_mandir}/man5/ntp.keys.5*
449 %dir %attr(770,root,ntp) /var/lib/ntp
450 %attr(640,ntp,ntp) %ghost /var/lib/ntp/drift
453 %defattr(644,root,root,755)
455 %attr(755,root,root) %{_sbindir}/ntpdate
456 %attr(755,root,root) %{_sbindir}/ntpdate-wrapper
457 %attr(754,root,root) /etc/rc.d/init.d/ntpdate
458 %attr(754,root,root) /etc/cron.hourly/ntpdate
459 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ntpdate
460 %{systemdunitdir}/ntpdate.service
461 %{_mandir}/man1/ntpdate.1*
464 %defattr(644,root,root,755)
465 %{mibdir}/ntpv4-mib.mib
467 %files -n net-snmp-ntpd
468 %defattr(644,root,root,755)
470 %attr(755,root,root) %{_sbindir}/ntpsnmpd
471 %{_mandir}/man1/ntpsnmpd.1*
474 %defattr(644,root,root,755)
475 %attr(755,root,root) %{_sbindir}/calc_tickadj
476 %attr(755,root,root) %{_sbindir}/ntp-wait
477 %attr(755,root,root) %{_sbindir}/ntptrace
478 %attr(755,root,root) %{_sbindir}/update-leap
481 %{_mandir}/man1/calc_tickadj.1*
482 %{_mandir}/man1/ntp-wait.1*
483 %{_mandir}/man1/ntptrace.1*
484 %{_mandir}/man1/update-leap.1*
487 %defattr(644,root,root,755)