diff options
author | Jeff Hatch <Jeff.Hatch@multitech.com> | 2017-02-06 12:37:20 -0600 |
---|---|---|
committer | Jeff Hatch <Jeff.Hatch@multitech.com> | 2017-02-06 12:37:20 -0600 |
commit | 6bdd50dcac87ffcc6e62bf429cd7162208fdbdf3 (patch) | |
tree | ec369d7ecac409246ac7a790b2e1b6485993114e | |
parent | c0869201d08e4c0a2a1d5931e34b392ab54572d0 (diff) | |
parent | 0dd115625c6e0d57796cb43e22513dab1577bb80 (diff) | |
download | meta-mlinux-6bdd50dcac87ffcc6e62bf429cd7162208fdbdf3.tar.gz meta-mlinux-6bdd50dcac87ffcc6e62bf429cd7162208fdbdf3.tar.bz2 meta-mlinux-6bdd50dcac87ffcc6e62bf429cd7162208fdbdf3.zip |
Merge branch 'master' of gitlab.multitech.net:mirrors/meta-mlinux
-rw-r--r-- | recipes-support/ntp/files/ntp.conf.patch | 23 | ||||
-rw-r--r-- | recipes-support/ntp/files/ntpd-default | 2 | ||||
-rw-r--r-- | recipes-support/ntp/files/ntpd-init.patch | 41 | ||||
-rw-r--r-- | recipes-support/ntp/ntp_4.2.6p5.bbappend | 25 |
4 files changed, 40 insertions, 51 deletions
diff --git a/recipes-support/ntp/files/ntp.conf.patch b/recipes-support/ntp/files/ntp.conf.patch index 2d0fdd8..bb1dcfe 100644 --- a/recipes-support/ntp/files/ntp.conf.patch +++ b/recipes-support/ntp/files/ntp.conf.patch @@ -1,7 +1,7 @@ diff -Naur old/ntp.conf new/ntp.conf ---- old/ntp.conf 2017-02-01 12:51:59.766760466 -0600 -+++ new/ntp.conf 2017-02-01 14:46:23.005239689 -0600 -@@ -1,16 +1,58 @@ +--- old/ntp.conf 2017-02-02 19:09:54.524791189 -0600 ++++ new/ntp.conf 2017-02-02 19:06:41.744669788 -0600 +@@ -1,16 +1,47 @@ -# This is the most basic ntp configuration file # The driftfile must remain in a place specific to this # machine - it records the machine specific clock error @@ -11,6 +11,9 @@ diff -Naur old/ntp.conf new/ntp.conf + +# The following code is for evaluating the timeserver. +# Remove the # to activate the statistics ++# statsdir must start in column 1 for the initscript to ++# create the directory, in case it is volatile. ++# +# statistics loopstats +# statistics peerstats +# statsdir /var/log/ntpstats @@ -36,24 +39,10 @@ diff -Naur old/ntp.conf new/ntp.conf + +# GPS Serial data reference (NTP0) +# This sets the GPS 50 milliseconds slower than the PPS. -+# "true" says we don't trust the system clock. -+# If we are depending on the GPS for timing, -+# we don't want ntp to mark the GPS as a falseticker -+# because of a performance issue. -+# If the GPS is marked as a false ticker -+# due to a bad timestamp from the system -+# clock (possibly because the system was -+# too busy to process an interrupt), -+# the GPS will be ignored, and if we are -+# depending on the GPS for leap second, it -+# will not happen. +server 127.127.28.0 true +fudge 127.127.28.0 time1 0.050 refid GPS + +# GPS PPS reference (NTP2) -+# If we are depending on the PPS for timing, -+# we don't want ntp to mark the PPS as a falseticker -+# because of a performance issue. +server 127.127.28.2 prefer true +fudge 127.127.28.2 time1 0.000 refid PPS + diff --git a/recipes-support/ntp/files/ntpd-default b/recipes-support/ntp/files/ntpd-default index 65e2119..ed7a6ec 100644 --- a/recipes-support/ntp/files/ntpd-default +++ b/recipes-support/ntp/files/ntpd-default @@ -1,5 +1,7 @@ ENABLED="yes" +CONFIGFILE=/etc/ntp.conf + # The GPSD_* parameters in this file are ignored # if the uBlox GPS is not present. 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 diff --git a/recipes-support/ntp/ntp_4.2.6p5.bbappend b/recipes-support/ntp/ntp_4.2.6p5.bbappend index a72f7bd..8460fda 100644 --- a/recipes-support/ntp/ntp_4.2.6p5.bbappend +++ b/recipes-support/ntp/ntp_4.2.6p5.bbappend @@ -10,29 +10,18 @@ FILESEXTRAPATHS_prepend := "${THISDIR}/files" python do_patch_prepend () { import os } -pkg_postinst_${PN} () { - sdir=/var/log/ntpstats - if ! [[ -d ${sdir} ]] ; then - mkdir -p ${sdir} - fi - chown ntp:ntp ${sdir} - chmod 775 ${sdir} - drdir=/var/lib/ntp - if ! [[ -d ${drdir} ]] ; then - mkdir -p ${drdir} - fi +do_install_append() { + install -d ${D}${sysconfdir}/default + install -m 0644 ${WORKDIR}/ntpd-default ${D}${sysconfdir}/default/ntpd.default + + drdir=${D}${localstatedir}/lib/ntp + install -d -m 0755 -p ${drdir} drfile="${drdir}/ntp.drift" touch ${drfile} chmod 664 ${drfile} chown -R ntp:ntp ${drdir} } - - -do_install_prepend() { - install -d ${D}${sysconfdir}/default - install -m 0644 ${WORKDIR}/ntpd-default ${D}${sysconfdir}/default/ntpd.default -} pkg_postinst_${PN}_append() { update-alternatives --install ${sysconfdir}/default/ntpd ntpd-defaults ${sysconfdir}/default/ntpd.default 10 } @@ -40,5 +29,5 @@ pkg_postinst_${PN}_append() { pkg_postrm_${PN}_append() { update-alternatives --remove ntpd-defaults ${sysconfdir}/default/ntpd.default } -FILES_${PN} += "${sysconfdir}/default/ntpd.default" +FILES_${PN} += "${sysconfdir}/default/ntpd.default ${localstatedir}/lib/*" CONFFILES_${PN} += "${sysconfdir}/default/ntpd.default" |