aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/base-files/Makefile2
-rw-r--r--package/base-files/files/lib/functions/migrations.sh11
2 files changed, 10 insertions, 3 deletions
diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index 3cb3d2034a..bf6b5c3c9a 100644
--- a/package/base-files/Makefile
+++ b/package/base-files/Makefile
@@ -12,7 +12,7 @@ include $(INCLUDE_DIR)/version.mk
include $(INCLUDE_DIR)/feeds.mk
PKG_NAME:=base-files
-PKG_RELEASE:=231
+PKG_RELEASE:=232
PKG_FLAGS:=nonshared
PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
diff --git a/package/base-files/files/lib/functions/migrations.sh b/package/base-files/files/lib/functions/migrations.sh
index da10d2be5a..d2f1bc19aa 100644
--- a/package/base-files/files/lib/functions/migrations.sh
+++ b/package/base-files/files/lib/functions/migrations.sh
@@ -29,7 +29,8 @@ migrate_led_sysfs() {
}
remove_devicename_led_sysfs() {
- local cfg="$1"
+ local cfg="$1"; shift
+ local exceptions="$@"
local sysfs
local name
local new_sysfs
@@ -37,8 +38,14 @@ remove_devicename_led_sysfs() {
config_get sysfs ${cfg} sysfs
config_get name ${cfg} name
+ # only continue if two or more colons are present
echo "${sysfs}" | grep -q ":.*:" || return
+ for exception in ${exceptions}; do
+ # no change if exceptions provided as argument are found for devicename
+ echo "${sysfs}" | grep -q "^${exception}:" && return
+ done
+
new_sysfs=$(echo ${sysfs} | sed "s/^[^:]*://")
uci set system.${cfg}.sysfs="${new_sysfs}"
@@ -53,7 +60,7 @@ migrate_leds() {
remove_devicename_leds() {
config_load system
- config_foreach remove_devicename_led_sysfs led
+ config_foreach remove_devicename_led_sysfs led "$@"
}
migrations_apply() {