[chrony] add chrony-wait service

Miroslav Lichvar mlichvar at fedoraproject.org
Fri Jun 24 15:38:19 UTC 2011


commit 38c78973b440abf202cb6535466603a66ff0f31f
Author: Miroslav Lichvar <mlichvar at redhat.com>
Date:   Fri Jun 24 16:26:26 2011 +0200

    add chrony-wait service

 chrony-wait.service |   16 ++++++++++++++++
 chrony.spec         |   10 +++++++---
 2 files changed, 23 insertions(+), 3 deletions(-)
---
diff --git a/chrony-wait.service b/chrony-wait.service
new file mode 100644
index 0000000..3958160
--- /dev/null
+++ b/chrony-wait.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=Wait for chrony to synchronize system clock
+After=chronyd.service
+Requires=chronyd.service
+Before=time-sync.target
+Wants=time-sync.target
+
+[Service]
+Type=oneshot
+# Wait up to ~10 minutes for chronyd to synchronize and the remaining
+# clock correction to be less than 0.1 seconds
+ExecStart=/usr/bin/chronyc waitsync 60 0.1
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
diff --git a/chrony.spec b/chrony.spec
index 3a8a8a5..8c202b2 100644
--- a/chrony.spec
+++ b/chrony.spec
@@ -17,6 +17,7 @@ Source5:        chrony.logrotate
 Source6:        timepps.h
 Source7:        chrony.nm-dispatcher
 Source8:        chrony.dhclient
+Source9:        chrony-wait.service
 %{?gitpatch:Patch0: chrony-%{version}-%{gitpatch}.patch.gz}
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
@@ -81,6 +82,8 @@ install -m 755 -p %{SOURCE7} \
         $RPM_BUILD_ROOT%{_sysconfdir}/NetworkManager/dispatcher.d/20-chrony
 install -m 755 -p %{SOURCE8} \
         $RPM_BUILD_ROOT%{_sysconfdir}/dhcp/dhclient.d/chrony.sh
+install -m 644 -p %{SOURCE9} \
+        $RPM_BUILD_ROOT/lib/systemd/system/chrony-wait.service
 
 touch $RPM_BUILD_ROOT%{_localstatedir}/lib/chrony/{drift,rtc}
 
@@ -106,8 +109,9 @@ fi
 
 %preun
 if [ "$1" -eq 0 ]; then
-        /bin/systemctl --no-reload disable chronyd.service &> /dev/null
-        /bin/systemctl stop chronyd.service &> /dev/null
+        /bin/systemctl --no-reload disable \
+                chrony-wait.service chronyd.service &> /dev/null
+        /bin/systemctl stop chrony-wait.service chronyd.service &> /dev/null
         /sbin/install-info --delete %{_infodir}/chrony.info.gz \
                 %{_infodir}/dir &> /dev/null
 fi
@@ -132,7 +136,7 @@ fi
 %{_sbindir}/chronyd
 %{_libexecdir}/chrony-helper
 %{_infodir}/chrony.info*
-/lib/systemd/system/chronyd.service
+/lib/systemd/system/chrony*.service
 %{_mandir}/man[158]/%{name}*.[158]*
 %dir %attr(-,chrony,chrony) %{_localstatedir}/lib/chrony
 %ghost %attr(-,chrony,chrony) %{_localstatedir}/lib/chrony/drift


More information about the scm-commits mailing list