fff-nodewatcher: Improve package #99
No reviewers
Labels
No Label
RFC
RFT
WIP
blocked
bsp
bug
build/scripts/tools
duplicate
feature
fixed
layer3
mantis
more details required
needs changes
node
packages/fff
rejected
security
trivial
upstream
No Milestone
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: freifunk-franken/firmware#99
Loading…
Reference in New Issue
No description provided.
Delete Branch "adschm:nodew"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This contains several organizational and one functional change to improve the usability of the nodewatcher package.
@ -22,1 +22,4 @@
define Package/$(PKG_NAME)/conffiles
/etc/config/nodewatcher
endef
hi, kannst du mir mal kurz erklaeren, was das define Package/xx/conffiles macht. Was ich dazu gefunden habe ist nicht befriedigend.
OpenWrt sieht vor, dass config-Files einmalig erstellt werden; entweder beim ersten Boot für eingebaute Packages oder beim Installieren für Packages via opkg. Führt man dann ein sysupgrade durch, wird nicht wie bei unserer Firmware alles wieder gelöscht, sondern die config bleiben grundsätzlich erhalten. Welche config-Files das genau sind, wird u.a. hier festgelegt:
https://github.com/openwrt/openwrt/blob/master/package/base-files/files/sbin/sysupgrade#L142
Genau dort greifen wir bei unserer Firmware auch ein, und ändern das mit dem ersten(?) build-Patch ab.
Wie du siehst, gibt es mehrere Quellen für solche Dateien:
/etc/sysupgrade.conf, /lib/upgrade/keep.d, ...
Ein anderes subset wird von opkg verwaltet, und lagert hier (kuck mal bei nem richtigen OpenWrt rein):
/usr/lib/opkg/status
Dort sind status-Daten zu allen Packages enthalten, inklusive der definierten conffiles inkl. hash. Sysupgrade hebt bei vanilla-OpenWrt nun alle Conf-Files auf, die hier gelistet sind, und deren hash sich vom default unterscheidet (zumindest habe ich das so verstanden). Umgekehrt wird eine Datei, die weder in /etc/sysupgrade.conf etc. noch hier gelistet ist, beim upgrade verworfen, auch wenn sie in /etc/config/ liegt.
So, warum nun das Ganze:
Ich möchte die Packages so modifizieren, dass man sie mittelfristig auch einfach als feed mit vanilla-OpenWrt bauen kann (lokal ist das schon fertig). Diese Änderung hier ist dabei insofern hilfreich, als nun bei vanilla-OpenWrt die /etc/config/nodewatcher, die der nodewatcher-Package "gehört", nun korrekt über ein Upgrade hinweg erhalten bleibt. Weiterhin bleibt jedoch das Verhalten der buildscript-basierten Firmware davon unbeeinflusst, weil diese ja den entsprechenden Upgrade-Mechanismus komplett abschaltet. Ich kann mit der Änderung also beide Szenarios sauber unterstützen, und genau das ist das Ziel.
Danke dir!
Ich finde die Moeglichkeit unsere packages mit openwrt zu bauen oder mit opkg nachinstallieren zu koennen richtig klasse. Zumindest fuer die layer3-variante. Das habe ich bisher haendisch gemacht, was doch ein gewisser Konfigurationsaufwand ist.
Danke, ich habe das auch zu meinem staging-Tree hinzugefügt.
PKG_RELEASE bump habe ich jetzt nur noch am Schluss gemacht, so können wir noch ein paar Commits sammeln für den COMMITCOUNT patch.
Pull request closed