[packages] ntpd: update to 4.2.6p2, add missing conffiles & postinst for ntpd-ssl...
[openwrt/svn-archive/archive.git] / net / ntpd / Makefile
index 62995d06a8377025f6c6f1b22aa88dd30a9b7bb4..1e0210df97fd3c36289dda773ecd0c84ab40a7ca 100644 (file)
 #
-# Copyright (C) 2006 OpenWrt.org
+# Copyright (C) 2006-2010 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
 #
-# $Id$
 
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=ntp
-PKG_VERSION:=4.2.4p4
-PKG_RELEASE:=2
+PKG_VERSION:=4.2.6p2
+PKG_RELEASE:=1
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
-PKG_SOURCE_URL:=http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/
-PKG_MD5SUM:=fcb32a01e1ae3f9ed5bac86b12c7a1cc
+PKG_SOURCE_URL:=http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/
+PKG_MD5SUM:=cf73cd85f248232c62f8029e6eb05938
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
 
-PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
 PKG_BUILD_DEPENDS:=libelf
+PKG_FIXUP:=libtool
+PKG_LIBTOOL_PATHS:=. sntp
 
 include $(INCLUDE_DIR)/package.mk
 
-define Package/ntpd
+define Package/ntpd/Default
   SUBMENU:=Time Synchronization
   SECTION:=net
   CATEGORY:=Network
-  TITLE:=full featured NTP server
-  DEPENDS:=+libreadline
+  TITLE:=ISC ntp
   URL:=http://www.ntp.org/
 endef
 
+define Package/ntpd/Default/description
+ The ISC ntp suite is a collection of tools used to synchronize the
+ system clock with remote NTP time servers and run/montior local NTP
+ servers.
+endef
+
+define Package/ntpd
+$(call Package/ntpd/Default)
+  TITLE+= server
+  VARIANT:=nossl
+endef
+
 define Package/ntpd/description
-       The full featured original ntpd
+$(call Package/ntpd/Default/description)
+ .
+ This package contains the ntpd server.
+endef
+
+define Package/ntpd-ssl
+$(call Package/ntpd/Default)
+  TITLE+= server (with OpenSSL support)
+  VARIANT:=ssl
+  DEPENDS:=+libopenssl
+endef
+
+define Package/ntpd-ssl/description
+$(call Package/ntpd/Default/description)
+ .
+ This package contains the ntpd server with OpenSSL support.
+endef
+
+define Package/ntpdate
+$(call Package/ntpd/Default)
+  TITLE+=date
+  VARIANT:=nossl
+endef
+
+define Package/ntpdate/description
+$(call Package/ntpd/Default/description)
+ .
+ This package contains ntpdate.
+endef
+
+define Package/ntp-utils
+$(call Package/ntpd/Default)
+  TITLE+= utilities
+  VARIANT:=nossl
+  DEPENDS:=+libncurses
+endef
+
+define Package/ntp-utils/description
+$(call Package/ntpd/Default/description)
+ .
+ This package contains ntpdc and ntpq.
 endef
 
 define Package/ntpd/conffiles
 /etc/ntp.conf
 endef
 
-define Package/ntpd/postinst
+define Package/ntpd/Default/postinst
 #!/bin/sh
-echo "ntp             123/udp     # Network Time Protocol
-ntp             123/tcp     # Network Time Protocol" >> $${IPKG_INSTROOT}/etc/services
+grep -q '^ntp[[:space:]]*123/udp' $${IPKG_INSTROOT}/etc/services 2>/dev/null
+[ $$? -ne 0 ] && echo "ntp            123/udp     # Network Time Protocol" >>$${IPKG_INSTROOT}/etc/services || exit 0
+grep -q '^ntp[[:space:]]*123/tcp' $${IPKG_INSTROOT}/etc/services 2>/dev/null
+[ $$? -ne 0 ] && echo "ntp            123/tcp     # Network Time Protocol" >>$${IPKG_INSTROOT}/etc/services || exit 0
 endef
 
