summaryrefslogtreecommitdiff
path: root/recipes-support/ntp/files/ntpd-init.patch
diff options
context:
space:
mode:
authorJeff Hatch <Jeff.Hatch@multitech.com>2017-02-06 12:37:20 -0600
committerJeff Hatch <Jeff.Hatch@multitech.com>2017-02-06 12:37:20 -0600
commit6bdd50dcac87ffcc6e62bf429cd7162208fdbdf3 (patch)
treeec369d7ecac409246ac7a790b2e1b6485993114e /recipes-support/ntp/files/ntpd-init.patch
parentc0869201d08e4c0a2a1d5931e34b392ab54572d0 (diff)
parent0dd115625c6e0d57796cb43e22513dab1577bb80 (diff)
downloadmeta-mlinux-6bdd50dcac87ffcc6e62bf429cd7162208fdbdf3.tar.gz
meta-mlinux-6bdd50dcac87ffcc6e62bf429cd7162208fdbdf3.tar.bz2
meta-mlinux-6bdd50dcac87ffcc6e62bf429cd7162208fdbdf3.zip
Merge branch 'master' of gitlab.multitech.net:mirrors/meta-mlinux
Diffstat (limited to 'recipes-support/ntp/files/ntpd-init.patch')
-rw-r--r--recipes-support/ntp/files/ntpd-init.patch41
1 files changed, 25 insertions, 16 deletions
diff --git a/recipes-support/ntp/files/ntpd-init.patch b/recipes-support/ntp/files/ntpd-init.patch
index 41c7549..2ef7e0b 100644
--- a/recipes-support/ntp/files/ntpd-init.patch
+++ b/recipes-support/ntp/files/ntpd-init.patch
@@ -1,6 +1,6 @@
diff -Naur old/ntpd new/ntpd
---- old/ntpd 2017-01-17 16:26:47.427368196 -0600
-+++ new/ntpd 2017-01-20 16:26:52.154738981 -0600
+--- old/ntpd 2017-02-06 09:21:52.607908299 -0600
++++ new/ntpd 2017-02-06 09:22:52.417169090 -0600
@@ -1,6 +1,8 @@
-#! /bin/sh
+#! /bin/bash
@@ -11,7 +11,7 @@ diff -Naur old/ntpd new/ntpd
# ntpd init.d script for ntpdc from ntp.isc.org
test -x /usr/sbin/ntpd -a -r /etc/ntp.conf || exit 0
-@@ -18,13 +20,32 @@
+@@ -18,13 +20,29 @@
}
}
startdaemon(){
@@ -24,43 +24,52 @@ diff -Naur old/ntpd new/ntpd
- echo "done"
+ /usr/sbin/start-stop-daemon -N -20 --start -x /usr/sbin/ntpd --test -- -u ntp:ntp -p /var/run/ntp.pid "$@" \
+ || return 1
-+ if ((GPSD_REQUIRED == 1)) && [[ -L /dev/gps0 ]] && [[ -f "${GNSSRST}" ]]; then
++ if [[ -x /usr/sbin/gpsd_ubx_settime ]] && ((GPSD_REQUIRED == 1)) && [[ -L /dev/gps0 ]] && [[ -f "${GNSSRST}" ]]; then
+ . /etc/default/gpsd
-+ # Could not get ntpd -gq to work with the GPS.
-+ # So read the GPS time directly and set the system
-+ # clock.
+ if ((SET_SYSTEM_CLOCK == 1)) && /usr/sbin/gpsd_ubx_settime ; then
-+ # System time set by the GPS.
++ # We just set the system time by the GPS. Should be within 2 seconds.
++ # Now that we are close to the correct system time, we
++ # use the ntpd one shot option to get to less than
++ # 250mS error so that we don't waste time adjusting the clock.
++ /usr/sbin/ntpd -gq
+ /usr/sbin/start-stop-daemon -N -20 --start -x /usr/sbin/ntpd -- -u ntp:ntp -p /var/run/ntp.pid "$@"
+ else
-+ # Need a GPS fix before startint ntp.
++ # Need a GPS fix before startint ntp. Try again later.
+ /usr/sbin/start-stop-daemon -b -n z1e9d3qb -N -20 --start -x /bin/bash -- -c "sleep $GPSD_WAIT_TIME;/etc/init.d/ntpd start"
+ fi
+ else
+ if ((SET_SYSTEM_CLOCK == 1)) ; then
++ # Sets the clock and exits.
+ ntpd -gq
+ shift
+ fi
-+
-+ # The -g option allows ntpd to step the time to correct it just
-+ # once. The daemon will exit if the clock drifts too much after
-+ # this. If ntpd seems to disappear after a while assume TICKADJ
-+ # above is set to a totally incorrect value.
+ /usr/sbin/start-stop-daemon -N -20 --start -x /usr/sbin/ntpd -- -u ntp:ntp -p /var/run/ntp.pid "$@"
+ fi
}
stopdaemon(){
echo -n "Stopping ntpd: "
-@@ -34,24 +55,27 @@
+@@ -34,24 +52,38 @@
case "$1" in
start)
- settick
+- startdaemon -g
+ if ! [[ $ENABLED =~ ^[yY][eE][sS]$ ]] ; then
+ exit 0
+ fi
++ if [[ -n "$CONFIGFILE" ]] ; then
++ CONFIGOPT="-c ${CONFIGFILE}"
++ STATSDIR=$(grep "^statsdir" ${CONFIGFILE} | sed -r 's/[^[:space:]]+[[:space:]]//')
++ if ((${#STATSDIR} > 0)) && ! [[ -d ${STATSDIR} ]] ; then
++ echo Make ${STATSDIR}
++ mkdir -m 0755 -p ${STATSDIR}
++ fi
++ if [[ -d ${STATSDIR} ]] ; then
++ chown ntp:ntp ${STATSDIR} >/dev/null 2>&1
++ fi
++ fi
+ settick
- startdaemon -g
++ startdaemon -g $CONFIGOPT
;;
stop)
- stopdaemon