openwrt/target/linux/mvebu
Adrian Schmutzler a9703db720 mvebu: fix sysupgrade experience for early DSA-adopters
Conceptually, the compat-version during sysupgrade is meant to
describe the config. Therefore, if somebody starts with a device on
19.07 and swconfig, and that person does a forceful upgrade into a
DSA-based firmware without wiping his/her config, then the local
compat-version should stay at 1.0 according to the config present
(and not get updated).

However, this poses a problem for those people that early-adopted
DSA in master, as they already have adjusted their config for DSA,
but it still is "1.0" as far as sysupgrade is concerned. This can
be healed by a simple

   uci set system.@system[0].compat_version="1.1"
   uci commit system

But this needs to be applied _after_ the upgrade (as the "old" fwtool
on the old installation does not know about compat_version) and it
requires access via SSH (i.e. no pure GUI solution is available for
this group of people, apart from wiping their config _again_ for
no technical reason). Despite, the situation will not become
obvious to those just upgrading via GUI, they will just have the
experience of a "broken upgrade".

This is a conflict which cannot be resolved by achieving both goals,
we have to decide to either keep the strict concept or improve the
situation for early adopters.

In this patch, we address the issue by providing a uci-defaults
script that will raise the compat_version for _all_ people upgrading
into a 1.1 image, no matter whether they have reset config or not.
The idea is to implement this as a _temporary_ solution, so early
adopters can upgrade into the new mechanism without issues, and
after a few weeks/months we could remove the uci-defaults script
again.

If we e.g. remove the script just before 20.xx.0-rc1, early adopters
should have moved on by then, and existing stable users would still
get the intended experience.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-08-08 16:13:51 +02:00
..
base-files treewide: drop shebang from non-executable target files 2020-06-16 14:26:33 +02:00
cortexa9 mvebu: fix sysupgrade experience for early DSA-adopters 2020-08-08 16:13:51 +02:00
cortexa53 mvebu: tidy up support for GL.iNet GL-MV1000 2020-04-27 00:25:12 +02:00
cortexa72 mvebu: add support for MACCHIATObin Single Shot 2020-07-12 02:06:02 +02:00
files/arch mvebu: LS421DE: use automatic fan control with thermal zones 2020-07-04 21:12:42 +02:00
files-4.19/arch/arm64/boot/dts/marvell mvebu: consolidate DTS files 2020-06-23 21:02:40 +02:00
image mvebu: increase compat version for SolidRun ClearFog Base 2020-07-31 11:40:15 +02:00
patches-4.19 mvebu: add Kobol Helios 4 device 2020-07-17 11:00:33 +02:00
patches-5.4 kernel: bump 5.4 to 5.4.52 2020-07-17 11:00:33 +02:00
config-4.19 kernel: unify CONFIG_GPIO_SYSFS in kernel configs 2020-08-06 12:37:04 +02:00
config-5.4 kernel: unify CONFIG_GPIO_SYSFS in kernel configs 2020-08-06 12:37:04 +02:00
Makefile mvebu: switch to kernel 5.4 2020-06-03 20:34:14 +02:00