2013-01-11 13:21:34 +01:00
|
|
|
|
#
|
2016-03-28 11:36:00 +02:00
|
|
|
|
# spec file for package chrony
|
|
|
|
|
#
|
2018-02-09 11:21:23 +01:00
|
|
|
|
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
|
2016-03-28 11:36:00 +02:00
|
|
|
|
#
|
|
|
|
|
# All modifications and additions to the file contributed by third parties
|
|
|
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
|
|
|
# upon. The license for this file, and modifications and additions to the
|
|
|
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
|
|
|
# license for the pristine package is not an Open Source License, in which
|
|
|
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
|
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
|
|
|
# published by the Open Source Initiative.
|
2016-11-29 18:27:19 +01:00
|
|
|
|
|
2013-01-11 13:21:34 +01:00
|
|
|
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
|
|
|
|
#
|
|
|
|
|
|
2016-11-29 18:27:19 +01:00
|
|
|
|
|
2018-02-09 11:21:23 +01:00
|
|
|
|
%define vendorzone opensuse.
|
|
|
|
|
%global clknetsim_ver 71dbbc5
|
2017-11-23 16:11:48 +01:00
|
|
|
|
#Compat macro for new _fillupdir macro introduced in Nov 2017
|
|
|
|
|
%if ! %{defined _fillupdir}
|
2018-02-09 11:21:23 +01:00
|
|
|
|
%define _fillupdir %{_localstatedir}/adm/fillup-templates
|
2017-11-23 16:11:48 +01:00
|
|
|
|
%endif
|
2013-01-11 13:21:34 +01:00
|
|
|
|
Name: chrony
|
2017-09-22 09:52:47 +02:00
|
|
|
|
Version: 3.2
|
2013-01-11 13:21:34 +01:00
|
|
|
|
Release: 0
|
2016-04-06 10:53:39 +02:00
|
|
|
|
Summary: System Clock Synchronization Client and Server
|
2018-03-14 17:40:50 +01:00
|
|
|
|
License: GPL-2.0-only
|
2013-01-11 13:21:34 +01:00
|
|
|
|
Group: Productivity/Networking/Other
|
2018-02-09 11:21:23 +01:00
|
|
|
|
URL: http://chrony.tuxfamily.org/
|
2013-01-11 13:21:34 +01:00
|
|
|
|
Source: http://download.tuxfamily.org/chrony/chrony-%{version}.tar.gz
|
|
|
|
|
Source2: chrony.sysconfig
|
2015-11-26 09:03:25 +01:00
|
|
|
|
Source3: chrony.dhclient
|
|
|
|
|
Source4: chrony.helper
|
|
|
|
|
Source5: chrony-dnssrv@.service
|
|
|
|
|
Source6: chrony-dnssrv@.timer
|
2016-04-06 10:53:39 +02:00
|
|
|
|
# Simulator for test suite
|
|
|
|
|
Source10: https://github.com/mlichvar/clknetsim/archive/%{clknetsim_ver}/clknetsim-%{clknetsim_ver}.tar.gz
|
2013-01-11 13:21:34 +01:00
|
|
|
|
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
|
2016-03-28 11:36:00 +02:00
|
|
|
|
Patch0: chrony-config.patch
|
2016-04-06 10:53:39 +02:00
|
|
|
|
# Add NTP servers from DHCP when starting service
|
2015-11-26 09:03:25 +01:00
|
|
|
|
Patch1: chrony-service-helper.patch
|
2016-04-06 10:53:39 +02:00
|
|
|
|
Patch2: chrony-logrotate.patch
|
2016-04-14 09:06:33 +02:00
|
|
|
|
Patch5: chrony-fix-open.patch
|
2015-11-26 09:03:25 +01:00
|
|
|
|
BuildRequires: NetworkManager-devel
|
|
|
|
|
BuildRequires: bison
|
2016-11-29 18:27:19 +01:00
|
|
|
|
BuildRequires: gcc-c++
|
2013-01-11 13:21:34 +01:00
|
|
|
|
BuildRequires: libcap-devel
|
2015-11-26 09:03:25 +01:00
|
|
|
|
BuildRequires: libedit-devel
|
2016-03-28 11:36:00 +02:00
|
|
|
|
BuildRequires: mozilla-nss-devel
|
2017-02-01 12:44:40 +01:00
|
|
|
|
BuildRequires: pkgconfig
|
2018-02-09 11:21:23 +01:00
|
|
|
|
BuildRequires: pps-tools-devel
|
2016-04-06 10:53:39 +02:00
|
|
|
|
# The timezone package is needed for the "make check" tests. It can be
|
|
|
|
|
# removed if the call to make check is ever deleted.
|
|
|
|
|
BuildRequires: timezone
|
2017-10-26 13:15:56 +02:00
|
|
|
|
BuildRequires: pkgconfig(systemd)
|
2017-02-01 12:44:40 +01:00
|
|
|
|
Requires: logrotate
|
2018-03-14 17:40:50 +01:00
|
|
|
|
Requires(post): %fillup_prereq
|
2017-02-01 12:44:40 +01:00
|
|
|
|
Requires(pre): %{_sbindir}/groupadd
|
|
|
|
|
Requires(pre): %{_sbindir}/useradd
|
|
|
|
|
Provides: ntp-daemon
|
2016-04-06 10:58:31 +02:00
|
|
|
|
%ifarch s390 s390x ppc64le
|
2016-04-06 10:53:39 +02:00
|
|
|
|
BuildRequires: libseccomp-devel >= 2.2.0
|
2016-04-06 10:58:31 +02:00
|
|
|
|
%else
|
|
|
|
|
BuildRequires: libseccomp-devel
|
2015-11-26 09:03:25 +01:00
|
|
|
|
%endif
|
2013-01-11 13:21:34 +01:00
|
|
|
|
|
2010-05-11 23:52:37 +02:00
|
|
|
|
%description
|
2016-04-06 10:53:39 +02:00
|
|
|
|
Chrony is an implementation of the Network Time Protocol (NTP). It can
|
|
|
|
|
synchronize the system clock with NTP servers, reference clocks (e.g. a
|
|
|
|
|
GPS receiver), and manual input using wristwatch and keyboard. It can
|
|
|
|
|
also operate as an NTPv4 (RFC 5905) server and peer to provide a time
|
|
|
|
|
service to other computers in the network.
|
|
|
|
|
|
|
|
|
|
Chrony consists of two programs: chronyd and chronyc.
|
|
|
|
|
|
|
|
|
|
Chronyd is a daemon which runs in the background on the system. It
|
|
|
|
|
obtains measurements of the system clock’s offset relative to time
|
|
|
|
|
servers on other systems via the network and adjusts the system time
|
|
|
|
|
accordingly. For isolated systems, the user can periodically enter the
|
|
|
|
|
correct time by hand (using chronyc). In either case, chronyd
|
|
|
|
|
determines the rate at which the computer gains or loses time, and
|
|
|
|
|
compensates for this. Chronyd can act as either a client or a server.
|
|
|
|
|
|
|
|
|
|
Chronyc provides a user interface to chronyd for monitoring its
|
|
|
|
|
performance and configuring various settings. It can do so while
|
|
|
|
|
running on the same computer as the chronyd instance it is controlling
|
|
|
|
|
or a different computer.
|
2010-05-11 23:52:37 +02:00
|
|
|
|
|
|
|
|
|
%prep
|
2016-04-06 10:53:39 +02:00
|
|
|
|
%setup -q -a 10
|
2016-03-28 11:36:00 +02:00
|
|
|
|
%patch0 -p1
|
2015-11-26 09:03:25 +01:00
|
|
|
|
%patch1 -p1
|
|
|
|
|
%patch2 -p1
|
2016-04-14 09:06:33 +02:00
|
|
|
|
%patch5 -p1
|
2016-04-06 10:53:39 +02:00
|
|
|
|
|
2017-10-26 10:03:18 +02:00
|
|
|
|
# If this is an openSUSE build, use our vendor zone
|
|
|
|
|
# (2.*pool.ntp.org names include IPv6 addresses). If not
|
|
|
|
|
# an openSUSE build, comment out the pool statement
|
2017-10-26 23:26:35 +02:00
|
|
|
|
%if 0%{?is_opensuse}
|
2015-11-26 09:03:25 +01:00
|
|
|
|
sed -e 's|^\(pool \)\(pool.ntp.org\)|\12.%{vendorzone}\2|' \
|
|
|
|
|
< examples/chrony.conf.example2 > chrony.conf
|
2017-10-26 10:03:18 +02:00
|
|
|
|
%else
|
|
|
|
|
sed -e 's|^\pool|! pool|' \
|
|
|
|
|
< examples/chrony.conf.example2 > chrony.conf
|
|
|
|
|
%endif
|
2015-11-26 09:03:25 +01:00
|
|
|
|
|
|
|
|
|
touch -r examples/chrony.conf.example2 chrony.conf
|
|
|
|
|
|
|
|
|
|
# regenerate the file from getdate.y
|
|
|
|
|
rm -f getdate.c
|
2010-05-11 23:52:37 +02:00
|
|
|
|
|
2016-04-06 10:53:39 +02:00
|
|
|
|
mv clknetsim-%{clknetsim_ver}* test/simulation/clknetsim
|
|
|
|
|
|
2010-05-11 23:52:37 +02:00
|
|
|
|
%build
|
|
|
|
|
# not autoconf:
|
2015-11-26 09:03:25 +01:00
|
|
|
|
export CFLAGS="%{optflags} -Wall -fpic -DPIC $(pkg-config --cflags libseccomp)"
|
2014-02-25 16:55:43 +01:00
|
|
|
|
export LDFLAGS="-pie -Wl,-z,relro,-z,now"
|
2015-11-26 09:03:25 +01:00
|
|
|
|
%configure \
|
|
|
|
|
--docdir="%{_docdir}/%{name}" \
|
|
|
|
|
%if %{with syscallfilter}
|
|
|
|
|
--enable-scfilter \
|
|
|
|
|
%endif
|
|
|
|
|
--with-user=chrony \
|
|
|
|
|
--with-hwclockfile=%{_sysconfdir}/adjtime \
|
|
|
|
|
--with-sendmail=%{_sbindir}/sendmail
|
|
|
|
|
make %{?_smp_mflags} all docs
|
2010-05-11 23:52:37 +02:00
|
|
|
|
|
|
|
|
|
%install
|
2017-10-26 13:15:56 +02:00
|
|
|
|
%make_install
|
|
|
|
|
install -Dpm 0644 chrony.conf \
|
|
|
|
|
%{buildroot}%{_sysconfdir}/chrony.conf
|
|
|
|
|
install -Dpm 0640 examples/chrony.keys.example \
|
|
|
|
|
%{buildroot}%{_sysconfdir}/chrony.keys
|
|
|
|
|
install -Dpm 0755 examples/chrony.nm-dispatcher \
|
|
|
|
|
%{buildroot}%{_sysconfdir}/NetworkManager/dispatcher.d/20-chrony
|
|
|
|
|
install -Dpm 0755 %{SOURCE3} \
|
|
|
|
|
%{buildroot}%{_sysconfdir}/dhcp/dhclient.d/chrony.sh
|
|
|
|
|
install -Dpm 0644 examples/chrony.logrotate \
|
|
|
|
|
%{buildroot}%{_sysconfdir}/logrotate.d/chrony
|
|
|
|
|
install -Dpm 0644 examples/chronyd.service \
|
|
|
|
|
%{buildroot}%{_unitdir}/chronyd.service
|
|
|
|
|
install -Dpm 0644 examples/chrony-wait.service \
|
|
|
|
|
%{buildroot}%{_unitdir}/chrony-wait.service
|
|
|
|
|
install -Dpm 0644 %{SOURCE5} \
|
|
|
|
|
%{buildroot}%{_unitdir}/chrony-dnssrv@.service
|
|
|
|
|
install -Dpm 0644 %{SOURCE6} \
|
|
|
|
|
%{buildroot}%{_unitdir}/chrony-dnssrv@.timer
|
|
|
|
|
|
|
|
|
|
install -d %{buildroot}%{sbindir}
|
|
|
|
|
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rcchronyd
|
|
|
|
|
ln -s %{_sbindir}/service %{buildroot}%{_sbindir}/rcchrony-wait
|
|
|
|
|
|
|
|
|
|
install -d %{buildroot}%{_prefix}/lib/systemd/ntp-units.d
|
2015-11-26 09:03:25 +01:00
|
|
|
|
echo 'chronyd.service' > \
|
|
|
|
|
%{buildroot}%{_prefix}/lib/systemd/ntp-units.d/50-chronyd.list
|
2010-05-11 23:52:37 +02:00
|
|
|
|
|
2017-10-26 13:15:56 +02:00
|
|
|
|
install -Dpm 0644 %{SOURCE2} \
|
2018-03-14 17:40:50 +01:00
|
|
|
|
%{buildroot}%{_fillupdir}/sysconfig.chrony
|
2017-10-26 13:15:56 +02:00
|
|
|
|
install -Dpm 755 %{SOURCE4} \
|
|
|
|
|
%{buildroot}%{_datadir}/chrony-helper
|
2010-05-11 23:52:37 +02:00
|
|
|
|
|
2017-10-26 13:15:56 +02:00
|
|
|
|
install -d %{buildroot}%{_localstatedir}/log/chrony
|
2015-11-26 09:03:25 +01:00
|
|
|
|
touch %{buildroot}%{_localstatedir}/lib/chrony/{drift,rtc}
|
2012-01-18 10:23:10 +01:00
|
|
|
|
|
2016-04-06 10:53:39 +02:00
|
|
|
|
%check
|
|
|
|
|
# Set random seed to get deterministic results
|
|
|
|
|
export CLKNETSIM_RANDOM_SEED=24501
|
|
|
|
|
make %{?_smp_mflags} -C test/simulation/clknetsim
|
2017-10-26 13:15:56 +02:00
|
|
|
|
make %{?_smp_mflags} check
|
2016-04-06 10:53:39 +02:00
|
|
|
|
|
2010-05-11 23:52:37 +02:00
|
|
|
|
%pre
|
2017-10-26 13:15:56 +02:00
|
|
|
|
getent group %{name} >/dev/null || groupadd -r %{name}
|
|
|
|
|
getent passwd %{name} >/dev/null || useradd -r -g %{name} -d "%{_localstatedir}/lib/chrony" -s /bin/false -c "Chrony Daemon" %{name}
|
2016-04-08 10:42:30 +02:00
|
|
|
|
%service_add_pre chronyd.service chrony-wait.service
|
2010-05-11 23:52:37 +02:00
|
|
|
|
|
|
|
|
|
%preun
|
2016-04-08 10:42:30 +02:00
|
|
|
|
%service_del_preun chronyd.service chrony-wait.service
|
2015-11-26 09:03:25 +01:00
|
|
|
|
|
|
|
|
|
%post
|
|
|
|
|
%fillup_only %{name}
|
2016-04-08 10:42:30 +02:00
|
|
|
|
%service_add_post chronyd.service chrony-wait.service
|
2010-05-11 23:52:37 +02:00
|
|
|
|
|
|
|
|
|
%postun
|
2016-04-08 10:42:30 +02:00
|
|
|
|
%service_del_postun chronyd.service chrony-wait.service
|
2010-05-11 23:52:37 +02:00
|
|
|
|
|
|
|
|
|
%files
|
2018-03-30 11:49:35 +02:00
|
|
|
|
%license COPYING
|
|
|
|
|
%doc FAQ NEWS README
|
2010-05-11 23:52:37 +02:00
|
|
|
|
%doc examples
|
2016-03-28 11:36:00 +02:00
|
|
|
|
%config(noreplace) %attr(0640,root,%{name}) %{_sysconfdir}/chrony.conf
|
2015-11-26 09:03:25 +01:00
|
|
|
|
%config(noreplace) %attr(0640,root,%{name}) %verify(not md5 size mtime) %{_sysconfdir}/chrony.keys
|
2016-03-28 11:36:00 +02:00
|
|
|
|
%config(noreplace) %{_sysconfdir}/logrotate.d/chrony
|
2015-11-26 09:03:25 +01:00
|
|
|
|
%{_sysconfdir}/NetworkManager/dispatcher.d/20-chrony
|
|
|
|
|
%dir %{_sysconfdir}/dhcp/
|
|
|
|
|
%dir %{_sysconfdir}/dhcp/dhclient.d/
|
|
|
|
|
%{_sysconfdir}/dhcp/dhclient.d/chrony.sh
|
2010-05-11 23:52:37 +02:00
|
|
|
|
%{_bindir}/chronyc
|
|
|
|
|
%{_sbindir}/chronyd
|
2015-11-26 09:03:25 +01:00
|
|
|
|
%{_datadir}/chrony-helper
|
|
|
|
|
%{_mandir}/man1/chronyc.1%{ext_man}
|
|
|
|
|
%{_mandir}/man5/chrony.conf.5%{ext_man}
|
|
|
|
|
%{_mandir}/man8/chronyd.8%{ext_man}
|
|
|
|
|
%{_prefix}/lib/systemd/ntp-units.d/*.list
|
|
|
|
|
%{_unitdir}/chrony*.service
|
|
|
|
|
%{_unitdir}/chrony*.timer
|
|
|
|
|
%{_sbindir}/rcchrony*
|
2018-03-14 17:40:50 +01:00
|
|
|
|
%{_fillupdir}/sysconfig.chrony
|
2016-03-28 11:36:00 +02:00
|
|
|
|
%dir %attr(750,chrony,chrony) %{_localstatedir}/lib/chrony
|
2015-11-26 09:03:25 +01:00
|
|
|
|
%ghost %attr(640,chrony,chrony) %{_localstatedir}/lib/chrony/drift
|
|
|
|
|
%ghost %attr(640,chrony,chrony) %{_localstatedir}/lib/chrony/rtc
|
2016-03-28 11:36:00 +02:00
|
|
|
|
%dir %attr(750,chrony,chrony) %{_localstatedir}/log/chrony
|
2010-05-11 23:52:37 +02:00
|
|
|
|
|
|
|
|
|
%changelog
|