rpms/chrony/devel chrony-retryres.patch, NONE, 1.1 chrony.dhclient, NONE, 1.1 chrony.nm-dispatcher, NONE, 1.1 .cvsignore, 1.6, 1.7 chrony.conf, 1.2, 1.3 chrony.spec, 1.10, 1.11 chronyd.init, 1.2, 1.3 sources, 1.6, 1.7

Miroslav Lichvar mlichvar at fedoraproject.org
Thu Apr 29 13:50:56 UTC 2010


Author: mlichvar

Update of /cvs/pkgs/rpms/chrony/devel
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv25700

Modified Files:
	.cvsignore chrony.conf chrony.spec chronyd.init sources 
Added Files:
	chrony-retryres.patch chrony.dhclient chrony.nm-dispatcher 
Log Message:
- 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


chrony-retryres.patch:
 cmdparse.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE chrony-retryres.patch ---
diff -up chrony-1.24/cmdparse.c.retryres chrony-1.24/cmdparse.c
--- chrony-1.24/cmdparse.c.retryres	2010-04-29 15:22:23.000000000 +0200
+++ chrony-1.24/cmdparse.c	2010-04-29 15:24:47.000000000 +0200
@@ -68,7 +68,7 @@ CPS_ParseNTPSourceAdd(const char *line, 
     if (s == DNS_Success) {
       ok = 1;
       src->name = NULL;
-    } else if (s == DNS_TryAgain) {
+    } else {
       ok = 1;
       src->ip_addr.family = IPADDR_UNSPEC;
     }


--- NEW FILE chrony.dhclient ---
#!/bin/bash

SERVERFILE=$SAVEDIR/chrony.servers.$interface

chrony_config() {
	rm -f $SERVERFILE
	if [ "$PEERNTP" != "no" ]; then
		/etc/init.d/chronyd command "$(
			for server in $new_ntp_servers; do
				echo "add server $server $NTPSERVERARGS"
				echo "$server $NTPSERVERARGS" >> $SERVERFILE
			done)" &> /dev/null
	fi
}

chrony_restore() {
	if [ -f $SERVERFILE ]; then
		/etc/init.d/chronyd command "$(
			while read server serverargs; do
				echo "delete $server"
			done < $SERVERFILE)" &> /dev/null
		rm -f $SERVERFILE
	fi
}


--- NEW FILE chrony.nm-dispatcher ---
#!/bin/sh

export LC_ALL=C

if [ "$2" = "up" ]; then
	/sbin/ip route list dev "$1" | grep -q '^default' &&
		/etc/init.d/chronyd online
fi

if [ "$2" = "down" ]; then
	/sbin/ip route list | grep -q '^default' ||
		/etc/init.d/chronyd offline
fi

exit 0


Index: .cvsignore
===================================================================
RCS file: /cvs/pkgs/rpms/chrony/devel/.cvsignore,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -p -r1.6 -r1.7
--- .cvsignore	12 Mar 2010 13:35:28 -0000	1.6
+++ .cvsignore	29 Apr 2010 13:50:56 -0000	1.7
@@ -1,3 +1,3 @@
 chrony-1.24.tar.gz
-chrony-1.24-git5fb555.patch.gz
 timepps.h
+chrony-1.24-20100428git73d775.patch.gz


Index: chrony.conf
===================================================================
RCS file: /cvs/pkgs/rpms/chrony/devel/chrony.conf,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- chrony.conf	4 Feb 2010 14:44:42 -0000	1.2
+++ chrony.conf	29 Apr 2010 13:50:56 -0000	1.3
@@ -3,10 +3,13 @@
 server 0.fedora.pool.ntp.org
 server 1.fedora.pool.ntp.org
 server 2.fedora.pool.ntp.org
-initstepslew 100 0.fedora.pool.ntp.org 1.fedora.pool.ntp.org 2.fedora.pool.ntp.org
 
 driftfile /var/lib/chrony/drift
 
+# In first three updates step the system clock instead of slew
+# if the adjustment is larger than 100 seconds.
+makestep 100 3
+
 # Allow client access from local network.
 #allow 192.168/16
 
@@ -21,8 +24,7 @@ commandkey 1
 # Disable logging of client accesses.
 noclientlog
 
-# Send a message to syslog when chronyd has to correct
-# an error larger than 0.5 seconds.
+# Send a message to syslog if a clock adjustment is larger than 0.5 seconds.
 logchange 0.5
 
 logdir /var/log/chrony


Index: chrony.spec
===================================================================
RCS file: /cvs/pkgs/rpms/chrony/devel/chrony.spec,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -p -r1.10 -r1.11
--- chrony.spec	12 Mar 2010 13:47:48 -0000	1.10
+++ chrony.spec	29 Apr 2010 13:50:56 -0000	1.11
@@ -1,6 +1,7 @@
+%define gitpatch 20100428git73d775
 Name:           chrony
 Version:        1.24
-Release:        3.20100302git5fb555%{?dist}
+Release:        4.%{?gitpatch}%{?dist}
 Summary:        An NTP client/server
 
 Group:          System Environment/Daemons
@@ -14,7 +15,10 @@ Source4:        chronyd.init
 Source5:        chrony.logrotate
 # wget -O timepps.h 'http://gitweb.enneenne.com/?p=linuxpps;a=blob_plain;f=Documentation/pps/timepps.h;hb=b895b1a28558b83907c691aad231c41a0d14df88'
 Source6:        timepps.h
