chrony/chrony.spec

370 lines
13 KiB
RPMSpec
Raw Normal View History

%global _hardened_build 1
2015-01-28 08:10:49 +00:00
%global clknetsim_ver 3eb3a8
2014-07-01 13:25:48 +00:00
%bcond_without debug
2008-11-24 12:44:12 +00:00
Name: chrony
2015-01-27 14:51:04 +00:00
Version: 2.0
2015-04-08 06:55:12 +00:00
Release: 0.3.pre2%{?dist}
2008-11-24 12:44:12 +00:00
Summary: An NTP client/server
Group: System Environment/Daemons
License: GPLv2
2009-12-15 16:29:32 +00:00
URL: http://chrony.tuxfamily.org
Source0: http://download.tuxfamily.org/chrony/chrony-%{version}%{?prerelease}.tar.gz
Source1: chrony.dhclient
Source2: chrony.helper
2015-01-27 14:51:04 +00:00
# simulator for test suite
Source10: https://github.com/mlichvar/clknetsim/archive/%{clknetsim_ver}/clknetsim-%{clknetsim_ver}.tar.gz
2012-09-11 14:51:04 +00:00
%{?gitpatch:Patch0: chrony-%{version}%{?prerelease}-%{gitpatch}.patch.gz}
2008-11-24 12:44:12 +00:00
# add NTP servers from DHCP when starting service
Patch1: chrony-service-helper.patch
2013-06-24 12:26:36 +00:00
BuildRequires: libcap-devel libedit-devel nss-devel pps-tools-devel
BuildRequires: bison texinfo systemd-units
2008-11-24 12:44:12 +00:00
Requires(pre): shadow-utils
2013-05-09 08:53:41 +00:00
Requires(post): systemd info
Requires(preun): systemd info
Requires(postun): systemd
2008-11-24 12:44:12 +00:00
2015-01-29 09:27:15 +00:00
%if 0%{?fedora} >= 22 || 0%{?rhel} >= 8
# install timedated implementation that can control chronyd service
Requires: timedatex
%endif
2008-11-24 12:44:12 +00:00
%description
A client/server for the Network Time Protocol, this program keeps your
computer's clock accurate. It was specially designed to support
2011-05-04 12:36:16 +00:00
systems with intermittent internet connections, but it also works well
2011-04-20 14:25:42 +00:00
in permanently connected environments. It can use also hardware reference
clocks, system real-time clock or manual input as time references.
2008-11-24 12:44:12 +00:00
%if 0%{!?vendorzone:1}
%{?fedora: %global vendorzone fedora.}
%{?rhel: %global vendorzone rhel.}
%endif
2008-11-24 12:44:12 +00:00
%prep
2014-06-09 10:40:52 +00:00
%setup -q -n %{name}-%{version}%{?prerelease} -a 10
2011-01-31 17:01:14 +00:00
%{?gitpatch:%patch0 -p1}
%patch1 -p1 -b .service-helper
%{?gitpatch: echo %{version}-%{gitpatch} > version.txt}
2008-11-24 12:44:12 +00:00
# review changes in packaged configuration files and scripts
md5sum -c <<-EOF | (! grep -v 'OK$')
5cca89b571b0780481fc6f3c518e63bf examples/chrony-wait.service
2015-01-27 14:51:04 +00:00
3a5a49a9fdc344cd31893571215c2c74 examples/chrony.conf.example2
2e9fe409a17de5d53a65f9869c4119f5 examples/chrony.logrotate
d7d323d0ea7ccc258710371ea79563d1 examples/chrony.nm-dispatcher
1a5122f7f40446596777a6c69431c415 examples/chronyd.service
EOF
2015-01-27 14:51:04 +00:00
# use our vendor zone (2.*pool.ntp.org names include IPv6 addresses)
sed -e 's|^\(pool \)\(pool.ntp.org\)|\12.%{vendorzone}\2|' \
< examples/chrony.conf.example2 > chrony.conf
echo '# Keys used by chronyd for command and NTP authentication' > chrony.keys
touch -r examples/chrony.conf.example2 chrony.conf chrony.keys
2014-09-11 08:27:06 +00:00
# regenerate the file from getdate.y
rm -f getdate.c
2015-01-27 14:51:04 +00:00
mv clknetsim-%{clknetsim_ver}* test/simulation/clknetsim
2014-06-09 10:40:52 +00:00
2008-11-24 12:44:12 +00:00
%build
2011-06-24 12:29:09 +00:00
%configure \
2014-06-09 09:40:26 +00:00
%{?with_debug: --enable-debug} \
2011-06-24 12:29:09 +00:00
--docdir=%{_docdir} \
2014-06-09 09:40:26 +00:00
--with-user=chrony \
2011-06-24 12:29:09 +00:00
--with-sendmail=%{_sbindir}/sendmail
2014-09-11 08:27:06 +00:00
make %{?_smp_mflags} all docs
2008-11-24 12:44:12 +00:00
%install
2009-12-15 16:29:32 +00:00
make install install-docs DESTDIR=$RPM_BUILD_ROOT
rm -rf $RPM_BUILD_ROOT%{_docdir}
2011-06-24 13:36:06 +00:00
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/{sysconfig,logrotate.d}
2008-11-24 12:44:12 +00:00
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/{lib,log}/chrony
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/NetworkManager/dispatcher.d
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/dhcp/dhclient.d
2011-06-24 13:36:06 +00:00
mkdir -p $RPM_BUILD_ROOT%{_libexecdir}
2013-05-09 09:25:01 +00:00
mkdir -p $RPM_BUILD_ROOT{%{_unitdir},%{_prefix}/lib/systemd/ntp-units.d}
2008-11-24 12:44:12 +00:00
install -m 644 -p chrony.conf $RPM_BUILD_ROOT%{_sysconfdir}/chrony.conf
install -m 640 -p chrony.keys $RPM_BUILD_ROOT%{_sysconfdir}/chrony.keys
install -m 755 -p examples/chrony.nm-dispatcher \
$RPM_BUILD_ROOT%{_sysconfdir}/NetworkManager/dispatcher.d/20-chrony
install -m 755 -p %{SOURCE1} \
$RPM_BUILD_ROOT%{_sysconfdir}/dhcp/dhclient.d/chrony.sh
install -m 644 -p examples/chrony.logrotate \
$RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/chrony
install -m 644 -p examples/chronyd.service \
$RPM_BUILD_ROOT%{_unitdir}/chronyd.service
install -m 644 -p examples/chrony-wait.service \
$RPM_BUILD_ROOT%{_unitdir}/chrony-wait.service
install -m 755 -p %{SOURCE2} $RPM_BUILD_ROOT%{_libexecdir}/chrony-helper
2008-11-24 12:44:12 +00:00
touch $RPM_BUILD_ROOT%{_localstatedir}/lib/chrony/{drift,rtc}
2013-05-09 09:25:01 +00:00
echo 'chronyd.service' > \
$RPM_BUILD_ROOT%{_prefix}/lib/systemd/ntp-units.d/50-chronyd.list
2014-09-04 14:50:25 +00:00
gzip -9 -f -k chrony.txt
2014-06-09 10:40:52 +00:00
%check
make %{?_smp_mflags} -C test/simulation/clknetsim
make check
2008-11-24 12:44:12 +00:00
%pre
getent group chrony > /dev/null || /usr/sbin/groupadd -r chrony
getent passwd chrony > /dev/null || /usr/sbin/useradd -r -g chrony \
-d %{_localstatedir}/lib/chrony -s /sbin/nologin chrony
:
%post
%systemd_post chronyd.service chrony-wait.service
2011-06-24 13:36:06 +00:00
/sbin/install-info %{_infodir}/chrony.info.gz %{_infodir}/dir &> /dev/null
:
2008-11-24 12:44:12 +00:00
%preun
%systemd_preun chronyd.service chrony-wait.service
if [ "$1" -eq 0 ]; then
2011-01-31 17:21:18 +00:00
/sbin/install-info --delete %{_infodir}/chrony.info.gz \
%{_infodir}/dir &> /dev/null
2008-11-24 12:44:12 +00:00
fi
:
%postun
%systemd_postun_with_restart chronyd.service
2008-11-24 12:44:12 +00:00
%files
2014-08-21 09:24:20 +00:00
%{!?_licensedir:%global license %%doc}
%license COPYING
2014-09-04 14:52:17 +00:00
%doc FAQ NEWS README chrony.txt.gz
2008-11-24 12:44:12 +00:00
%config(noreplace) %{_sysconfdir}/chrony.conf
%config(noreplace) %verify(not md5 size mtime) %attr(640,root,chrony) %{_sysconfdir}/chrony.keys
2008-11-24 12:44:12 +00:00
%config(noreplace) %{_sysconfdir}/logrotate.d/chrony
%{_sysconfdir}/NetworkManager/dispatcher.d/20-chrony
%{_sysconfdir}/dhcp/dhclient.d/chrony.sh
2008-11-24 12:44:12 +00:00
%{_bindir}/chronyc
%{_sbindir}/chronyd
2011-06-24 13:36:06 +00:00
%{_libexecdir}/chrony-helper
2008-11-24 12:44:12 +00:00
%{_infodir}/chrony.info*
2013-05-09 09:26:03 +00:00
%{_prefix}/lib/systemd/ntp-units.d/*.list
2013-05-09 09:25:01 +00:00
%{_unitdir}/chrony*.service
2008-11-24 12:44:12 +00:00
%{_mandir}/man[158]/%{name}*.[158]*
%dir %attr(-,chrony,chrony) %{_localstatedir}/lib/chrony
%ghost %attr(-,chrony,chrony) %{_localstatedir}/lib/chrony/drift
%ghost %attr(-,chrony,chrony) %{_localstatedir}/lib/chrony/rtc
%dir %attr(-,chrony,chrony) %{_localstatedir}/log/chrony
%changelog
2015-04-08 06:55:12 +00:00
* Wed Apr 08 2015 Miroslav Lichvar <mlichvar@redhat.com> 2.0-0.3.pre2
- update to 2.0-pre2 (CVE-2015-1853 CVE-2015-1821 CVE-2015-1822)
2015-01-29 09:28:28 +00:00
* Thu Jan 29 2015 Miroslav Lichvar <mlichvar@redhat.com> 2.0-0.2.pre1
- require timedatex (#1136905)
2015-01-27 14:54:10 +00:00
* Tue Jan 27 2015 Miroslav Lichvar <mlichvar@redhat.com> 2.0-0.1.pre1
- update to 2.0-pre1
2014-09-11 14:02:05 +00:00
* Thu Sep 11 2014 Miroslav Lichvar <mlichvar@redhat.com> 1.31-1
- update to 1.31
- add servers from DHCP with iburst option by default
- use upstream configuration files and scripts
- don't package configuration examples
- compress chrony.txt
2014-08-21 09:25:51 +00:00
* Thu Aug 21 2014 Miroslav Lichvar <mlichvar@redhat.com> 1.31-0.1.pre1
- update to 1.31-pre1
- use license macro if available
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.30-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
2014-08-15 09:57:15 +00:00
* Fri Aug 15 2014 Miroslav Lichvar <mlichvar@redhat.com> 1.30-2
- reconnect client sockets (#1124059)
2014-07-01 13:30:33 +00:00
* Tue Jul 01 2014 Miroslav Lichvar <mlichvar@redhat.com> 1.30-1
- update to 1.30
- enable debug messages
2014-06-09 09:44:30 +00:00
* Mon Jun 09 2014 Miroslav Lichvar <mlichvar@redhat.com> 1.30-0.1.pre1
- update to 1.30-pre1
- execute test suite
- avoid calling systemctl in helper script
- call chronyc directly from logrotate and NM dispatcher scripts
- add conflict with systemd-timesyncd service
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.29.1-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
2014-01-31 17:17:16 +00:00
* Fri Jan 31 2014 Miroslav Lichvar <mlichvar@redhat.com> 1.29.1-1
- update to 1.29.1 (CVE-2014-0021)
- replace hardening build flags with _hardened_build
2013-11-19 14:45:17 +00:00
* Tue Nov 19 2013 Miroslav Lichvar <mlichvar@redhat.com> 1.29-3
- let systemd remove pid file (#974305)
2013-10-03 10:21:28 +00:00
* Thu Oct 03 2013 Miroslav Lichvar <mlichvar@redhat.com> 1.29-2
- add ordering dependency to not start chronyd before ntpd stopped
2013-08-08 17:08:15 +00:00
* Thu Aug 08 2013 Miroslav Lichvar <mlichvar@redhat.com> 1.29-1
- update to 1.29 (CVE-2012-4502, CVE-2012-4503)
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.28-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
2013-07-17 14:40:48 +00:00
* Wed Jul 17 2013 Miroslav Lichvar <mlichvar@redhat.com> 1.28-1
- update to 1.28
- change default makestep limit to 10 seconds
2013-06-24 12:29:02 +00:00
* Mon Jun 24 2013 Miroslav Lichvar <mlichvar@redhat.com> 1.28-0.2.pre1
- buildrequire systemd-units
2013-06-21 16:04:05 +00:00
* Fri Jun 21 2013 Miroslav Lichvar <mlichvar@redhat.com> 1.28-0.1.pre1
- update to 1.28-pre1
- listen for commands only on localhost by default
2013-05-09 09:55:41 +00:00
* Thu May 09 2013 Miroslav Lichvar <mlichvar@redhat.com> 1.27-3
- disable chrony-wait service by default (#961047)
- drop old systemd scriptlets
- don't own ntp-units.d directory
- move files from /lib
- remove unncessary dependency on syslog target
2013-03-12 17:10:25 +00:00
* Tue Mar 12 2013 Miroslav Lichvar <mlichvar@redhat.com> 1.27-2
- suppress error messages from tr when generating key (#907914)
- fix delta calculation with extreme frequency offsets
2013-02-01 18:18:42 +00:00
* Fri Feb 01 2013 Miroslav Lichvar <mlichvar@redhat.com> 1.27-1
- update to 1.27
- start chrony-wait service with chronyd
- start chronyd service after sntp
- remove obsolete macros
2012-09-11 17:39:12 +00:00
* Tue Sep 11 2012 Miroslav Lichvar <mlichvar@redhat.com> 1.27-0.5.pre1.git1ca844
- update to git snapshot 1ca844
- update systemd integration (#846303)
- use systemd macros if available (#850151)
- use correct vendor pool.ntp.org zone on RHEL (#845981)
- don't log output of chrony-wait service
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.27-0.4.pre1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
2012-04-27 13:15:20 +00:00
* Fri Apr 27 2012 Miroslav Lichvar <mlichvar@redhat.com> 1.27-0.3.pre1
- update service file for systemd-timedated-ntp target (#816493)
2012-04-06 12:09:20 +00:00
* Fri Apr 06 2012 Miroslav Lichvar <mlichvar@redhat.com> 1.27-0.2.pre1
use systemctl is-active instead of status in chrony-helper (#794771)
2012-02-28 12:48:21 +00:00
* Tue Feb 28 2012 Miroslav Lichvar <mlichvar@redhat.com> 1.27-0.1.pre1
- update to 1.27-pre1
- generate SHA1 command key instead of MD5
2012-02-15 13:36:19 +00:00
* Wed Feb 15 2012 Miroslav Lichvar <mlichvar@redhat.com> 1.26-6.20110831gitb088b7
- remove old servers on DHCP update (#787042)
2012-02-10 16:24:42 +00:00
* Fri Feb 10 2012 Miroslav Lichvar <mlichvar@redhat.com> 1.26-5.20110831gitb088b7
- improve chrony-helper to keep track of servers added from DHCP (#787042)
- fix dhclient script to always return with zero exit code (#767859)
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.26-4.20110831gitb088b7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
2011-09-06 13:53:33 +00:00
* Tue Sep 06 2011 Miroslav Lichvar <mlichvar@redhat.com> 1.26-3.20110831gitb088b7
- update to git snapshot 20110831gitb088b7
- on first start generate password with 16 chars
- change systemd service type to forking
- add forced-command to chrony-helper (#735821)
2011-08-15 10:57:12 +00:00
* Mon Aug 15 2011 Miroslav Lichvar <mlichvar@redhat.com> 1.26-2
- fix iburst with very high jitters and long delays
- use timepps header from pps-tools-devel
2011-07-13 14:53:56 +00:00
* Wed Jul 13 2011 Miroslav Lichvar <mlichvar@redhat.com> 1.26-1
- update to 1.26
- read options from sysconfig file if it exists
2011-06-24 14:27:18 +00:00
* Fri Jun 24 2011 Miroslav Lichvar <mlichvar@redhat.com> 1.26-0.1.pre1
- update to 1.26-pre1
- fix service name in %%triggerun
- drop SysV init script
- add chrony-wait service
2011-05-06 15:57:04 +00:00
* Fri May 06 2011 Bill Nottingham <notting@redhat.com> 1.25-2
- fix systemd scriptlets for the upgrade case
2011-05-04 12:39:29 +00:00
* Wed May 04 2011 Miroslav Lichvar <mlichvar@redhat.com> 1.25-1
- update to 1.25
2011-04-20 14:27:26 +00:00
* Wed Apr 20 2011 Miroslav Lichvar <mlichvar@redhat.com> 1.25-0.3.pre2
- update to 1.25-pre2
- link with -Wl,-z,relro,-z,now options
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.25-0.2.pre1
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
2011-02-01 17:01:08 +00:00
* Tue Feb 01 2011 Miroslav Lichvar <mlichvar@redhat.com> 1.25-0.1.pre1
- update to 1.25-pre1
- use iburst, four pool servers, rtcsync, stratumweight in default config
- add systemd support
- drop sysconfig file
- suppress install-info errors
* Thu Apr 29 2010 Miroslav Lichvar <mlichvar@redhat.com> 1.24-4.20100428git73d775
- update to 20100428git73d775
- replace initstepslew directive with makestep in default config
- add NetworkManager dispatcher script
- add dhclient script
- retry server/peer name resolution at least once to workaround
NetworkManager race condition on boot
- don't verify chrony.keys
* Fri Mar 12 2010 Miroslav Lichvar <mlichvar@redhat.com> 1.24-3.20100302git5fb555
- update to snapshot 20100302git5fb555
- compile with PPS API support
* Thu Feb 04 2010 Miroslav Lichvar <mlichvar@redhat.com> 1.24-1
- update to 1.24 (#555367, CVE-2010-0292 CVE-2010-0293 CVE-2010-0294)
- modify default config
- step clock on start if it is off by more than 100 seconds
- disable client log
- build with -fPIE on sparc
2009-12-15 16:29:32 +00:00
* Tue Dec 15 2009 Miroslav Lichvar <mlichvar@redhat.com> 1.24-0.1.pre1
- update to 1.24-pre1
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.23-7.20081106gitbe42b4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Fri Jul 17 2009 Miroslav Lichvar <mlichvar@redhat.com> 1.23-6.20081106gitbe42b4
- switch to editline
- support arbitrary chronyc commands in init script
* Mon Jun 08 2009 Dan Horak <dan[at]danny.cz> 1.23-5.20081106gitbe42b4
- add patch with support for s390/s390x
* Mon Mar 09 2009 Miroslav Lichvar <mlichvar@redhat.com> 1.23-4.20081106gitbe42b4
- fix building with broken libcap header (#483548)
* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.23-3.20081106gitbe42b4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
2008-11-24 12:44:12 +00:00
* Wed Nov 19 2008 Miroslav Lichvar <mlichvar@redhat.com> 1.23-2.20081106gitbe42b4
- fix info uninstall
- generate random command key in init script
- support cyclelogs, online, offline commands in init script
- add logrotate script
* Tue Nov 11 2008 Miroslav Lichvar <mlichvar@redhat.com> 1.23-1.20081106gitbe42b4
- initial release