[oe] [PATCH 3/5] ntp: cleanup recipes and fix SSL support

Joe MacDonald Joe.MacDonald at windriver.com
Wed Dec 5 16:41:37 UTC 2012


[Re: [oe] [PATCH 3/5] ntp: cleanup recipes and fix SSL support] On 12.12.04 (Tue 18:17) Peter A. Bigot wrote:

> On 12/04/2012 05:59 AM, Martin Jansa wrote:
> >From: Paul Eggleton <paul.eggleton at linux.intel.com>
> >
> >* Move common definitions to the inc file
> >* Drop override of do_configure which doesn't seem to be needed anymore
> >* Fold ntp-ssl into the ntp recipe as a PACKAGECONFIG option for those
> >   who want it (default to off) and fix configure-time checks to detect
> >   OpenSSL properly so that it gets enabled when selected
> >* Remove ntp-bin package and put its contents in currently empty
> >   ntp-utils package (with migration path)
> >* Fix hardcoded paths in ntpd initscript
> >* Specify ntpd.conf as a configuration file for packaging purposes
> >* Rearrange so that packaging definitions are towards the end in the
> >   expected order
> >* Delete unused "ntp" initscript file
> >* Add SUMMARY
> >* Update HOMEPAGE
> >
> >This reapplies some of the changes from the original patch by
> >Morgan Little <morgan.little at windriver.com>.
> >
> >Signed-off-by: Paul Eggleton <paul.eggleton at linux.intel.com>
> >Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>
> >---
> >  meta-networking/recipes-support/ntp/files/ntp      | 31 --------
> >  .../recipes-support/ntp/files/openssl-check.patch  | 59 +++++++++++++++
> >  .../recipes-support/ntp/ntp-ssl_4.2.6p5.bb         | 11 ---
> >  meta-networking/recipes-support/ntp/ntp.inc        | 87 +++++++++++++++++-----
> >  meta-networking/recipes-support/ntp/ntp_4.2.6p5.bb | 44 +----------
> >  5 files changed, 131 insertions(+), 101 deletions(-)
> >  delete mode 100755 meta-networking/recipes-support/ntp/files/ntp
> >  create mode 100644 meta-networking/recipes-support/ntp/files/openssl-check.patch
> >  delete mode 100644 meta-networking/recipes-support/ntp/ntp-ssl_4.2.6p5.bb
> >
> >diff --git a/meta-networking/recipes-support/ntp/files/ntp b/meta-networking/recipes-support/ntp/files/ntp
> >deleted file mode 100755
> >index e91a528..0000000
> >--- a/meta-networking/recipes-support/ntp/files/ntp
> >+++ /dev/null
> >@@ -1,31 +0,0 @@
> >-#! /bin/sh
> >-
> >-FLAGS="defaults 23"
> >-
> >-test -f /usr/bin/ntpd || exit 0
> >-
> >-case "$1" in
> >-	start)
> >-		echo -n "Starting NTP server: ntpd"
> >-  		start-stop-daemon --start --quiet --exec /usr/bin/ntpd
> >-		echo "."
> >-  		;;
> >-	stop)
> >-		echo -n "Stopping NTP server: ntpd"
> >-  		start-stop-daemon --stop --quiet --exec /usr/bin/ntpd
> >-		echo "."
> >-  		;;
> >-	restart|force-reload)
> >-		echo -n "Restarting NTP server: ntpd... "
> >-  		start-stop-daemon --stop --quiet --exec /usr/bin/ntpd
> >-  		sleep 2
> >-  		start-stop-daemon --start --quiet --exec /usr/bin/ntpd
> >-		echo "done."
> >-  		;;
> >-	*)
> >-  		echo "Usage: /etc/init.d/ntp {start|stop|restart|force-reload}"
> >-  		exit 1
> >-		;;
> >-esac
> >-
> >-exit 0
> >diff --git a/meta-networking/recipes-support/ntp/files/openssl-check.patch b/meta-networking/recipes-support/ntp/files/openssl-check.patch
> >new file mode 100644
> >index 0000000..8b4a673
> >--- /dev/null
> >+++ b/meta-networking/recipes-support/ntp/files/openssl-check.patch
> >@@ -0,0 +1,59 @@
> >+Hack OpenSSL check to work when libssl and libcrypto aren't in same dir
> >+
> >+Upstream-Status: Inappropriate [config]
> >+
> >+Signed-off-by: Paul Eggleton <paul.eggleton at linux.intel.com>
> >+---
> >+ configure         |    4 ++--
> >+ m4/ntp_openssl.m4 |    4 ++--
> >+ sntp/configure    |    4 ++--
> >+ 3 files changed, 6 insertions(+), 6 deletions(-)
> >+
> >+diff --git a/configure b/configure
> >+index aae2c01..6a3c15e 100755
> >+--- a/configure
> >++++ b/configure
> >+@@ -22868,8 +22868,8 @@ case "$ans" in
> >+ 	    test -f $i/libcrypto.dylib -a -f $i/libssl.dylib && break
> >+ 	    ;;
> >+ 	 *)
> >+-	    test -f $i/libcrypto.so -a -f $i/libssl.so && break
> >+-	    test -f $i/libcrypto.a -a -f $i/libssl.a && break
> >++	    test -f $i/libssl.so && break
> >++	    test -f $i/libssl.a && break
> >+ 	    ;;
> >+ 	esac
> >+     done
> >+diff --git a/m4/ntp_openssl.m4 b/m4/ntp_openssl.m4
> >+index 7d9f477..67bdd55 100644
> >+--- a/m4/ntp_openssl.m4
> >++++ b/m4/ntp_openssl.m4
> >+@@ -41,8 +41,8 @@ case "$ans" in
> >+ 	    test -f $i/libcrypto.dylib -a -f $i/libssl.dylib && break
> >+ 	    ;;
> >+ 	 *)
> >+-	    test -f $i/libcrypto.so -a -f $i/libssl.so && break
> >+-	    test -f $i/libcrypto.a -a -f $i/libssl.a && break
> >++	    test -f $i/libssl.so && break
> >++	    test -f $i/libssl.a && break
> >+ 	    ;;
> >+ 	esac
> >+     done
> >+diff --git a/sntp/configure b/sntp/configure
> >+index 7782c29..55e82d9 100755
> >+--- a/sntp/configure
> >++++ b/sntp/configure
> >+@@ -14810,8 +14810,8 @@ case "$ans" in
> >+ 	    test -f $i/libcrypto.dylib -a -f $i/libssl.dylib && break
> >+ 	    ;;
> >+ 	 *)
> >+-	    test -f $i/libcrypto.so -a -f $i/libssl.so && break
> >+-	    test -f $i/libcrypto.a -a -f $i/libssl.a && break
> >++	    test -f $i/libssl.so && break
> >++	    test -f $i/libssl.a && break
> >+ 	    ;;
> >+ 	esac
> >+     done
> >+--
> >+1.7.1
> >+
> >diff --git a/meta-networking/recipes-support/ntp/ntp-ssl_4.2.6p5.bb b/meta-networking/recipes-support/ntp/ntp-ssl_4.2.6p5.bb
> >deleted file mode 100644
> >index a158990..0000000
> >--- a/meta-networking/recipes-support/ntp/ntp-ssl_4.2.6p5.bb
> >+++ /dev/null
> >@@ -1,11 +0,0 @@
> >-require ntp_${PV}.bb
> >-DEPENDS = "openssl"
> >-
> >-S = "${WORKDIR}/ntp-${PV}"
> >-
> >-EXTRA_OECONF = "--with-openssl-libdir=${STAGING_LIBDIR} \
> >-	        --with-openssl-incdir=${STAGING_INCDIR}/openssl"
> >-
> >-
> >-SRC_URI[md5sum] = "98e16c7aa4ecd4c004b51bff18962e95"
> >-SRC_URI[sha256sum] = "9f4a5271a285d390c9225e3ea28f70049ea377d30fc6de4659007cfff278671a"
> >diff --git a/meta-networking/recipes-support/ntp/ntp.inc b/meta-networking/recipes-support/ntp/ntp.inc
> >index 1d740f0..a614e3f 100644
> >--- a/meta-networking/recipes-support/ntp/ntp.inc
> >+++ b/meta-networking/recipes-support/ntp/ntp.inc
> >@@ -1,35 +1,86 @@
> >+SUMMARY = "Network Time Protocol daemon and utilities"
> >  DESCRIPTION = "The Network Time Protocol (NTP) is used to \
> >  synchronize the time of a computer client or server to \
> >  another server or reference time source, such as a radio \
> >  or satellite receiver or modem."
> >-HOMEPAGE = "http://ntp.isc.org/bin/view/Main/WebHome"
> >+HOMEPAGE = "http://support.ntp.org"
> >  SECTION = "console/network"
> >  LICENSE = "ntp"
> >  LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=fea4b50c33b18c2194b4b1c9ca512670"
> >-RSUGGESTS_${PN} = "iana-etc"
> >-SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/${P}.tar.gz \
> >-	file://ipv6only-workaround.patch \
> >-	file://ntpd \
> >-	file://ntp.conf \
> >-	file://ntpdate \
> >-	file://ntpd.service \
> >-"
> >+INC_PR = "r2"
> >-inherit autotools update-rc.d
> >+SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${PV}.tar.gz \
> >+           file://tickadj.c.patch \
> >+           file://ntp-4.2.4_p6-nano.patch \
> >+           file://openssl-check.patch \
> >+           file://ntpd \
> >+           file://ntp.conf \
> >+           file://ntpdate \
> >+           "
> >-INITSCRIPT_NAME = "ntpd"
> >-# No dependencies, so just go in at the standard level (20)
> >-INITSCRIPT_PARAMS = "defaults"
> >+inherit autotools update-rc.d
> >  # The ac_cv_header_readline_history is to stop ntpdc depending on either
> >  # readline or curses
> >-EXTRA_OECONF = "--without-openssl --without-crypto ac_cv_header_readline_history_h=no"
> >+EXTRA_OECONF += "--with-net-snmp-config=no --without-ntpsnmpd ac_cv_header_readline_history_h=no"
> >  CFLAGS_append = " -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED"
> >-PACKAGES += "ntpdate ${PN}-bin ${PN}-tickadj ${PN}-utils"
> >+PACKAGECONFIG ??= ""
> >+PACKAGECONFIG[openssl] = "--with-openssl-libdir=${STAGING_LIBDIR} \
> >+                          --with-openssl-incdir=${STAGING_INCDIR} \
> >+                          --with-crypto, \
> >+                          --without-openssl --without-crypto, \
> >+                          openssl"
> >+
> >+do_install_append() {
> >+	install -d ${D}${sysconfdir}/init.d
> >+	install -m 644 ${WORKDIR}/ntp.conf ${D}${sysconfdir}
> >+	install -m 755 ${WORKDIR}/ntpd ${D}${sysconfdir}/init.d
> >+
> >+	# Fix hardcoded paths in scripts
> >+	sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/ntpd
> >+	sed -i 's!/usr/bin/!${bindir}/!g' ${D}${sysconfdir}/init.d/ntpd
> >+	sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/ntpd
> >+	sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/ntpd
> >+
> >+	install -d ${D}${sysconfdir}/network/if-up.d
> >+	install -m 755 ${WORKDIR}/ntpdate ${D}${sysconfdir}/network/if-up.d
> >+}
> >+
> >+PACKAGES += "ntpdate ${PN}-tickadj ${PN}-utils"
> >  # 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"
> >+# ntp originally includes tickadj. It's split off for inclusion in small firmware images on platforms
> >+# with wonky clocks (e.g. OpenSlug)
> >+RDEPENDS_${PN} = "${PN}-tickadj"
> >+# Handle move from bin to utils package
> >+RPROVIDES_${PN}-utils = "${PN}-bin"
> >+RREPLACES_${PN}-utils = "${PN}-bin"
> >+RCONFLICTS_${PN}-utils = "${PN}-bin"
> >+
> >+RSUGGESTS_${PN} = "iana-etc"
> >+
> >+FILES_${PN} = "${bindir}/ntpd ${sysconfdir}/ntp.conf ${sysconfdir}/init.d/ntpd ${sbindir} ${libdir}"
> >+FILES_${PN}-tickadj = "${bindir}/tickadj"
> >+FILES_${PN}-utils = "${bindir}"
> >+FILES_ntpdate = "${bindir}/ntpdate ${sysconfdir}/network/if-up.d/ntpdate"
> >+
> >+CONFFILES_${PN} = "${sysconfdir}/ntp.conf"
> >+
> >+INITSCRIPT_NAME = "ntpd"
> >+# No dependencies, so just go in at the standard level (20)
> >+INITSCRIPT_PARAMS = "defaults"
> >+
> >+pkg_postinst_ntpdate() {
> >+if test "x$D" != "x"; then
> >+        exit 1
> >+else
> >+        if ! grep -q -s ntpdate /var/spool/cron/root; then
> >+                echo "adding crontab"
> >+                test -d /var/spool/cron || mkdir -p /var/spool/cron
> >+                echo "30 * * * *    /usr/bin/ntpdate -b -s -u pool.ntp.org" >> /var/spool/cron/root
> >+        fi
> >+fi
> >+}
> >+
> >diff --git a/meta-networking/recipes-support/ntp/ntp_4.2.6p5.bb b/meta-networking/recipes-support/ntp/ntp_4.2.6p5.bb
> >index f7c5b68..f1e9ecd 100644
> >--- a/meta-networking/recipes-support/ntp/ntp_4.2.6p5.bb
> >+++ b/meta-networking/recipes-support/ntp/ntp_4.2.6p5.bb
> >@@ -1,45 +1,7 @@
> >  require ntp.inc
> >-SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${PV}.tar.gz \
> >-        file://tickadj.c.patch \
> >-        file://ntp-4.2.4_p6-nano.patch \
> >-        file://ntpd \
> >-        file://ntp.conf \
> >-        file://ntpdate \
> >-"
> >+PR = "${INC_PR}.0"
> >-SRC_URI[md5sum] = "59876a9009b098ff59767ee45a88ebd2"
> >-SRC_URI[sha256sum] = "6e84d4ddfa14b911c3ed88463af10867e1fa9b287e7b34d8a02e78be85a7c40e"
> >-
> >-EXTRA_OECONF += " --with-net-snmp-config=no --without-ntpsnmpd"
> >-
> >-do_install_append() {
> >-	install -d ${D}/${sysconfdir}/init.d
> >-	install -m 644 ${WORKDIR}/ntp.conf ${D}/${sysconfdir}
> >-	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
> >-}
> >-
> >-FILES_${PN}-bin = "${bindir}/ntp-wait ${bindir}/ntpdc ${bindir}/ntpq ${bindir}/ntptime ${bindir}/ntptrace"
> >-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"
> >-
> >-# ntp originally includes tickadj. It's split off for inclusion in small firmware images on platforms
> >-# with wonky clocks (e.g. OpenSlug)
> >-RDEPENDS_${PN} = "${PN}-tickadj"
> >-
> >-pkg_postinst_ntpdate() {
> >-if test "x$D" != "x"; then
> >-        exit 1
> >-else
> >-        if ! grep -q -s ntpdate /var/spool/cron/root; then
> >-                echo "adding crontab"
> >-                test -d /var/spool/cron || mkdir -p /var/spool/cron
> >-                echo "30 * * * *    /usr/bin/ntpdate -b -s -u pool.ntp.org" >> /var/spool/cron/root
> >-        fi
> >-fi
> >-}
> >+SRC_URI[md5sum] = "00df80a84ec9528fcfb09498075525bc"
> >+SRC_URI[sha256sum] = "d6ab8371f9d31e594eb6922823d5ccd03dcc4e9d84b0e23ea25ac1405432f91c"
> I would like to see the checksum correction made as a separate
> commit on danny ASAP and before applying this more significant set
> of changes, so there's a working stable point to back up to if
> something goes wrong. Accepting
> http://patches.openembedded.org/patch/39697/ onto danny would
> accomplish this; alternatively I could re-submit that specifically
> for danny if that's preferable.

Agreed.  As a first step to sorting out the NTP thing, I've merged the
above referenced patch into danny.  Sorry about the delay.

-- 
-Joe MacDonald.
:wq
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20121205/d57b74af/attachment-0002.sig>


More information about the Openembedded-devel mailing list