aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-07-14 16:18:10 +0200
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>2020-07-31 11:40:15 +0200
commit090779b24e436bb5113719eb7067c7b8151abd14 (patch)
tree3c2b2edf84eaad8f983316cc0cdff5de258ad6c6
parent494f12c52df6767ec0fabf2b2fac8f453323a4c5 (diff)
downloadupstream-090779b24e436bb5113719eb7067c7b8151abd14.tar.gz
upstream-090779b24e436bb5113719eb7067c7b8151abd14.tar.bz2
upstream-090779b24e436bb5113719eb7067c7b8151abd14.zip
kirkwood: implement compatibility version for DSA migration
This implements the newly introduced compat-version to prevent upgrade between swconfig and DSA for kirkwood. Just define a compat version with minor increment and an appropriate message for both image (in Makefile) and device (in base-files). Since we never removed SUPPORTED_DEVICES for this target, we don't have to add it back either. Attention: All users that already updated to the DSA versions in master will receive the same incompatibility warning since their devices are still "1.0" as far as fwtool can tell. Those, and only those, can bypass the upgrade check by using force (-F) without having to reset config again. In addition, the new version string needs to be put into uci config manually, so the new fwtool knows that it actually deals with a "1.1": uci set "system.@system[-1].compat_version=1.1" uci commit system Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
-rwxr-xr-xtarget/linux/kirkwood/base-files/etc/board.d/05_compat-version20
-rw-r--r--target/linux/kirkwood/image/Makefile7
2 files changed, 27 insertions, 0 deletions
diff --git a/target/linux/kirkwood/base-files/etc/board.d/05_compat-version b/target/linux/kirkwood/base-files/etc/board.d/05_compat-version
new file mode 100755
index 0000000000..8954d69d12
--- /dev/null
+++ b/target/linux/kirkwood/base-files/etc/board.d/05_compat-version
@@ -0,0 +1,20 @@
+#!/bin/sh
+#
+# Copyright (C) 2020 OpenWrt.org
+#
+
+. /lib/functions.sh
+. /lib/functions/uci-defaults.sh
+
+board_config_update
+
+case "$(board_name)" in
+ linksys,audi|\
+ linksys,viper)
+ ucidef_set_compat_version "1.1"
+ ;;
+esac
+
+board_config_flush
+
+exit 0
diff --git a/target/linux/kirkwood/image/Makefile b/target/linux/kirkwood/image/Makefile
index ba93fffeb2..6554fc2669 100644
--- a/target/linux/kirkwood/image/Makefile
+++ b/target/linux/kirkwood/image/Makefile
@@ -10,6 +10,11 @@ include $(INCLUDE_DIR)/image.mk
KERNEL_LOADADDR:=0x8000
+define Device/dsa-migration
+ DEVICE_COMPAT_VERSION := 1.1
+ DEVICE_COMPAT_MESSAGE := Config cannot be migrated from swconfig to DSA
+endef
+
define Device/Default
PROFILES := Default
DEVICE_DTS = $$(if $$(BOARD_NAME),kirkwood-$$(BOARD_NAME),)
@@ -92,6 +97,7 @@ endef
TARGET_DEVICES += iom_ix2-200
define Device/linksys_audi
+ $(Device/dsa-migration)
DEVICE_VENDOR := Linksys
DEVICE_MODEL := EA3500 (Audi)
DEVICE_PACKAGES := kmod-mwl8k wpad-basic kmod-gpio-button-hotplug
@@ -107,6 +113,7 @@ endef
TARGET_DEVICES += linksys_audi
define Device/linksys_viper
+ $(Device/dsa-migration)
DEVICE_VENDOR := Linksys
DEVICE_MODEL := E4200v2 / EA4500 (Viper)
DEVICE_PACKAGES := kmod-mwl8k wpad-basic kmod-gpio-button-hotplug