X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=ntp.spec;h=b97fbb9de2e1dd87ec753d31a5c9cb15f040f1ee;hb=734564568a3be49069f3bcbe6ca30b1d51e601a8;hp=47f10808d69f610818ed635c9972a16535021d2a;hpb=a8809dbd30ecada38c1987faa1d0a24c4ddc7e76;p=packages%2Fntp.git diff --git a/ntp.spec b/ntp.spec index 47f1080..b97fbb9 100644 --- a/ntp.spec +++ b/ntp.spec @@ -1,63 +1,73 @@ # TODO: -# - ntpdseem.1 manual page 'disappeared' -# - warning: Installed (but unpackaged) file(s) found: -# - package ntpsnmpd - NTP SNMP MIB agent -# /usr/sbin/ntpsnmpd -# /usr/share/man/man1/ntpsnmpd.1.gz +# - enable and package ntpdsim? +# - net-snmp-ntpd needs initscript +# - update FC patches +# - update man pages (from Debian?) # +# Conditional build: +%bcond_without avahi # disable DNS-SD support via Avahi +%bcond_without sntp # disable building sntp and sntp/tests +%bcond_with seccomp # enable experimental support for libseccomp sandboxing + %include /usr/lib/rpm/macros.perl Summary: Network Time Protocol utilities Summary(pl.UTF-8): Narzędzia do synchronizacji czasu (Network Time Protocol) Summary(pt_BR.UTF-8): Network Time Protocol versão 4 Name: ntp -Version: 4.2.6p1 -Release: 0.1 +Version: 4.2.8p8 +Release: 10 License: distributable Group: Networking/Daemons -Source0: http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/%{name}-%{version}.tar.gz -# Source0-md5: 0510396dfbde40678b92f808ec07c0d2 +Source0: https://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/%{name}-%{version}.tar.gz +# Source0-md5: 4a8636260435b230636f053ffd070e34 Source1: %{name}.conf Source2: %{name}.keys -Source3: %{name}.init -Source4: %{name}.sysconfig -Source5: %{name}-client.init -Source6: %{name}-client.sysconfig +Source3: %{name}d.init +Source4: %{name}d.sysconfig +Source5: %{name}date.init +Source6: %{name}date.sysconfig Source7: %{name}-manpages.tar.gz # Source7-md5: 208fcc9019e19ab26d28e4597290bffb -Source8: %{name}.upstart -Patch0: %{name}-time.patch +Source10: %{name}date-wrapper +Source11: %{name}d.service +Source12: %{name}date.service +Source13: http://www.ietf.org/timezones/data/leap-seconds.list +# Source13-md5: 8a163c7649ea4fe6aa57ddefbcddc83c +Patch0: %{name}-build.patch Patch1: %{name}-no_libelf.patch Patch2: %{name}-ipv6.patch -Patch3: %{name}-openssl_check.patch -Patch4: %{name}-nano.patch -Patch5: %{name}-ntpdc-link_order.patch +Patch3: %{name}-nano.patch # FC patches + 100 Patch101: %{name}-4.2.6p1-sleep.patch Patch102: %{name}-4.2.6p1-droproot.patch Patch103: %{name}-4.2.6p1-bcast.patch Patch104: %{name}-4.2.6p1-cmsgalign.patch Patch105: %{name}-4.2.6p1-linkfastmath.patch -Patch106: %{name}-4.2.6p1-tentative.patch Patch107: %{name}-4.2.6p1-retcode.patch Patch108: %{name}-4.2.6p1-rtnetlink.patch -Patch109: %{name}-4.2.6p1-html2man.patch -Patch110: %{name}-4.2.6p1-htmldoc.patch -Patch112: %{name}-4.2.4p7-getprecision.patch -Patch113: %{name}-4.2.6p1-logdefault.patch -Patch114: %{name}-4.2.6p1-mlock.patch +Patch110: %{name}-logdefault.patch +Patch111: %{name}-4.2.6p1-mlock.patch URL: http://www.ntp.org/ -BuildRequires: autoconf -BuildRequires: automake +BuildRequires: autoconf >= 2.61 +BuildRequires: autogen-devel >= 5.18.12 +BuildRequires: automake >= 1:1.10 +%{?with_avahi:BuildRequires: avahi-compat-libdns_sd-devel} BuildRequires: libcap-devel +%{?with_sntp:BuildRequires: libevent-devel >= 2.0} +BuildRequires: libnl-devel +%{?with_seccomp:BuildRequires: libseccomp-devel} BuildRequires: libtool +BuildRequires: net-snmp-devel BuildRequires: openssl-devel >= 0.9.7d +BuildRequires: pciutils-devel BuildRequires: readline-devel >= 4.2 BuildRequires: rpm-perlprov >= 4.1-13 -BuildRequires: rpmbuild(macros) >= 1.561 +BuildRequires: rpmbuild(macros) >= 1.626 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define _sysconfdir /etc/ntp %define _bindir %{_sbindir} +%define mibdir %{_datadir}/mibs %description The Network Time Protocol (NTP) is used to synchronize a computer's @@ -93,7 +103,11 @@ Requires(pre): /bin/id Requires(pre): /usr/bin/getgid Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/useradd +Requires(post,preun,postun): systemd-units >= 38 +Requires: autogen-libs >= 5.18.12 +Requires: libgcc Requires: rc-scripts >= 0.4.3.0 +Requires: systemd-units >= 38 Provides: group(ntp) Provides: ntp = %{version}-%{release} Provides: ntpdaemon @@ -128,19 +142,6 @@ referência de horário. Este pacote contém utilitários e servidores que sincronizarão o relógio do seu computador com o horário universal (UTC) através do protocolo NTP e utilizando servidores NTP públicos. -%package -n ntpd-upstart -Summary: Upstart job description for the NTP daemon -Summary(pl.UTF-8): Opis zadania Upstart dla demona NTP -Group: Daemons -Requires: ntpd = %{version}-%{release} -Requires: upstart >= 0.6 - -%description -n ntpd-upstart -Upstart job description for the NTP daemon. - -%description -n ntpd-upstart -l pl.UTF-8 -Opis zadania Upstart dla demona NTP. - %package -n ntpdate Summary: Utility to set the date and time via NTP Summary(pl.UTF-8): Klient do synchronizacji czasu po NTP (Network Time Protocol) @@ -152,6 +153,9 @@ Requires(pre): /bin/id Requires(pre): /usr/bin/getgid Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/useradd +Requires(post,preun,postun): systemd-units >= 38 +Requires: rc-scripts >= 0.4.3.0 +Requires: systemd-units >= 38 Provides: group(ntp) Provides: user(ntp) Conflicts: ntp < 4.2.0-3 @@ -169,21 +173,62 @@ servers. %description -n ntpdate -l pl.UTF-8 Klient do synchronizacji czasu po NTP (Network Time Protocol). +%package -n mibs-ntp +Summary: MIBs for NTP time entities +Summary(pl.UTF-8): Pliki MIB dla elementów czasu NTP +Group: Applications/System +Requires: mibs-dirs +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif + +%description -n mibs-ntp +The Management Information Base for NTP time entities. + +%description -n mibs-ntp -l pl.UTF-8 +Pliki MIB (Management Information Base) dla elementów czasu NTP + +%package -n net-snmp-ntpd +Summary: NTP SNMP subagent for Net-SNMP +Summary(pl.UTF-8): Podagent SNMP NTP dla usługi Net-SNMP +Group: Daemons +Requires(post,preun): /sbin/chkconfig +Requires: net-snmp +Requires: rc-scripts +Suggests: mibs-ntp + +%description -n net-snmp-ntpd +NTP SNMP AgentX subagent for Net-SNMP. + +%description -n net-snmp-ntpd -l pl.UTF-8 +Podagent SNMP AgentX NTP dla usługi Net-SNMP. + %package tools Summary: NTP tools +Summary(pl.UTF-8): Narzędzia NTP Group: Applications/Networking Obsoletes: ntp-ntptrace %description tools -This package contains ntp tools: +This package contains NTP tools: - ntptrace: Trace a chain of NTP servers back to the primary source - ntp-wait: Wait for NTP server to synchronize +- calc_tickadj: Calculate optimal value for tick given ntp drift file + +%description tools -l pl.UTF-8 +Ten pakiet zawiera narzędzia NTP: +- ntptrace: śledzenie łańcucha serwerów NTP aż do oryginalnego źródła +- ntp-wait: oczekiwanie na synchronizację serwera NTP +- calc_tickadj: obliczenie optymalnej wartości dla pliku dryfu ntp %package doc-html Summary: HTML documentation for ntp Summary(pl.UTF-8): Dokumentacja HTML dla ntp Summary(pt_BR.UTF-8): Documentação adicional para o pacote ntp Group: Documentation +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif %description doc-html HTML documentation for ntp. @@ -200,74 +245,103 @@ Este pacote contém documentação adicional sobre o NTP versão 4. %patch1 -p1 %patch2 -p1 %patch3 -p1 -%patch4 -p1 -%patch5 -p1 ## FC patches -%patch101 -p1 +#%patch101 -p1 %patch102 -p1 -%patch103 -p1 +#%patch103 -p1 %patch104 -p1 %patch105 -p1 -%patch106 -p1 %patch107 -p1 %patch108 -p1 -%patch109 -p1 %patch110 -p1 -%patch112 -p1 -%patch113 -p1 -%patch114 -p1 +#%patch111 -p1 -- obsolete? echo 'AM_CONDITIONAL([NEED_LIBOPTS], false)' >> configure.ac echo 'AM_CONDITIONAL([NEED_LIBOPTS], false)' >> sntp/configure.ac +%{__rm} sntp/m4/{lt*,libtool}.m4 sntp/libevent/m4/{lt*,libtool}.m4 + %build %{__libtoolize} -%{__aclocal} -I m4 -I libopts/m4 +%{__aclocal} -I sntp/m4 -I sntp/libopts/m4 -I sntp/libevent/m4 %{__autoconf} %{__automake} cd sntp %{__libtoolize} -%{__aclocal} -I ../m4 -I libopts/m4 +%{__aclocal} -I m4 -I libopts/m4 -I libevent/m4 %{__autoconf} %{__automake} -cd .. +cd libevent +%{__libtoolize} +%{__aclocal} -I m4 +%{__autoconf} +%{__automake} +cd ../.. CPPFLAGS="%{rpmcppflags} -I/usr/include/readline" %configure \ + --disable-silent-rules \ --with-binsubdir=sbin \ --enable-linuxcaps \ --enable-getifaddrs \ + %{?with_seccomp:--enable-libseccomp} \ + %{__with_without sntp} \ --enable-ipv6 \ + --enable-ntp-signd \ --with-lineeditlibs=readline \ - --with-crypto=openssl + --with-crypto=openssl \ + --disable-local-libopts \ + --disable-local-libevent -%{__make} +%{__make} -j1 %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{rc.d/init.d,sysconfig,cron.hourly,init},%{_mandir}/man1} +install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_mandir}/man1,%{systemdunitdir}} \ + $RPM_BUILD_ROOT%{_libexecdir}/systemd/ntp-units.d \ + $RPM_BUILD_ROOT/etc/{rc.d/init.d,sysconfig,cron.hourly} %{__make} install \ DESTDIR=$RPM_BUILD_ROOT -cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/ntp.conf -cp -a %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/keys +cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/ntp.conf +cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/keys +cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/ntp.leapseconds + install -p %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/ntpd install -p %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/ntpdate -cp -a %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/ntpd -cp -a %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/ntpdate -install -p %{SOURCE8} $RPM_BUILD_ROOT/etc/init/ntpd.conf -cp -a man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1 +cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/ntpd +cp -p %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/ntpdate + +install -p %{SOURCE10} $RPM_BUILD_ROOT%{_sbindir}/ntpdate-wrapper +cp -p %{SOURCE11} $RPM_BUILD_ROOT%{systemdunitdir}/ntpd.service +cp -p %{SOURCE12} $RPM_BUILD_ROOT%{systemdunitdir}/ntpdate.service +echo 'ntpd.service' > \ + $RPM_BUILD_ROOT%{_libexecdir}/systemd/ntp-units.d/50-ntpd.list + +cp -p man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1 install -d $RPM_BUILD_ROOT/var/lib/ntp touch $RPM_BUILD_ROOT/var/lib/ntp/drift cat > $RPM_BUILD_ROOT/etc/cron.hourly/ntpdate <<'EOF' #!/bin/sh -exec /sbin/service ntpdate cronsettime +# Source function library. +. /etc/rc.d/init.d/functions + +# Source ntpdate configuration +. /etc/sysconfig/ntpdate + +is_yes "$NTPDATE_CRON" || exit 0 +exec %{_sbindir}/ntpdate-wrapper EOF +install -d $RPM_BUILD_ROOT%{mibdir} +cp -p ntpsnmpd/ntpv4-mib.mib $RPM_BUILD_ROOT%{mibdir} + +%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/{ntp,sntp} + %clean rm -rf $RPM_BUILD_ROOT @@ -278,6 +352,7 @@ rm -rf $RPM_BUILD_ROOT %post -n ntpd /sbin/chkconfig --add ntpd %service ntpd restart "NTP Daemon" +%systemd_post ntpd.service %preun -n ntpd if [ "$1" = "0" ]; then @@ -285,19 +360,14 @@ if [ "$1" = "0" ]; then /sbin/chkconfig --del ntpd rm -f /var/lib/ntp/drift fi - -%post -n ntpd-upstart -%upstart_post ntpd - -%postun -n ntpd-upstart -%upstart_postun ntpd +%systemd_preun ntpd.service %postun -n ntp if [ "$1" = "0" ]; then %userremove ntp %groupremove ntp fi - +%systemd_reload %pre -n ntpdate %groupadd -g 246 ntp @@ -306,18 +376,21 @@ fi %post -n ntpdate /sbin/chkconfig --add ntpdate %service ntpdate restart "NTP Date" +%systemd_post ntpdate.service %preun -n ntpdate if [ "$1" = "0" ]; then %service ntpdate stop /sbin/chkconfig --del ntpdate fi +%systemd_preun ntpdate.service %postun -n ntpdate if [ "$1" = "0" ]; then %userremove ntp %groupremove ntp fi +%systemd_reload %triggerun -n ntpd -- ntp < 4.2.4p8-3.14 # Prevent preun from ntp from working @@ -330,20 +403,34 @@ sed -i -e 's,/etc/ntp/drift,/var/lib/ntp/drift,' %{_sysconfdir}/ntp.conf mv -f /etc/ntp/ntp.drift /var/lib/ntp/drift 2>/dev/null mv -f /etc/ntp/drift /var/lib/ntp/drift 2>/dev/null %service -q ntpd restart +%systemd_trigger ntpd.service +%systemd_post ntpdate + +%triggerpostun -n ntpd -- ntpd < 4.2.6p5-2 +%systemd_trigger ntpd.service %triggerpostun -n ntpdate -- ntp-client < 4.2.4p8-3.2 if [ -f /etc/sysconfig/ntp.rpmsave ]; then cp -f /etc/sysconfig/ntpdate{,.rpmnew} mv -f /etc/sysconfig/ntp.rpmsave /etc/sysconfig/ntpdate fi +%systemd_trigger ntpdate.service + +%triggerpostun -n ntpdate -- ntpdate < 4.2.6p5-2 +%systemd_trigger ntpdate.service %files -n ntpd %defattr(644,root,root,755) %doc NEWS TODO WHERE-TO-START conf/*.conf COPYRIGHT %attr(750,root,root) %dir %{_sysconfdir} -%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/* +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/keys +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ntp.conf +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ntp.leapseconds %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ntpd %attr(754,root,root) /etc/rc.d/init.d/ntpd +%{systemdunitdir}/ntpd.service +# dir not handled by systemd in pld +#%{_libexecdir}/systemd/ntp-units.d/50-ntpd.list %attr(755,root,root) %{_sbindir}/ntpd %attr(755,root,root) %{_sbindir}/ntpdc %attr(755,root,root) %{_sbindir}/ntp-keygen @@ -353,33 +440,49 @@ fi %attr(755,root,root) %{_sbindir}/tickadj %{_mandir}/man1/ntpd.1* %{_mandir}/man1/ntpdc.1* -#%{_mandir}/man1/ntpdsim.1* %{_mandir}/man1/ntp-keygen.1* %{_mandir}/man1/ntpq.1* %{_mandir}/man1/ntptime.1* %{_mandir}/man1/sntp.1* +%{_mandir}/man5/ntp.conf.5* +%{_mandir}/man5/ntp.keys.5* %dir %attr(770,root,ntp) /var/lib/ntp %attr(640,ntp,ntp) %ghost /var/lib/ntp/drift -%files -n ntpd-upstart -%defattr(644,root,root,755) -%config(noreplace) %verify(not md5 mtime size) /etc/init/ntpd.conf - %files -n ntpdate %defattr(644,root,root,755) %doc COPYRIGHT %attr(755,root,root) %{_sbindir}/ntpdate +%attr(755,root,root) %{_sbindir}/ntpdate-wrapper %attr(754,root,root) /etc/rc.d/init.d/ntpdate %attr(754,root,root) /etc/cron.hourly/ntpdate %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/ntpdate -%{_mandir}/man1/ntpdate* +%{systemdunitdir}/ntpdate.service +%{_mandir}/man1/ntpdate.1* + +%files -n mibs-ntp +%defattr(644,root,root,755) +%{mibdir}/ntpv4-mib.mib + +%files -n net-snmp-ntpd +%defattr(644,root,root,755) +%doc ntpsnmpd/README +%attr(755,root,root) %{_sbindir}/ntpsnmpd +%{_mandir}/man1/ntpsnmpd.1* %files tools %defattr(644,root,root,755) -%attr(755,root,root) %{_sbindir}/ntptrace +%attr(755,root,root) %{_sbindir}/calc_tickadj %attr(755,root,root) %{_sbindir}/ntp-wait -%{_mandir}/man1/ntptrace* +%attr(755,root,root) %{_sbindir}/ntptrace +%attr(755,root,root) %{_sbindir}/update-leap +%dir %{_datadir}/ntp +%{_datadir}/ntp/lib +%{_mandir}/man1/calc_tickadj.1* +%{_mandir}/man1/ntp-wait.1* +%{_mandir}/man1/ntptrace.1* +%{_mandir}/man1/update-leap.1* %files doc-html %defattr(644,root,root,755)