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 <Martin.Banky@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
This commit is contained in:
Martin Banky 2010-09-20 14:54:23 -07:00 committed by Peter Korsgaard
parent 6b899a43ba
commit a05bb5815d
6 changed files with 79 additions and 135 deletions

View File

@ -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

View File

@ -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

View File

@ -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 <sys/timex.h>
#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))

View File

@ -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 <jacmet@sunsite.dk>
---
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

View File

@ -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)
ifneq ($(BR2_INET_IPV6),y)
NTP_CONF_ENV += isc_cv_have_in6addr_any=no
endif
$(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:]]*<sys\/var.h>\)/\/\/ \1/' $(NTP_DIR)/util/tickadj.c
$(CONFIG_UPDATE) $(NTP_DIR)
$(CONFIG_UPDATE) $(NTP_DIR)/sntp
touch $@
$(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 $@
--disable-tickadj
$(NTP_DIR)/$(NTP_BINARY): $(NTP_DIR)/.configured
$(MAKE) -C $(NTP_DIR)
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
$(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
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)
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-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
NTP_POST_PATCH_HOOKS += NTP_PATCH_FIXUPS
ntp-dirclean:
rm -rf $(NTP_DIR)
#############################################################
#
# Toplevel Makefile options
#
#############################################################
ifeq ($(BR2_PACKAGE_NTP),y)
TARGETS+=ntp
endif
$(eval $(call AUTOTARGETS,package,ntp))