package/htpdate: add htpdate
authoracoul <alex@ozo.com>
Thu, 31 Mar 2016 05:04:32 +0000 (08:04 +0300)
committeracoul <alex@ozo.com>
Thu, 31 Mar 2016 05:28:36 +0000 (08:28 +0300)
package/network/services/htpdate/Makefile [new file with mode: 0644]
package/network/services/htpdate/files/htpdate.default [new file with mode: 0644]
package/network/services/htpdate/files/htpdate.init [new file with mode: 0644]
package/network/services/htpdate/patches/100-adjtimex.patch [new file with mode: 0644]

diff --git a/package/network/services/htpdate/Makefile b/package/network/services/htpdate/Makefile
new file mode 100644 (file)
index 0000000..c5441c2
--- /dev/null
@@ -0,0 +1,60 @@
+#
+# Copyright (C) 2006 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=htpdate
+PKG_VERSION:=1.1.1
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
+PKG_SOURCE_URL:=http://www.vervest.org/htp/archive/c/
+PKG_MD5SUM:=c612f63282e3f23b709f37a5c81d4739
+
+PKG_LICENSE:=GPL-2.0+
+PKG_LICENSE_FILES:=
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/htpdate
+  SUBMENU:=Time Synchronization
+  SECTION:=net
+  CATEGORY:=Network
+  TITLE:=an HTP (Hypertext Time Protocol) implementation
+  URL:=http://www.vervest.com/htp/
+  MAINTAINER:=Tijs Van Buggenhout <tvbuggen@netzerk.be>
+endef
+
+define Package/htpdate/description
+       The HTTP Time Protocol (HTP) is used to synchronize a computer's time
+       with web servers as reference time source. Htpdate will synchronize your
+       computer's time by extracting timestamps from HTTP headers found
+       in web server responses. Htpdate can be used as a daemon, to keep your
+       computer synchronized.
+endef
+
+define Package/htpdate/conffiles
+/etc/default/htpdate
+endef
+
+define Build/Compile
+       $(MAKE) -C $(PKG_BUILD_DIR) \
+               $(TARGET_CONFIGURE_OPTS) \
+               CFLAGS="$(TARGET_CFLAGS)"
+endef
+
+define Package/htpdate/install
+       $(INSTALL_DIR) $(1)/usr/sbin
+       $(INSTALL_BIN) $(PKG_BUILD_DIR)/htpdate $(1)/usr/sbin/
+       $(INSTALL_DIR) $(1)/etc/default/
+       $(INSTALL_CONF) ./files/htpdate.default $(1)/etc/default/htpdate
+       $(INSTALL_DIR) $(1)/etc/init.d/
+       $(INSTALL_BIN) ./files/htpdate.init $(1)/etc/init.d/htpdate
+endef
+
+$(eval $(call BuildPackage,htpdate))
+
diff --git a/package/network/services/htpdate/files/htpdate.default b/package/network/services/htpdate/files/htpdate.default
new file mode 100644 (file)
index 0000000..94674fd
--- /dev/null
@@ -0,0 +1 @@
+OPTIONS="www.google.com www.yahoo.com www.linux.org www.freebsd.org"
diff --git a/package/network/services/htpdate/files/htpdate.init b/package/network/services/htpdate/files/htpdate.init
new file mode 100644 (file)
index 0000000..1409321
--- /dev/null
@@ -0,0 +1,19 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2006 OpenWrt.org
+
+START=49
+BIN=htpdate
+DEFAULT=/etc/default/$BIN
+RUN_D=/var/run
+PID_F=$RUN_D/$BIN.pid
+
+start() {
+       [ -f $DEFAULT ] && . $DEFAULT
+       mkdir -p $RUN_D
+       $BIN -l -s -t $OPTIONS && $BIN -D $OPTIONS
+}
+
+stop() {
+       [ -f $PID_F ] && kill $(cat $PID_F)
+}
+
diff --git a/package/network/services/htpdate/patches/100-adjtimex.patch b/package/network/services/htpdate/patches/100-adjtimex.patch
new file mode 100644 (file)
index 0000000..ec7c8a9
--- /dev/null
@@ -0,0 +1,20 @@
+--- a/htpdate.c
++++ b/htpdate.c
+@@ -359,7 +359,7 @@ static int htpdate_adjtimex( double drif
+       /* Read current kernel frequency */
+       tmx.modes = 0;
+-      ntp_adjtime(&tmx);
++      adjtimex(&tmx);
+       /* Calculate new frequency */
+       freq = (long)(65536e6 * drift);
+@@ -377,7 +377,7 @@ static int htpdate_adjtimex( double drif
+               printlog( 1, "seteuid()" );
+               exit(1);
+       } else {
+-              return( ntp_adjtime(&tmx) );
++              return( adjtimex(&tmx) );
+       }
+ }