[PATCH v2 3/7] fff-boardname: mv rc.local board detect to package

Tim Niemeyer tim at tn-x.org
Fr Jun 10 23:58:11 CEST 2016


Signed-off-by: Tim Niemeyer <tim at tn-x.org>
---

Changes in v2:
- change description

 bsp/default/root_file_system/etc/rc.local.tpl      | 57 ----------------------
 src/packages/fff/fff-boardname/Makefile            | 39 +++++++++++++++
 .../fff/fff-boardname/files}/etc/config/board      |  0
 .../files/etc/uci-defaults/50-fff-boardname        | 57 ++++++++++++++++++++++
 src/packages/fff/fff-network/Makefile              |  4 +-
 src/packages/fff/fff-web/Makefile                  |  4 +-
 6 files changed, 100 insertions(+), 61 deletions(-)
 create mode 100644 src/packages/fff/fff-boardname/Makefile
 rename {bsp/default/root_file_system => src/packages/fff/fff-boardname/files}/etc/config/board (100%)
 create mode 100755 src/packages/fff/fff-boardname/files/etc/uci-defaults/50-fff-boardname

diff --git a/bsp/default/root_file_system/etc/rc.local.tpl b/bsp/default/root_file_system/etc/rc.local.tpl
index 74d3ba1..754affb 100755
--- a/bsp/default/root_file_system/etc/rc.local.tpl
+++ b/bsp/default/root_file_system/etc/rc.local.tpl
@@ -2,63 +2,6 @@
 # Put your custom commands here that should be executed once
 # the system init finished. By default this file does nothing.
 
-BOARD=$(cat /var/sysinfo/board_name)
-
-case "$BOARD" in
-    tl-wr1043nd)
-        BOARD=tl-wr1043nd-v1
-        ;;
-    tl-wr1043nd-v2)
-        grep "v3" /var/sysinfo/model && BOARD=tl-wr1043nd-v3
-        ;;
-    tl-wr741nd)
-        grep "Atheros AR7240 rev 2" /proc/cpuinfo && BOARD=tl-wr741nd-v2 || BOARD=tl-wr741nd-v4
-        ;;
-    tl-wr741nd-v4)
-        grep 740 /var/sysinfo/model && BOARD=tl-wr740n-v4
-        ;;
-    tl-wr841n-v7)
-        BOARD=tl-wr841nd-v7
-        ;;
-    tl-wr841n-v9)
-        grep "v10" /var/sysinfo/model && BOARD=tl-wr841n-v10
-        grep "v11" /var/sysinfo/model && BOARD=tl-wr841n-v11
-        ;;
-    nanostation-m)
-        BOARD=ubnt-nano-m
-        ;;
-    bullet-m)
-        BOARD=ubnt-bullet-m
-        ;;
-    loco-m-xw)
-        BOARD=ubnt-loco-m-xw
-        ;;
-    tl-wa850re)
-        BOARD=tl-wa850re-v1
-        ;;
-    tl-wa860re)
-        BOARD=tl-wa860re-v1
-        ;;
-    tl-wdr3500)
-        BOARD=tl-wdr3500-v1
-        ;;
-    tl-wdr4300)
-        grep "3600" /var/sysinfo/model && BOARD=tl-wdr3600-v1
-        grep "4300" /var/sysinfo/model && BOARD=tl-wdr4300-v1
-        grep "4310" /var/sysinfo/model && BOARD=tl-wdr4310-v1
-        ;;
-    tl-mr3020)
-        BOARD=tl-mr3020-v1
-        ;;
-    cpe510)
-        grep "CPE210" /var/sysinfo/model && BOARD=cpe210
-        ;;
-esac
-
-if ! uci get board.model.name; then
-    uci set board.model.name=$BOARD
-fi
-
 /usr/sbin/configurenetwork
 
 # Starting NTP-Client Daemon after 30s to ensure that the interface is up
