From b94f2ee10e398996f9b1c6298ee86db5b5c67378 Mon Sep 17 00:00:00 2001 From: Christian Dresel Date: Mon, 28 Dec 2020 10:56:29 +0100 Subject: [PATCH] Add package fff-autoconfig This package configure the router automaticaly Signed-off-by: Christian Dresel --- src/packages/fff/fff-autoconfig/Makefile | 32 +++++++++++++++++++ .../files/etc/uci-defaults/99-autoconfigl3 | 6 ++++ .../files/usr/lib/micron.d/fff-autoconfigl3 | 1 + .../files/usr/sbin/autoconfigl3 | 19 +++++++++++ 4 files changed, 58 insertions(+) create mode 100644 src/packages/fff/fff-autoconfig/Makefile create mode 100644 src/packages/fff/fff-autoconfig/files/etc/uci-defaults/99-autoconfigl3 create mode 100644 src/packages/fff/fff-autoconfig/files/usr/lib/micron.d/fff-autoconfigl3 create mode 100644 src/packages/fff/fff-autoconfig/files/usr/sbin/autoconfigl3 diff --git a/src/packages/fff/fff-autoconfig/Makefile b/src/packages/fff/fff-autoconfig/Makefile new file mode 100644 index 00000000..5b2e2b5e --- /dev/null +++ b/src/packages/fff/fff-autoconfig/Makefile @@ -0,0 +1,32 @@ +include $(TOPDIR)/rules.mk + +PKG_NAME:=fff-autoconfig +PKG_RELEASE:=1 + +PKG_BUILD_DIR:=$(BUILD_DIR)/fff-autoconfig + +include $(INCLUDE_DIR)/package.mk + +define Package/fff-autoconfig + SECTION:=base + CATEGORY:=Freifunk + TITLE:=Freifunk-Franken layer3 automatic ipv4 configuration + URL:=https://www.freifunk-franken.de + DEPENDS:= \ + +fff-layer3-config + +endef + +define Package/fff-autoconfig/description + This package load automatic ipv4 over mqtt +endef + +define Build/Compile + # nothing +endef + +define Package/fff-autoconfig/install + $(CP) ./files/* $(1)/ +endef + +$(eval $(call BuildPackage,fff-autoconfig)) diff --git a/src/packages/fff/fff-autoconfig/files/etc/uci-defaults/99-autoconfigl3 b/src/packages/fff/fff-autoconfig/files/etc/uci-defaults/99-autoconfigl3 new file mode 100644 index 00000000..d743f366 --- /dev/null +++ b/src/packages/fff/fff-autoconfig/files/etc/uci-defaults/99-autoconfigl3 @@ -0,0 +1,6 @@ +if ! uci -q get fff.autol3 > /dev/null ; then + uci set fff.autol3=autol3 + uci commit fff +fi + +exit 0; diff --git a/src/packages/fff/fff-autoconfig/files/usr/lib/micron.d/fff-autoconfigl3 b/src/packages/fff/fff-autoconfig/files/usr/lib/micron.d/fff-autoconfigl3 new file mode 100644 index 00000000..eb8fe0d6 --- /dev/null +++ b/src/packages/fff/fff-autoconfig/files/usr/lib/micron.d/fff-autoconfigl3 @@ -0,0 +1 @@ +2-57/5 * * * * /usr/sbin/autoconfigl3 diff --git a/src/packages/fff/fff-autoconfig/files/usr/sbin/autoconfigl3 b/src/packages/fff/fff-autoconfig/files/usr/sbin/autoconfigl3 new file mode 100644 index 00000000..cdf79ae9 --- /dev/null +++ b/src/packages/fff/fff-autoconfig/files/usr/sbin/autoconfigl3 @@ -0,0 +1,19 @@ +#!/bin/sh + +for f in /usr/lib/autol3.d/*.sh; do + . /usr/lib/autol3.d/$f + if [ $? -ne 0 ]; then + debug "Error when executing subscript $f, exiting!" + exit 1 + fi +done + +if [ -n "$uci -q get fff.autol3.autoconfigl3" ] ; then + if yes | configure-layer3 -c; then + configure-layer3 -a + else + configure-layer3 -r + fi + uci del fff.autol3.autoconfigl3 + uci commit fff +fi