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.

Signed-off-by: Peter A. Bigot <bigotp@acm.org>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
This commit is contained in:
Peter A. Bigot
2012-01-04 02:21:05 +00:00
committed by Koen Kooi
parent dc32361d19
commit 42d6f4f366
5 changed files with 18 additions and 4 deletions
@@ -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
@@ -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
@@ -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
+2 -1
View File
@@ -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"
+3 -1
View File
@@ -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/
}