Accepting request 346314 from home:darix:branches:network:time
- update to 2.2 see /usr/share/doc/packages/chrony/NEWS - sync with fedora spec and add systemd support - refreshed chrony-config.patch to apply cleanly again - added chrony-2.2_logrotate.patch: add missing su option as we no longer have the daemon run as root. - added chrony-service-helper.patch: imported from fedora with a changed path for moving from libexecdir to datadir - only use syscall filters on 12.3 and newer - move helper from libexecdir to datadir OBS-URL: https://build.opensuse.org/request/show/346314 OBS-URL: https://build.opensuse.org/package/show/network:time/chrony?expand=0&rev=6
This commit is contained in:
parent
2bad924aa0
commit
83aa68ed96
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:658c9bb4d8c8d8ec7d0908429aa266e5f8413ba86bd4acbfd2f9669f6065af27
|
|
||||||
size 392889
|
|
3
chrony-2.2.tar.gz
Normal file
3
chrony-2.2.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:d3fd820fa63badf54ee0e48a649b94ea739df3aac5efa104bd90f89795aa2485
|
||||||
|
size 340285
|
10
chrony-2.2_logrotate.patch
Normal file
10
chrony-2.2_logrotate.patch
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
Index: chrony-2.2/examples/chrony.logrotate
|
||||||
|
===================================================================
|
||||||
|
--- chrony-2.2.orig/examples/chrony.logrotate
|
||||||
|
+++ chrony-2.2/examples/chrony.logrotate
|
||||||
|
@@ -1,4 +1,5 @@
|
||||||
|
/var/log/chrony/*.log {
|
||||||
|
+ su chrony chrony
|
||||||
|
missingok
|
||||||
|
nocreate
|
||||||
|
sharedscripts
|
@ -1,11 +1,16 @@
|
|||||||
Index: examples/chrony.conf.example
|
Index: chrony-2.2/examples/chrony.conf.example3
|
||||||
===================================================================
|
===================================================================
|
||||||
--- examples/chrony.conf.example.orig 2014-02-24 17:46:48.776464049 +0100
|
--- chrony-2.2.orig/examples/chrony.conf.example3
|
||||||
+++ examples/chrony.conf.example 2014-02-24 17:51:15.983463576 +0100
|
+++ chrony-2.2/examples/chrony.conf.example3
|
||||||
@@ -46,7 +46,37 @@
|
@@ -43,12 +43,38 @@
|
||||||
! server 0.pool.ntp.org iburst
|
# you can access at http://support.ntp.org/bin/view/Servers/WebHome or
|
||||||
! server 1.pool.ntp.org iburst
|
# you can use servers from the pool.ntp.org project.
|
||||||
! server 2.pool.ntp.org iburst
|
|
||||||
|
-! server foo.example.net iburst
|
||||||
|
-! server bar.example.net iburst
|
||||||
|
-! server baz.example.net iburst
|
||||||
|
-
|
||||||
|
! pool pool.ntp.org iburst
|
||||||
-
|
-
|
||||||
+
|
+
|
||||||
+# for Europe:
|
+# for Europe:
|
||||||
@ -41,16 +46,16 @@ Index: examples/chrony.conf.example
|
|||||||
# However, for dial-up use you probably want these instead. The word
|
# However, for dial-up use you probably want these instead. The word
|
||||||
# 'offline' means that the server is not visible at boot time. Use
|
# 'offline' means that the server is not visible at boot time. Use
|
||||||
# chronyc's 'online' command to tell chronyd that these servers have
|
# chronyc's 'online' command to tell chronyd that these servers have
|
||||||
@@ -89,7 +119,7 @@
|
@@ -93,7 +119,7 @@
|
||||||
# immediately so that it doesn't gain or lose any more time. You
|
# immediately so that it doesn't gain or lose any more time. You
|
||||||
# generally want this, so it is uncommented.
|
# generally want this, so it is uncommented.
|
||||||
|
|
||||||
-driftfile /var/lib/chrony/drift
|
-driftfile /var/lib/chrony/drift
|
||||||
+driftfile /var/lib/chrony/chrony.drift
|
+driftfile /var/lib/chrony/chrony.drift
|
||||||
|
|
||||||
# If you want to use the program called chronyc to configure aspects of
|
# If you want to enable NTP authentication with symmetric keys, you will need
|
||||||
# chronyd's operation once it is running (e.g. tell it the Internet link
|
# to uncomment the following line and edit the file to set up the keys.
|
||||||
@@ -152,8 +182,8 @@ commandkey 1
|
@@ -146,8 +172,8 @@ driftfile /var/lib/chrony/drift
|
||||||
# produce some graphs of your system's timekeeping performance, or you
|
# produce some graphs of your system's timekeeping performance, or you
|
||||||
# need help in debugging a problem.
|
# need help in debugging a problem.
|
||||||
|
|
||||||
|
8
chrony-dnssrv@.service
Normal file
8
chrony-dnssrv@.service
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=DNS SRV lookup of %I for chrony
|
||||||
|
After=chronyd.service network-online.target
|
||||||
|
Wants=network-online.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=/usr/share/chrony-helper update-dnssrv-servers %I
|
9
chrony-dnssrv@.timer
Normal file
9
chrony-dnssrv@.timer
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Periodic DNS SRV lookup of %I for chrony
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
OnActiveSec=0
|
||||||
|
OnUnitInactiveSec=1h
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=timers.target
|
12
chrony-service-helper.patch
Normal file
12
chrony-service-helper.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
Index: chrony-2.2/examples/chronyd.service
|
||||||
|
===================================================================
|
||||||
|
--- chrony-2.2.orig/examples/chronyd.service
|
||||||
|
+++ chrony-2.2/examples/chronyd.service
|
||||||
|
@@ -8,6 +8,7 @@ Type=forking
|
||||||
|
PIDFile=/var/run/chronyd.pid
|
||||||
|
EnvironmentFile=-/etc/sysconfig/chronyd
|
||||||
|
ExecStart=/usr/sbin/chronyd $OPTIONS
|
||||||
|
+ExecStartPost=/usr/share/chrony-helper update-daemon
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
@ -1,3 +1,17 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Nov 26 01:13:52 UTC 2015 - mrueckert@suse.de
|
||||||
|
|
||||||
|
- update to 2.2
|
||||||
|
see /usr/share/doc/packages/chrony/NEWS
|
||||||
|
- sync with fedora spec and add systemd support
|
||||||
|
- refreshed chrony-config.patch to apply cleanly again
|
||||||
|
- added chrony-2.2_logrotate.patch: add missing su option as we no
|
||||||
|
longer have the daemon run as root.
|
||||||
|
- added chrony-service-helper.patch: imported from fedora with a
|
||||||
|
changed path for moving from libexecdir to datadir
|
||||||
|
- only use syscall filters on 12.3 and newer
|
||||||
|
- move helper from libexecdir to datadir
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Feb 24 17:21:35 UTC 2014 - mrueckert@suse.de
|
Mon Feb 24 17:21:35 UTC 2014 - mrueckert@suse.de
|
||||||
|
|
||||||
|
20
chrony.dhclient
Normal file
20
chrony.dhclient
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
SERVERFILE=$SAVEDIR/chrony.servers.$interface
|
||||||
|
|
||||||
|
chrony_config() {
|
||||||
|
rm -f $SERVERFILE
|
||||||
|
if [ "$PEERNTP" != "no" ]; then
|
||||||
|
for server in $new_ntp_servers; do
|
||||||
|
echo "$server ${NTPSERVERARGS:-iburst}" >> $SERVERFILE
|
||||||
|
done
|
||||||
|
/usr/share/chrony-helper update-daemon || :
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
chrony_restore() {
|
||||||
|
if [ -f $SERVERFILE ]; then
|
||||||
|
rm -f $SERVERFILE
|
||||||
|
/usr/share/chrony-helper update-daemon || :
|
||||||
|
fi
|
||||||
|
}
|
186
chrony.helper
Normal file
186
chrony.helper
Normal file
@ -0,0 +1,186 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# This script configures running chronyd to use NTP servers obtained from
|
||||||
|
# DHCP and _ntp._udp DNS SRV records. Files with servers from DHCP are managed
|
||||||
|
# externally (e.g. by a dhclient script). Files with servers from DNS SRV
|
||||||
|
# records are updated here using the dig utility.
|
||||||
|
|
||||||
|
chronyc=/usr/bin/chronyc
|
||||||
|
helper_dir=/var/run/chrony-helper
|
||||||
|
added_servers_file=$helper_dir/added_servers
|
||||||
|
|
||||||
|
network_sysconfig_file=/etc/sysconfig/network
|
||||||
|
dhclient_servers_files=/var/lib/dhclient/chrony.servers.*
|
||||||
|
dnssrv_servers_files=$helper_dir/dnssrv@*
|
||||||
|
dnssrv_timer_prefix=chrony-dnssrv@
|
||||||
|
|
||||||
|
chrony_command() {
|
||||||
|
$chronyc -a -n -m "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
is_running() {
|
||||||
|
chrony_command "tracking" &> /dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
is_update_needed() {
|
||||||
|
for file in $dhclient_servers_files $dnssrv_servers_files \
|
||||||
|
$added_servers_file; do
|
||||||
|
[ -e "$file" ] && return 0
|
||||||
|
done
|
||||||
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
update_daemon() {
|
||||||
|
local all_servers_with_args all_servers added_servers
|
||||||
|
|
||||||
|
if ! is_running; then
|
||||||
|
rm -f $added_servers_file
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
all_servers_with_args=$(
|
||||||
|
cat $dhclient_servers_files $dnssrv_servers_files 2> /dev/null)
|
||||||
|
|
||||||
|
all_servers=$(
|
||||||
|
echo "$all_servers_with_args" |
|
||||||
|
while read server serverargs; do
|
||||||
|
echo "$server"
|
||||||
|
done | sort -u)
|
||||||
|
added_servers=$( (
|
||||||
|
cat $added_servers_file 2> /dev/null
|
||||||
|
echo "$all_servers_with_args" |
|
||||||
|
while read server serverargs; do
|
||||||
|
[ -z "$server" ] && continue
|
||||||
|
chrony_command "add server $server $serverargs" &> /dev/null &&
|
||||||
|
echo "$server"
|
||||||
|
done) | sort -u)
|
||||||
|
|
||||||
|
comm -23 <(echo -n "$added_servers") <(echo -n "$all_servers") |
|
||||||
|
while read server; do
|
||||||
|
chrony_command "delete $server" &> /dev/null
|
||||||
|
done
|
||||||
|
|
||||||
|
added_servers=$(comm -12 <(echo -n "$added_servers") <(echo -n "$all_servers"))
|
||||||
|
|
||||||
|
[ -n "$added_servers" ] && echo "$added_servers" > $added_servers_file ||
|
||||||
|
rm -f $added_servers_file
|
||||||
|
}
|
||||||
|
|
||||||
|
get_dnssrv_servers() {
|
||||||
|
local name=$1
|
||||||
|
|
||||||
|
if ! command -v dig &> /dev/null; then
|
||||||
|
echo "Missing dig (DNS lookup utility)" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
(
|
||||||
|
. $network_sysconfig_file &> /dev/null
|
||||||
|
|
||||||
|
output=$(dig "$name" srv +short +ndots=2 +search 2> /dev/null)
|
||||||
|
[ $? -ne 0 ] && return 0
|
||||||
|
|
||||||
|
echo "$output" | while read prio weight port target; do
|
||||||
|
server=${target%.}
|
||||||
|
[ -z "$server" ] && continue
|
||||||
|
echo "$server port $port ${NTPSERVERARGS:-iburst}"
|
||||||
|
done
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
check_dnssrv_name() {
|
||||||
|
local name=$1
|
||||||
|
|
||||||
|
if [ -z "$name" ]; then
|
||||||
|
echo "No DNS SRV name specified" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${name:0:9}" != _ntp._udp ]; then
|
||||||
|
echo "DNS SRV name $name doesn't start with _ntp._udp" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
update_dnssrv_servers() {
|
||||||
|
local name=$1
|
||||||
|
local srv_file=$helper_dir/dnssrv@$name servers
|
||||||
|
|
||||||
|
check_dnssrv_name "$name" || return 1
|
||||||
|
|
||||||
|
servers=$(get_dnssrv_servers "$name")
|
||||||
|
[ -n "$servers" ] && echo "$servers" > "$srv_file" || rm -f "$srv_file"
|
||||||
|
}
|
||||||
|
|
||||||
|
set_dnssrv_timer() {
|
||||||
|
local state=$1 name=$2
|
||||||
|
local srv_file=$helper_dir/dnssrv@$name servers
|
||||||
|
local timer=$dnssrv_timer_prefix$name.timer
|
||||||
|
|
||||||
|
check_dnssrv_name "$name" || return 1
|
||||||
|
|
||||||
|
if [ "$state" = enable ]; then
|
||||||
|
systemctl enable "$timer"
|
||||||
|
systemctl start "$timer"
|
||||||
|
elif [ "$state" = disable ]; then
|
||||||
|
systemctl stop "$timer"
|
||||||
|
systemctl disable "$timer"
|
||||||
|
rm -f "$srv_file"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
list_dnssrv_timers() {
|
||||||
|
systemctl --all --full -t timer list-units | grep "^$dnssrv_timer_prefix" | \
|
||||||
|
sed "s|^$dnssrv_timer_prefix\(.*\)\.timer.*|\1|"
|
||||||
|
}
|
||||||
|
|
||||||
|
prepare_helper_dir() {
|
||||||
|
mkdir -p $helper_dir
|
||||||
|
exec 100> $helper_dir/lock
|
||||||
|
if ! flock -w 20 100; then
|
||||||
|
echo "Failed to lock $helper_dir" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
print_help() {
|
||||||
|
echo "Usage: $0 COMMAND"
|
||||||
|
echo
|
||||||
|
echo "Commands:"
|
||||||
|
echo " update-daemon"
|
||||||
|
echo " update-dnssrv-servers NAME"
|
||||||
|
echo " enable-dnssrv NAME"
|
||||||
|
echo " disable-dnssrv NAME"
|
||||||
|
echo " list-dnssrv"
|
||||||
|
echo " is-running"
|
||||||
|
echo " command CHRONYC-COMMAND"
|
||||||
|
}
|
||||||
|
|
||||||
|
case "$1" in
|
||||||
|
update-daemon|add-dhclient-servers|remove-dhclient-servers)
|
||||||
|
is_update_needed || exit 0
|
||||||
|
prepare_helper_dir && update_daemon
|
||||||
|
;;
|
||||||
|
update-dnssrv-servers)
|
||||||
|
prepare_helper_dir && update_dnssrv_servers "$2" && update_daemon
|
||||||
|
;;
|
||||||
|
enable-dnssrv)
|
||||||
|
set_dnssrv_timer enable "$2"
|
||||||
|
;;
|
||||||
|
disable-dnssrv)
|
||||||
|
set_dnssrv_timer disable "$2" && prepare_helper_dir && update_daemon
|
||||||
|
;;
|
||||||
|
list-dnssrv)
|
||||||
|
list_dnssrv_timers
|
||||||
|
;;
|
||||||
|
is-running)
|
||||||
|
is_running
|
||||||
|
;;
|
||||||
|
command|forced-command)
|
||||||
|
chrony_command "$2"
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
print_help
|
||||||
|
exit 2
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit $?
|
222
chrony.spec
222
chrony.spec
@ -2,8 +2,17 @@
|
|||||||
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||||
#
|
#
|
||||||
|
|
||||||
|
%if 0%{?suse_version} > 1230 || 0%{?rhel_version} > 600 || 0%{?centos_version} > 600 || 0%{?fedora_version} >= 20 || 0%{?el7}%{?fc20}%{?fc21}%{?fc22}
|
||||||
|
%bcond_without systemd
|
||||||
|
%bcond_without syscallfilter
|
||||||
|
%else
|
||||||
|
%bcond_with systemd
|
||||||
|
%bcond_with syscallfilter
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%define vendorzone opensuse.
|
||||||
Name: chrony
|
Name: chrony
|
||||||
Version: 1.29.1
|
Version: 2.2
|
||||||
Release: 0
|
Release: 0
|
||||||
License: GPL-2.0+
|
License: GPL-2.0+
|
||||||
Summary: System Clock Synchronization Client and Server
|
Summary: System Clock Synchronization Client and Server
|
||||||
@ -12,25 +21,42 @@ Group: Productivity/Networking/Other
|
|||||||
Source: http://download.tuxfamily.org/chrony/chrony-%{version}.tar.gz
|
Source: http://download.tuxfamily.org/chrony/chrony-%{version}.tar.gz
|
||||||
Source1: chrony.init
|
Source1: chrony.init
|
||||||
Source2: chrony.sysconfig
|
Source2: chrony.sysconfig
|
||||||
|
Source3: chrony.dhclient
|
||||||
|
Source4: chrony.helper
|
||||||
|
Source5: chrony-dnssrv@.service
|
||||||
|
Source6: chrony-dnssrv@.timer
|
||||||
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
|
# PATCH-MISSING-TAG -- See http://wiki.opensuse.org/openSUSE:Packaging_Patches_guidelines
|
||||||
Patch1: chrony-config.patch
|
Patch: chrony-config.patch
|
||||||
BuildRequires: gcc
|
# add NTP servers from DHCP when starting service
|
||||||
BuildRequires: glibc-devel
|
Patch1: chrony-service-helper.patch
|
||||||
BuildRequires: libcap-devel
|
Patch2: chrony-2.2_logrotate.patch
|
||||||
BuildRequires: make
|
#
|
||||||
BuildRequires: mozilla-nss-devel
|
|
||||||
BuildRequires: ncurses-devel
|
|
||||||
BuildRequires: pkg-config
|
|
||||||
BuildRequires: readline-devel
|
|
||||||
BuildRequires: texinfo
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
|
BuildRequires: NetworkManager-devel
|
||||||
|
BuildRequires: bison
|
||||||
|
BuildRequires: libcap-devel
|
||||||
|
BuildRequires: libedit-devel
|
||||||
|
%if %{with syscallfilter}
|
||||||
|
%ifarch %{ix86} x86_64 %{arm} aarch64
|
||||||
|
BuildRequires: libseccomp-devel
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
BuildRequires: mozilla-nss-devel
|
||||||
|
BuildRequires: pkg-config
|
||||||
|
BuildRequires: texinfo
|
||||||
|
%if %{with systemd}
|
||||||
|
BuildRequires: pkgconfig(systemd)
|
||||||
|
%{?systemd_requires}
|
||||||
|
%else
|
||||||
|
Requires(pre): %insserv_prereq
|
||||||
|
%endif
|
||||||
|
|
||||||
Requires(pre): %fillup_prereq
|
Requires(pre): %fillup_prereq
|
||||||
Requires(pre): %insserv_prereq
|
|
||||||
Requires(pre): %install_info_prereq
|
Requires(pre): %install_info_prereq
|
||||||
Requires(pre): /usr/sbin/groupadd
|
Requires(pre): /usr/sbin/groupadd
|
||||||
Requires(pre): /usr/sbin/useradd
|
Requires(pre): /usr/sbin/useradd
|
||||||
|
Requires: logrotate
|
||||||
|
Recommends: timedatex
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Chrony is a pair of programs which are used to maintain the accuracy of the
|
Chrony is a pair of programs which are used to maintain the accuracy of the
|
||||||
@ -50,90 +76,142 @@ as the Chronyd instance it is controlling or a different computer.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch1
|
%patch -p1
|
||||||
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
# 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
|
||||||
|
|
||||||
|
touch -r examples/chrony.conf.example2 chrony.conf
|
||||||
|
|
||||||
|
# regenerate the file from getdate.y
|
||||||
|
rm -f getdate.c
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# not autoconf:
|
# not autoconf:
|
||||||
export CC="gcc"
|
export CFLAGS="%{optflags} -Wall -fpic -DPIC $(pkg-config --cflags libseccomp)"
|
||||||
export CFLAGS="%{optflags} -Wall -fpic -DPIC"
|
|
||||||
export LDFLAGS="-pie -Wl,-z,relro,-z,now"
|
export LDFLAGS="-pie -Wl,-z,relro,-z,now"
|
||||||
./configure \
|
%configure \
|
||||||
--prefix="%{_prefix}" \
|
--docdir="%{_docdir}/%{name}" \
|
||||||
--exec-prefix="%{_exec_prefix}" \
|
%if %{with syscallfilter}
|
||||||
--sysconfdir="%{_sysconfdir}" \
|
--enable-scfilter \
|
||||||
--bindir="%{_bindir}" \
|
%endif
|
||||||
--sbindir="%{_sbindir}" \
|
--with-user=chrony \
|
||||||
--datarootdir="%{_datadir}" \
|
--with-hwclockfile=%{_sysconfdir}/adjtime \
|
||||||
--infodir="%{_infodir}" \
|
--with-sendmail=%{_sbindir}/sendmail
|
||||||
--mandir="%{_mandir}" \
|
|
||||||
--docdir="%{_docdir}/%{name}"
|
|
||||||
|
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags} all docs
|
||||||
make chrony.txt
|
gzip -9 -f -n chrony.txt
|
||||||
make chrony.info
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%makeinstall
|
%makeinstall install-docs
|
||||||
rm -rf "%{buildroot}%{_docdir}/%{name}"
|
rm -rf "%{buildroot}%{_docdir}/%{name}"
|
||||||
|
|
||||||
install -d "%{buildroot}%{_infodir}"
|
mkdir -p %{buildroot}%{_sysconfdir}/{sysconfig,logrotate.d}
|
||||||
install -m0644 chrony.info "%{buildroot}%{_infodir}"/
|
mkdir -p %{buildroot}%{_localstatedir}/{lib,log}/chrony
|
||||||
|
mkdir -p %{buildroot}%{_sysconfdir}/NetworkManager/dispatcher.d
|
||||||
|
mkdir -p %{buildroot}%{_sysconfdir}/dhcp/dhclient.d
|
||||||
|
mkdir -p %{buildroot}%{_datadir}
|
||||||
|
mkdir -p %{buildroot}{%{_unitdir},%{_prefix}/lib/systemd/ntp-units.d}
|
||||||
|
|
||||||
|
install -m 644 -p chrony.conf %{buildroot}%{_sysconfdir}/chrony.conf
|
||||||
|
|
||||||
|
install -m 640 -p examples/chrony.keys.example \
|
||||||
|
%{buildroot}%{_sysconfdir}/chrony.keys
|
||||||
|
install -m 755 -p examples/chrony.nm-dispatcher \
|
||||||
|
%{buildroot}%{_sysconfdir}/NetworkManager/dispatcher.d/20-chrony
|
||||||
|
install -m 755 -p %{SOURCE3} \
|
||||||
|
%{buildroot}%{_sysconfdir}/dhcp/dhclient.d/chrony.sh
|
||||||
|
install -m 644 -p examples/chrony.logrotate \
|
||||||
|
%{buildroot}%{_sysconfdir}/logrotate.d/chrony
|
||||||
|
|
||||||
|
%if %{with systemd}
|
||||||
|
install -m 644 -p examples/chronyd.service \
|
||||||
|
%{buildroot}%{_unitdir}/chronyd.service
|
||||||
|
install -m 644 -p examples/chrony-wait.service \
|
||||||
|
%{buildroot}%{_unitdir}/chrony-wait.service
|
||||||
|
install -m 644 -p %{SOURCE5} %{buildroot}%{_unitdir}/chrony-dnssrv@.service
|
||||||
|
install -m 644 -p %{SOURCE6} %{buildroot}%{_unitdir}/chrony-dnssrv@.timer
|
||||||
|
ln -s /sbin/service "%{buildroot}%{_sbindir}/rcchronyd"
|
||||||
|
ln -s /sbin/service "%{buildroot}%{_sbindir}/rcchrony-wait"
|
||||||
|
|
||||||
|
echo 'chronyd.service' > \
|
||||||
|
%{buildroot}%{_prefix}/lib/systemd/ntp-units.d/50-chronyd.list
|
||||||
|
%else
|
||||||
install -D -m0755 "%{SOURCE1}" "%{buildroot}%{_initddir}/chronyd"
|
install -D -m0755 "%{SOURCE1}" "%{buildroot}%{_initddir}/chronyd"
|
||||||
install -d "%{buildroot}%{_prefix}/sbin"
|
|
||||||
ln -s ../../etc/init.d/chronyd "%{buildroot}%{_sbindir}/rcchronyd"
|
ln -s ../../etc/init.d/chronyd "%{buildroot}%{_sbindir}/rcchronyd"
|
||||||
|
%endif
|
||||||
install -D -m0644 "%{SOURCE2}" "%{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.chronyd"
|
install -D -m0644 "%{SOURCE2}" "%{buildroot}%{_localstatedir}/adm/fillup-templates/sysconfig.chronyd"
|
||||||
|
|
||||||
install -d "%{buildroot}%{_localstatedir}/lib/chrony"
|
install -m 755 -p %{SOURCE4} %{buildroot}%{_datadir}/chrony-helper
|
||||||
install -d "%{buildroot}%{_localstatedir}/log/chrony"
|
|
||||||
|
|
||||||
|
touch %{buildroot}%{_localstatedir}/lib/chrony/{drift,rtc}
|
||||||
%if 0%{?suse_version} >= 1030 && 0%{?suse_version} <= 1140
|
|
||||||
h=/usr/share/doc/licenses/md5/$(md5sum COPYING|cut -f1 -d" ")
|
|
||||||
test -e "$h" && ln -s -f "$h" .
|
|
||||||
%endif
|
|
||||||
|
|
||||||
install -d "%{buildroot}%{_sysconfdir}"
|
|
||||||
install -m0644 examples/chrony.conf.example "%{buildroot}%{_sysconfdir}/chrony.conf"
|
|
||||||
install -m0600 examples/chrony.keys.example "%{buildroot}%{_sysconfdir}/chrony.keys"
|
|
||||||
|
|
||||||
%pre
|
|
||||||
/usr/sbin/groupadd -r chrony || :
|
|
||||||
/usr/sbin/useradd -r -g chrony -c "Chrony Daemon" -d "%{_localstatedir}/lib/chrony" chrony || :
|
|
||||||
|
|
||||||
%post
|
|
||||||
%{fillup_only -an chronyd}
|
|
||||||
%install_info --info-dir="%{_infodir}" "%{_infodir}/chrony.info%{ext_info}"
|
|
||||||
|
|
||||||
%preun
|
|
||||||
%stop_on_removal chronyd
|
|
||||||
|
|
||||||
%postun
|
|
||||||
%restart_on_update chronyd
|
|
||||||
%insserv_cleanup
|
|
||||||
%install_info_delete --info-dir="%{_infodir}" "%{_infodir}/chrony.info%{ext_info}"
|
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -rf %{buildroot}
|
rm -rf %{buildroot}
|
||||||
|
|
||||||
|
%pre
|
||||||
|
/usr/sbin/groupadd -r chrony || :
|
||||||
|
/usr/sbin/useradd -r -g chrony -c "Chrony Daemon" -d "%{_localstatedir}/lib/chrony" chrony || :
|
||||||
|
# START BIG SYSTEMD
|
||||||
|
%if %{with systemd}
|
||||||
|
%service_add_pre chronyd.service chrony-wait.service
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%preun
|
||||||
|
%if %{with systemd}
|
||||||
|
%service_del_preun chronyd.service chrony-wait.service
|
||||||
|
%else
|
||||||
|
%stop_on_removal chronyd
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%post
|
||||||
|
%fillup_only %{name}
|
||||||
|
%install_info --info-dir="%{_infodir}" "%{_infodir}/chrony.info%{ext_info}"
|
||||||
|
%if %{with systemd}
|
||||||
|
%service_add_post chronyd.service chrony-wait.service
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%postun
|
||||||
|
%install_info_delete --info-dir="%{_infodir}" "%{_infodir}/chrony.info%{ext_info}"
|
||||||
|
%if %{with systemd}
|
||||||
|
%service_del_postun chronyd.service chrony-wait.service
|
||||||
|
%else
|
||||||
|
%restart_on_update chronyd
|
||||||
|
%insserv_cleanup
|
||||||
|
%endif
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%doc README chrony.txt COPYING
|
%doc FAQ NEWS README chrony.txt* COPYING
|
||||||
%doc examples
|
%doc examples
|
||||||
%config(noreplace) %{_sysconfdir}/chrony.conf
|
%config(noreplace) %attr(0640,root,%{name}) %{_sysconfdir}/chrony.conf
|
||||||
%config(noreplace) %{_sysconfdir}/chrony.keys
|
%config(noreplace) %attr(0640,root,%{name}) %verify(not md5 size mtime) %{_sysconfdir}/chrony.keys
|
||||||
|
%config(noreplace) %{_sysconfdir}/logrotate.d/chrony
|
||||||
|
%{_sysconfdir}/NetworkManager/dispatcher.d/20-chrony
|
||||||
|
%dir %{_sysconfdir}/dhcp/
|
||||||
|
%dir %{_sysconfdir}/dhcp/dhclient.d/
|
||||||
|
%{_sysconfdir}/dhcp/dhclient.d/chrony.sh
|
||||||
%{_bindir}/chronyc
|
%{_bindir}/chronyc
|
||||||
%{_sbindir}/chronyd
|
%{_sbindir}/chronyd
|
||||||
%doc %{_mandir}/man1/chrony.1%{ext_man}
|
%{_datadir}/chrony-helper
|
||||||
%doc %{_mandir}/man1/chronyc.1%{ext_man}
|
%{_mandir}/man1/chronyc.1%{ext_man}
|
||||||
%doc %{_mandir}/man5/chrony.conf.5%{ext_man}
|
%{_mandir}/man5/chrony.conf.5%{ext_man}
|
||||||
%doc %{_mandir}/man8/chronyd.8%{ext_man}
|
%{_mandir}/man8/chronyd.8%{ext_man}
|
||||||
%doc %{_infodir}/chrony.info%{ext_info}
|
%{_infodir}/chrony.info*
|
||||||
|
%if %{with systemd}
|
||||||
|
%{_prefix}/lib/systemd/ntp-units.d/*.list
|
||||||
|
%{_unitdir}/chrony*.service
|
||||||
|
%{_unitdir}/chrony*.timer
|
||||||
|
%else
|
||||||
%config %{_sysconfdir}/init.d/chronyd
|
%config %{_sysconfdir}/init.d/chronyd
|
||||||
%{_sbindir}/rcchronyd
|
%endif
|
||||||
|
%{_sbindir}/rcchrony*
|
||||||
%{_localstatedir}/adm/fillup-templates/sysconfig.chronyd
|
%{_localstatedir}/adm/fillup-templates/sysconfig.chronyd
|
||||||
%attr(0750,chrony,chrony) %{_localstatedir}/lib/chrony
|
%dir %attr(750,chrony,chrony) %{_localstatedir}/lib/chrony
|
||||||
%attr(0750,chrony,chrony) %{_localstatedir}/log/chrony
|
%ghost %attr(640,chrony,chrony) %{_localstatedir}/lib/chrony/drift
|
||||||
|
%ghost %attr(640,chrony,chrony) %{_localstatedir}/lib/chrony/rtc
|
||||||
|
%dir %attr(750,chrony,chrony) %{_localstatedir}/log/chrony
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
Loading…
x
Reference in New Issue
Block a user