Dort landet die epg.data Datei.
Alle diese Verzeichnisse sind natürlich eher für Plugins gedacht.
Dort landet die epg.data Datei.
Alle diese Verzeichnisse sind natürlich eher für Plugins gedacht.
Leider fehlt ein Verzeichnis, das mich besonders interessiert hätte, nämlich /var/cache/vdr - was will er denn da genau ablegen?
Da landen die "temporären" Dateien des VDR, die prinzipiell verloren gehen dürfen, da sie ersetzbar sind - also z.B. die epg.data, externes EPG, epgimages, Teletext-Cache (falls man den nicht woanders hin auslagert, da es keinen Sinn macht, den einen Reboot überleben zu lassen).
Und auch $(PREFIX)/share/vdr ist mir leicht schleierhaft.
Damit bestimmst du wie der Name schon sagt das Basis-Verzeichnis, unter dem der VDR und die Dateien installiert werden sollen (voreingestellt ist ja /usr/local - was zutrifft, wenn man den VDR nicht über die Paketverwaltung installiert (dann nimmt man normalerweise /usr/) - sondern per "make install").
Hi,
Da landen die "temporären" Dateien des VDR, die prinzipiell verloren gehen dürfen, da sie ersetzbar sind - also z.B. die epg.data, externes EPG, epgimages, Teletext-Cache (falls man den nicht woanders hin auslagert, da es keinen Sinn macht, den einen Reboot überleben zu lassen).
ah, *diese* Sachen also!
Damit bestimmst du wie der Name schon sagt das Basis-Verzeichnis, unter dem der VDR und die Dateien installiert werden sollen (voreingestellt ist ja /usr/local - was zutrifft, wenn man den VDR nicht über die Paketverwaltung installiert (dann nimmt man normalerweise /usr/) - sondern per "make install").
Nene, ich meine nicht das $PREFIX, das ist schon klar - ich meine das Ergebnis, also z.B. /usr/local/share/vdr!
Ciao.
Michael.
@all
Hat jemand schon einen Exptach für diese Version?
Grüße
Hat jemand schon einen Exptach für diese Version?
das wird bei den massenhaften änderungen/verbesserungen am vdr bei den letzten 2 versionen (insb. Makefile/plugin-Makefile) diesmal etwas länger dauern
gruß, ciax
Hallo,
ich bekomme es einfach nicht hin ein Ubuntu-Paket für den vdr 1.7.36 zu bauen. Für 1.7.33 läuft alles sauber durch.
Als Basis habe ich das debian.tar.bz2 von yavdr genutzt.
Wie ich es auch mache, es passen immer irgend welche Verzeichnisse aufgrund der neuen Makefiles nicht.
Könnte bitte mal jemand funktionierende debian/rules und Make.config posten.
Danke.
Gruß
Guido
Moin!
Für yaVDR wird's in den nächsten Tagen vermutlich ein Paket für unstable geben.
Da sich da so viel geändert (Make.config, FHS, Tüdelüt usw.), dauert es leider ein bisschen...
Lars.
So, jetzt läuft es durch. Ich habe folgende Änderungen gemacht:
Index: vdr/Makefile
===================================================================
--- vdr.orig/Makefile 2013-01-23 20:22:03.140599286 +0100
+++ vdr/Makefile 2013-01-23 20:32:47.864580233 +0100
@@ -217,10 +217,11 @@
continue;\
fi;\
# New Makefile\
+ echo "Neues Makefile wird genutzt mit LCLBLD=$(LCLBLD) PLUGINDIR=$(PLUGINDIR) LIBDIR=$(LIBDIR)" LOCDIR=$(LOCDIR);\
INCLUDES="-I$(CWD)/include"\
$(MAKE) --no-print-directory -C "$(PLUGINDIR)/src/$$i" VDRDIR="$(CWD)" || failed="$$failed $$i";\
if [ -n "$(LCLBLD)" ] ; then\
- (cd $(PLUGINDIR)/src/$$i; for l in libvdr-*.so; do install $$l $(LIBDIR)/$$l.$(APIVERSION); done);\
+ (cd $(PLUGINDIR)/src/$$i; for l in libvdr-*.so; do install $$l ../../lib/$$l.$(APIVERSION); done);\
if [ -d $(PLUGINDIR)/src/$$i/po ]; then\
for l in `ls $(PLUGINDIR)/src/$$i/po/*.mo`; do\
install -D -m644 $$l $(LOCDIR)/`basename $$l | cut -d. -f1`/LC_MESSAGES/vdr-$$i.mo;\
Alles anzeigen
Ich hatte es erst mit
PLUGINDIR=PLUGINS
LIBDIR=PLUGINS/lib
versucht.
Ich glaube aber, dass dann das PLUGINDIR immer überschrieben wird durch dies im Makefile
Außerdem habe ich in debian/rules MAKE_OPTIONS folgendermaßen geändert
MAKE_OPTIONS = REMOTE=LIRC CONFDIR=/var/lib/vdr \
VIDEODIR=/var/lib/video.00 PLUGINLIBDIR=/usr/lib/vdr/plugins \
LCLBLD=1 PLUGINDIR=PLUGINS LOCDIR=locale
Auf diese Weise musste ich in debian/ die .install Dateien der mitgelieferten Plugins nicht anfassen.
Die sehen alle so aus
Ich bin mir nicht sicher, ob es nicht eine bessere Lösung gibt ohne das Makefile zu patchen.
Aber so musste ich im debian-Verzeichnis bis auf die o.g kleine Änderung in debian/rules nichts machen.
Ich kenne mich mit Makefiles zu wenig aus.
Guido
Hallo,
Ich baue mit LCLBLD=1.
Es läuft ohne Änderung durch, die meisten Plugins haben noch die alte Makefile Syntax.
Dies wird aber problemlos erkannt, so ist diese Übergangsphase der Plugins sehr gut gelöst !
Danke an kls und an Copperhead der wohl die meiste Arbeit mit dem Umbau der make Geschichte gemacht hat.
Ich benutze zwar kein xineliboutput, habe es nur getestet...
Aber hier meckert der Compiler das er die VDR Sourcen nicht findet.
Hallo rudirabbit,
könntest Du bitte mal deine debian/rules zeigen
Mit den ganzen SuSE-Rechnern in der Signatur glaube ich nicht so ganz, dass er Debian-Pakete baut...
Mit den ganzen SuSE-Rechnern in der Signatur glaube ich nicht so ganz, dass er Debian-Pakete baut...
Full ack - es handelt sich um eine Suse 12.1
Ich habe jetzt mal versucht ein Debian-Paket für das Plugin epgsearch außerhalb der vdr-Sourcen zu bauen.
Allerdings findet er libsi/si.h nicht
make[1]: Betrete Verzeichnis '/home/guido/src/test/build-area/vdr-plugin-epgsearch-1.0.1.beta1~git20130124'
dh_auto_build -- all VDRDIR=/usr/include/vdr LIBDIR=. LOCALEDIR=locale
make[2]: Betrete Verzeichnis '/home/guido/src/test/build-area/vdr-plugin-epgsearch-1.0.1.beta1~git20130124'
make[2]: Verlasse Verzeichnis '/home/guido/src/test/build-area/vdr-plugin-epgsearch-1.0.1.beta1~git20130124'
make[2]: Betrete Verzeichnis '/home/guido/src/test/build-area/vdr-plugin-epgsearch-1.0.1.beta1~git20130124'
g++ -g -Wall -Woverloaded-virtual -Wno-parentheses -O2 -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/home/guido/src/test/build-area/vdr-1.7.36/include -c -DSENDMAIL='"/usr/sbin/sendmail"' -DUSE_PINPLUGIN -DUSE_GRAPHTFT -DPLUGIN_NAME_I18N='"epgsearch"' -o afuzzy.o afuzzy.c
g++ -g -Wall -Woverloaded-virtual -Wno-parentheses -O2 -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/home/guido/src/test/build-area/vdr-1.7.36/include -c -DSENDMAIL='"/usr/sbin/sendmail"' -DUSE_PINPLUGIN -DUSE_GRAPHTFT -DPLUGIN_NAME_I18N='"epgsearch"' -o blacklist.o blacklist.c
g++ -g -Wall -Woverloaded-virtual -Wno-parentheses -O2 -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/home/guido/src/test/build-area/vdr-1.7.36/include -c -DSENDMAIL='"/usr/sbin/sendmail"' -DUSE_PINPLUGIN -DUSE_GRAPHTFT -DPLUGIN_NAME_I18N='"epgsearch"' -o changrp.o changrp.c
g++ -g -Wall -Woverloaded-virtual -Wno-parentheses -O2 -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/home/guido/src/test/build-area/vdr-1.7.36/include -c -DSENDMAIL='"/usr/sbin/sendmail"' -DUSE_PINPLUGIN -DUSE_GRAPHTFT -DPLUGIN_NAME_I18N='"epgsearch"' -o confdloader.o confdloader.c
g++ -g -Wall -Woverloaded-virtual -Wno-parentheses -O2 -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/home/guido/src/test/build-area/vdr-1.7.36/include -c -DSENDMAIL='"/usr/sbin/sendmail"' -DUSE_PINPLUGIN -DUSE_GRAPHTFT -DPLUGIN_NAME_I18N='"epgsearch"' -o conflictcheck.o conflictcheck.c
conflictcheck.c:28:22: schwerwiegender Fehler: libsi/si.h: Datei oder Verzeichnis nicht gefunden
Kompilierung beendet.
make[2]: *** [conflictcheck.o] Fehler 1
make[2]: Verlasse Verzeichnis '/home/guido/src/test/build-area/vdr-plugin-epgsearch-1.0.1.beta1~git20130124'
dh_auto_build: make -j1 all VDRDIR=/usr/include/vdr LIBDIR=. LOCALEDIR=locale returned exit code 2
make[1]: *** [override_dh_auto_build] Fehler 2
make[1]: Verlasse Verzeichnis '/home/guido/src/test/build-area/vdr-plugin-epgsearch-1.0.1.beta1~git20130124'
make: *** [build] Fehler 2
Alles anzeigen
Das Makefile habe ich von hier
Allerdings sagt der Ersteller auch, dass er es nicht außerhalb des vdr versucht hat.
Wo sucht denn das Plugin die Header-Datei?
Ich habe das hier
debian/rules
#!/usr/bin/make -f
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
MAKE_OPTIONS = VDRDIR=/usr/include/vdr LIBDIR=. LOCALEDIR=locale
%:
dh $@
override_dh_auto_build:
dh_auto_build -- all $(MAKE_OPTIONS)
override_dh_auto_clean:
$(MAKE) -o .dependencies clean $(MAKE_OPTIONS)
rm -rf locale libvdr-*.so.*
override_dh_gencontrol:
sh /usr/share/vdr-dev/dependencies.sh
dh_gencontrol
Alles anzeigen
Moin!
Im Source steht "#include <libsi/si.h>", also musst du dafür sorgen, dass dein vdr-dev-Paket die Includes unter /usr/include/libsi ablegt. Wenn sie allerdings in /usr/include/vdr/libsi liegen und dort auch liegen sollen, ist der include in epgsearch falsch (in anderen Plugins übrigens auch).
Man muss also mal untersuchen, ob das Plugin noch im vdr-Tree übersetzbar ist, wenn man den include in <vdr/libsi/si.h> ändert.
Ich wäre dafür, libsi unterhalb von vdr abzulegen (so, wie es jetzt gemacht wird).
Alternativ kannst du natürlich auch /usr/include/vdr als zusätzliches Include-Verzeichnis bei epgsearch angeben.
Schon irgendwie komisch.
Lars.
Warum setzt du VDRDIR? Das wird doch aus der vdr.pc geholt.
Und LIBDIR/LOCALEDIR liegen unter "/usr/lib/vdr" und "/usr/share/locale". Die werden dann beim dh_autoinstall unter "./debian/<Paketname>/usr/lib/vdr" und "./debian/<Paketname>/usr/share/locale" installiert.
cu
Ich wäre dafür, libsi unterhalb von vdr abzulegen (so, wie es jetzt gemacht wird).
Also ich weiß ja nicht, was du anschaust, wenn du sagst "so, wie es jetzt gemacht wird", aber VDRs Makefile kopiert die Header-Files standardmäßig nach /usr/local/include/vdr und /usr/local/include/libsi.
libsi ist also "neben" vdr und nicht "unterhalb".
"#include <libsi/si.h>" ist also richtig.
Klaus
EDIT: Copperhead war schneller
Meine /usr/include/vdr/vdr.pc sieht so aus. Wurde mit meinem vdr-dev Paket erzeugt.
Ist das korrekt?
bindir=/usr/local/bin
mandir=/usr/local/share/man
configdir=/var/lib/vdr
videodir=/var/lib/video.00
cachedir=/var/cache/vdr
resdir=/usr/local/share/vdr
libdir=PLUGINS/lib
locdir=locale
plgcfg=
apiversion=1.7.36
cflags=-g -Wall -O2 -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/home/guido/src/test/build-area/vdr-1.7.36/include
cxxflags=-g -Wall -Woverloaded-virtual -Wno-parentheses -O2 -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -I/home/guido/src/test/build-area/vdr-1.7.36/include
Name: VDR
Description: Video Disk Recorder
URL: http://www.tvdr.de/
Version: 1.7.36
Cflags: ${cflags}
Alles anzeigen
----
bindir=/usr/bin
mandir=/usr/share/man
resdir=/usr/share/vdr
libdir=/usr/lib/vdr
locdir=/usr/share/locale
----
Dzu willst ja FHS konform installieren.
Und der Witz ist ja gerade das du in der debian/rules überhaupt nix spezielles mehr machen musst (abgesehen von dependencies).
Wobei das install Target der Plugins generell überprüft werden müsste obs sich korrekt verhält. Sieht auch den ersten Blick gut aus, aber createcats wird dort nicht installiert. Evtl. sollte man das noch mit reinnehmen?
cu
Moin!
mini73: libsi soll in /usr/include/libsi liegen.
Also ich weiß ja nicht, was du anschaust, wenn du sagst "so, wie es jetzt gemacht wird"
Ich hab ins Debian-Paket auf e-Tobi in die Datei vdr-dev.install geschaut.
*.h usr/include/vdr/
libsi/*.h usr/include/vdr/libsi/
debian/debianize-vdrplugin usr/bin/
debian/plugin-template/ usr/share/vdr-dev/
vdr-newplugin usr/bin/
debian/lintian/vdr-dev usr/share/lintian/overrides/
debian/dependencies.sh usr/share/vdr-dev/
debian/vdrdbg-buildpackage usr/bin/
Make.config usr/include/vdr/
Make.global usr/include/vdr/
Alles anzeigen
Danke für den Hinweis, werde ich mir merken und es im nächsten Paket bei yaVDR anpassen.
Lars.
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!