]> git.pld-linux.org Git - packages/ntp.git/blob - ntp.spec
sntp requires libevent 2
[packages/ntp.git] / ntp.spec
1 # TODO:
2 # - enable and package ntpdsim?
3 # - net-snmp-ntpd needs initscript
4 # - update FC patches
5 #
6 # Conditional build:
7 %bcond_without  avahi  # disable DNS-SD support via Avahi
8 %bcond_with     seccomp         # enable experimental support for libseccomp sandboxing
9
10 %include        /usr/lib/rpm/macros.perl
11 Summary:        Network Time Protocol utilities
12 Summary(pl.UTF-8):      Narzędzia do synchronizacji czasu (Network Time Protocol)
13 Summary(pt_BR.UTF-8):   Network Time Protocol versão 4
14 Name:           ntp
15 Version:        4.2.8p3
16 Release:        2
17 License:        distributable
18 Group:          Networking/Daemons
19 Source0:        http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/%{name}-%{version}.tar.gz
20 # Source0-md5:  b98b0cbb72f6df04608e1dd5f313808b
21 Source1:        %{name}.conf
22 Source2:        %{name}.keys
23 Source3:        %{name}d.init
24 Source4:        %{name}d.sysconfig
25 Source5:        %{name}date.init
26 Source6:        %{name}date.sysconfig
27 Source7:        %{name}-manpages.tar.gz
28 # Source7-md5:  208fcc9019e19ab26d28e4597290bffb
29 Source10:       %{name}date-wrapper
30 Source11:       %{name}d.service
31 Source12:       %{name}date.service
32 Source13:       http://www.ietf.org/timezones/data/leap-seconds.list
33 # Source13-md5: e99a84cf28b14c77fba76c05565604ac
34 Patch0:         %{name}-build.patch
35 Patch1:         %{name}-no_libelf.patch
36 Patch2:         %{name}-ipv6.patch
37 Patch3:         %{name}-nano.patch
38 Patch4:         %{name}-no_avahi.patch
39 Patch5:         %{name}-printf_format_string.patch
40 # FC patches + 100
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
53 BuildRequires:  automake >= 1:1.10
54 %{?with_avahi:BuildRequires:    avahi-compat-libdns_sd-devel}
55 BuildRequires:  libcap-devel
56 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)
67
68 %define         _sysconfdir     /etc/ntp
69 %define         _bindir         %{_sbindir}
70 %define         mibdir          %{_datadir}/mibs
71
72 %description
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.
77
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.
83
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.
90
91 Instale o pacote ntp se você necessitar de ferramentas para manter o
92 relógio do seu computador constantemente atualizado.
93
94 %package -n ntpd
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
98 Group:          Daemons
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 Provides:       group(ntp)
110 Provides:       ntp = %{version}-%{release}
111 Provides:       ntpdaemon
112 Provides:       user(ntp)
113 Obsoletes:      ntp < 4.2.4p8-6
114 Obsoletes:      ntpdaemon
115 Obsoletes:      openntpd
116 Obsoletes:      xntp3
117
118 %description -n ntpd
119 The Network Time Protocol (NTP) is used to synchronize a computer's
120 time with another reference time source. The ntp package contains
121 utilities and daemons which will synchronize your computer's time to
122 Coordinated Universal Time (UTC) via the NTP protocol and NTP servers.
123
124 This package includes ntpd (a daemon which continuously adjusts system
125 time)
126
127 %description -n ntpd -l pl.UTF-8
128 Network Time Protocol (NTP) służy do synchronizacji czasu komputera z
129 innym, wzorcowym źródłem czasu. Pakiet ntp zawiera narzędzia i demony
130 służące do dokładnego synchronizowania czasu komputera według czasu
131 uniwersalnego (UTC) poprzez protokół NTP z serwerami NTP.
132
133 Pakiet ntp zawiera ntpd (demona, który w sposób ciągły aktualizuje
134 czas systemowy)
135
136 %description -n ntpd -l pt_BR.UTF-8
137 Esta é a versão 4 do Network Time Protocol (NTP). Este protocolo é
138 utilizado para sincronizar o relógio do computador com uma outra
139 referência de horário. Este pacote contém utilitários e servidores que
140 sincronizarão o relógio do seu computador com o horário universal
141 (UTC) através do protocolo NTP e utilizando servidores NTP públicos.
142
143 %package -n ntpdate
144 Summary:        Utility to set the date and time via NTP
145 Summary(pl.UTF-8):      Klient do synchronizacji czasu po NTP (Network Time Protocol)
146 Group:          Applications/Networking
147 Requires(post,preun):   /sbin/chkconfig
148 Requires(postun):       /usr/sbin/groupdel
149 Requires(postun):       /usr/sbin/userdel
150 Requires(pre):  /bin/id
151 Requires(pre):  /usr/bin/getgid
152 Requires(pre):  /usr/sbin/groupadd
153 Requires(pre):  /usr/sbin/useradd
154 Requires(post,preun,postun):    systemd-units >= 38
155 Requires:       rc-scripts >= 0.4.3.0
156 Requires:       systemd-units >= 38
157 Provides:       group(ntp)
158 Provides:       user(ntp)
159 Conflicts:      ntp < 4.2.0-3
160 # for upgrades
161 Provides:       ntp-client = %{version}-%{release}
162 Obsoletes:      ntp-client < 4.2.4p8-6
163 # virtual
164 Provides:       ntpclient
165 Obsoletes:      ntpclient
166
167 %description -n ntpdate
168 ntpdate is a program for retrieving the date and time from NTP
169 servers.
170
171 %description -n ntpdate -l pl.UTF-8
172 Klient do synchronizacji czasu po NTP (Network Time Protocol).
173
174 %package -n mibs-ntp
175 Summary:        MIBs for NTP time entities
176 Summary(pl.UTF-8):      Pliki MIB dla elementów czasu NTP
177 Group:          Applications/System
178 Requires:       mibs-dirs
179
180 %description -n mibs-ntp
181 The Management Information Base for NTP time entities.
182
183 %description -n mibs-ntp -l pl.UTF-8
184 Pliki MIB (Management Information Base) dla elementów czasu NTP
185
186 %package -n net-snmp-ntpd
187 Summary:        NTP SNMP subagent for Net-SNMP
188 Summary(pl.UTF-8):      Podagent SNMP NTP dla usługi Net-SNMP
189 Group:          Daemons
190 Requires(post,preun):   /sbin/chkconfig
191 Requires:       net-snmp
192 Requires:       rc-scripts
193 Suggests:       mibs-ntp
194
195 %description -n net-snmp-ntpd
196 NTP SNMP AgentX subagent for Net-SNMP.
197
198 %description -n net-snmp-ntpd -l pl.UTF-8
199 Podagent SNMP AgentX NTP dla usługi Net-SNMP.
200
201 %package tools
202 Summary:        NTP tools
203 Summary(pl.UTF-8):      Narzędzia NTP
204 Group:          Applications/Networking
205 Obsoletes:      ntp-ntptrace
206
207 %description tools
208 This package contains NTP tools:
209 - ntptrace: Trace a chain of NTP servers back to the primary source
210 - ntp-wait: Wait for NTP server to synchronize
211 - calc_tickadj: Calculate optimal value for tick given ntp drift file
212
213 %description tools -l pl.UTF-8
214 Ten pakiet zawiera narzędzia NTP:
215 - ntptrace: śledzenie łańcucha serwerów NTP aż do oryginalnego źródła
216 - ntp-wait: oczekiwanie na synchronizację serwera NTP
217 - calc_tickadj: obliczenie optymalnej wartości dla pliku dryfu ntp
218
219 %package doc-html
220 Summary:        HTML documentation for ntp
221 Summary(pl.UTF-8):      Dokumentacja HTML dla ntp
222 Summary(pt_BR.UTF-8):   Documentação adicional para o pacote ntp
223 Group:          Documentation
224
225 %description doc-html
226 HTML documentation for ntp.
227
228 %description doc-html -l pl.UTF-8
229 Dokumentacja do ntp w HTML.
230
231 %description doc-html -l pt_BR.UTF-8
232 Este pacote contém documentação adicional sobre o NTP versão 4.
233
234 %prep
235 %setup -q -a7
236 %patch0 -p1
237 %patch1 -p1
238 %patch2 -p1
239 %patch3 -p1
240 %{!?with_avahi:%patch4 -p1}
241 %patch5 -p1
242
243 ## FC patches
244 #%patch101 -p1
245 %patch102 -p1
246 #%patch103 -p1
247 %patch104 -p1
248 %patch105 -p1
249 %patch107 -p1
250 %patch108 -p1
251 %patch110 -p1
252 #%patch111 -p1  -- obsolete?
253
254 echo 'AM_CONDITIONAL([NEED_LIBOPTS], false)' >> configure.ac
255 echo 'AM_CONDITIONAL([NEED_LIBOPTS], false)' >> sntp/configure.ac
256
257 %{__rm} sntp/m4/{lt*,libtool}.m4 sntp/libevent/m4/{lt*,libtool}.m4
258
259 %build
260 %{__libtoolize}
261 %{__aclocal} -I sntp/m4 -I sntp/libopts/m4 -I sntp/libevent/m4
262 %{__autoconf}
263 %{__automake}
264 cd sntp
265 %{__libtoolize}
266 %{__aclocal} -I m4 -I libopts/m4 -I libevent/m4
267 %{__autoconf}
268 %{__automake}
269 cd ..
270
271 CPPFLAGS="%{rpmcppflags} -I/usr/include/readline"
272 %configure \
273         --with-binsubdir=sbin \
274         --enable-linuxcaps \
275         --enable-getifaddrs \
276         %{?with_seccomp:--enable-libseccomp} \
277         --enable-ipv6 \
278         --enable-ntp-signd \
279         --with-lineeditlibs=readline \
280         --with-crypto=openssl \
281         --disable-local-libopts \
282         --disable-local-libevent
283
284 %{__make} -j1
285
286 %install
287 rm -rf $RPM_BUILD_ROOT
288 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_mandir}/man1,%{systemdunitdir}} \
289         $RPM_BUILD_ROOT%{_libexecdir}/systemd/ntp-units.d \
290         $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig,cron.hourly}
291
292 %{__make} install \
293         DESTDIR=$RPM_BUILD_ROOT
294
295 cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/ntp.conf
296 cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/keys
297 cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/ntp.leapseconds
298
299 install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/ntpd
300 install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/ntpdate
301 cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/ntpd
302 cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/ntpdate
303
304 install -p %{SOURCE10} $RPM_BUILD_ROOT%{_sbindir}/ntpdate-wrapper
305 cp -p %{SOURCE11} $RPM_BUILD_ROOT%{systemdunitdir}/ntpd.service
306 cp -p %{SOURCE12} $RPM_BUILD_ROOT%{systemdunitdir}/ntpdate.service
307 echo 'ntpd.service' > \
308         $RPM_BUILD_ROOT%{_libexecdir}/systemd/ntp-units.d/50-ntpd.list
309
310 cp -p man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
311
312 install -d $RPM_BUILD_ROOT/var/lib/ntp
313 touch $RPM_BUILD_ROOT/var/lib/ntp/drift
314
315 cat > $RPM_BUILD_ROOT/etc/cron.hourly/ntpdate <<'EOF'
316 #!/bin/sh
317 # Source function library.
318 . /etc/rc.d/init.d/functions
319
320 # Source ntpdate configuration
321 . /etc/sysconfig/ntpdate
322
323 is_yes "$NTPDATE_CRON" || exit 0
324 exec %{_sbindir}/ntpdate-wrapper
325 EOF
326
327 install -d $RPM_BUILD_ROOT%{mibdir}
328 cp -p ntpsnmpd/ntpv4-mib.mib $RPM_BUILD_ROOT%{mibdir}
329
330 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/{ntp,sntp}
331
332 %clean
333 rm -rf $RPM_BUILD_ROOT
334
335 %pre -n ntpd
336 %groupadd -g 246 ntp
337 %useradd -u 246 -d %{_sysconfdir} -g ntp -c "NTP Daemon" ntp
338
339 %post -n ntpd
340 /sbin/chkconfig --add ntpd
341 %service ntpd restart "NTP Daemon"
342 %systemd_post ntpd.service
343
344 %preun -n ntpd
345 if [ "$1" = "0" ]; then
346         %service ntpd stop
347         /sbin/chkconfig --del ntpd
348         rm -f /var/lib/ntp/drift
349 fi
350 %systemd_preun ntpd.service
351
352 %postun -n ntp
353 if [ "$1" = "0" ]; then
354         %userremove ntp
355         %groupremove ntp
356 fi
357 %systemd_reload
358
359 %pre -n ntpdate
360 %groupadd -g 246 ntp
361 %useradd -u 246 -d %{_sysconfdir} -g ntp -c "NTP Daemon" ntp
362
363 %post -n ntpdate
364 /sbin/chkconfig --add ntpdate
365 %service ntpdate restart "NTP Date"
366 %systemd_post ntpdate.service
367
368 %preun -n ntpdate
369 if [ "$1" = "0" ]; then
370         %service ntpdate stop
371         /sbin/chkconfig --del ntpdate
372 fi
373 %systemd_preun ntpdate.service
374
375 %postun -n ntpdate
376 if [ "$1" = "0" ]; then
377         %userremove ntp
378         %groupremove ntp
379 fi
380 %systemd_reload
381
382 %triggerun -n ntpd -- ntp < 4.2.4p8-3.14
383 # Prevent preun from ntp from working
384 chmod a-x /etc/rc.d/init.d/ntpd
385
386 %triggerpostun -n ntpd -- ntp < 4.2.4p8-3.14
387 # Restore what triggerun removed
388 chmod 754 /etc/rc.d/init.d/ntpd
389 sed -i -e 's,/etc/ntp/drift,/var/lib/ntp/drift,' %{_sysconfdir}/ntp.conf
390 mv -f /etc/ntp/ntp.drift /var/lib/ntp/drift 2>/dev/null
391 mv -f /etc/ntp/drift /var/lib/ntp/drift 2>/dev/null
392 %service -q ntpd restart
393 %systemd_trigger ntpd.service
394 %systemd_post ntpdate
395
396 %triggerpostun -n ntpd -- ntpd < 4.2.6p5-2
397 %systemd_trigger ntpd.service
398
399 %triggerpostun -n ntpdate -- ntp-client < 4.2.4p8-3.2
400 if [ -f /etc/sysconfig/ntp.rpmsave ]; then
401         cp -f /etc/sysconfig/ntpdate{,.rpmnew}
402         mv -f /etc/sysconfig/ntp.rpmsave /etc/sysconfig/ntpdate
403 fi
404 %systemd_trigger ntpdate.service
405
406 %triggerpostun -n ntpdate -- ntpdate < 4.2.6p5-2
407 %systemd_trigger ntpdate.service
408
409 %files -n ntpd
410 %defattr(644,root,root,755)
411 %doc NEWS TODO WHERE-TO-START conf/*.conf COPYRIGHT
412 %attr(750,root,root) %dir %{_sysconfdir}
413 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/keys
414 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ntp.conf
415 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ntp.leapseconds
416 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ntpd
417 %attr(754,root,root) /etc/rc.d/init.d/ntpd
418 %{systemdunitdir}/ntpd.service
419 # dir not handled by systemd in pld
420 #%{_libexecdir}/systemd/ntp-units.d/50-ntpd.list
421 %attr(755,root,root) %{_sbindir}/ntpd
422 %attr(755,root,root) %{_sbindir}/ntpdc
423 %attr(755,root,root) %{_sbindir}/ntp-keygen
424 %attr(755,root,root) %{_sbindir}/ntpq
425 %attr(755,root,root) %{_sbindir}/ntptime
426 %attr(755,root,root) %{_sbindir}/sntp
427 %attr(755,root,root) %{_sbindir}/tickadj
428 %attr(755,root,root) %{_sbindir}/update-leap
429 %{_mandir}/man1/ntpd.1*
430 %{_mandir}/man1/ntpdc.1*
431 %{_mandir}/man1/ntp-keygen.1*
432 %{_mandir}/man1/ntpq.1*
433 %{_mandir}/man1/ntptime.1*
434 %{_mandir}/man1/sntp.1*
435 %{_mandir}/man1/update-leap.1*
436 %{_mandir}/man5/ntp.conf.5*
437 %{_mandir}/man5/ntp.keys.5*
438
439 %dir %attr(770,root,ntp) /var/lib/ntp
440 %attr(640,ntp,ntp) %ghost /var/lib/ntp/drift
441
442 %files -n ntpdate
443 %defattr(644,root,root,755)
444 %doc COPYRIGHT
445 %attr(755,root,root) %{_sbindir}/ntpdate
446 %attr(755,root,root) %{_sbindir}/ntpdate-wrapper
447 %attr(754,root,root) /etc/rc.d/init.d/ntpdate
448 %attr(754,root,root) /etc/cron.hourly/ntpdate
449 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ntpdate
450 %{systemdunitdir}/ntpdate.service
451 %{_mandir}/man1/ntpdate.1*
452
453 %files -n mibs-ntp
454 %defattr(644,root,root,755)
455 %{mibdir}/ntpv4-mib.mib
456
457 %files -n net-snmp-ntpd
458 %defattr(644,root,root,755)
459 %doc ntpsnmpd/README
460 %attr(755,root,root) %{_sbindir}/ntpsnmpd
461 %{_mandir}/man1/ntpsnmpd.1*
462
463 %files tools
464 %defattr(644,root,root,755)
465 %attr(755,root,root) %{_sbindir}/calc_tickadj
466 %attr(755,root,root) %{_sbindir}/ntp-wait
467 %attr(755,root,root) %{_sbindir}/ntptrace
468 %dir %{_datadir}/ntp
469 %{_datadir}/ntp/lib
470 %{_mandir}/man1/calc_tickadj.1*
471 %{_mandir}/man1/ntp-wait.1*
472 %{_mandir}/man1/ntptrace.1*
473
474 %files doc-html
475 %defattr(644,root,root,755)
476 %doc html/*
This page took 0.098502 seconds and 3 git commands to generate.