From 09ae35c45f2eda3c14d868a470344bb4eb0ca48a Mon Sep 17 00:00:00 2001 From: "Peter A. Bigot" Date: Wed, 4 Jan 2012 02:21:05 +0000 Subject: [PATCH] ntp: correct systemd EnvironmentFile, add ntpdate service Eliminate EnvironmentFile from systemd unit descriptions. /etc/ntp.conf can't be sourced to set environment variables like NTPD_ARG. Following the rationale at http://0pointer.de/blog/projects/on-etc-sysinit.html it isn't needed anyway; if you don't buy that, it should be: EnvironmentFile=-/etc/default/ntpd Add one-shot ntpdate service which synchronizes local clock prior to starting ntpd (which aborts if the local time is more than 1000 seconds off of the server). "systemctl enable ntpdate.service" not done by default because this would be a behavior change. Correct comment describing how to replace ntpdate (ntpdc doesn't take those arguments). Add comment to ntp.conf pointing out need to remove local hardware clock as a reference when simulating ntpdate. (From meta-openembedded rev: 42d6f4f36696faaf0e526b14bcc6daff51ab943b) Signed-off-by: Peter A. Bigot Signed-off-by: Koen Kooi Signed-off-by: Patrick Ohly --- meta-openembedded/meta-oe/recipes-support/ntp/files/ntp.conf | 1 + .../meta-oe/recipes-support/ntp/files/ntpd.service | 3 +-- .../meta-oe/recipes-support/ntp/files/ntpdate.service | 11 +++++++++++ meta-openembedded/meta-oe/recipes-support/ntp/ntp.inc | 3 ++- meta-openembedded/meta-oe/recipes-support/ntp/ntp_4.2.6p3.bb | 4 +++- 5 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 meta-openembedded/meta-oe/recipes-support/ntp/files/ntpdate.service diff --git a/meta-openembedded/meta-oe/recipes-support/ntp/files/ntp.conf b/meta-openembedded/meta-oe/recipes-support/ntp/files/ntp.conf index 5964828..bf52440 100644 --- a/meta-openembedded/meta-oe/recipes-support/ntp/files/ntp.conf +++ b/meta-openembedded/meta-oe/recipes-support/ntp/files/ntp.conf @@ -7,6 +7,7 @@ driftfile /etc/ntp.drift # as required, or change this. server pool.ntp.org # Using local hardware clock as fallback +# Disable this when using ntpd -q -g -x as ntpdate or it will sync to itself server 127.127.1.0 fudge 127.127.1.0 stratum 14 # Defining a default security setting diff --git a/meta-openembedded/meta-oe/recipes-support/ntp/files/ntpd.service b/meta-openembedded/meta-oe/recipes-support/ntp/files/ntpd.service index 420a056..bd87b1e 100644 --- a/meta-openembedded/meta-oe/recipes-support/ntp/files/ntpd.service +++ b/meta-openembedded/meta-oe/recipes-support/ntp/files/ntpd.service @@ -5,8 +5,7 @@ After=network.target [Service] Type=forking PIDFile=/run/ntpd.pid -EnvironmentFile=/etc/ntp.conf -ExecStart=/usr/bin/ntpd $NTPD_ARGS -p /run/ntpd.pid +ExecStart=/usr/bin/ntpd -p /run/ntpd.pid [Install] WantedBy=multi-user.target diff --git a/meta-openembedded/meta-oe/recipes-support/ntp/files/ntpdate.service b/meta-openembedded/meta-oe/recipes-support/ntp/files/ntpdate.service new file mode 100644 index 0000000..b2bc632 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/ntp/files/ntpdate.service @@ -0,0 +1,11 @@ +[Unit] +Description=Network Time Service (one-shot ntpdate mode) +Before=ntpd.service + +[Service] +Type=oneshot +ExecStart=/usr/bin/ntpd -q -g -x +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/meta-openembedded/meta-oe/recipes-support/ntp/ntp.inc b/meta-openembedded/meta-oe/recipes-support/ntp/ntp.inc index b398b80..1d740f0 100644 --- a/meta-openembedded/meta-oe/recipes-support/ntp/ntp.inc +++ b/meta-openembedded/meta-oe/recipes-support/ntp/ntp.inc @@ -28,7 +28,8 @@ EXTRA_OECONF = "--without-openssl --without-crypto ac_cv_header_readline_history CFLAGS_append = " -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED" PACKAGES += "ntpdate ${PN}-bin ${PN}-tickadj ${PN}-utils" -# NOTE: you don't need ntpdate, use "ntpdc -q -g -x" +# NOTE: you don't need ntpdate, use "ntpd -q -g -x" +# or the ntpdate systemd service # This should use rc.update FILES_ntpdate = "${bindir}/ntpdate ${sysconfdir}/init.d/ntpdate" diff --git a/meta-openembedded/meta-oe/recipes-support/ntp/ntp_4.2.6p3.bb b/meta-openembedded/meta-oe/recipes-support/ntp/ntp_4.2.6p3.bb index e2bb1a8..063d82a 100644 --- a/meta-openembedded/meta-oe/recipes-support/ntp/ntp_4.2.6p3.bb +++ b/meta-openembedded/meta-oe/recipes-support/ntp/ntp_4.2.6p3.bb @@ -1,6 +1,6 @@ require ntp.inc -PR = "r3" +PR = "r4" inherit systemd @@ -13,6 +13,7 @@ SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/${P}.tar.gz \ file://ntpd \ file://ntp.conf \ file://ntpdate \ + file://ntpdate.service \ file://ntpd.service \ " @@ -29,6 +30,7 @@ do_install_append() { install -m 755 ${WORKDIR}/ntpdate ${D}/${sysconfdir}/network/if-up.d install -d ${D}${base_libdir}/systemd/system + install -m 0644 ${WORKDIR}/ntpdate.service ${D}${base_libdir}/systemd/system/ install -m 0644 ${WORKDIR}/ntpd.service ${D}${base_libdir}/systemd/system/ } -- 2.7.4