+#
+# TODO:
+# - check which of the 'FC patches' are actually needed and update them
+# as needed
+# - ntpdseem.1 manual page 'disappeared'
+# - warning: Installed (but unpackaged) file(s) found:
+# /usr/share/man/man1/ntpsnmpd.1.gz
+#
%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.4p8
-Release: 3.6
+Version: 4.2.6p1
+Release: 0.1
License: distributable
-Group: Daemons
+Group: Networking/Daemons
Source0: http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/%{name}-%{version}.tar.gz
-# Source0-md5: fe137056e7e611798a46971a783567ce
+# Source0-md5: 0510396dfbde40678b92f808ec07c0d2
Source1: %{name}.conf
Source2: %{name}.keys
Source3: %{name}.init
Source6: %{name}-client.sysconfig
Source7: %{name}-manpages.tar.gz
# Source7-md5: 208fcc9019e19ab26d28e4597290bffb
+Source8: %{name}.upstart
Patch0: %{name}-time.patch
Patch1: %{name}-no_libelf.patch
Patch2: %{name}-ipv6.patch
Patch3: %{name}-openssl_check.patch
-Patch4: %{name}-clock_settime.patch
-Patch5: %{name}-md5.patch
-Patch6: %{name}-nano.patch
-Patch7: %{name}-manpage.patch
+Patch4: %{name}-nano.patch
+Patch5: %{name}-ntpdc-link_order.patch
# FC patches
Patch101: %{name}-4.2.4p4-kernel.patch
Patch102: %{name}-4.2.4p0-droproot.patch
BuildRequires: openssl-devel >= 0.9.7d
BuildRequires: readline-devel >= 4.2
BuildRequires: rpm-perlprov >= 4.1-13
-BuildRequires: rpmbuild(macros) >= 1.268
+BuildRequires: rpmbuild(macros) >= 1.561
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _sysconfdir /etc/ntp
Requires(pre): /usr/bin/getgid
Requires(pre): /usr/sbin/groupadd
Requires(pre): /usr/sbin/useradd
-Requires: rc-scripts >= 0.4.0.10
+Requires: rc-scripts >= 0.4.3.0
Provides: group(ntp)
Provides: ntp = %{version}-%{release}
Provides: ntpdaemon
Provides: user(ntp)
-Obsoletes: ntp < 4.2.4p8-4
+Obsoletes: ntp < 4.2.4p8-6
Obsoletes: ntpdaemon
Obsoletes: openntpd
Obsoletes: xntp3
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)
Conflicts: ntp < 4.2.0-3
# for upgrades
Provides: ntp-client = %{version}-%{release}
-Obsoletes: ntp-client < 4.2.4p8-4
+Obsoletes: ntp-client < 4.2.4p8-6
# virtual
Provides: ntpclient
Obsoletes: ntpclient
%patch1 -p1
%patch2 -p1
%patch3 -p1
-%patch4 -p0
+%patch4 -p1
%patch5 -p1
-%patch6 -p1
-%patch7 -p0
-# FC patches
-%patch101 -p1
-%patch102 -p1
-%patch103 -p1
-%patch104 -p1
-%patch106 -p1
-%patch107 -p1
-%patch108 -p1
-%patch109 -p1
-%patch110 -p1
-%patch111 -p1
-%patch112 -p1
-%patch114 -p1
-%patch115 -p1
-%patch117 -p1
-%patch118 -p1
-%patch119 -p1
-%patch120 -p1
-%patch122 -p1
-%patch124 -p1
-%patch125 -p1
-%patch126 -p1
-%patch127 -p1
-%patch129 -p1
-%patch130 -p1
-%patch133 -p1
+#%# FC patches
+#%%patch101 -p1
+#%%patch102 -p1
+#%%patch103 -p1
+#%%patch104 -p1
+#%%patch106 -p1
+#%%patch107 -p1
+#%%patch108 -p1
+#%%patch109 -p1
+#%%patch110 -p1
+#%%patch111 -p1
+#%%patch112 -p1
+#%%patch114 -p1
+#%%patch115 -p1
+#%%patch117 -p1
+#%%patch118 -p1
+#%%patch119 -p1
+#%%patch120 -p1
+#%%patch122 -p1
+#%%patch124 -p1
+#%%patch125 -p1
+#%%patch126 -p1
+#%%patch127 -p1
+#%%patch129 -p1
+#%%patch130 -p1
+#%%patch133 -p1
echo 'AM_CONDITIONAL([NEED_LIBOPTS], false)' >> configure.ac
echo 'AM_CONDITIONAL([NEED_LIBOPTS], false)' >> sntp/configure.ac
%{__automake}
cd sntp
%{__libtoolize}
-%{__aclocal} -I libopts/m4
+%{__aclocal} -I ../m4 -I libopts/m4
%{__autoconf}
%{__automake}
cd ..
+CPPFLAGS="%{rpmcppflags} -I/usr/include/readline"
%configure \
--with-binsubdir=sbin \
--enable-linuxcaps \
--enable-getifaddrs \
--enable-ipv6 \
+ --with-lineeditlibs=readline \
--with-crypto=openssl
%{__make}
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{rc.d/init.d,sysconfig,cron.hourly},%{_mandir}/man1}
+install -d $RPM_BUILD_ROOT{%{_sysconfdir},/etc/{rc.d/init.d,sysconfig,cron.hourly,init},%{_mandir}/man1}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
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
-cp -a man/*.1 $RPM_BUILD_ROOT%{_mandir}/man1
+install -p %{SOURCE8} $RPM_BUILD_ROOT/etc/init/ntpd.conf
+cp -a 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
-/sbin/service ntpdate cronsettime
+exec /sbin/service ntpdate cronsettime
EOF
%clean
if [ "$1" = "0" ]; then
%service ntpd stop
/sbin/chkconfig --del ntpd
- rm -f %{_sysconfdir}/drift
+ rm -f /var/lib/ntp/drift
fi
+%post -n ntpd-upstart
+%upstart_post ntpd
+
+%postun -n ntpd-upstart
+%upstart_postun ntpd
+
%postun -n ntp
if [ "$1" = "0" ]; then
%userremove ntp
%groupremove ntp
fi
+
%pre -n ntpdate
%groupadd -g 246 ntp
%useradd -u 246 -d %{_sysconfdir} -g ntp -c "NTP Daemon" ntp
%groupremove ntp
fi
-%triggerpostun -n ntpd -- ntp < 4.2.4p8-3.1
+%triggerun -n ntpd -- ntp < 4.2.4p8-3.14
+# Prevent preun from ntp from working
+chmod a-x /etc/rc.d/init.d/ntpd
+
+%triggerpostun -n ntpd -- ntp < 4.2.4p8-3.14
+# Restore what triggerun removed
+chmod 754 /etc/rc.d/init.d/ntpd
+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
+
%triggerpostun -n ntpdate -- ntp-client < 4.2.4p8-3.2
if [ -f /etc/sysconfig/ntp.rpmsave ]; then
cp -f /etc/sysconfig/ntpdate{,.rpmnew}
%attr(755,root,root) %{_sbindir}/tickadj
%{_mandir}/man1/ntpd.1*
%{_mandir}/man1/ntpdc.1*
-%{_mandir}/man1/ntpdsim.1*
+#%{_mandir}/man1/ntpdsim.1*
%{_mandir}/man1/ntp-keygen.1*
%{_mandir}/man1/ntpq.1*
%{_mandir}/man1/ntptime.1*
%{_mandir}/man1/sntp.1*
+%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