openwrt/package/base-files/files
Adrian Schmutzler ad3e1f9db4 base-files: fwtool: implement compatibility check for images
We regularly encounter the situation that devices are subject to
changes that will make them incompatible to previous versions.
Removing SUPPORTED_DEVICES will not really be helpful in most of these
cases, as this only helps after a rename.

To solve this situation, this patchset introduces a compatibility
version for devices. In this patch, the actual checks are implemented
into fwtool_check_image():

If an incompatible change is introduced, one can increase either
the minor version (1.0->1.1) or the major version (1.0->2.0).

Minor version increment:
This will still allow sysupgrade, but require to reset config
(-n or SAVE_CONFIG=0). If sysupgrade is called without -n, a
corresponding message will be printed. If sysupgrade is called
with -n, it will just pass, with supported devices being checked
as usual. (Which will allow us to add back SUPPORTED_DEVICES for
many cases.)

Major version increment:
This is meant for potential (rare) cases where sysupgrade is
not possible at all, because it would break the device.
In this case, a warning will be printed, and -n won't help.

If image check fails because of one of the versions parts not
matching, the content of DEVICE_COMPAT_MESSAGE is printed in
addition to the generic message (if set).

For both cases, upgrade can still be forced with -F as usual.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
2020-07-31 11:40:15 +02:00
..
bin base-files: add support for compat_version on device 2020-07-31 11:40:15 +02:00
etc base-files: replace backticks by $(...) 2020-07-11 12:52:01 +02:00
lib base-files: fwtool: implement compatibility check for images 2020-07-31 11:40:15 +02:00
rom rename default/ to files/ 2006-11-22 23:30:57 +00:00
sbin base-files: remove useless cat 2020-07-11 12:52:01 +02:00
usr base-files: validate firmware for compatibility with backup 2019-09-08 09:10:30 +02:00