[openwrt/openwrt] kirkwood: implement compatibility version for DSA migration

LEDE Commits lede-commits at lists.infradead.org
Fri Jul 31 05:40:59 EDT 2020


adrian pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/090779b24e436bb5113719eb7067c7b8151abd14

commit 090779b24e436bb5113719eb7067c7b8151abd14
Author: Adrian Schmutzler <freifunk at adrianschmutzler.de>
AuthorDate: Tue Jul 14 16:18:10 2020 +0200

    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. at system[-1].compat_version=1.1"
       uci commit system
    
    Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
---
 .../base-files/etc/board.d/05_compat-version         | 20 ++++++++++++++++++++
 target/linux/kirkwood/image/Makefile                 |  7 +++++++
 2 files changed, 27 insertions(+)

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



More information about the lede-commits mailing list