Plugins mit altem Makefile - Sammlung
-
-
Und wo genau ist jetzt das Problem?
Man bräuchte doch nur im "Heimatforum" (DVBN) des "Älteren" Plugins, den Autor(leslie) freundlich zu bitten, dass er es anpasst. -
Fortsetzung: Neue Makefiles, Teil 2
Das PKGBUILD ist für das alte Makefile ausgelegt. Wenn du einfach alles so lässt wie ich es ins Repo gepusht habe funktioniert es.
Stimmt, danke - ich hatte noch ein verhunztes VDR-Paket beim ersten Bauen in der VM installiert und dachte daher, dass es nicht klappt... -
Mir fällt aber gerade auf, dass in den von shofmann geposteten Makefiles die Install-Routine für die Zusatzdateien fehlt. Im Fall von live müsste das "live"-Verzeichnis ins Resourcedirectory kopiert werden. Ein gut umgesetztes Beispiel dafür ist skinnopacity und tvguide.
Oops, das habe ich wohl übersehen... und gen_version_suffix.h ist mir auch entfleucht... Da muss ich meine Makefiles wohl nochmals durchsehen. Fällt auch gar nicht auf, wenn alles schon am richtigen Platz ist...Mir fällt gerade auf, dass es bei live im README heißt:
ZitatIn order to work correctly you must copy the subdirectory 'live' from
the source distribution to the directory where the vdr plugins look
for their configuration files. The pure VDR default for this config
directory is: /video/plugins, but this depends also from the
parameters -c or -v (see 'vdr --help' for details).cp -a <live-src-dir>/live <plugin-config-dir>/plugins
Aber ich stimme zu, das sollte heutzutage automatisch gehen. Anbei die Archive mit den modifizierte Makefiles.Stefan
-
Mein RESDIR ist /etc/vdr/plugins.
Das live-Plugin legt aber immernoch einen leeren Ordner
/etc/vdr/plugins/plugins/live an. -
Klar macht es das. In deinem Fall müsste das RESDIR /etc/vdr sein. Das Unterverzeichnis "plugins" packt der VDR dann selber noch dazu.
-
Neue Makefiles für svdrpservice, remotetimers, remoteosd, svdrposd und epgsync liegen auf http://vdr.schmirler.de. Neue Versionen der Plugins mit den neuen Makefiles folgen in den nächsten Wochen.
Bislang includieren epgsync und die remote*-Plugins "../svdrpservice/svdrpservice.h". Dadurch funktioniert das Kompilieren nur, wenn die svdrpservice-Sourcen an entsprechender Stelle liegen. Ab der nächsten Version werden die Plugins eine Kopie von svdrpservice.h enthalten.
-
Du könntest such diese eine Header-Datei ins Includedir kopieren.
-
Moin!
Bislang includieren epgsync und die remote*-Plugins "../svdrpservice/svdrpservice.h". Dadurch funktioniert das Kompilieren nur, wenn die svdrpservice-Sourcen an entsprechender Stelle liegen. Ab der nächsten Version werden die Plugins eine Kopie von svdrpservice.h enthalten.
Das ist auch so ein Fall, der mal "standardisiert" werden sollte.Ich wäre dafür, die Header von Plugins unter /usr/include/vdr/<pluginname>/ abzulegen...
Lars.
-
Moin!
Direkt in das include-Verzeichnis des vdr geht nicht, da sich die Namen zu sehr überschneiden. Außerdem wird das dann schnell unübersichtlich...
Lars.
-
Ich finde hier die Idee mit dem Kopieren doch besser. Abhängigkeiten zwischen Plugins sind so eine Sache und die Service-Schnittstelle lässt ja auch eine Version mit übermitteln. Die Plugins dürfen also ggf. durchaus veraltete .h-Dateien nutzen, weil dann auch eine alte Version übermittelt wird und das "Zielplugin" so ggf. reagieren kann.
-
Nein man könnte das aber so ähnlich, wie im Resourcedirectory machen. $INCDIR/plugins/$PLUGINNAME
Gesendet von meinem Galaxy Nexus mit Tapatalk 2
-
Hat aber den Nachteil, dass du dabei wieder massiv Probleme bei denjenigen bekommst, die Plugins im VDRDIR bauen. Erst wenn der Header installiert wurde bauen dann die davon abhängigen Plugins. Beim "make plugins" wird aber nie installiert.
-
Nicht unbedingt. Auch beim Local-Build gibt es ein Includedir. Jetzt müsste man wieder prüfen wie man gerade gebaut wird und ....... OK, es ist zu kompliziert.
-
Moin!
Wie funktioniert es denn mit den vdr-Includes? Im Plugin gebe ich z.B. an "<vdr/device.h>". Ich hab gerade keinen Linux-Rechner zur Hand, deshalb kann ich nicht nachsehen.
Im vdr-Source wird doch ein include-Verzeichnis erstellt, ist darunter noch ein Verzeichnis "vdr", in dem die Header abgelegt werden?
Also müsste dann da noch ein Unterverzeichnis pro Plugin (nur für die, die überhaupt Header installieren wollen) angelegt werden.Heißt das nicht eigentlich, dass die Plugin-Makefiles ein Target "include-dir" brauchen?
Lars.
-
Nein. Klaus springt im Dreieck wenn ihr jetzt da auch noch drehen wollt! Für diesen speziellen Fall braucht es kein Include für das Plugin. Die Service-Schnittstelle kann mit alten Versionen umgehen!
-
Ist das jetzt eine Antwort auf die Frage?!
Das Target "install-includes" vom VDR legt das Includedir an, das sind aber blos Symlinks. Erst "install-includes" kopiert die Includes an die richtige Stelle.
Wenn man das machen wollte bräuchte man ein "install-includes" Target im Plugin. Das Problem ist, dass bei einem normalen "make plugins" nie irgendein "install"-Target aufgerufen wird. Also würde auch nie eine Headerfile an der richtigen Stelle landen.
-
Nein. Klaus springt im Dreieck wenn ihr jetzt da auch noch drehen wollt!
Da kannst du aber Gift drauf nehmen, daß ich da nichts mehr ändern werde vor der 2.0Klaus
-
Klar macht es das. In deinem Fall müsste das RESDIR /etc/vdr sein. Das Unterverzeichnis "plugins" packt der VDR dann selber noch dazu.
Scheint aber nicht für alle Plugins zu gelten, z. B. markad legt seine
Dateien nicht unter $RESDIR/plugins ab. Da fehlt insgesamt noch ein
bisjen Einheit. -
Scheint aber nicht für alle Plugins zu gelten, z. B. markad legt seine
Dateien nicht unter $RESDIR/plugins ab. Da fehlt insgesamt noch ein
bisjen Einheit.Du meinst die logos? Die werden vom markad Plugin doch gar nicht benutzt. Die werden vom markad Kommandozeilenprogram genutzt.
cu
Jetzt mitmachen!
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!