build: add DEVICE_COMPAT_VERSION and DEVICE_COMPAT_MESSAGE
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>
Thu, 9 Jul 2020 17:14:45 +0000 (19:14 +0200)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Fri, 31 Jul 2020 09:40:15 +0000 (11:40 +0200)
commit6867d86e085dd4a284c8ee8878839c9e77546f46
tree9b854ef3d4dcfc10b991bcf88862175fc499e3f2
parent84cb0f7ace73fad15e29e1d74c469b37f90b334d
build: add DEVICE_COMPAT_VERSION and DEVICE_COMPAT_MESSAGE

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. It will be implemented via a per-device
Make variable DEVICE_COMPAT_VERSION, which will be set to 1.0
globally by default and then can be overwritten as needed.

Furthermore, a variable DEVICE_COMPAT_MESSAGE is added, where
a message to be displayed during sysupgrade may be specified
optionally.

This patch only implements the build variables and adds them
to the sysupgrade metadata, the evaluation will be addressed
in a subsequent patch.

To set it, one would just need to add the following to a device node:

define Device/somedevice
  ...
  DEVICE_COMPAT_VERSION := 1.1
  DEVICE_COMPAT_MESSAGE := Config cannot be migrated from swconfig to DSA
endef

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
include/image-commands.mk
include/image.mk