-TARGET_CPPFLAGS += -I$(STAGING_DIR)/usr/include/libelf
+define Package/ntpdate/postinst
+$(call Package/ntpd/Default/postinst)
+endef
 
-define Build/Configure
-       $(call Build/Configure/Default, \
-               --disable-all-clocks \
-               --disable-parse-clocks \
-               --enable-NMEA \
-               --enable-LOCAL-CLOCK \
-               --enable-SHM \
-               --enable-linuxcaps \
-       )
+define Package/ntpd/postinst
+$(call Package/ntpd/Default/postinst)
 endef
 
-define Build/Compile
-       $(MAKE) -C $(PKG_BUILD_DIR) \
-               CFLAGS="$(TARGET_CFLAGS)"
+define Package/ntp-utils/postinst
+$(call Package/ntpd/Default/postinst)
 endef
 
-define Package/ntpd/install    
-       $(INSTALL_DIR) $(1)/usr/sbin/
+TARGET_CPPFLAGS += \
+       -I$(STAGING_DIR)/usr/include/libelf
+
+CONFIGURE_VARS += \
+       ac_cv_header_md5_h=no \
+       ac_cv_lib_rt_sched_setscheduler=no \
+       ac_cv_header_dns_sd_h=no
+
+CONFIGURE_ARGS += \
+       --disable-all-clocks \
+       --disable-parse-clocks \
+       --enable-NMEA \
+       --enable-LOCAL-CLOCK \
+       --enable-SHM \
+       --disable-linuxcaps \
+       --without-ntpsnmpd \
+
+ifeq ($(BUILD_VARIANT),ssl)
+  CONFIGURE_ARGS += \
+       --with-crypto \
+       --with-openssl-incdir="$(STAGING_DIR)/usr/include" \
+       --with-openssl-libdir="$(STAGING_DIR)/usr/lib"
+endif
+
+define Package/ntpd/install
+       $(INSTALL_DIR) $(1)/usr/sbin
        $(INSTALL_BIN) $(PKG_BUILD_DIR)/ntpd/ntpd $(1)/usr/sbin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/ntpdate/ntpdate $(1)/usr/sbin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/ntpdc/ntpdc $(1)/usr/sbin/
-       $(INSTALL_BIN) $(PKG_BUILD_DIR)/ntpq/ntpq $(1)/usr/sbin/
        $(INSTALL_DIR) $(1)/etc
-       $(INSTALL_DATA) ./files/ntp.conf $(1)/etc/
+       $(INSTALL_CONF) ./files/ntp.conf $(1)/etc/
        $(INSTALL_DIR) $(1)/etc/init.d
        $(INSTALL_BIN) ./files/ntpd.init $(1)/etc/init.d/ntpd
        $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
        $(INSTALL_BIN) ./files/ntpd.hotplug $(1)/etc/hotplug.d/iface/20-ntpd
 endef
 
+Package/ntpd-ssl/conffiles = $(Package/ntpd/conffiles)
+Package/ntpd-ssl/install = $(Package/ntpd/install)
+Package/ntpd-ssl/postinst = $(Package/ntpd/postinst)
+
+define Package/ntpdate/install
+       $(INSTALL_DIR) $(1)/usr/sbin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/ntpdate/ntpdate $(1)/usr/sbin/
+       $(INSTALL_DIR) $(1)/etc/init.d
+       $(INSTALL_BIN) ./files/ntpdate.init $(1)/etc/init.d/ntpdate
+endef
+
+define Package/ntp-utils/install
+       $(INSTALL_DIR) $(1)/usr/sbin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/ntpdc/ntpdc $(1)/usr/sbin/
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/ntpq/ntpq $(1)/usr/sbin/
+endef
+
 $(eval $(call BuildPackage,ntpd))
+$(eval $(call BuildPackage,ntpd-ssl))
+$(eval $(call BuildPackage,ntpdate))
+$(eval $(call BuildPackage,ntp-utils))