summaryrefslogtreecommitdiffstats
path: root/meta/recipes-support/ntp
diff options
context:
space:
mode:
authorTudor Florea <tudor.florea@enea.com>2015-10-09 22:59:03 +0200
committerTudor Florea <tudor.florea@enea.com>2015-10-09 22:59:03 +0200
commit972dcfcdbfe75dcfeb777150c136576cf1a71e99 (patch)
tree97a61cd7e293d7ae9d56ef7ed0f81253365bb026 /meta/recipes-support/ntp
downloadpoky-972dcfcdbfe75dcfeb777150c136576cf1a71e99.tar.gz
initial commit for Enea Linux 5.0 arm
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'meta/recipes-support/ntp')
-rw-r--r--meta/recipes-support/ntp/files/ntp-4.2.4_p6-nano.patch17
-rw-r--r--meta/recipes-support/ntp/files/ntp.conf14
-rwxr-xr-xmeta/recipes-support/ntp/files/ntpd62
-rwxr-xr-xmeta/recipes-support/ntp/files/ntpdate54
-rw-r--r--meta/recipes-support/ntp/files/ntpdate.default7
-rw-r--r--meta/recipes-support/ntp/files/openssl-check.patch59
-rw-r--r--meta/recipes-support/ntp/files/tickadj.c.patch32
-rw-r--r--meta/recipes-support/ntp/ntp.inc93
-rw-r--r--meta/recipes-support/ntp/ntp_4.2.6p5.bb7
9 files changed, 345 insertions, 0 deletions
diff --git a/meta/recipes-support/ntp/files/ntp-4.2.4_p6-nano.patch b/meta/recipes-support/ntp/files/ntp-4.2.4_p6-nano.patch
new file mode 100644
index 0000000000..cb1e2f7341
--- /dev/null
+++ b/meta/recipes-support/ntp/files/ntp-4.2.4_p6-nano.patch
@@ -0,0 +1,17 @@
1--- a/include/ntp_syscall.h.orig 2009-05-19 16:44:55.048156467 -0400
2+++ b/include/ntp_syscall.h 2009-05-19 16:46:19.293323686 -0400
3@@ -14,6 +14,14 @@
4 # include <sys/timex.h>
5 #endif
6
7+#if defined(ADJ_NANO) && !defined(MOD_NANO)
8+#define MOD_NANO ADJ_NANO
9+#endif
10+
11+#if defined(ADJ_TAI) && !defined(MOD_TAI)
12+#define MOD_TAI ADJ_TAI
13+#endif
14+
15 #ifndef NTP_SYSCALLS_LIBC
16 #ifdef NTP_SYSCALLS_STD
17 # define ntp_adjtime(t) syscall(SYS_ntp_adjtime, (t))
diff --git a/meta/recipes-support/ntp/files/ntp.conf b/meta/recipes-support/ntp/files/ntp.conf
new file mode 100644
index 0000000000..a9cc838450
--- /dev/null
+++ b/meta/recipes-support/ntp/files/ntp.conf
@@ -0,0 +1,14 @@
1# This is the most basic ntp configuration file
2# The driftfile must remain in a place specific to this
3# machine - it records the machine specific clock error
4driftfile /etc/ntp.drift
5# This obtains a random server which will be close
6# (in IP terms) to the machine. Add other servers
7# as required, or change this.
8server time.server.example.com
9# Using local hardware clock as fallback
10# Disable this when using ntpd -q -g -x as ntpdate or it will sync to itself
11server 127.127.1.0
12fudge 127.127.1.0 stratum 14
13# Defining a default security setting
14restrict default
diff --git a/meta/recipes-support/ntp/files/ntpd b/meta/recipes-support/ntp/files/ntpd
new file mode 100755
index 0000000000..ae50f135d0
--- /dev/null
+++ b/meta/recipes-support/ntp/files/ntpd
@@ -0,0 +1,62 @@
1#! /bin/sh
2#
3# ntpd init.d script for ntpdc from ntp.isc.org
4test -x /usr/bin/ntpd -a -r /etc/ntp.conf || exit 0
5# rcS contains TICKADJ
6test -r /etc/default/rcS && . /etc/default/rcS
7
8# Functions to do individual actions
9settick(){
10 # If TICKADJ is set we *must* adjust it before we start, because the
11 # driftfile relies on the correct setting
12 test -n "$TICKADJ" -a -x /usr/bin/tickadj && {
13 echo -n "Setting tick to $TICKADJ: "
14 /usr/bin/tickadj "$TICKADJ"
15 echo "done"
16 }
17}
18startdaemon(){
19 # The -g option allows ntpd to step the time to correct it just
20 # once. The daemon will exit if the clock drifts too much after
21 # this. If ntpd seems to disappear after a while assume TICKADJ
22 # above is set to a totally incorrect value.
23 echo -n "Starting ntpd: "
24 start-stop-daemon --start -x /usr/bin/ntpd -- -p /var/run/ntp.pid "$@"
25 echo "done"
26}
27stopdaemon(){
28 echo -n "Stopping ntpd: "
29 start-stop-daemon --stop -p /var/run/ntp.pid
30 echo "done"
31}
32
33case "$1" in
34 start)
35 settick
36 startdaemon -g
37 ;;
38 stop)
39 stopdaemon
40 ;;
41 force-reload)
42 stopdaemon
43 settick
44 startdaemon -g
45 ;;
46 restart)
47 # Don't reset the tick here
48 stopdaemon
49 startdaemon -g
50 ;;
51 reload)
52 # Must do this by hand, but don't do -g
53 stopdaemon
54 startdaemon
55 ;;
56 *)
57 echo "Usage: ntpd { start | stop | restart | reload }" >&2
58 exit 1
59 ;;
60esac
61
62exit 0
diff --git a/meta/recipes-support/ntp/files/ntpdate b/meta/recipes-support/ntp/files/ntpdate
new file mode 100755
index 0000000000..ab0551c5a5
--- /dev/null
+++ b/meta/recipes-support/ntp/files/ntpdate
@@ -0,0 +1,54 @@
1#!/bin/sh
2
3PATH=/sbin:/bin:/usr/bin
4
5test -x /usr/bin/ntpdate || exit 0
6
7if test -f /etc/default/ntpdate ; then
8. /etc/default/ntpdate
9fi
10
11if [ "$NTPSERVERS" = "" ] ; then
12 if [ "$METHOD" = "" -a "$1" != "silent" ] ; then
13 echo "Please set NTPSERVERS in /etc/default/ntpdate"
14 exit 1
15 else
16 exit 0
17 fi
18fi
19
20# This is a heuristic: The idea is that if a static interface is brought
21# up, that is a major event, and we can put in some extra effort to fix
22# the system time. Feel free to change this, especially if you regularly
23# bring up new network interfaces.
24if [ "$METHOD" = static ]; then
25 OPTS="-b"
26fi
27
28if [ "$METHOD" = loopback ]; then
29 exit 0
30fi
31
32(
33
34LOCKFILE=/var/lock/ntpdate
35
36# Avoid running more than one at a time
37if [ -x /usr/bin/lockfile-create ]; then
38 lockfile-create $LOCKFILE
39 lockfile-touch $LOCKFILE &
40 LOCKTOUCHPID="$!"
41fi
42
43if /usr/bin/ntpdate -s $OPTS $NTPSERVERS 2>/dev/null; then
44 if [ "$UPDATE_HWCLOCK" = "yes" ]; then
45 hwclock --systohc || :
46 fi
47fi
48
49if [ -x /usr/bin/lockfile-create ] ; then
50 kill $LOCKTOUCHPID
51 lockfile-remove $LOCKFILE
52fi
53
54) &
diff --git a/meta/recipes-support/ntp/files/ntpdate.default b/meta/recipes-support/ntp/files/ntpdate.default
new file mode 100644
index 0000000000..486b6e07d3
--- /dev/null
+++ b/meta/recipes-support/ntp/files/ntpdate.default
@@ -0,0 +1,7 @@
1# Configuration script used by ntpdate-sync script
2
3NTPSERVERS=""
4
5# Set to "yes" to write time to hardware clock on success
6UPDATE_HWCLOCK="no"
7
diff --git a/meta/recipes-support/ntp/files/openssl-check.patch b/meta/recipes-support/ntp/files/openssl-check.patch
new file mode 100644
index 0000000000..8b4a6733cd
--- /dev/null
+++ b/meta/recipes-support/ntp/files/openssl-check.patch
@@ -0,0 +1,59 @@
1Hack OpenSSL check to work when libssl and libcrypto aren't in same dir
2
3Upstream-Status: Inappropriate [config]
4
5Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
6---
7 configure | 4 ++--
8 m4/ntp_openssl.m4 | 4 ++--
9 sntp/configure | 4 ++--
10 3 files changed, 6 insertions(+), 6 deletions(-)
11
12diff --git a/configure b/configure
13index aae2c01..6a3c15e 100755
14--- a/configure
15+++ b/configure
16@@ -22868,8 +22868,8 @@ case "$ans" in
17 test -f $i/libcrypto.dylib -a -f $i/libssl.dylib && break
18 ;;
19 *)
20- test -f $i/libcrypto.so -a -f $i/libssl.so && break
21- test -f $i/libcrypto.a -a -f $i/libssl.a && break
22+ test -f $i/libssl.so && break
23+ test -f $i/libssl.a && break
24 ;;
25 esac
26 done
27diff --git a/m4/ntp_openssl.m4 b/m4/ntp_openssl.m4
28index 7d9f477..67bdd55 100644
29--- a/m4/ntp_openssl.m4
30+++ b/m4/ntp_openssl.m4
31@@ -41,8 +41,8 @@ case "$ans" in
32 test -f $i/libcrypto.dylib -a -f $i/libssl.dylib && break
33 ;;
34 *)
35- test -f $i/libcrypto.so -a -f $i/libssl.so && break
36- test -f $i/libcrypto.a -a -f $i/libssl.a && break
37+ test -f $i/libssl.so && break
38+ test -f $i/libssl.a && break
39 ;;
40 esac
41 done
42diff --git a/sntp/configure b/sntp/configure
43index 7782c29..55e82d9 100755
44--- a/sntp/configure
45+++ b/sntp/configure
46@@ -14810,8 +14810,8 @@ case "$ans" in
47 test -f $i/libcrypto.dylib -a -f $i/libssl.dylib && break
48 ;;
49 *)
50- test -f $i/libcrypto.so -a -f $i/libssl.so && break
51- test -f $i/libcrypto.a -a -f $i/libssl.a && break
52+ test -f $i/libssl.so && break
53+ test -f $i/libssl.a && break
54 ;;
55 esac
56 done
57--
581.7.1
59
diff --git a/meta/recipes-support/ntp/files/tickadj.c.patch b/meta/recipes-support/ntp/files/tickadj.c.patch
new file mode 100644
index 0000000000..9ef9de9e1f
--- /dev/null
+++ b/meta/recipes-support/ntp/files/tickadj.c.patch
@@ -0,0 +1,32 @@
1Index: ntp-4.2.2p3-r0/ntp-4.2.2p3/util/tickadj.c
2===================================================================
3--- ntp-4.2.2p3/util/tickadj.c 2004-02-25 06:58:33.000000000 +0100
4+++ ntp-4.2.2p3/util/tickadj.c 2007-07-07 01:00:54.000000000 +0200
5@@ -21,7 +21,8 @@
6 # include <unistd.h>
7 #endif /* HAVE_UNISTD_H */
8
9-#ifdef HAVE___ADJTIMEX /* Linux */
10+/* proper handling here has been moved to upstream ntp bugzilla */
11+#ifdef linux
12
13 #include <sys/timex.h>
14 struct timex txc;
15@@ -91,7 +92,7 @@
16 }
17
18 if (!errflg) {
19- if (__adjtimex(&txc) < 0)
20+ if (adjtimex(&txc) < 0)
21 perror("adjtimex");
22 else if (!quiet)
23 printf("tick = %ld\ntick_adj = %d\n",
24@@ -146,7 +147,7 @@
25 #endif
26 }
27
28- if (__adjtimex(&txc) < 0)
29+ if (adjtimex(&txc) < 0)
30 {
31 perror("adjtimex");
32 }
diff --git a/meta/recipes-support/ntp/ntp.inc b/meta/recipes-support/ntp/ntp.inc
new file mode 100644
index 0000000000..d93f22d473
--- /dev/null
+++ b/meta/recipes-support/ntp/ntp.inc
@@ -0,0 +1,93 @@
1SUMMARY = "Network Time Protocol daemon and utilities"
2DESCRIPTION = "The Network Time Protocol (NTP) is used to \
3synchronize the time of a computer client or server to \
4another server or reference time source, such as a radio \
5or satellite receiver or modem."
6HOMEPAGE = "http://support.ntp.org"
7SECTION = "console/network"
8LICENSE = "NTP"
9LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=fea4b50c33b18c2194b4b1c9ca512670"
10
11INC_PR = "r3"
12
13SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${PV}.tar.gz \
14 file://tickadj.c.patch \
15 file://ntp-4.2.4_p6-nano.patch \
16 file://openssl-check.patch \
17 file://ntpd \
18 file://ntp.conf \
19 file://ntpdate \
20 file://ntpdate.default \
21 "
22
23inherit autotools update-rc.d
24
25# The ac_cv_header_readline_history is to stop ntpdc depending on either
26# readline or curses
27EXTRA_OECONF += "--with-net-snmp-config=no --without-ntpsnmpd ac_cv_header_readline_history_h=no"
28CFLAGS_append = " -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED"
29
30PACKAGECONFIG ??= ""
31PACKAGECONFIG[openssl] = "--with-openssl-libdir=${STAGING_LIBDIR} \
32 --with-openssl-incdir=${STAGING_INCDIR} \
33 --with-crypto, \
34 --without-openssl --without-crypto, \
35 openssl"
36
37do_install_append() {
38 install -d ${D}${sysconfdir}/init.d
39 install -m 644 ${WORKDIR}/ntp.conf ${D}${sysconfdir}
40 install -m 755 ${WORKDIR}/ntpd ${D}${sysconfdir}/init.d
41 install -d ${D}${bindir}
42 install -m 755 ${WORKDIR}/ntpdate ${D}${bindir}/ntpdate-sync
43
44 # Fix hardcoded paths in scripts
45 sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync
46 sed -i 's!/usr/bin/!${bindir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync
47 sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync
48 sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync
49 sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${bindir}/ntpdate-sync
50
51 install -d ${D}/${sysconfdir}/default
52 install -m 644 ${WORKDIR}/ntpdate.default ${D}${sysconfdir}/default/ntpdate
53 install -d ${D}/${sysconfdir}/network/if-up.d
54 ln -s ${bindir}/ntpdate-sync ${D}/${sysconfdir}/network/if-up.d
55}
56
57PACKAGES += "ntpdate ${PN}-tickadj ${PN}-utils"
58# NOTE: you don't need ntpdate, use "ntpd -q -g -x"
59
60# ntp originally includes tickadj. It's split off for inclusion in small firmware images on platforms
61# with wonky clocks (e.g. OpenSlug)
62RDEPENDS_${PN} = "${PN}-tickadj"
63# Handle move from bin to utils package
64RPROVIDES_${PN}-utils = "${PN}-bin"
65RREPLACES_${PN}-utils = "${PN}-bin"
66RCONFLICTS_${PN}-utils = "${PN}-bin"
67
68RSUGGESTS_${PN} = "iana-etc"
69
70FILES_${PN} = "${bindir}/ntpd ${sysconfdir}/ntp.conf ${sysconfdir}/init.d/ntpd ${sbindir} ${libdir}"
71FILES_${PN}-tickadj = "${bindir}/tickadj"
72FILES_${PN}-utils = "${bindir}"
73FILES_ntpdate = "${bindir}/ntpdate ${sysconfdir}/network/if-up.d/ntpdate-sync ${bindir}/ntpdate-sync ${sysconfdir}/default/ntpdate"
74
75CONFFILES_${PN} = "${sysconfdir}/ntp.conf"
76CONFFILES_ntpdate = "${sysconfdir}/default/ntpdate"
77
78INITSCRIPT_NAME = "ntpd"
79# No dependencies, so just go in at the standard level (20)
80INITSCRIPT_PARAMS = "defaults"
81
82pkg_postinst_ntpdate() {
83if test "x$D" != "x"; then
84 exit 1
85else
86 if ! grep -q -s ntpdate /var/spool/cron/root; then
87 echo "adding crontab"
88 test -d /var/spool/cron || mkdir -p /var/spool/cron
89 echo "30 * * * * ${bindir}/ntpdate-sync silent" >> /var/spool/cron/root
90 fi
91fi
92}
93
diff --git a/meta/recipes-support/ntp/ntp_4.2.6p5.bb b/meta/recipes-support/ntp/ntp_4.2.6p5.bb
new file mode 100644
index 0000000000..f1e9ecd7a8
--- /dev/null
+++ b/meta/recipes-support/ntp/ntp_4.2.6p5.bb
@@ -0,0 +1,7 @@
1require ntp.inc
2
3PR = "${INC_PR}.0"
4
5SRC_URI[md5sum] = "00df80a84ec9528fcfb09498075525bc"
6SRC_URI[sha256sum] = "d6ab8371f9d31e594eb6922823d5ccd03dcc4e9d84b0e23ea25ac1405432f91c"
7