[v2,5/7] fff-timeserver: new package to configure a timeserver

Submitted by Tim Niemeyer on June 10, 2016, 9:58 p.m.

Details

Message ID 1465595895-2059-6-git-send-email-tim@tn-x.org
State Accepted, archived
Headers show

Commit Message

Tim Niemeyer June 10, 2016, 9:58 p.m.
Signed-off-by: Tim Niemeyer <tim@tn-x.org>
---

Changes in v2: None

 bsp/default/root_file_system/etc/config/timeserver |  2 --
 .../etc/{rc.local.tpl => rc.local}                 |  3 --
 src/packages/fff/fff-timeserver/Makefile           | 39 ++++++++++++++++++++++
 .../files/etc/uci-defaults/51-fff-timeserver       |  6 ++++
 .../files/lib/functions/fff/timeserver             | 24 +++++++++++++
 src/packages/fff/fff/Makefile                      |  5 +--
 6 files changed, 72 insertions(+), 7 deletions(-)
 delete mode 100644 bsp/default/root_file_system/etc/config/timeserver
 rename bsp/default/root_file_system/etc/{rc.local.tpl => rc.local} (63%)
 create mode 100644 src/packages/fff/fff-timeserver/Makefile
 create mode 100755 src/packages/fff/fff-timeserver/files/etc/uci-defaults/51-fff-timeserver
 create mode 100644 src/packages/fff/fff-timeserver/files/lib/functions/fff/timeserver

Patch hide | download patch | download mbox

diff --git a/bsp/default/root_file_system/etc/config/timeserver b/bsp/default/root_file_system/etc/config/timeserver
deleted file mode 100644
index e95331f..0000000
--- a/bsp/default/root_file_system/etc/config/timeserver
+++ /dev/null
@@ -1,2 +0,0 @@ 
-config timeserver
-	option hostname	 time.fu-berlin.de
\ No newline at end of file
diff --git a/bsp/default/root_file_system/etc/rc.local.tpl b/bsp/default/root_file_system/etc/rc.local
similarity index 63%
rename from bsp/default/root_file_system/etc/rc.local.tpl
rename to bsp/default/root_file_system/etc/rc.local
index f3abb05..bd972fb 100755
--- a/bsp/default/root_file_system/etc/rc.local.tpl
+++ b/bsp/default/root_file_system/etc/rc.local
@@ -4,9 +4,6 @@ 
 
 /usr/sbin/configurenetwork
 
-# Starting NTP-Client Daemon after 30s to ensure that the interface is up
-( sleep 30 ; ntpd -p ${NTPD_IP} ) &
-
 touch /tmp/started
 
 exit 0