-Patch0:         chrony-1.24-git5fb555.patch.gz
+Source7:        chrony.nm-dispatcher
+Source8:        chrony.dhclient
+Patch0:         chrony-%{version}-%{gitpatch}.patch.gz
+Patch1:         chrony-retryres.patch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
 BuildRequires:  libcap-devel libedit-devel bison texinfo
@@ -34,6 +38,9 @@ in permanently connected environments. 
 %setup -q -n %{name}-%{version}%{?prerelease}
 mkdir pps; cp -p %{SOURCE6} pps
 %patch0 -p1
+%patch1 -p1 -b .retryres
+
+%{?gitpatch: echo %{version}-%{gitpatch} > version.txt}
 
 %build
 CFLAGS="$RPM_OPT_FLAGS"
@@ -57,12 +64,18 @@ rm -rf $RPM_BUILD_ROOT%{_docdir}
 
 mkdir -p $RPM_BUILD_ROOT{%{_sysconfdir}/{sysconfig,logrotate.d},%{_initrddir}}
 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
 
 install -m 644 -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/chrony.conf
 install -m 640 -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/chrony.keys
 install -m 644 -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/chronyd
 install -m 755 -p %{SOURCE4} $RPM_BUILD_ROOT%{_initrddir}/chronyd
 install -m 644 -p %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/chrony
+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
 
 touch $RPM_BUILD_ROOT%{_localstatedir}/lib/chrony/{drift,rtc}
 
@@ -98,9 +111,11 @@ fi
 %defattr(-,root,root,-)
 %doc COPYING NEWS README chrony.txt faq.txt examples/*
 %config(noreplace) %{_sysconfdir}/chrony.conf
-%config(noreplace) %attr(640,root,chrony) %{_sysconfdir}/chrony.keys
+%config(noreplace) %verify(not md5 size mtime) %attr(640,root,chrony) %{_sysconfdir}/chrony.keys
 %config(noreplace) %{_sysconfdir}/sysconfig/chronyd
 %config(noreplace) %{_sysconfdir}/logrotate.d/chrony
+%{_sysconfdir}/NetworkManager/dispatcher.d/20-chrony
+%{_sysconfdir}/dhcp/dhclient.d/chrony.sh
 %{_initrddir}/chronyd
 %{_bindir}/chronyc
 %{_sbindir}/chronyd
@@ -112,6 +127,15 @@ fi
 %dir %attr(-,chrony,chrony) %{_localstatedir}/log/chrony
 
 %changelog
+* Thu Apr 29 2010 Miroslav Lichvar <mlichvar at 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 at redhat.com> 1.24-3.20100302git5fb555
 - update to snapshot 20100302git5fb555
 - compile with PPS API support


Index: chronyd.init
===================================================================
RCS file: /cvs/pkgs/rpms/chrony/devel/chronyd.init,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- chronyd.init	17 Jul 2009 12:53:22 -0000	1.2
+++ chronyd.init	29 Apr 2010 13:50:56 -0000	1.3
@@ -28,6 +28,7 @@ prog=chronyd
 config=/etc/chrony.conf
 keyfile=/etc/chrony.keys
 chronyc=/usr/bin/chronyc
+dhclient_servers=/var/lib/dhclient/chrony.servers.*
 
 [ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
 
@@ -54,8 +55,8 @@ $1
 EOF
         chronycpid=$!
 
-        # chronyc will hang if the daemon doesn't respond, kill it after 3 s 
-        (sleep 3; kill $chronycpid) < /dev/null &> /dev/null &
+        # chronyc will hang if the daemon doesn't respond, kill it after 4 s 
+        (sleep 4; kill $chronycpid) < /dev/null &> /dev/null &
         killerpid=$!
 
         wait $chronycpid &> /dev/null
@@ -76,6 +77,18 @@ generate_commandkey() {
     echo
 }
 
+add_dhclient_servers() {
+    command=$(cat $dhclient_servers 2> /dev/null |
+        while read server serverargs; do
+            echo "add server $server $serverargs"
+        done)
+    if [ -n "$command" ]; then
+        echo -n $"Adding dhclient NTP servers to chrony: "
+        chrony_command "$command" &> /dev/null && success || failure
+	echo
+    fi
+}
+
 start() {
     [ "$NETWORKING" = "no" ] && exit 1
     [ -x $exec ] || exit 5
@@ -86,6 +99,7 @@ start() {
     retval=$?
     echo
     [ $retval -eq 0 ] && touch $lockfile
+    [ $retval -eq 0 ] && add_dhclient_servers
     return $retval
 }
 


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/chrony/devel/sources,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -p -r1.6 -r1.7
--- sources	12 Mar 2010 13:35:28 -0000	1.6
+++ sources	29 Apr 2010 13:50:56 -0000	1.7
@@ -1,3 +1,3 @@
 8849e95428f43c5ab2692a2812653e65  chrony-1.24.tar.gz
-96be74d903008f7322e84229df28a0a7  chrony-1.24-git5fb555.patch.gz
 b494eddf72f3455c333eed80642dc20d  timepps.h
+fd084bd4bf10c8fb4208d2a582177dc1  chrony-1.24-20100428git73d775.patch.gz



More information about the scm-commits mailing list