diff --git a/src/packages/fff/fff-boardname/Makefile b/src/packages/fff/fff-boardname/Makefile
new file mode 100644
index 0000000..c55f92f
--- /dev/null
+++ b/src/packages/fff/fff-boardname/Makefile
@@ -0,0 +1,39 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=fff-boardname
+PKG_VERSION:=0.0.1
+PKG_RELEASE:=1
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/fff-boardname
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/fff-boardname
+    SECTION:=base
+    CATEGORY:=Freifunk
+    TITLE:=Freifunk-Franken boardname
+    URL:=http://www.freifunk-franken.de
+endef
+
+define Package/fff-boardname/description
+    This is the Freifunk Franken Firmware boardname package.
+    This packages configures the boardname in the board config.
+endef
+
+define Build/Prepare
+    echo "all: " > $(PKG_BUILD_DIR)/Makefile
+endef
+
+define Build/Configure
+    # nothing
+endef
+
+define Build/Compile
+    # nothing
+endef
+
+define Package/fff-boardname/install
+    $(CP) ./files/* $(1)/
+endef
+
+$(eval $(call BuildPackage,fff-boardname))
diff --git a/bsp/default/root_file_system/etc/config/board b/src/packages/fff/fff-boardname/files/etc/config/board
similarity index 100%
rename from bsp/default/root_file_system/etc/config/board
rename to src/packages/fff/fff-boardname/files/etc/config/board
diff --git a/src/packages/fff/fff-boardname/files/etc/uci-defaults/50-fff-boardname b/src/packages/fff/fff-boardname/files/etc/uci-defaults/50-fff-boardname
new file mode 100755
index 0000000..28811a3
--- /dev/null
+++ b/src/packages/fff/fff-boardname/files/etc/uci-defaults/50-fff-boardname
@@ -0,0 +1,57 @@
+#!/bin/sh
+
+BOARD=$(cat /var/sysinfo/board_name)
+
+case "$BOARD" in
+    tl-wr1043nd)
+        BOARD=tl-wr1043nd-v1
+        ;;
+    tl-wr1043nd-v2)
+        grep "v3" /var/sysinfo/model && BOARD=tl-wr1043nd-v3
+        ;;
+    tl-wr741nd)
+        grep "Atheros AR7240 rev 2" /proc/cpuinfo && BOARD=tl-wr741nd-v2 || BOARD=tl-wr741nd-v4
+        ;;
+    tl-wr741nd-v4)
+        grep 740 /var/sysinfo/model && BOARD=tl-wr740n-v4
+        ;;
+    tl-wr841n-v7)
+        BOARD=tl-wr841nd-v7
+        ;;
+    tl-wr841n-v9)
+        grep "v10" /var/sysinfo/model && BOARD=tl-wr841n-v10
+        grep "v11" /var/sysinfo/model && BOARD=tl-wr841n-v11
+        ;;
+    nanostation-m)
+        BOARD=ubnt-nano-m
+        ;;
+    bullet-m)
+        BOARD=ubnt-bullet-m
+        ;;
+    loco-m-xw)
+        BOARD=ubnt-loco-m-xw
+        ;;
+    tl-wa850re)
+        BOARD=tl-wa850re-v1
+        ;;
+    tl-wa860re)
+        BOARD=tl-wa860re-v1
+        ;;
+    tl-wdr3500)
+        BOARD=tl-wdr3500-v1
+        ;;
+    tl-wdr4300)
+        grep "3600" /var/sysinfo/model && BOARD=tl-wdr3600-v1
+        grep "4300" /var/sysinfo/model && BOARD=tl-wdr4300-v1
+        grep "4310" /var/sysinfo/model && BOARD=tl-wdr4310-v1
+        ;;
+    tl-mr3020)
+        BOARD=tl-mr3020-v1
+        ;;
+    cpe510)
+        grep "CPE210" /var/sysinfo/model && BOARD=cpe210
+        ;;
+esac
+
+uci set board.model.name=$BOARD
+uci commit board
diff --git a/src/packages/fff/fff-network/Makefile b/src/packages/fff/fff-network/Makefile
index a803afe..e3dc981 100644
--- a/src/packages/fff/fff-network/Makefile
+++ b/src/packages/fff/fff-network/Makefile
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=fff-network
 PKG_VERSION:=0.0.1
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/fff-network
 
@@ -13,7 +13,7 @@ define Package/fff-network
     CATEGORY:=Freifunk
     TITLE:= Freifunk-Franken network configuration
     URL:=http://www.freifunk-franken.de
-    DEPENDS:=+fff-uradvd
+    DEPENDS:=+fff-uradvd +fff-boardname
 endef
 
 define Package/fff-network/description
diff --git a/src/packages/fff/fff-web/Makefile b/src/packages/fff/fff-web/Makefile
index aefcaa6..e9fff79 100644
--- a/src/packages/fff/fff-web/Makefile
+++ b/src/packages/fff/fff-web/Makefile
@@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=fff-web
 PKG_VERSION:=0.0.3
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_BUILD_DIR:=$(BUILD_DIR)/fff-web
 
@@ -13,7 +13,7 @@ define Package/fff-web
     CATEGORY:=Freifunk
     TITLE:= Freifunk-Franken Webinterface
     URL:=http://www.freifunk-franken.de
-    DEPENDS:=+uhttpd +haserl +uhttpd-mod-tls +px5g +simple-tc
+    DEPENDS:=+uhttpd +haserl +uhttpd-mod-tls +px5g +simple-tc +fff-boardname
 endef
 
 define Package/fff-web/description
-- 
2.1.4



Mehr Informationen über die Mailingliste franken-dev