diff --git a/gluon/gluon-alfred/files/lib/gluon/upgrade/alfred/invariant/010-enable-alfred b/gluon/gluon-alfred/files/lib/gluon/upgrade/500-enable-alfred similarity index 100% rename from gluon/gluon-alfred/files/lib/gluon/upgrade/alfred/invariant/010-enable-alfred rename to gluon/gluon-alfred/files/lib/gluon/upgrade/500-enable-alfred diff --git a/gluon/gluon-authorized-keys/files/lib/gluon/upgrade/authorized-keys/invariant/010-authorized-keys b/gluon/gluon-authorized-keys/files/lib/gluon/upgrade/100-authorized-keys similarity index 100% rename from gluon/gluon-authorized-keys/files/lib/gluon/upgrade/authorized-keys/invariant/010-authorized-keys rename to gluon/gluon-authorized-keys/files/lib/gluon/upgrade/100-authorized-keys diff --git a/gluon/gluon-autoupdater/files/lib/gluon/upgrade/autoupdater/invariant/010-autoupdater b/gluon/gluon-autoupdater/files/lib/gluon/upgrade/500-autoupdater similarity index 100% rename from gluon/gluon-autoupdater/files/lib/gluon/upgrade/autoupdater/invariant/010-autoupdater rename to gluon/gluon-autoupdater/files/lib/gluon/upgrade/500-autoupdater diff --git a/gluon/gluon-core/files/etc/uci-defaults/zzz-gluon-upgrade b/gluon/gluon-core/files/etc/uci-defaults/zzz-gluon-upgrade index 3db5cab..a12ce78 100755 --- a/gluon/gluon-core/files/etc/uci-defaults/zzz-gluon-upgrade +++ b/gluon/gluon-core/files/etc/uci-defaults/zzz-gluon-upgrade @@ -1,67 +1,5 @@ #!/bin/sh - -UPGRADE_DIR=/lib/gluon/upgrade -VERSION_DIR=/lib/gluon/version - - -if [ -x /lib/gluon/legacy/legacy-upgrade ] && /lib/gluon/legacy/legacy-upgrade; then - HAS_LEGACY=1 -else - HAS_LEGACY= -fi - -mkdir -p "$VERSION_DIR" - - -version_of() { - opkg status "gluon-$1" | awk '/^Version: / { print $2 }' -} - -oldversion_of() { - cat "$VERSION_DIR"/"$1" 2>/dev/null -} - -do_dir() { - [ -d "$1" ] || return - - local s - for s in "$1"/*; do "$s"; done -} - -do_component() { - local component="$1" - local version="$(version_of "$component")" - [ "$version" ] || continue - - ( - cd "$component" - - local oldversion="$(oldversion_of "$component")" - if [ -z "$oldversion" ]; then - if [ "$HAS_LEGACY" ]; then - do_dir legacy - else - do_dir initial - fi - fi - - do_dir invariant - - echo "$version" > "$VERSION_DIR"/"$component" - ) -} - - -cd "$UPGRADE_DIR" - -do_component core - -for component in *; do - [ "$component" != 'core' ] || continue - do_component "$component" +for script in /lib/gluon/upgrade/*; do + "$script" done - -if [ "$HAS_LEGACY" ]; then - /lib/gluon/legacy/legacy-upgrade-late -fi diff --git a/gluon/gluon-core/files/lib/gluon/upgrade/core/invariant/001-upgrade b/gluon/gluon-core/files/lib/gluon/upgrade/001-upgrade similarity index 100% rename from gluon/gluon-core/files/lib/gluon/upgrade/core/invariant/001-upgrade rename to gluon/gluon-core/files/lib/gluon/upgrade/001-upgrade diff --git a/gluon/gluon-core/files/lib/gluon/upgrade/core/invariant/010-primary-mac b/gluon/gluon-core/files/lib/gluon/upgrade/010-primary-mac similarity index 100% rename from gluon/gluon-core/files/lib/gluon/upgrade/core/invariant/010-primary-mac rename to gluon/gluon-core/files/lib/gluon/upgrade/010-primary-mac diff --git a/gluon/gluon-core/files/lib/gluon/upgrade/core/invariant/020-interfaces b/gluon/gluon-core/files/lib/gluon/upgrade/020-interfaces similarity index 100% rename from gluon/gluon-core/files/lib/gluon/upgrade/core/invariant/020-interfaces rename to gluon/gluon-core/files/lib/gluon/upgrade/020-interfaces diff --git a/gluon/gluon-core/files/lib/gluon/upgrade/core/invariant/030-system b/gluon/gluon-core/files/lib/gluon/upgrade/030-system similarity index 100% rename from gluon/gluon-core/files/lib/gluon/upgrade/core/invariant/030-system rename to gluon/gluon-core/files/lib/gluon/upgrade/030-system diff --git a/gluon/gluon-core/files/lib/gluon/upgrade/core/invariant/100-dnsmasq b/gluon/gluon-core/files/lib/gluon/upgrade/100-dnsmasq similarity index 100% rename from gluon/gluon-core/files/lib/gluon/upgrade/core/invariant/100-dnsmasq rename to gluon/gluon-core/files/lib/gluon/upgrade/100-dnsmasq diff --git a/gluon/gluon-core/files/lib/gluon/upgrade/core/invariant/110-network b/gluon/gluon-core/files/lib/gluon/upgrade/110-network similarity index 100% rename from gluon/gluon-core/files/lib/gluon/upgrade/core/invariant/110-network rename to gluon/gluon-core/files/lib/gluon/upgrade/110-network diff --git a/gluon/gluon-core/files/lib/gluon/upgrade/core/invariant/120-ntp-servers b/gluon/gluon-core/files/lib/gluon/upgrade/120-ntp-servers similarity index 100% rename from gluon/gluon-core/files/lib/gluon/upgrade/core/invariant/120-ntp-servers rename to gluon/gluon-core/files/lib/gluon/upgrade/120-ntp-servers diff --git a/gluon/gluon-core/files/lib/gluon/upgrade/core/invariant/130-reboot-on-oom b/gluon/gluon-core/files/lib/gluon/upgrade/130-reboot-on-oom similarity index 100% rename from gluon/gluon-core/files/lib/gluon/upgrade/core/invariant/130-reboot-on-oom rename to gluon/gluon-core/files/lib/gluon/upgrade/130-reboot-on-oom diff --git a/gluon/gluon-core/files/lib/gluon/upgrade/core/invariant/140-firewall-rules b/gluon/gluon-core/files/lib/gluon/upgrade/140-firewall-rules similarity index 100% rename from gluon/gluon-core/files/lib/gluon/upgrade/core/invariant/140-firewall-rules rename to gluon/gluon-core/files/lib/gluon/upgrade/140-firewall-rules diff --git a/gluon/gluon-core/files/lib/gluon/upgrade/core/invariant/200-wireless b/gluon/gluon-core/files/lib/gluon/upgrade/200-wireless similarity index 100% rename from gluon/gluon-core/files/lib/gluon/upgrade/core/invariant/200-wireless rename to gluon/gluon-core/files/lib/gluon/upgrade/200-wireless diff --git a/gluon/gluon-core/files/lib/gluon/upgrade/core/invariant/999-version b/gluon/gluon-core/files/lib/gluon/upgrade/999-version similarity index 100% rename from gluon/gluon-core/files/lib/gluon/upgrade/core/invariant/999-version rename to gluon/gluon-core/files/lib/gluon/upgrade/999-version diff --git a/gluon/gluon-core/files/lib/upgrade/keep.d/gluon b/gluon/gluon-core/files/lib/upgrade/keep.d/gluon index 41c6bef..bc82c77 100644 --- a/gluon/gluon-core/files/lib/upgrade/keep.d/gluon +++ b/gluon/gluon-core/files/lib/upgrade/keep.d/gluon @@ -1,3 +1 @@ -/lib/gluon/version/ - /lib/gluon/core/sysconfig/ diff --git a/gluon/gluon-legacy/files/lib/gluon/upgrade/core/invariant/000-legacy b/gluon/gluon-legacy/files/lib/gluon/upgrade/000-legacy similarity index 100% rename from gluon/gluon-legacy/files/lib/gluon/upgrade/core/invariant/000-legacy rename to gluon/gluon-legacy/files/lib/gluon/upgrade/000-legacy diff --git a/gluon/gluon-legacy/files/lib/gluon/upgrade/core/invariant/019-legacy-interfaces b/gluon/gluon-legacy/files/lib/gluon/upgrade/019-legacy-interfaces similarity index 100% rename from gluon/gluon-legacy/files/lib/gluon/upgrade/core/invariant/019-legacy-interfaces rename to gluon/gluon-legacy/files/lib/gluon/upgrade/019-legacy-interfaces diff --git a/gluon/gluon-legacy/files/lib/gluon/upgrade/core/invariant/210-legacy-wireless b/gluon/gluon-legacy/files/lib/gluon/upgrade/210-legacy-wireless similarity index 100% rename from gluon/gluon-legacy/files/lib/gluon/upgrade/core/invariant/210-legacy-wireless rename to gluon/gluon-legacy/files/lib/gluon/upgrade/210-legacy-wireless diff --git a/gluon/gluon-legacy/files/lib/gluon/upgrade/setup-mode/invariant/009-legacy-setup-mode b/gluon/gluon-legacy/files/lib/gluon/upgrade/290-legacy-setup-mode similarity index 100% rename from gluon/gluon-legacy/files/lib/gluon/upgrade/setup-mode/invariant/009-legacy-setup-mode rename to gluon/gluon-legacy/files/lib/gluon/upgrade/290-legacy-setup-mode diff --git a/gluon/gluon-legacy/files/lib/gluon/upgrade/simple-tc/invariant/009-legacy-simple-tc b/gluon/gluon-legacy/files/lib/gluon/upgrade/290-legacy-simple-tc similarity index 100% rename from gluon/gluon-legacy/files/lib/gluon/upgrade/simple-tc/invariant/009-legacy-simple-tc rename to gluon/gluon-legacy/files/lib/gluon/upgrade/290-legacy-simple-tc diff --git a/gluon/gluon-legacy/files/lib/gluon/upgrade/mesh-vpn-fastd/invariant/009-legacy-mesh-vpn-fastd b/gluon/gluon-legacy/files/lib/gluon/upgrade/390-legacy-mesh-vpn-fastd similarity index 100% rename from gluon/gluon-legacy/files/lib/gluon/upgrade/mesh-vpn-fastd/invariant/009-legacy-mesh-vpn-fastd rename to gluon/gluon-legacy/files/lib/gluon/upgrade/390-legacy-mesh-vpn-fastd diff --git a/gluon/gluon-legacy/files/lib/gluon/upgrade/core/invariant/990-legacy-late b/gluon/gluon-legacy/files/lib/gluon/upgrade/990-legacy-late similarity index 100% rename from gluon/gluon-legacy/files/lib/gluon/upgrade/core/invariant/990-legacy-late rename to gluon/gluon-legacy/files/lib/gluon/upgrade/990-legacy-late diff --git a/gluon/gluon-lock-password/files/lib/gluon/upgrade/lock-password/invariant/010-lock-password b/gluon/gluon-lock-password/files/lib/gluon/upgrade/100-lock-password similarity index 100% rename from gluon/gluon-lock-password/files/lib/gluon/upgrade/lock-password/invariant/010-lock-password rename to gluon/gluon-lock-password/files/lib/gluon/upgrade/100-lock-password diff --git a/gluon/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/mesh-batman-adv-core/invariant/010-wan b/gluon/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/300-gluon-mesh-batman-adv-core-wan similarity index 100% rename from gluon/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/mesh-batman-adv-core/invariant/010-wan rename to gluon/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/300-gluon-mesh-batman-adv-core-wan diff --git a/gluon/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/mesh-batman-adv-core/invariant/011-mesh b/gluon/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/310-gluon-mesh-batman-adv-core-mesh similarity index 100% rename from gluon/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/mesh-batman-adv-core/invariant/011-mesh rename to gluon/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/310-gluon-mesh-batman-adv-core-mesh diff --git a/gluon/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/mesh-batman-adv-core/invariant/020-wireless b/gluon/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/320-gluon-mesh-batman-adv-core-wireless similarity index 100% rename from gluon/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/mesh-batman-adv-core/invariant/020-wireless rename to gluon/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/320-gluon-mesh-batman-adv-core-wireless diff --git a/gluon/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/mesh-batman-adv-core/invariant/030-mesh-on-wan b/gluon/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/330-gluon-mesh-batman-adv-core-mesh-on-wan similarity index 100% rename from gluon/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/mesh-batman-adv-core/invariant/030-mesh-on-wan rename to gluon/gluon-mesh-batman-adv-core/files/lib/gluon/upgrade/330-gluon-mesh-batman-adv-core-mesh-on-wan diff --git a/gluon/gluon-mesh-vpn-fastd/files/lib/gluon/upgrade/mesh-vpn-fastd/invariant/010-mesh-vpn-fastd b/gluon/gluon-mesh-vpn-fastd/files/lib/gluon/upgrade/400-mesh-vpn-fastd similarity index 100% rename from gluon/gluon-mesh-vpn-fastd/files/lib/gluon/upgrade/mesh-vpn-fastd/invariant/010-mesh-vpn-fastd rename to gluon/gluon-mesh-vpn-fastd/files/lib/gluon/upgrade/400-mesh-vpn-fastd diff --git a/gluon/gluon-mesh-vpn-fastd/files/lib/gluon/upgrade/mesh-vpn-fastd/invariant/020-secret-generate b/gluon/gluon-mesh-vpn-fastd/files/lib/gluon/upgrade/410-mesh-vpn-fastd-generate-secret similarity index 100% rename from gluon/gluon-mesh-vpn-fastd/files/lib/gluon/upgrade/mesh-vpn-fastd/invariant/020-secret-generate rename to gluon/gluon-mesh-vpn-fastd/files/lib/gluon/upgrade/410-mesh-vpn-fastd-generate-secret diff --git a/gluon/gluon-next-node/files/lib/gluon/upgrade/next-node/invariant/010-next-node b/gluon/gluon-next-node/files/lib/gluon/upgrade/400-next-node similarity index 100% rename from gluon/gluon-next-node/files/lib/gluon/upgrade/next-node/invariant/010-next-node rename to gluon/gluon-next-node/files/lib/gluon/upgrade/400-next-node diff --git a/gluon/gluon-node-info/files/lib/gluon/upgrade/node-info/invariant/001-node-system b/gluon/gluon-node-info/files/lib/gluon/upgrade/500-node-info-system similarity index 100% rename from gluon/gluon-node-info/files/lib/gluon/upgrade/node-info/invariant/001-node-system rename to gluon/gluon-node-info/files/lib/gluon/upgrade/500-node-info-system diff --git a/gluon/gluon-node-info/files/lib/gluon/upgrade/node-info/invariant/010-node-role b/gluon/gluon-node-info/files/lib/gluon/upgrade/510-node-info-role similarity index 100% rename from gluon/gluon-node-info/files/lib/gluon/upgrade/node-info/invariant/010-node-role rename to gluon/gluon-node-info/files/lib/gluon/upgrade/510-node-info-role diff --git a/gluon/gluon-radvd/files/lib/gluon/upgrade/radvd/invariant/10-radvd-user b/gluon/gluon-radvd/files/lib/gluon/upgrade/500-radvd-remove-user similarity index 100% rename from gluon/gluon-radvd/files/lib/gluon/upgrade/radvd/invariant/10-radvd-user rename to gluon/gluon-radvd/files/lib/gluon/upgrade/500-radvd-remove-user diff --git a/gluon/gluon-setup-mode/files/lib/gluon/upgrade/setup-mode/invariant/005-setup-mode b/gluon/gluon-setup-mode/files/lib/gluon/upgrade/300-setup-mode similarity index 100% rename from gluon/gluon-setup-mode/files/lib/gluon/upgrade/setup-mode/invariant/005-setup-mode rename to gluon/gluon-setup-mode/files/lib/gluon/upgrade/300-setup-mode diff --git a/gluon/gluon-setup-mode/files/lib/gluon/upgrade/setup-mode/invariant/010-setup-mode-migrate b/gluon/gluon-setup-mode/files/lib/gluon/upgrade/310-setup-mode-migrate similarity index 100% rename from gluon/gluon-setup-mode/files/lib/gluon/upgrade/setup-mode/invariant/010-setup-mode-migrate rename to gluon/gluon-setup-mode/files/lib/gluon/upgrade/310-setup-mode-migrate diff --git a/gluon/gluon-setup-mode/files/lib/gluon/upgrade/setup-mode/invariant/011-setup-ifname b/gluon/gluon-setup-mode/files/lib/gluon/upgrade/320-setup-ifname similarity index 100% rename from gluon/gluon-setup-mode/files/lib/gluon/upgrade/setup-mode/invariant/011-setup-ifname rename to gluon/gluon-setup-mode/files/lib/gluon/upgrade/320-setup-ifname diff --git a/gluon/gluon-simple-tc/files/lib/gluon/upgrade/simple-tc/invariant/010-site-defaults b/gluon/gluon-simple-tc/files/lib/gluon/upgrade/300-simple-tc-site-defaults similarity index 100% rename from gluon/gluon-simple-tc/files/lib/gluon/upgrade/simple-tc/invariant/010-site-defaults rename to gluon/gluon-simple-tc/files/lib/gluon/upgrade/300-simple-tc-site-defaults diff --git a/gluon/gluon-status-page/files/lib/gluon/upgrade/status-page/invariant/010-status-page b/gluon/gluon-status-page/files/lib/gluon/upgrade/500-status-page similarity index 100% rename from gluon/gluon-status-page/files/lib/gluon/upgrade/status-page/invariant/010-status-page rename to gluon/gluon-status-page/files/lib/gluon/upgrade/500-status-page