Browse Source

ntp: add ntpdate option

Closes #2935

Add ntpdate option and make ntpd optional.

Based on incomplete patch by Frederik Pasch <fpasch@googlemail.com>

Also enable crypto when openssl is enabled.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Gustavo Zacarias 14 năm trước cách đây
mục cha
commit
14a971ab6c
4 tập tin đã thay đổi với 27 bổ sung36 xóa
  1. 1 0
      CHANGES
  2. 16 0
      package/ntp/Config.in
  3. 0 33
      package/ntp/TODO
  4. 10 3
      package/ntp/ntp.mk

+ 1 - 0
CHANGES

@@ -90,6 +90,7 @@
 	#2893: Broken "make source" with external toolchain
 	#2905: Qt: Speed up compilation, if gui-module isn't selected
 	#2929: genext2fs: couldn't allocate a block (no free space)
+	#2935: Ntpdate isn't installed
 	#2965: Broken linkage to xkbcomp (blocking X server startup)
 	#2983: xlib_libX11 build failed
 	#3007: kexec doesn't build: Missing regdef.h file

+ 16 - 0
package/ntp/Config.in

@@ -27,6 +27,22 @@ config BR2_PACKAGE_NTP_NTP_WAIT
 	  (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_NTPD
+	bool "ntpd"
+	depends on BR2_PACKAGE_NTP
+	default y
+	help
+	  ntpd is the time synchronization daemon keeping your local
+	  system date and time in sync and optionally serving time and date
+	  information on the network via the NTP protocol.
+
+config BR2_PACKAGE_NTP_NTPDATE
+	bool "ntpdate"
+	depends on BR2_PACKAGE_NTP
+	help
+	  The ntpdate utility program is used to set the local date and time
+	  from an NTP server given as an argument.
+
 config BR2_PACKAGE_NTP_NTPDC
 	bool "ntpdc"
 	depends on BR2_PACKAGE_NTP

+ 0 - 33
package/ntp/TODO

@@ -1,33 +0,0 @@
-The obsolete patch tries to clear "BUILT_SOURCE"
-
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-***************
-*** 157,163 ****
-  bin_PROGRAMS = ntpdc
-  EXTRA_PROGRAMS = ntpdc-layout
-  EXTRA_DATA = check-layout
-- BUILT_SOURCES = maybe-layout
-  INCLUDES = -I$(top_srcdir)/include
-  # LDADD might need RESLIB and ADJLIB
-  ntpdc_LDADD = version.o ../libntp/libntp.a @READLINE_LIBS@
---- 157,163 ----
-  bin_PROGRAMS = ntpdc
-  EXTRA_PROGRAMS = ntpdc-layout
-  EXTRA_DATA = check-layout
-+ BUILT_SOURCES = 
-  INCLUDES = -I$(top_srcdir)/include
-  # LDADD might need RESLIB and ADJLIB
-  ntpdc_LDADD = version.o ../libntp/libntp.a @READLINE_LIBS@
-------------------------------------------------------------
-The current tarball contains a lot more:
-
-++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
-AUTOMAKE_OPTIONS = ../util/ansi2knr
-EXTRA_DATA = check-layout
-BUILT_SOURCES = @MAKE_CHECK_LAYOUT@ ntpdc-opts.c ntpdc-opts.h ntpdc.1 \
-	ntpdc-opts.texi ntpdc-opts.menu
-AM_CPPFLAGS = -I$(top_srcdir)/include $(LIBOPTS_CFLAGS)
-# LDADD might need RESLIB and ADJLIB
-------------------------------------------------------------
-
-Do we need to remove "@MAKE_CHECK_LAYOUT@" in a new patch?

+ 10 - 3
package/ntp/ntp.mk

@@ -15,25 +15,32 @@ endif
 
 NTP_CONF_OPT = --with-shared \
 		--program-transform-name=s,,, \
-		--without-crypto \
 		--disable-tickadj \
 		--without-ntpsnmpd
 
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+NTP_CONF_OPT += --with-crypto
+NTP_DEPENDENCIES += openssl
+else
+NTP_CONF_OPT += --without-crypto
+endif
+
 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_NTPDATE) += ntpdate/ntpdate
 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_SNTP) += sntp/sntp
 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
+	$(if $(BR2_PACKAGE_NTP_NTPD), 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 \