Plugins mit altem Makefile - Sammlung

  • Ah, ich war durch das diff verwirrt, das sah nach zwei Schleifen aus... :)
    Äh ja, dann müsste man zwei "find"s machen. Ich würde das schöner finden, weil dann wirklich nur das kopiert wird, was kopiert werden soll und nicht irgendwelche anderen libs, die da noch so rumliegen.


    Code
    (cd $(PLUGINDIR)/src/$$i; for l in `find -name libvdr-*.so` `find -name lib$$i-*.so`; do install $$l $(LIBDIR)/`basename $$l`.$(APIVERSION); done);\


    Lars.

  • Ah, ich war durch das diff verwirrt, das sah nach zwei Schleifen aus... :)
    Äh ja, dann müsste man zwei "find"s machen. Ich würde das schöner finden, weil dann wirklich nur das kopiert wird, was kopiert werden soll und nicht irgendwelche anderen libs, die da noch so rumliegen.


    Code
    (cd $(PLUGINDIR)/src/$$i; for l in `find -name libvdr-*.so` `find -name lib$$i-*.so`; do install $$l $(LIBDIR)/`basename $$l`.$(APIVERSION); done);\


    Was sollen denn in einem Plugin-Source-Verzeichnis für Libs "noch so rumliegen"? ;)


    Klaus

  • Was sollen denn in einem Plugin-Source-Verzeichnis für Libs "noch so rumliegen"? ;)


    Manche Plugins (ich kenne eins von meinen) erstellen noch nebenbei kleine Libs und Progrämmchen, die nichts mit dem Plugin zu tun haben, sondern nur durch "make install" installiert werden.
    Entweder werden sie vom Plugin gebraucht (d.h. aufgerufen) oder sie helfen, mit dem Plugin zu kommunizieren.


    Lars.


  • Manche Plugins (ich kenne eins von meinen) erstellen noch nebenbei kleine Libs und Progrämmchen, die nichts mit dem Plugin zu tun haben, sondern nur durch "make install" installiert werden.
    Entweder werden sie vom Plugin gebraucht (d.h. aufgerufen) oder sie helfen, mit dem Plugin zu kommunizieren.


    Es kann einfach um's Verrecken nicht *einfach* bleiben... ;)


    Wie wär's dann hiermit?


    Die Hochkommas um die Patterns hatte ich auch noch vergessen...


    Klaus

  • Sieht super aus. Aber muss da nicht $$i (also "ih", nicht "el") in dem zweiten Pattern stehen?


    Ja, stimmt. Schon erstaunlich, was man auf den letzten Metern noch alles falsch machen kann... ;)
    Also hier nochmal korrigiert, der Vollständigkeit halber:


    Klaus

  • Moin!


    Wenn die libvdr-*.so-Dateien in Unterverzeichnissen liegen (Beispiel streamdev), funktioniert's noch nicht.
    Hier eine Korrektur:


    Da ist hinten "basename" dazugekommen.


    Lars.


  • Wenn die libvdr-*.so-Dateien in Unterverzeichnissen liegen (Beispiel streamdev), funktioniert's noch nicht.
    Hier eine Korrektur:


    Da ist hinten "basename" dazugekommen.


    Isr das nicht genau das Gleiche, was ich gepostet hatte?
    Zumindest sehe ich keinen Unterschied...


    Klaus

  • Da ist hinten "basename" dazugekommen.


    Beim install muss das Verzeichnis von $l weggeschnitten werden.
    Sonst landet die lib bei streamdev in LIBDIR/client/libvdr-streamdev-client.so.1.7.40


    Suche nach basename im diff. Ist ja bald Ostern... :)


    Lars


  • Beim install muss das Verzeichnis von $l weggeschnitten werden.
    Sonst landet die lib bei streamdev in LIBDIR/client/libvdr-streamdev-client.so.1.7.40


    Suche nach basename im diff. Ist ja bald Ostern... :)


    Ich nehme also die '+' Zeile von hier

    Code
    +              (cd $(PLUGINDIR)/src/$$i; for l in `find -name 'libvdr-*.so' -o -name 'lib$$i-*.so'`; do install $$l $(LIBDIR)/`basename $$l`.$(APIVERSION); done);\


    und die '+' Zeile von hier

    Code
    +              (cd $(PLUGINDIR)/src/$$i; for l in `find -name 'libvdr-*.so' -o -name 'lib$$i-*.so'`; do install $$l $(LIBDIR)/`basename $$l`.$(APIVERSION); done);\


    und lege sie direkt übereinander

    Code
    +              (cd $(PLUGINDIR)/src/$$i; for l in `find -name 'libvdr-*.so' -o -name 'lib$$i-*.so'`; do install $$l $(LIBDIR)/`basename $$l`.$(APIVERSION); done);\
    +              (cd $(PLUGINDIR)/src/$$i; for l in `find -name 'libvdr-*.so' -o -name 'lib$$i-*.so'`; do install $$l $(LIBDIR)/`basename $$l`.$(APIVERSION); done);\


    Aber so sehr ich auch suche, ich finde keinen Unterschied.
    Insbesondere kommt "basename" in beiden Diffs gleichermaßen vor.


    Klaus

  • Wegen devstatus: [...] Ansonsten schreibe ich den Entwickler selbst an. In der Hoffnung, dass ich es nach VDR-Developer schieben darf.


    Ja, devstatus-plugin darf gerne nach VDR-Developer umziehen. Ich freue mich, daß er offenbar noch nützlich ist.


    Gruss,
    ... Walter

    --seit 2010 kein vdr mehr in Betrieb--
    vdr 1.6.0 + eigene Patchkombination
    GNU/Linux 2.6.23.14 (Debian)
    DVB-S-Karte TT 1.6 (FF, Tuner defekt)
    DVB-S-Karte TT Budget (seit 4/09)
    DVB-T-Karte TT 1300
    DVB-T-USB-StickTerratec Cinergy T USB XE Rev. 2
    PC-Hauptplatine: MSI K8N Neo4-F, AMD 64 (seit 1/07)

  • Ich bin mir nicht sicher, ob es bereits hier besprochen wurde, aber ich frage es trotzdem:


    Was ist nun der beste Weg ein Plugin unter aelteren Version kompilierbar zu machen? Mit der neuen Makefile kompilierte es nicht mehr unter 1.6.x
    Soll man alte und neue Makefiles ausliefern oder laesst sich es mit einer Makefile nur realisieren?



    Gruss,
    Lado

  • Was ist nun der beste Weg ein Plugin unter aelteren Version kompilierbar zu machen? Mit der neuen Makefile kompilierte es nicht mehr unter 1.6.x


    Wenn du ne passende vdr.pc für den 1.6er Quellcode erstellst dann baut das neue Makefile auch mit dem 1.6er. Musst dann nur die *.so manuell kopieren.


    Ich persönlich finde es am besten wenn das alte Makefile den Pluginquellcodes noch ne Weile beiliegt. Aber viele Pluginauthoren sind ja leider dazu übergegengen das alte komplett rauszuwerfen.
    Wobei mich sowas nur noch max. 2 Monate nerven wird, weil spätestens dann bin ich auch mal endlich vom 1.6er weg :)


    cu

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!