Autoupdater - Versionsvergleich

Hallo, in einem neuen Image habe ich dei Versionsbezeichnung geändert. Ich wollte vorne ‚rhb‘ stehen haben, damit meine Versionen nun der Liste zusammen stehen. Aber: ‚r‘ ist natürlich kleiner als ‚v‘. Ich würde daher auch für ein Check nach Datum plädieren. Zum Beispiel anhand des Manifestes. Dann könnte man auch ohne neuen Version ein Downgrad initialisieren, indem man ein Manifest mit neuem Datum versieht.

Du kannst auch einmalig das Manifest abändern, um die Version kleiner zu machen. Dazu die neue Version in die Datei kompilieren und im Manifest vorne die Version mit einem zz versehen oder so.

Dabei dann aber ungemein vorsichtig sein und beispielsweise zusätzlich den Download Server oder die benötigen keys ändern.

Ansonsten ziehen deine Kisten jede Stunde erneut das Update.

3 „Gefällt mir“

Da ich das Thema gerade altlastig reinbekomme (Legacy-Firmwares tragen Versionsnummern wie hintertupfing-1.01, niederdeich-1.05, mit Multidomain (post-Gluon v2018) soll es dann mit 1.2, 1.3, usw. weitergehen): wie bekomme ich es hin, daß eine FW „niederdeich-1.05“ die Firmware „1.2“ als neuer ansähe?

Fake-Manifest bauen (suchen, ersetzen im Manifest)
gepatchtes Manifest für diese Knoten mit einer rewrite-rule ausliefern.

1 „Gefällt mir“

Also quasi cp -p stable.manifest stable.manifest.old ; awk -v vers=zzz-6.6.6-stable <stable.manifest.old >stable.manifest '{if(NF==5) {printf("%s %s %s %s %s\n", $1, vers, $3, $4, $5);} else print $0;}'?

Bsp.:

ffgt@tomjon:~/build$ head gluon-ffgt-v2021.1/output/images/sysupgrade/stable.manifest-1.4.0~16 
BRANCH=stable
DATE=2022-05-13 00:57:07+02:00
PRIORITY=0

tp-link-tl-wdr3600-v1 1.4.0~16 d0c05fcb9cf40c2e057de9d8eed41eaddb1b3c276bb778678a0efefd7fdc5c44 5701636 gluon-4830-1.4.0~16-tp-link-tl-wdr3600-v1-sysupgrade.bin
d-link-dap-1330-rev-a1 1.4.0~16 6adc0f07e488f416cb7381120ae1ac1e870401c24b88c4f25d930342f1688c07 5701636 gluon-4830-1.4.0~16-d-link-dap-1330-rev-a1-sysupgrade.bin
tp-link-cpe210-v2 1.4.0~16 3a37b789a2abc1ce8f6bb2a79900b324ac41b7e6d3cbbd5fbe62adae379e8314 7803808 gluon-4830-1.4.0~16-tp-link-cpe210-v2-sysupgrade.bin
tp-link-cpe210-v2.0 1.4.0~16 3a37b789a2abc1ce8f6bb2a79900b324ac41b7e6d3cbbd5fbe62adae379e8314 7803808 gluon-4830-1.4.0~16-tp-link-cpe210-v2-sysupgrade.bin
tp-link-wbs210-v1 1.4.0~16 2f831e543b868e95783e456d5980403f7210b7f3329ecfe951c3ab7d9bcb650d 7802999 gluon-4830-1.4.0~16-tp-link-wbs210-v1-sysupgrade.bin
tp-link-wbs210-v1.20 1.4.0~16 2f831e543b868e95783e456d5980403f7210b7f3329ecfe951c3ab7d9bcb650d 7802999 gluon-4830-1.4.0~16-tp-link-wbs210-v1-sysupgrade.bin
ffgt@tomjon:~/build$ awk -v vers=zzz-6.6.6-stable <gluon-ffgt-v2021.1/output/images/sysupgrade/stable.manifest-1.4.0~16 '{if(NF==5) {printf("%s %s %s %s %s\n", $1, vers, $3, $4, $5);} else print $0;}' | head
BRANCH=stable
DATE=2022-05-13 00:57:07+02:00
PRIORITY=0

tp-link-tl-wdr3600-v1 zzz-6.6.6-stable d0c05fcb9cf40c2e057de9d8eed41eaddb1b3c276bb778678a0efefd7fdc5c44 5701636 gluon-4830-1.4.0~16-tp-link-tl-wdr3600-v1-sysupgrade.bin
d-link-dap-1330-rev-a1 zzz-6.6.6-stable 6adc0f07e488f416cb7381120ae1ac1e870401c24b88c4f25d930342f1688c07 5701636 gluon-4830-1.4.0~16-d-link-dap-1330-rev-a1-sysupgrade.bin
tp-link-cpe210-v2 zzz-6.6.6-stable 3a37b789a2abc1ce8f6bb2a79900b324ac41b7e6d3cbbd5fbe62adae379e8314 7803808 gluon-4830-1.4.0~16-tp-link-cpe210-v2-sysupgrade.bin
tp-link-cpe210-v2.0 zzz-6.6.6-stable 3a37b789a2abc1ce8f6bb2a79900b324ac41b7e6d3cbbd5fbe62adae379e8314 7803808 gluon-4830-1.4.0~16-tp-link-cpe210-v2-sysupgrade.bin
tp-link-wbs210-v1 zzz-6.6.6-stable 2f831e543b868e95783e456d5980403f7210b7f3329ecfe951c3ab7d9bcb650d 7802999 gluon-4830-1.4.0~16-tp-link-wbs210-v1-sysupgrade.bin
tp-link-wbs210-v1.20 zzz-6.6.6-stable 2f831e543b868e95783e456d5980403f7210b7f3329ecfe951c3ab7d9bcb650d 7802999 gluon-4830-1.4.0~16-tp-link-wbs210-v1-sysupgrade.bin