[tvguide & skinnopacity] Plugins werden als einzige korrekt installiert

  • Ich habe was seltsames beim "make install" entdeckt.


    Wenn ich den VDR incl. den Plugins neu baue, legt der tvguide und auch skinnopacity, immer die Verzeichnisse "/usr/local/src/vdr-2.1.1/PLUGINS" und "/usr/local/src/vdr-2.1.1/locale" und installiert auch dorhin, obwohl ich vdr-2.1.4 verwende.


    Beispiel:



    Wie man sieht, existiert vor dem "make install", das Vereichnis "/usr/local/src/vdr-2.1.1" überhaupt nicht.


    Wie gesagt, das ist nur bei tvguide und skinnopacity so, alle andern Plugins werden richtig installiert.

  • Moin,


    ich vermute mal, dass in deiner für pkg-config verwendeten vdr.pc Datei (da stehen diese Infos dirnn) die falsche Versionsnummer drinn steht...haste das ggf. mal aus der VDR 2.1.2 Installation rüberkopiert?


    Ciao Louis

  • Das glaube ich nicht, denn alle(!) anderen werden ja richtig installiert. Wie gesagt, es betrifft nur tvguide und auch skinnopacity.



  • Benutzen die anderen Plugins auch wirklich pkg-config?


    Und sicher, dass diese vdr.pc benutzt wird? Was gibt denn ein " locate vdr.pc" aus? Gibt es da nicht z.B.noch eine unter "/usr/lib/pkgconfig/vdr.pc"? ;)


    Ciao Louis

  • Bei mir passt das übrigens:


    Code
    root@maschine /usr/local/src/VDR/PLUGINS/src/tvguide # make install
    install -D libvdr-tvguide.so /usr/local/src/vdr-2.1.2/PLUGINS/lib/libvdr-tvguide.so.2.1.2
    install -D -m644 po/ru_RU.mo /usr/local/src/vdr-2.1.2/locale/ru_RU/LC_MESSAGES/vdr-tvguide.mo
    install -D -m644 po/ca_ES.mo /usr/local/src/vdr-2.1.2/locale/ca_ES/LC_MESSAGES/vdr-tvguide.mo
    install -D -m644 po/sk_SK.mo /usr/local/src/vdr-2.1.2/locale/sk_SK/LC_MESSAGES/vdr-tvguide.mo
    install -D -m644 po/de_DE.mo /usr/local/src/vdr-2.1.2/locale/de_DE/LC_MESSAGES/vdr-tvguide.mo
  • [...] Was gibt denn ein " locate vdr.pc" aus? Gibt es da nicht z.B.noch eine unter "/usr/lib/pkgconfig/vdr.pc"? ;) ...


    Code
    vdr01_64 ~ # updatedb
    vdr01_64 ~ # locate vdr.pc
    /usr/lib64/pkgconfig/vdr.pc
    /usr/local/lib64/pkgconfig/vdr.pc
    /usr/local/src/vdr-2.1.3/vdr.pc
    /usr/local/src/vdr-2.1.4/vdr.pc
    vdr01_64 ~ #
  • Verantwortlich dafür ist übrigens diese Zeile im Makefile:


    Code
    PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))


    Und das ist der Standard in der "neuen" Makefile Logik...


    Ciao Louis

  • Na dann wird wohl die "/usr/lib64/pkgconfig/vdr.pc" benutzt...was steht da denn drinn? ...


    Da steht vdr-2.1.1 drin.. ^^



    Da werde ich wohl mein Buildscript überarbeiten müssen. ;)


    Mich wundert aber, dass es nur tvguide und skinnopacity bertifft und z.B. den tvguide nicht, sowie auch alle anderen Plugins nicht??

  • Den tvscraper meinst du? Hm, der sollte sich eigentlich genauso verhalten, alle drei Makefiles sind da eigentlich identisch...


    Naja, eigentlich musst du ja nur dafür sorgen, dass die benutzte vdr.pc korrekt ist. Und bzgl. der anderen Plugins: ich bin wohl der einzige, der konsequent die neue Makefile Logik benutzt?! Konsequenterweise solltest du den Threadtitel in "[tvguide & skinnopacity] Plugins werden als einzige korrekt installiert" ändern? ;)


    Ciao Louis

  • Spass bei Seite, vielleicht ist da irgendwo in den Makefiles noch ein kleiner Fehler? Vielleicht schaut ein Makefile Tschecker da nochmal drüber, ich kopier mir das ja auch immer nur zusammen ;)

  • Der tvsraper verhält sich genauso, wie alle andern Plugins.


    Vermutlich ist es wirklich so, dass Du der Einzige bist, der den völlig unnötigen und überflüssigen Kupferstandard bei den Makefiles begriffen hat, oder alle andern Entwickler ignorieren den einfach? ;)


    Den Topic werde ich selbstverständlich ändern und auch mein Buildscript entsprechend anpassen. ;)

  • Ich habe jetzt in mein Buildscript noch ein "make install-pc" eingebaut.


    Jetzt scheint es zu passen ;)




  • Vermutlich ist es wirklich so, dass Du der Einzige bist, der den völlig unnötigen und überflüssigen Kupferstandard bei den Makefiles begriffen hat, oder alle andern Entwickler ignorieren den einfach? ;)


    Nana, nur weil du es nicht verstehst (ich verstehs ja auch nicht) ist es nicht überflüssig ;) Die Diskussion sollten wir nicht wieder anfangen...


    Ich finde es trotzdem komisch dass sich der tvscraper da anders verhält, der benutzt eigentlich eine analoge makefile Basis.


    Ciao Louis

  • [...] Nana, nur weil du es nicht verstehst (ich verstehs ja auch nicht) ist es nicht überflüssig ;) Die Diskussion sollten wir nicht wieder anfangen...


    Nun, kls hält sich ja auch nicht dran, denn sonst hätten ja auch die "serienmäßigen" Plugins des VDR nach "=/usr/local/src/vdr-2.1.1/PLUGINS/lib" installiert werden müssen. ;)


    [...] Ich finde es trotzdem komisch dass sich der tvscraper da anders verhält, der benutzt eigentlich eine analoge makefile Basis. ...


    Das kannst Du doch ganz einfach nachstellen, du brauchst dazu nur die "/usr/lib64/pkgconfig/vdr.pc" zu ändern. ;)


  • Das kannst Du doch ganz einfach nachstellen, du brauchst dazu nur die "/usr/lib64/pkgconfig/vdr.pc" zu ändern. ;)


    Das ist die falsche Richtung in der Denkweise. Die Frage ist, warum die Plugins beim bauen verschiedene vdr.pc Dateien benutzen. Einmal wird wohl die im VDR Sourcetree benutzt, das andere mal die globale von pkg-config. Obwohl das Makefile sich die pkg-config Konfiguration analog holt...das verstehe ich nicht.


    Ciao Louis

  • [...] Die Frage ist, warum die Plugins beim bauen verschiedene vdr.pc Dateien benutzen. Einmal wird wohl die im VDR Sourcetree benutzt, das andere mal die globale von pkg-config ...


    Die Frage ist wohl eher, wo die Reihenfolge der existierenden und die daraus resultierende Priorität, der vdr.pc Dateien festgelegt wird?

  • Wie schon geschrieben macht das wohl diese Zeile im Makefile:


    Code
    PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))


    Aber die verstehe ich nicht so ganz ;)


    Ciao Louis

  • Klaus hätte die ja mittlerweile gerne so:

    - Avoiding unnecessary pkg-config warnings in plugin Makefiles (thanks to Ville Skyttä).
    Plugin authors may want to apply the following change to their Makefile:

    Code
    -PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
    +PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell PKG_CONFIG_PATH="$$PKG_CONFIG_PATH:../../.." pkg-config --variable=$(1) vdr))


    Soweit ich das verstehe heißt die neue Variante: Wenn VDRDIR definiert ist, hole die Werte mit pkgconfig darus, wenn nicht, hol dir die Werte mittels pkg-config aus dem Souce-Verzeichnis des VDR (das drei Verzeichnis-Ebenen unter dem Plugin-Source-Verzeichnis liegt - wegen ./PLUGINS/src/<PLUGIN>)

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Hier mal ein Beispiel:


    Im Makefile des "epgtableid0" Plugin - also ein Plugin, dass serienmäßig beim VDR dabei ist - steht:


    Code
    ....
    # Use package data if installed...otherwise assume we're under the VDR source directory:
    PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell PKG_CONFIG_PATH="$$PKG_CONFIG_PATH:../../.." pkg-config --variable=$(1) vdr))
    ....


    Das bedeutet doch, dass sich der VDR selber, sich um seine eigenen (neuen Makefile-) Regeln nicht kümmert??

Jetzt mitmachen!

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