das Problem genau erfasstSoweit ich das verstanden hatte, bleibt (momentaner Stand) das komplette Verzeichnis packages/<welchespaket auch immer> genauso bestehen, wie es ist; nur die veränderten Binaries werden über ein vorhandenes kopiert und (das ist hier das Problem) die für die neue Auswahl nicht mehr benötigten Dateien (die "unnötigen" Binaries) bleiben ebenfalls vorhanden.
Änderungen an Dateien im packages-Ordner vorzunehmen macht für mich keinen Sinn (es ist quasi ein Temp-Ordner, nach einem $(packagename)-dirclean ist er weg), alle Änderungen sollen in dem make/$(packagename)-Ordner gemacht werden, dann können sie auch leichter in upstream submittet werdenAlle Änderungen, die ich an CGI, default-Werten usw. in dem Ordner gemacht habe, sind nach dem Make-Lauf noch immer vorhanden.
Nachdem sich keiner zum Thema äußert, erzwinge ich es mal mit Gewalt meine Lösung in 4073 eingecheckt, mal schauen, ob es irgendwelche Nebeneffekte gibt, bei mir bisher keineAber vielleicht warten wir mal, ob sonst noch wer eine Meinung zu dem Thema hat...
der Fix dafür ist denbkar einfach Zeile 450Nur damals war der Effekt, dass die Package Dateien nach dem Kopieren gelöscht wurden und so nur die Binaries ins Image kamen.
.. Tja, das ist halt gerade meine bisherige Vorgehensweise (speziell für Änderungen am CGI) gewesen:Änderungen an Dateien im packages-Ordner vorzunehmen macht für mich keinen Sinn
Da kann ich ehrlich gesagt Dir nicht ganz folgen... Was ist der Sinn vom Schritt 2? Die cgi/config/init-Dateien in beiden Verzeichnissen sind absolut identisch, d.h. Schirtt 3, dieses Fixieren, besteht lediglich in dem Kopieren der Dateien aus dem packages-Ordner in den make-Ordner. Zweisprachig könntest Du die Dateien doch gleich in dem make-Ordner machen. Und dann gehen Deine Änderungen bei einem unbeabsichtigten dirclean auch nicht verloren.- kleine Dinge erstmal direkt im "übergemounteten" CGI auf der Box testen (ohne die zwei Sprachen)
- dann das im packages-Ordner umsetzen (mit den Sprachen)
- zuletzt dann in den make-Ordner aufnehmen zum "Fixieren"
Ich will einen einfachen Weg dafür haben, denn dieser Prozess ist an das vorhandene Freetz (was "nicht sinnlos rumlöscht ;-);-)") angepasst:Da kann ich ehrlich gesagt Dir nicht ganz folgen... Was ist der Sinn vom Schritt 2?
Es ist deutlich einfacher das komplette Verzeichnis zu löschen als in jedem Paket einzelne Regeln zu implementieren die explizit, die nicht benötigten Binaries löschen. Es ist schließlich unser Freizeitprojekt...
Also nochmal, mir geht es darum, den von cuma gefundenen Bug zu beheben und zwar mit möglichst wenig Aufwand und wenn es geht generisch. Ich habe nur dann etwas gegen explizites löschen, wenn es in jedem Multibinary-Paket aufs neue implementiert werden muss.Und mir geht es mit deinem Ansatz so, dass ich ihn nicht verstehe ;-)
damit bei den anderen, die mitlesen, kein falscher Eindruck entsteht. Es wird nur dann etwas gelöscht, wenn man im Menuconfig bei einem Paket eine Option verstellt (wie oft passiert denn das bitte) und diese dazu als SUBOPT im Makefile vom Paket definiert ist. Und es wird wirklich nur das betroffene Paket gelöscht nicht alle.also lösche ich einfach alle pakete, bei denen sich überhaupt etwas ändert, denn damit kann ich zufällig auch das explizite Löschen bei meinem einen Paket vermeiden.
Na gut, wenn man nicht alles selbst macht ;-)p.s. Und wenn Dir die Lösung einfällt (am besten gleich als Patch ), die eben die Eigenschaft hat generisch zu sein und wenig Aufwand in jedem Multibinary-Paket nach sich zieht, dann nur zu, dann fliegt meine Lösung sofort wieder raus.
Index: make/vnstat/vnstat.mk
===================================================================
--- make/vnstat/vnstat.mk (Revision 4076)
+++ make/vnstat/vnstat.mk (Arbeitskopie)
@@ -4,6 +4,7 @@
$(PKG)_SITE:=http://humdi.net/vnstat
$(PKG)_BINARIES_ALL := vnstat vnstatd vnstati
$(PKG)_BINARIES := $(filter-out $(if $(FREETZ_PACKAGE_VNSTAT_DAEMON),,vnstatd) $(if $(FREETZ_PACKAGE_VNSTAT_IMAGE),,vnstati),$($(PKG)_BINARIES_ALL))
+$(PKG)_BINARIES_UNUSED := $(filter-out $($(PKG)_BINARIES) ,$($(PKG)_BINARIES_ALL))
$(PKG)_BINARIES_BUILD_DIR := $($(PKG)_BINARIES:%=$($(PKG)_DIR)/src/%)
$(PKG)_BINARIES_TARGET_DIR := $($(PKG)_BINARIES:%=$($(PKG)_DEST_DIR)/usr/bin/%)
@@ -29,6 +30,7 @@
$(INSTALL_BINARY_STRIP)
$(pkg):
+ @$(RM) $(VNSTAT_BINARIES_UNUSED:%=$(VNSTAT_DEST_DIR)/usr/bin/%)
$(pkg)-precompiled: $($(PKG)_BINARIES_TARGET_DIR)