base-files: allow exceptions when removing devicename from LEDs
authorAdrian Schmutzler <freifunk@adrianschmutzler.de>
Fri, 2 Oct 2020 12:23:59 +0000 (14:23 +0200)
committerAdrian Schmutzler <freifunk@adrianschmutzler.de>
Fri, 2 Oct 2020 12:51:57 +0000 (14:51 +0200)
commit9b4eab023c0add0063260e8a5da6193fc44f1658
tree48382a0643886e0794e32c63c938fd68ef3162f5
parent257110c08a0002894e130f9d09e1635bcff21ca6
base-files: allow exceptions when removing devicename from LEDs

Without the model-based devicename for LEDs, there are still cases
where a third component is required, typically when it refers to
internal "devices" like phys etc. An example are the following two
found on ramips:

  - rt2800soc-phy0::radio
  - rt2800pci-phy0::radio

So far, the rt2800*-phy: prefixes would be removed by the devicename
removal ("migration") script, and the configuration for these LEDs
would be broken.

To address this, this patch allows to add arguments to a call of
remove_devicename_leds, which will be compared against the first
part of the LED names/labels, and then be ignored by the routine,
and thus not removed:

  remove_devicename_leds "rt2800soc-phy0" "rt2800pci-phy0"

This mechanism is supposed to be used when a "devicename" applies
to several devices. If only a single device is affected, it might
be more effective to use a case statement and exclude the device
from migration by that entirely.

Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
package/base-files/Makefile
package/base-files/files/lib/functions/migrations.sh