Instead of shipping a base /etc/config/system and amending it in-place with board_generate generate the entire file from scratch, similar to how we handle the /etc/config/network file already.
This change series solves multiple problems: - Currently the generation of /etc/config/system is skipped if an /etc/config/network file exists already, leading to a missing LED setup when an image is built which already embeds a network config - It makes it easier for config_generate to detect whether the system config parts are already processed yet - It paves the way for future support of in-place updates, e.g. to migrate LED settings while keeping the rest of the config intact - It allows us to get rid of various target specific system config copies While doing this rework I decided to generalize the ath25 button config framework but I am not yet sure whether we should drop it instead as there is /etc/rc.button/$BUTTON available which allows users and targets to ship their own specific button handlers. Jo-Philipp Wich (12): ath25: generalize button hotplug base-files: support button actions through board.d ath25: register button actions through board.d ath25: remove target specific /etc/config/system base-files: support hostname and ntp servers through board.d xburst: add /etc/config/system overrides via board.d xburst: remove target specific /etc/config/system base-files: support port_state LED types in board.d adm5120: convert LED setup to board.d adm5120: remove target specific /etc/config/system base-files: rework config generation logic base-files: drop /etc/config/system package/base-files/files/bin/board_detect | 6 +- package/base-files/files/bin/config_generate | 107 ++++++++++++++++++--- package/base-files/files/etc/config/system | 12 --- .../files/etc/hotplug.d/button/00-button | 24 +++++ .../base-files/files/lib/functions/uci-defaults.sh | 58 +++++++++++ .../linux/adm5120/base-files/etc/board.d/01_leds | 17 ++++ target/linux/adm5120/base-files/etc/config/system | 40 -------- target/linux/ath25/base-files/etc/board.d/01_leds | 13 --- .../linux/ath25/base-files/etc/board.d/01_system | 16 +++ target/linux/ath25/base-files/etc/config/system | 23 ----- .../base-files/etc/hotplug.d/button/00-button | 24 ----- .../linux/xburst/base-files/etc/board.d/01_system | 12 +++ target/linux/xburst/base-files/etc/config/system | 3 - 13 files changed, 225 insertions(+), 130 deletions(-) delete mode 100644 package/base-files/files/etc/config/system create mode 100644 package/base-files/files/etc/hotplug.d/button/00-button create mode 100755 target/linux/adm5120/base-files/etc/board.d/01_leds delete mode 100644 target/linux/adm5120/base-files/etc/config/system delete mode 100755 target/linux/ath25/base-files/etc/board.d/01_leds create mode 100755 target/linux/ath25/base-files/etc/board.d/01_system delete mode 100644 target/linux/ath25/base-files/etc/config/system delete mode 100644 target/linux/ath25/base-files/etc/hotplug.d/button/00-button create mode 100755 target/linux/xburst/base-files/etc/board.d/01_system delete mode 100644 target/linux/xburst/base-files/etc/config/system -- 2.1.4 _______________________________________________ Lede-dev mailing list Lede-dev@lists.infradead.org http://lists.infradead.org/mailman/listinfo/lede-dev