aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/ntp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2009-11-03 17:20:53 +0100
committerJeremy Lainé <jeremy.laine@m4x.org>2009-11-03 17:20:53 +0100
commitd62c9c524449adadd7af3bc76f1230e227b5b0c6 (patch)
tree8fd907e21dfad9b1483416f362d772401c55bbae /recipes/ntp
parentaf05f65b38bc442c370637210e78975517e71f44 (diff)
downloadopenembedded-d62c9c524449adadd7af3bc76f1230e227b5b0c6.tar.gz
openembedded-d62c9c524449adadd7af3bc76f1230e227b5b0c6.tar.bz2
openembedded-d62c9c524449adadd7af3bc76f1230e227b5b0c6.zip
ntp-4.2.4p7: invoke ntpdate using if-up.d, not an init script
* provide an if-up.d script for ntpdate (based on Debian's) * remove invocation of update-rc.d busybox-cron, this should definitely not be part of the ntpdate package
Diffstat (limited to 'recipes/ntp')
-rwxr-xr-xrecipes/ntp/ntp-4.2.4p7/ntpdate45
-rw-r--r--recipes/ntp/ntp_4.2.4p7.bb10
2 files changed, 50 insertions, 5 deletions
diff --git a/recipes/ntp/ntp-4.2.4p7/ntpdate b/recipes/ntp/ntp-4.2.4p7/ntpdate
new file mode 100755
index 0000000000..5b139ed1ed
--- /dev/null
+++ b/recipes/ntp/ntp-4.2.4p7/ntpdate
@@ -0,0 +1,45 @@
+#!/bin/sh
+
+PATH=/sbin:/bin:/usr/bin
+
+test -x /usr/bin/ntpdate || exit 0
+
+if test -f /etc/default/ntpdate ; then
+. /etc/default/ntpdate
+else
+NTPSERVERS="pool.ntp.org"
+fi
+
+test -n "$NTPSERVERS" || exit 0
+
+# This is a heuristic: The idea is that if a static interface is brought
+# up, that is a major event, and we can put in some extra effort to fix
+# the system time. Feel free to change this, especially if you regularly
+# bring up new network interfaces.
+if [ "$METHOD" = static ]; then
+ OPTS="-b"
+fi
+
+if [ "$METHOD" = loopback ]; then
+ exit 0
+fi
+
+(
+
+LOCKFILE=/var/lock/ntpdate
+
+# Avoid running more than one at a time
+if [ -x /usr/bin/lockfile-create ]; then
+ lockfile-create $LOCKFILE
+ lockfile-touch $LOCKFILE &
+ LOCKTOUCHPID="$!"
+fi
+
+/usr/bin/ntpdate -s $OPTS $NTPSERVERS 2>/dev/null || :
+
+if [ -x /usr/bin/lockfile-create ] ; then
+ kill $LOCKTOUCHPID
+ lockfile-remove $LOCKFILE
+fi
+
+) &
diff --git a/recipes/ntp/ntp_4.2.4p7.bb b/recipes/ntp/ntp_4.2.4p7.bb
index 5e24e8adb1..4109c40c29 100644
--- a/recipes/ntp/ntp_4.2.4p7.bb
+++ b/recipes/ntp/ntp_4.2.4p7.bb
@@ -1,6 +1,6 @@
require ntp.inc
-PR = "r0"
+PR = "r1"
SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/${P}.tar.gz \
file://tickadj.c.patch;patch=1 \
@@ -17,24 +17,24 @@ FILES_${PN}-bin = "${bindir}/ntp-wait ${bindir}/ntpdc ${bindir}/ntpq ${bindir}/n
FILES_${PN} = "${bindir}/ntpd ${sysconfdir}/ntp.conf ${sysconfdir}/init.d/ntpd"
FILES_${PN}-tickadj = "${bindir}/tickadj"
FILES_ntp-utils = "${bindir}/*"
+FILES_ntpdate = "${bindir}/ntpdate ${sysconfdir}/network/if-up.d/ntpdate"
do_install_append() {
install -d ${D}/${sysconfdir}/init.d
install -m 644 ${WORKDIR}/ntp.conf ${D}/${sysconfdir}
- install -m 755 ${WORKDIR}/ntpdate ${D}/${sysconfdir}/init.d
install -m 755 ${WORKDIR}/ntpd ${D}/${sysconfdir}/init.d
+ install -d ${D}/${sysconfdir}/network/if-up.d
+ install -m 755 ${WORKDIR}/ntpdate ${D}/${sysconfdir}/network/if-up.d
}
pkg_postinst_ntpdate() {
if test "x$D" != "x"; then
exit 1
else
- if ! grep -q ntpdate /etc/cron/crontabs/root; then
+ if ! grep -q -s ntpdate /etc/cron/crontabs/root; then
echo "adding crontab"
test -d /etc/cron/crontabs || mkdir -p /etc/cron/crontabs
echo "30 * * * * /usr/bin/ntpdate -s -u pool.ntp.org" >> /etc/cron/crontabs/root
fi
- update-rc.d -s busybox-cron defaults
- update-rc.d -s ntpdate defaults 30
fi
}