Browse Source

Add support for the openntpd package to buildroot. OpenNTPD is a free, easy to
use implementation of the Network Time Protocol with a small footprint. It
provides the ability to sync the local clock to remote NTP servers and can act
as NTP server itself, redistributing the local clock.

http://bugs.uclibc.org/view.php?id=257

Eric Andersen 20 years ago
parent
commit
278a121fad
3 changed files with 72 additions and 0 deletions
  1. 1 0
      package/Config.in
  2. 8 0
      package/openntpd/Config.in
  3. 63 0
      package/openntpd/openntpd.mk

+ 1 - 0
package/Config.in

@@ -76,6 +76,7 @@ source "package/netkittelnet/Config.in"
 source "package/netsnmp/Config.in"
 source "package/newt/Config.in"
 source "package/ntp/Config.in"
+source "package/openntpd/Config.in"
 source "package/openssh/Config.in"
 source "package/openssl/Config.in"
 source "package/openvpn/Config.in"

+ 8 - 0
package/openntpd/Config.in

@@ -0,0 +1,8 @@
+config BR2_PACKAGE_OPENNTPD
+        bool "OpenNTPD"
+        default n
+        help
+	     OpenNTPD is an easy to use implementation of the Network Time
+	     Protocol. It provides the ability to sync the local clock
+	     to remote NTP servers and can act as NTP server itself,
+	     redistributing the local clock. It just works.

+ 63 - 0
package/openntpd/openntpd.mk

@@ -0,0 +1,63 @@
+#############################################################
+#
+# OpenNTPD
+#
+#############################################################
+OPENNTPD_VERSION:=3.6.1p1
+OPENNTPD_SOURCE:=openntpd-$(OPENNTPD_VERSION).tar.gz
+OPENNTPD_SITE:=ftp://ftp.openbsd.org/pub/OpenBSD/OpenNTPD
+OPENNTPD_DIR:=$(BUILD_DIR)/openntpd-$(OPENNTPD_VERSION)
+OPENNTPD_CAT:=zcat
+OPENNTPD_BINARY:=ntpd
+OPENNTPD_TARGET_BINARY:=usr/sbin/foo
+
+$(DL_DIR)/$(OPENNTPD_SOURCE):
+	$(WGET) -P $(DL_DIR) $(OPENNTPD_SITE)/$(OPENNTPD_SOURCE)
+
+$(OPENNTPD_DIR)/.source: $(DL_DIR)/$(OPENNTPD_SOURCE)
+	zcat $(DL_DIR)/$(OPENNTPD_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+	touch $(OPENNTPD_DIR)/.source
+
+$(OPENNTPD_DIR)/.configured: $(OPENNTPD_DIR)/.source
+	(cd $(OPENNTPD_DIR); \
+		$(TARGET_CONFIGURE_OPTS) \
+		CFLAGS="$(TARGET_CFLAGS)" \
+		./configure \
+		--target=$(GNU_TARGET_NAME) \
+		--host=$(GNU_TARGET_NAME) \
+		--build=$(GNU_HOST_NAME) \
+		--prefix=/usr \
+		--sysconfdir=/etc \
+		--with-builtin-arc4random \
+	);
+	touch $(OPENNTPD_DIR)/.configured;
+
+$(OPENNTPD_DIR)/$(OPENNTPD_BINARY): $(OPENNTPD_DIR)/.configured
+	$(MAKE) CC=$(TARGET_CC) -C $(OPENNTPD_DIR)
+
+$(TARGET_DIR)/$(OPENNTPD_TARGET_BINARY): $(OPENNTPD_DIR)/$(OPENNTPD_BINARY)
+	$(MAKE) DESTDIR=$(TARGET_DIR)/usr -C $(OPENNTPD_DIR) install
+	cp $(OPENNTPD_DIR)/ntpd.conf $(TARGET_DIR)/etc
+	rm -Rf $(TARGET_DIR)/usr/man
+
+ntpd: uclibc $(TARGET_DIR)/$(OPENNTPD_TARGET_BINARY)
+
+ntpd-source: $(DL_DIR)/$(OPENNTPD_SOURCE)
+
+ntpd-clean:
+	$(MAKE) DESTDIR=$(TARGET_DIR)/usr -C $(OPENNTPD_DIR) uninstall
+	rm -f $(TARGET_DIR)/etc/ntpd.conf
+	-$(MAKE) -C $(OPENNTPD_DIR) clean
+
+ntpd-dirclean:
+	rm -rf $(OPENNTPD_DIR)
+
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(strip $(BR2_PACKAGE_OPENNTPD)),y)
+TARGETS+=ntpd
+endif
+