From a05bb5815d3e311219560685ee0e165a824292ab Mon Sep 17 00:00:00 2001 From: Martin Banky Date: Mon, 20 Sep 2010 14:54:23 -0700 Subject: [PATCH] ntp: convert to autotargets and bump to 4.2.6p2 Also added additional options for ntp and fixed a build issue when IPv6 support is not available. [Peter: small tweaks] Signed-off-by: Martin Banky Signed-off-by: Peter Korsgaard --- CHANGES | 4 +- package/ntp/Config.in | 44 +++++++ package/ntp/ntp-4.2.4_p5-nano.patch | 36 ------ ...imex.patch => ntp-4.2.6_p2-adjtimex.patch} | 0 package/ntp/ntp-optional-ipv6.patch | 24 ---- package/ntp/ntp.mk | 110 ++++++------------ 6 files changed, 81 insertions(+), 137 deletions(-) delete mode 100644 package/ntp/ntp-4.2.4_p5-nano.patch rename package/ntp/{ntp-4.2.4_p5-adjtimex.patch => ntp-4.2.6_p2-adjtimex.patch} (100%) delete mode 100644 package/ntp/ntp-optional-ipv6.patch diff --git a/CHANGES b/CHANGES index ccc6007736..7f94a0fa5b 100644 --- a/CHANGES +++ b/CHANGES @@ -24,8 +24,8 @@ libdnet, libevent, libglade, libgtk2, libiconv, libidn, libnl, liboil, libpcap, libpng, libungif, libxml2, libxslt, lighttpd, lite, m4, mdadm, metacity, mysql_client, nano, nbd, ncftp, - neon, netperf, ntfsprogs, openntpd, openssh, openvpn, oprofile, - pango, pcre, php, prboom, radvd, qt, samba, sdl_sound, + neon, netperf, ntfsprogs, ntp, openntpd, openssh, openvpn, + oprofile, pango, pcre, php, prboom, radvd, qt, samba, sdl_sound, shared-mime-info, speex, sqlite, squashfs, strace, taglib, tcpdump, tiff, tn5250, udev, udpcast, usbmount, usbutils, which, xlib_libX11, zlib diff --git a/package/ntp/Config.in b/package/ntp/Config.in index 6213141cfe..afbf0d5952 100644 --- a/package/ntp/Config.in +++ b/package/ntp/Config.in @@ -11,3 +11,47 @@ config BR2_PACKAGE_NTP_SNTP depends on BR2_PACKAGE_NTP help Simple network time protocol program + +config BR2_PACKAGE_NTP_NTP_KEYGEN + bool "ntp-keygen" + depends on BR2_PACKAGE_NTP + help + Create a NTP host key + +config BR2_PACKAGE_NTP_NTP_WAIT + bool "ntp-wait" + depends on BR2_PACKAGE_MICROPERL + depends on BR2_PACKAGE_NTP + help + ntp-wait waits until the locally running ntpd is in state 4 + (synchronized). This could be useful at boot time, to delay the + boot sequence until after "ntpd -g" has set the time. + +config BR2_PACKAGE_NTP_NTPDC + bool "ntpdc" + depends on BR2_PACKAGE_NTP + help + The ntpdc utility program is used to query an NTP daemon about + its current state and to request changes in that state. + +config BR2_PACKAGE_NTP_NTPQ + bool "ntpq" + depends on BR2_PACKAGE_NTP + help + The ntpq utility program is used to query NTP servers requesting + information about current state and/or changes in that state. + +config BR2_PACKAGE_NTP_NTPTRACE + bool "ntptrace" + depends on BR2_PACKAGE_MICROPERL + depends on BR2_PACKAGE_NTP + help + ntptrace is a perl script that uses the ntpq utility program to + follow the chain of NTP servers from a given host back to the + primary time source + +config BR2_PACKAGE_NTP_TICKADJ + bool "tickadj" + depends on BR2_PACKAGE_NTP + help + set time-related kernel variables diff --git a/package/ntp/ntp-4.2.4_p5-nano.patch b/package/ntp/ntp-4.2.4_p5-nano.patch deleted file mode 100644 index f4097ee565..0000000000 --- a/package/ntp/ntp-4.2.4_p5-nano.patch +++ /dev/null @@ -1,36 +0,0 @@ -Fixes the MOD_NANO build failure - -ntp_loopfilter.c: In function 'local_clock': -ntp_loopfilter.c:571: error: 'MOD_NANO' undeclared (first use in this function) -ntp_loopfilter.c:571: error: (Each undeclared identifier is reported only once -ntp_loopfilter.c:571: error: for each function it appears in.) -ntp_loopfilter.c: In function 'loop_config': -ntp_loopfilter.c:896: error: 'MOD_NANO' undeclared (first use in this function) - -Taken from -http://cvs.fedoraproject.org/viewvc/devel/ntp/ntp-4.2.4p7-nano.patch?revision=1.1&content-type=text/plain&view=co - -See the discussion at -https://bugs.launchpad.net/ubuntu/+source/ntp/+bug/412242 for more -details and links. The below fix is not a correct fix, but only a -workaround. The real fix required changes to kernel/libc headers. - -Index: ntp-4.2.4p5/include/ntp_syscall.h -=================================================================== ---- ntp-4.2.4p5.orig/include/ntp_syscall.h 2010-05-14 17:34:48.000000000 +0200 -+++ ntp-4.2.4p5/include/ntp_syscall.h 2010-05-14 17:35:13.000000000 +0200 -@@ -14,6 +14,14 @@ - # include - #endif - -+#if defined(ADJ_NANO) && !defined(MOD_NANO) -+#define MOD_NANO ADJ_NANO -+#endif -+ -+#if defined(ADJ_TAI) && !defined(MOD_TAI) -+#define MOD_TAI ADJ_TAI -+#endif -+ - #ifndef NTP_SYSCALLS_LIBC - #ifdef NTP_SYSCALLS_STD - # define ntp_adjtime(t) syscall(SYS_ntp_adjtime, (t)) diff --git a/package/ntp/ntp-4.2.4_p5-adjtimex.patch b/package/ntp/ntp-4.2.6_p2-adjtimex.patch similarity index 100% rename from package/ntp/ntp-4.2.4_p5-adjtimex.patch rename to package/ntp/ntp-4.2.6_p2-adjtimex.patch diff --git a/package/ntp/ntp-optional-ipv6.patch b/package/ntp/ntp-optional-ipv6.patch deleted file mode 100644 index 20d6edfad7..0000000000 --- a/package/ntp/ntp-optional-ipv6.patch +++ /dev/null @@ -1,24 +0,0 @@ -[PATCH] ntpd: fix build without ipv6 support - -ntp_io.c was checkin the non-existing DISABLE_IPV6 define rather -than WANT_IPV6 as defined in config.h, breaking the build if -the toolchain doesn't have ipv6 support. - -Signed-off-by: Peter Korsgaard ---- - ntpd/ntp_io.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -Index: ntp-4.2.4p5/ntpd/ntp_io.c -=================================================================== ---- ntp-4.2.4p5.orig/ntpd/ntp_io.c -+++ ntp-4.2.4p5/ntpd/ntp_io.c -@@ -55,7 +55,7 @@ - * Set up some macros to look for IPv6 and IPv6 multicast - */ - --#if defined(ISC_PLATFORM_HAVEIPV6) && !defined(DISABLE_IPV6) -+#if defined(ISC_PLATFORM_HAVEIPV6) && defined(WANT_IPV6) - - #define INCLUDE_IPV6_SUPPORT - diff --git a/package/ntp/ntp.mk b/package/ntp/ntp.mk index 78a4d2c264..7265083961 100644 --- a/package/ntp/ntp.mk +++ b/package/ntp/ntp.mk @@ -3,91 +3,51 @@ # ntp # ############################################################# -NTP_VERSION:=4.2.4p5 -NTP_SOURCE:=ntp-$(NTP_VERSION).tar.gz -NTP_SITE:=http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2 -NTP_DIR:=$(BUILD_DIR)/ntp-$(NTP_VERSION) -NTP_CAT:=$(ZCAT) -NTP_BINARY:=ntpdate/ntpdate -NTP_TARGET_BINARY:=usr/bin/ntpdate +NTP_VERSION = 4.2.6p2 +NTP_SOURCE = ntp-$(NTP_VERSION).tar.gz +NTP_SITE = http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2 -$(DL_DIR)/$(NTP_SOURCE): - $(call DOWNLOAD,$(NTP_SITE),$(NTP_SOURCE)) +NTP_CONF_ENV = ac_cv_lib_md5_MD5Init=no -ntp-source: $(DL_DIR)/$(NTP_SOURCE) - -$(NTP_DIR)/.patched: $(DL_DIR)/$(NTP_SOURCE) - $(NTP_CAT) $(DL_DIR)/$(NTP_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) - - toolchain/patch-kernel.sh $(NTP_DIR) package/ntp/ ntp\*.patch - $(SED) "s,^#if.*__GLIBC__.*_BSD_SOURCE.*$$,#if 0," \ - $(NTP_DIR)/ntpd/refclock_pcf.c - $(SED) '/[[:space:](]index[[:space:]]*(/s/[[:space:]]*index[[:space:]]*(/ strchr(/g' $(NTP_DIR)/libisc/*.c $(NTP_DIR)/arlib/sample.c - $(SED) '/[[:space:](]rindex[[:space:]]*(/s/[[:space:]]*rindex[[:space:]]*(/ strrchr(/g' $(NTP_DIR)/ntpd/*.c - #$(SED) 's/\(^#[[:space:]]*include[[:space:]]*\)/\/\/ \1/' $(NTP_DIR)/util/tickadj.c - $(CONFIG_UPDATE) $(NTP_DIR) - $(CONFIG_UPDATE) $(NTP_DIR)/sntp - touch $@ +ifneq ($(BR2_INET_IPV6),y) +NTP_CONF_ENV += isc_cv_have_in6addr_any=no +endif -$(NTP_DIR)/.configured: $(NTP_DIR)/.patched - (cd $(NTP_DIR); rm -rf config.cache; \ - $(TARGET_CONFIGURE_OPTS) \ - $(TARGET_CONFIGURE_ARGS) \ - ac_cv_lib_md5_MD5Init=no \ - ./configure $(QUIET) \ - --target=$(GNU_TARGET_NAME) \ - --host=$(GNU_TARGET_NAME) \ - --build=$(GNU_HOST_NAME) \ - --prefix=/usr \ - --exec-prefix=/usr \ - --bindir=/usr/bin \ - --sbindir=/usr/sbin \ - --libdir=/lib \ - --libexecdir=/usr/lib \ - --sysconfdir=/etc \ - --datadir=/usr/share \ - --localstatedir=/var \ - --mandir=/usr/man \ - --infodir=/usr/info \ - $(DISABLE_NLS) \ - $(DISABLE_IPV6) \ - --with-shared \ +NTP_CONF_OPT = --with-shared \ --program-transform-name=s,,, \ --without-crypto \ - --disable-tickadj \ - ) - touch $@ - -$(NTP_DIR)/$(NTP_BINARY): $(NTP_DIR)/.configured - $(MAKE) -C $(NTP_DIR) - -$(TARGET_DIR)/$(NTP_TARGET_BINARY): $(NTP_DIR)/$(NTP_BINARY) - install -m 755 $(NTP_DIR)/ntpd/ntpd $(TARGET_DIR)/usr/sbin/ntpd - install -m 755 $(NTP_DIR)/$(NTP_BINARY) $(TARGET_DIR)/$(NTP_TARGET_BINARY) -ifeq ($(BR2_PACKAGE_NTP_SNTP),y) - install -m 755 $(NTP_DIR)/sntp/sntp $(TARGET_DIR)/usr/bin/sntp -endif + --disable-tickadj + +define NTP_PATCH_FIXUPS + $(SED) "s,^#if.*__GLIBC__.*_BSD_SOURCE.*$$,#if 0," $(@D)/ntpd/refclock_pcf.c + $(SED) '/[[:space:](]rindex[[:space:]]*(/s/[[:space:]]*rindex[[:space:]]*(/ strrchr(/g' $(@D)/ntpd/*.c +endef + +NTP_INSTALL_FILES_$(BR2_PACKAGE_NTP_SNTP) += sntp/sntp +NTP_INSTALL_FILES_$(BR2_PACKAGE_NTP_NTP_KEYGEN) += util/ntp-keygen +NTP_INSTALL_FILES_$(BR2_PACKAGE_NTP_NTP_WAIT) += scripts/ntp-wait +NTP_INSTALL_FILES_$(BR2_PACKAGE_NTP_NTPDC) += ntpdc/ntpdc +NTP_INSTALL_FILES_$(BR2_PACKAGE_NTP_NTPQ) += ntpq/ntpq +NTP_INSTALL_FILES_$(BR2_PACKAGE_NTP_NTPTRACE) += scripts/ntptrace +NTP_INSTALL_FILES_$(BR2_PACKAGE_NTP_TICKADJ) += util/tickadj + +define NTP_INSTALL_TARGET_CMDS + install -m 755 $(@D)/ntpd/ntpd $(TARGET_DIR)/usr/sbin/ntpd + test -z "$(NTP_INSTALL_FILES_y)" || install -m 755 $(addprefix $(@D)/,$(NTP_INSTALL_FILES_y)) $(TARGET_DIR)/usr/bin/ install -m 755 package/ntp/ntp.sysvinit $(TARGET_DIR)/etc/init.d/S49ntp @if [ ! -f $(TARGET_DIR)/etc/default/ntpd ]; then \ install -m 755 -d $(TARGET_DIR)/etc/default ; \ install -m 644 package/ntp/ntpd.etc.default $(TARGET_DIR)/etc/default/ntpd ; \ fi +endef -ntp: $(TARGET_DIR)/$(NTP_TARGET_BINARY) - -ntp-clean: - rm -f $(TARGET_DIR)/usr/sbin/ntpd $(TARGET_DIR)/usr/bin/sntp \ - $(TARGET_DIR)/etc/init.d/S49ntp \ - $(TARGET_DIR)/$(NTP_TARGET_BINARY) - -$(MAKE) -C $(NTP_DIR) clean +define NTP_UNINSTALL_TARGET_CMDS + rm $(TARGET_DIR)/usr/sbin/ntpd + rm -f $(addprefix $(TARGET_DIR)/usr/bin/,$(NTP_INSTALL_FILES_y)) + rm $(TARGET_DIR)/etc/init.d/S49ntp + rm $(TARGET_DIR)/etc/default/ntpd +endef -ntp-dirclean: - rm -rf $(NTP_DIR) +NTP_POST_PATCH_HOOKS += NTP_PATCH_FIXUPS -############################################################# -# -# Toplevel Makefile options -# -############################################################# -ifeq ($(BR2_PACKAGE_NTP),y) -TARGETS+=ntp -endif +$(eval $(call AUTOTARGETS,package,ntp)) -- 2.30.2