diff --git a/src/packages/fff/fff-timeserver/Makefile b/src/packages/fff/fff-timeserver/Makefile
new file mode 100644
index 0000000..4a2decd
--- /dev/null
+++ b/src/packages/fff/fff-timeserver/Makefile
@@ -0,0 +1,39 @@ 
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=fff-timeserver
+PKG_VERSION:=0.0.1
+PKG_RELEASE:=1
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/fff-timeserver
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/fff-timeserver
+    SECTION:=base
+    CATEGORY:=Freifunk
+    TITLE:=Freifunk-Franken timeserver
+    URL:=http://www.freifunk-franken.de
+endef
+
+define Package/fff-timeserver/description
+    This is the Freifunk Franken Firmware timeserver package.
+    This packages configures the timeserver on the device.
+endef
+
+define Build/Prepare
+    echo "all: " > $(PKG_BUILD_DIR)/Makefile
+endef
+
+define Build/Configure
+    # nothing
+endef
+
+define Build/Compile
+    # nothing
+endef
+
+define Package/fff-timeserver/install
+    $(CP) ./files/* $(1)/
+endef
+
+$(eval $(call BuildPackage,fff-timeserver))
diff --git a/src/packages/fff/fff-timeserver/files/etc/uci-defaults/51-fff-timeserver b/src/packages/fff/fff-timeserver/files/etc/uci-defaults/51-fff-timeserver
new file mode 100755
index 0000000..d2893cb
--- /dev/null
+++ b/src/packages/fff/fff-timeserver/files/etc/uci-defaults/51-fff-timeserver
@@ -0,0 +1,6 @@ 
+#!/bin/sh
+
+. /lib/functions/fff/timeserver
+. /etc/community.cfg
+
+setTimeserver "${NTPD_IP}"
diff --git a/src/packages/fff/fff-timeserver/files/lib/functions/fff/timeserver b/src/packages/fff/fff-timeserver/files/lib/functions/fff/timeserver
new file mode 100644
index 0000000..fb69e71
--- /dev/null
+++ b/src/packages/fff/fff-timeserver/files/lib/functions/fff/timeserver
@@ -0,0 +1,24 @@ 
+#!/bin/sh
+# Copyright 2016 Tim Niemeyer
+# License GPLv3
+
+setTimeserver() {
+	if [ $# -ne "1" ]
+	then
+		echo "Usage: setTimeserver <ntp-server-address>"
+		return 1
+	fi
+
+	local ntp=$1
+
+	uci batch <<-__EOF__
+		set system.ntp='timeserver'
+		add_list system.ntp.server='$ntp'
+		set system.ntp.enable_server='0'
+		commit system
+	__EOF__
+
+	return 0
+}
+
+# vim: set noexpandtab:tabstop=4
diff --git a/src/packages/fff/fff/Makefile b/src/packages/fff/fff/Makefile
index 614eba1..11fb4a1 100644
--- a/src/packages/fff/fff/Makefile
+++ b/src/packages/fff/fff/Makefile
@@ -2,7 +2,7 @@  include $(TOPDIR)/rules.mk
 
 PKG_NAME:=fff
 PKG_VERSION:=0.0.2
-PKG_RELEASE:=3
+PKG_RELEASE:=4
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/fff
 
@@ -24,7 +24,8 @@  define Package/fff-base
              +fff-support \
              +fff-network \
              +fff-sysupgrade \
-             +fff-wireless
+             +fff-wireless \
+             +fff-timeserver
 endef
 
 define Package/fff-base/description

Comments

Jan Kraus June 11, 2016, 7:17 a.m.
Hi Tim,

ich hatte das NTP_IP in der community.cfg übersehen. Hatte nämlich
eigentlich auch schonmal reingeschaut.

Reviewed-by: Jan Kraus <mayosemmel@gmail.com>

Grüße Jan

Am Freitag, den 10.06.2016, 23:58 +0200 schrieb Tim Niemeyer:
> Signed-off-by: Tim Niemeyer <tim@tn-x.org>
> ---
> 
> Changes in v2: None
> 
>  bsp/default/root_file_system/etc/config/timeserver |  2 --
>  .../etc/{rc.local.tpl => rc.local}                 |  3 --
>  src/packages/fff/fff-timeserver/Makefile           | 39 ++++++++++++++++++++++
>  .../files/etc/uci-defaults/51-fff-timeserver       |  6 ++++
>  .../files/lib/functions/fff/timeserver             | 24 +++++++++++++
>  src/packages/fff/fff/Makefile                      |  5 +--
>  6 files changed, 72 insertions(+), 7 deletions(-)
>  delete mode 100644 bsp/default/root_file_system/etc/config/timeserver
>  rename bsp/default/root_file_system/etc/{rc.local.tpl => rc.local} (63%)
>  create mode 100644 src/packages/fff/fff-timeserver/Makefile
>  create mode 100755 src/packages/fff/fff-timeserver/files/etc/uci-defaults/51-fff-timeserver
>  create mode 100644 src/packages/fff/fff-timeserver/files/lib/functions/fff/timeserver
> 
> diff --git a/bsp/default/root_file_system/etc/config/timeserver b/bsp/default/root_file_system/etc/config/timeserver
> deleted file mode 100644
> index e95331f..0000000
> --- a/bsp/default/root_file_system/etc/config/timeserver
> +++ /dev/null
> @@ -1,2 +0,0 @@
> -config timeserver
> -	option hostname	 time.fu-berlin.de
> \ No newline at end of file
> diff --git a/bsp/default/root_file_system/etc/rc.local.tpl b/bsp/default/root_file_system/etc/rc.local
> similarity index 63%
> rename from bsp/default/root_file_system/etc/rc.local.tpl
> rename to bsp/default/root_file_system/etc/rc.local
> index f3abb05..bd972fb 100755
> --- a/bsp/default/root_file_system/etc/rc.local.tpl
> +++ b/bsp/default/root_file_system/etc/rc.local
> @@ -4,9 +4,6 @@
>  
>  /usr/sbin/configurenetwork
>  
> -# Starting NTP-Client Daemon after 30s to ensure that the interface is up
> -( sleep 30 ; ntpd -p ${NTPD_IP} ) &
> -
>  touch /tmp/started
>  
>  exit 0
> diff --git a/src/packages/fff/fff-timeserver/Makefile b/src/packages/fff/fff-timeserver/Makefile
> new file mode 100644
> index 0000000..4a2decd
> --- /dev/null
> +++ b/src/packages/fff/fff-timeserver/Makefile
> @@ -0,0 +1,39 @@
> +include $(TOPDIR)/rules.mk
> +
> +PKG_NAME:=fff-timeserver
> +PKG_VERSION:=0.0.1
> +PKG_RELEASE:=1
> +
> +PKG_BUILD_DIR:=$(BUILD_DIR)/fff-timeserver
> +
> +include $(INCLUDE_DIR)/package.mk
> +
> +define Package/fff-timeserver
> +    SECTION:=base
> +    CATEGORY:=Freifunk
> +    TITLE:=Freifunk-Franken timeserver
> +    URL:=http://www.freifunk-franken.de
> +endef
> +
> +define Package/fff-timeserver/description
> +    This is the Freifunk Franken Firmware timeserver package.
> +    This packages configures the timeserver on the device.
> +endef
> +
> +define Build/Prepare
> +    echo "all: " > $(PKG_BUILD_DIR)/Makefile
> +endef
> +
> +define Build/Configure
> +    # nothing
> +endef
> +
> +define Build/Compile
> +    # nothing
> +endef
> +
> +define Package/fff-timeserver/install
> +    $(CP) ./files/* $(1)/
> +endef
> +
> +$(eval $(call BuildPackage,fff-timeserver))
> diff --git a/src/packages/fff/fff-timeserver/files/etc/uci-defaults/51-fff-timeserver b/src/packages/fff/fff-timeserver/files/etc/uci-defaults/51-fff-timeserver
> new file mode 100755
> index 0000000..d2893cb
> --- /dev/null
> +++ b/src/packages/fff/fff-timeserver/files/etc/uci-defaults/51-fff-timeserver
> @@ -0,0 +1,6 @@
> +#!/bin/sh
> +
> +. /lib/functions/fff/timeserver
> +. /etc/community.cfg
> +
> +setTimeserver "${NTPD_IP}"
> diff --git a/src/packages/fff/fff-timeserver/files/lib/functions/fff/timeserver b/src/packages/fff/fff-timeserver/files/lib/functions/fff/timeserver
> new file mode 100644
> index 0000000..fb69e71
> --- /dev/null
> +++ b/src/packages/fff/fff-timeserver/files/lib/functions/fff/timeserver
> @@ -0,0 +1,24 @@
> +#!/bin/sh
> +# Copyright 2016 Tim Niemeyer
> +# License GPLv3
> +
> +setTimeserver() {
> +	if [ $# -ne "1" ]
> +	then
> +		echo "Usage: setTimeserver <ntp-server-address>"
> +		return 1
> +	fi
> +
> +	local ntp=$1
> +
> +	uci batch <<-__EOF__
> +		set system.ntp='timeserver'
> +		add_list system.ntp.server='$ntp'
> +		set system.ntp.enable_server='0'
> +		commit system
> +	__EOF__
> +
> +	return 0
> +}
> +
> +# vim: set noexpandtab:tabstop=4
> diff --git a/src/packages/fff/fff/Makefile b/src/packages/fff/fff/Makefile
> index 614eba1..11fb4a1 100644
> --- a/src/packages/fff/fff/Makefile
> +++ b/src/packages/fff/fff/Makefile
> @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
>  
>  PKG_NAME:=fff
>  PKG_VERSION:=0.0.2
> -PKG_RELEASE:=3
> +PKG_RELEASE:=4
>  
>  PKG_BUILD_DIR:=$(BUILD_DIR)/fff
>  
> @@ -24,7 +24,8 @@ define Package/fff-base
>               +fff-support \
>               +fff-network \
>               +fff-sysupgrade \
> -             +fff-wireless
> +             +fff-wireless \
> +             +fff-timeserver
>  endef
>  
>  define Package/fff-base/description
> -- 
> 2.1.4
>