Hallo Jobit,
hier mal meine Zusammenfassung:
Also zunächst das openelec-git von pipelka geholt und nach Anpassung der verschieden Download-URLs einmal durchlaufen lassen.
Nachdem das reibungslos lief, habe ich zunächst die Anpassungen vorgenommen wie von Dir beschrieben.
In die Datei .../OpenELEC.tv/scripts/image
eintragen.
Da ich ein ION-Build erstelle nun in die Datei .../OpenELEC.tv/projects/ION/options
eintragen. Für andere Builds dann die Datei options unter Generic, Intel usw. ändern.
Dann die beiden Ordner vdr und vdr-plugin-xvdr aus der Anlage in den Ordner
.../OpenELEC.tv/packages/multimedia kopieren
Dann einmal make starten bei mir mit:
- Es wird Fehler geben. Die nachfolgenden Schritte habe ich von Hand ausgeführt.
Wenn da einer Patchdateien erstellen kann, sollten die in den vdr patch-Ordner in die Anlage.
In meinem Build-Ordner .../OpenELEC.tv/build.Openelec_PVR-IONx86_64-devel (je nach gewähltem Build heißt der entsprechend anders - build.xxx)
gibt es jetzt einen Ordner vdr-1.7.21
Hier in der Datei Makefile folgendes ändern:
Die Zeile
in
in der Datei vdr.c dieses diff anwenden:
diff -Naur vdr-1.7.5a/vdr.c vdr-1.7.5b/vdr.c
--- vdr-1.7.5a/vdr.c 2009-04-14 13:45:27.000000000 +0200
+++ vdr-1.7.5b/vdr.c 2009-04-14 13:53:53.000000000 +0200
@@ -32,7 +32,6 @@
#include <pwd.h>
#include <signal.h>
#include <stdlib.h>
-#include <sys/capability.h>
#include <sys/prctl.h>
#include <termios.h>
#include <unistd.h>
@@ -114,28 +113,13 @@
static bool DropCaps(void)
{
- // drop all capabilities except selected ones
- cap_t caps = cap_from_text("= cap_sys_nice,cap_sys_time=ep");
- if (!caps) {
- fprintf(stderr, "vdr: cap_from_text failed: %s\n", strerror(errno));
- return false;
- }
- if (cap_set_proc(caps) == -1) {
- fprintf(stderr, "vdr: cap_set_proc failed: %s\n", strerror(errno));
- cap_free(caps);
- return false;
- }
- cap_free(caps);
+ // capabilites support removed
return true;
}
static bool SetKeepCaps(bool On)
{
- // set keeping capabilities during setuid() on/off
- if (prctl(PR_SET_KEEPCAPS, On ? 1 : 0, 0, 0, 0) != 0) {
- fprintf(stderr, "vdr: prctl failed\n");
- return false;
- }
+ // capabilites support removed
return true;
}
Alles anzeigen
In den Dateien config.c und menu.c dieses diff anwenden:
diff -Naur vdr-1.7.7/config.c vdr-1.7.7a/config.c
--- vdr-1.7.7/config.c 2009-05-17 14:38:41.000000000 +0200
+++ vdr-1.7.7a/config.c 2009-05-17 14:39:52.000000000 +0200
@@ -367,7 +367,7 @@
DelTimeshiftRec = 0;
#endif /* DELTIMESHIFTREC */
MinEventTimeout = 30;
- MinUserInactivity = 300;
+ MinUserInactivity = 0;
NextWakeupTime = 0;
MultiSpeedMode = 0;
ShowReplayMode = 0;
@@ -736,7 +736,6 @@
else if (!strcasecmp(Name, "DelTimeshiftRec")) DelTimeshiftRec= atoi(Value);
#endif /* DELTIMESHIFTREC */
else if (!strcasecmp(Name, "MinEventTimeout")) MinEventTimeout= atoi(Value);
- else if (!strcasecmp(Name, "MinUserInactivity")) MinUserInactivity = atoi(Value);
else if (!strcasecmp(Name, "NextWakeupTime")) NextWakeupTime = atoi(Value);
else if (!strcasecmp(Name, "MultiSpeedMode")) MultiSpeedMode = atoi(Value);
else if (!strcasecmp(Name, "ShowReplayMode")) ShowReplayMode = atoi(Value);
@@ -974,7 +973,6 @@
Store("DelTimeshiftRec",DelTimeshiftRec);
#endif /* DELTIMESHIFTREC */
Store("MinEventTimeout",MinEventTimeout);
- Store("MinUserInactivity", MinUserInactivity);
Store("NextWakeupTime", NextWakeupTime);
#ifdef USE_DDEPGENTRY
Store("DoubleEpgAction",DoubleEpgAction);
diff -Naur vdr-1.7.7/menu.c vdr-1.7.7a/menu.c
--- vdr-1.7.7/menu.c 2009-05-17 14:38:41.000000000 +0200
+++ vdr-1.7.7a/menu.c 2009-05-17 14:39:06.000000000 +0200
@@ -3831,7 +3831,6 @@
Clear();
#endif /* VOLCTRL */
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Min. event timeout (min)"), &data.MinEventTimeout));
- Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Min. user inactivity (min)"), &data.MinUserInactivity));
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$SVDRP timeout (s)"), &data.SVDRPTimeout));
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Zap timeout (s)"), &data.ZapTimeout));
Add(new cMenuEditIntItem( tr("Setup.Miscellaneous$Channel entry timeout (ms)"), &data.ChannelEntryTimeout, 0));
Alles anzeigen
Ich habe dann noch die die Dateien aus dem config und scripts-Ordnern des vdr-Ordners in der Anlage in den ..build... vdr-1.7.21-Ordner kopiert.
Das klappte anscheinend nicht automatisch.
ein weiters
brachte dann noch diesen Fehler:
INSTALL vdr
INSTALL jpeg
BUILDvdr-plugin-xvdr
cd: 13: can't cd to build.OpenELEC_PVR-ION.x86_64-devel/vdr-plugin-xvdr*
ich habe kurzerhand das Packet pipelka-vdr-plugin-xvdr-ae2a068.tar.gz von hand entpackt, umbenannt in vdr-plugin-xvdr und in den build...-Ordner kopiert.
Nun lief alles durch.
Jetzt fangen für mich die Baustellen an.
vdr startet nicht automatisch.
wenn ich über putty
(evtl öfter probieren)
eingebe startet vdr mit dem Plugin und bei aktiviertem Live-TV mit aktiviertem xvdr-addon in xbmc bekomme ich ein Bild.
Leider läuft die Sache noch nicht besonders stabil - aber dafür das ich keine Ahnung von der Materie habe ist das schon ein Erfolg.