]> git.pld-linux.org Git - packages/ntp.git/blobdiff - ntp.spec
- rebuild with net-snmp 5.8
[packages/ntp.git] / ntp.spec
index 47f10808d69f610818ed635c9972a16535021d2a..b97fbb9de2e1dd87ec753d31a5c9cb15f040f1ee 100644 (file)
--- 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)
This page took 0.085953 seconds and 4 git commands to generate.