From 9b1fb433be2e59e7bae796d7a9e5805cf72b1345 Mon Sep 17 00:00:00 2001 From: John Klug Date: Mon, 18 Mar 2019 11:45:42 -0500 Subject: Don't use ublox only scripts, and use capability flags for gps availability test --- recipes-support/ntp/files/ntpd-init.patch | 137 +----------------------------- recipes-support/ntp/ntp_%.bbappend | 2 +- 2 files changed, 5 insertions(+), 134 deletions(-) (limited to 'recipes-support') diff --git a/recipes-support/ntp/files/ntpd-init.patch b/recipes-support/ntp/files/ntpd-init.patch index e7667bc..e3107e1 100644 --- a/recipes-support/ntp/files/ntpd-init.patch +++ b/recipes-support/ntp/files/ntpd-init.patch @@ -1,135 +1,6 @@ -diff -Naru orig/mtadm@pand: new/mtadm@pand: ---- orig/mtadm@pand: 1969-12-31 18:00:00.000000000 -0600 -+++ new/mtadm@pand: 2018-02-26 11:36:57.317460809 -0600 -@@ -0,0 +1,125 @@ -+#! /bin/bash -+ -+### BEGIN INIT INFO -+# Provides: ntp -+# Required-Start: $network $remote_fs $syslog -+# Required-Stop: $network $remote_fs $syslog -+# Default-Start: 2 3 4 5 -+# Default-Stop: -+# Short-Description: Start NTP daemon -+### END INIT INFO -+ -+. /etc/default/ntpd -+PATH=/sbin:/bin:/usr/bin:/usr/sbin -+GNSSRST=/sys/devices/platform/mts-io/gnss-reset -+ -+DAEMON=/usr/sbin/ntpd -+PIDFILE=/var/run/ntpd.pid -+ -+# ntpd init.d script for ntpdc from ntp.isc.org -+test -x $DAEMON -a -r /etc/ntp.conf || exit 0 -+ -+# rcS contains TICKADJ -+test -r /etc/default/rcS && . /etc/default/rcS -+ -+# Source function library. -+. /etc/init.d/functions -+ -+# Functions to do individual actions -+settick(){ -+ # If TICKADJ is set we *must* adjust it before we start, because the -+ # driftfile relies on the correct setting -+ test -n "$TICKADJ" -a -x /usr/sbin/tickadj && { -+ echo -n "Setting tick to $TICKADJ: " -+ /usr/sbin/tickadj "$TICKADJ" -+ echo "done" -+ } -+} -+startdaemon(){ -+ /usr/sbin/start-stop-daemon -N -20 --start -x /usr/sbin/ntpd --test -- -u ntp:ntp -p /var/run/ntp.pid "$@" \ -+ || return 1 -+ if [[ -x /usr/sbin/gpsd_ubx_settime ]] && ((GPSD_REQUIRED == 1)) && [[ -L /dev/gps0 ]] && [[ -f "${GNSSRST}" ]]; then -+ . /etc/default/gpsd -+ [[ ${VERBOSE} != no ]] && logger -t 'etc_ntpd' -p daemon.info 'Have a GPS and it is required' -+ if ((SET_SYSTEM_CLOCK == 1)) && /usr/sbin/gpsd_ubx_settime ; then -+ [[ ${VERBOSE} != no ]] && logger -t 'etc_ntpd' -p daemon.info 'Need to set the time next with ntpd' -+ # 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 -+ start-stop-daemon -N -20 --start --quiet --oknodo --pidfile $PIDFILE --startas $DAEMON -- -u ntp:ntp -p $PIDFILE "$@" -+ else -+ [[ ${VERBOSE} != no ]] && logger -t 'etc_ntpd' -p daemon.info 'Clock not set, try later' -+ # 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 -+ # 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. -+ if ((SET_SYSTEM_CLOCK == 1)) ; then -+ # Sets the clock and exits. -+ ntpd -gq -+ shift -+ fi -+ echo -n "Starting ntpd: " -+ start-stop-daemon -N -20 --start --quiet --oknodo --pidfile $PIDFILE --startas $DAEMON -- -u ntp:ntp -p $PIDFILE "$@" -+ echo "done" -+ fi -+} -+stopdaemon(){ -+ echo -n "Stopping ntpd: " -+ start-stop-daemon --stop --quiet --oknodo -p $PIDFILE -+ echo "done" -+} -+ -+case "$1" in -+ start) -+ 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 $CONFIGOPT -+ ;; -+ stop) -+ stopdaemon -+ ;; -+ force-reload) -+ stopdaemon -+ settick -+ startdaemon -g -+ ;; -+ restart) -+ # Don't reset the tick here -+ stopdaemon -+ startdaemon -g -+ ;; -+ reload) -+ # Must do this by hand, but don't do -g -+ stopdaemon -+ startdaemon -+ ;; -+ status) -+ status /usr/sbin/ntpd; -+ exit $? -+ ;; -+ *) -+ echo "Usage: ntpd { start | stop | status | restart | reload }" >&2 -+ exit 1 -+ ;; -+esac -+ -+exit 0 diff -Naru orig/ntpd new/ntpd ---- orig/ntpd 2018-02-26 09:29:21.561687456 -0600 -+++ new/ntpd 2018-02-26 12:10:07.113401901 -0600 +--- orig/ntpd 2019-03-18 10:49:41.255374972 -0500 ++++ new/ntpd 2019-03-18 11:36:56.635291031 -0500 @@ -1,4 +1,4 @@ -#! /bin/sh +#! /bin/bash @@ -159,10 +30,10 @@ diff -Naru orig/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 [[ -x /usr/sbin/gpsd_ubx_settime ]] && ((GPSD_REQUIRED == 1)) && [[ -L /dev/gps0 ]] && [[ -f "${GNSSRST}" ]]; then ++ if [[ -x /usr/sbin/gpsd_settime ]] && ((GPSD_REQUIRED == 1)) && (( $(/usr/sbin/mts-io-sysfs show capability/gps) == 1 )) && [[ -f "${GNSSRST}" ]]; then + . /etc/default/gpsd + [[ ${VERBOSE} != no ]] && logger -t 'etc_ntpd' -p daemon.info 'Have a GPS and it is required' -+ if ((SET_SYSTEM_CLOCK == 1)) && /usr/sbin/gpsd_ubx_settime ; then ++ if ((SET_SYSTEM_CLOCK == 1)) && /usr/sbin/gpsd_settime ; then + [[ ${VERBOSE} != no ]] && logger -t 'etc_ntpd' -p daemon.info 'Need to set the time next with ntpd' + # 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 diff --git a/recipes-support/ntp/ntp_%.bbappend b/recipes-support/ntp/ntp_%.bbappend index d14a5cf..c69eff0 100644 --- a/recipes-support/ntp/ntp_%.bbappend +++ b/recipes-support/ntp/ntp_%.bbappend @@ -1,4 +1,4 @@ -PR .= ".mlinux4" +PR .= ".mlinux5" SRC_URI += " file://ntpd-default \ file://ntp.conf.patch;patchdir=.. \ -- cgit v1.2.3