[gelöst] [epgd & co] Nach Update kein tvm/tvsp mehr ...

  • Normalerweise sind keine Paketquellen für die Sourcen aktiv, das muss man sich bei add-apt-repository für jedes PPA extra wünschen.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Schau Dir noch einmal meine Mitteilung vom 20. Dezember an. Da steht alles drin!

    Ich finde von dir leider keinerlei Beiträge oder Aktivitäten vom 20.12.?! Konversation doch noch gefunden - mein Fehler, sorry!

    alles auf hold setzen, damit keine Änderungen beim apt-get dist-upgrade erfolgen. Das war es.

    Das werde ich nach der Installation der selbst kompilierten Plugins machen, danke.


    Normalerweise sind keine Paketquellen für die Sourcen aktiv, das muss man sich bei add-apt-repository für jedes PPA extra wünschen.

    Dann sollte ja der Quellcode von 1.1.157 geholt werden.


    aber den Schritt kannst du ja leicht ausprobieren, ohne dass etwas kaputt geht.

    Du hast vollkommen recht - probieren geht über studieren. Sobald die Kinder im Bett sind und die Frau auf der Couch eingeschlafen ist, gehts los :saint:


    Danke euch allen inzwischen für die tolle Unterstützung!

    MyVDR: yaVDR-Ansible (Ubuntu 18) - softhddevice-openglosd (ffmpeg 2.8) - epgd/epg2vdr - skindesigner estuary4vdr (adaptiert) - 1920x1080@50 Hz | kodi 18 - inputstream + amazon vod
    Aerocube M40 | 300W | ASRock H61M-GE | Intel G530 | Asus ENGT520 | 2 x TT-budget S2-3200 | ASRock Smart Remote (CIR) | 4 GB RAM | 120 GB SSD | 3 TB HDD

    The post was edited 1 time, last by davie2000 ().

  • wichtig ist, im *.list - Eintrag das Kommentarzeichen vor dem normalerweise kommentierten "deb-src" zu entfernen.

    --
    vdr User #2022 - hdvdr2: Intel(R) Core(TM) i5-4670S, 12 GB Ram, ubuntu-focal, softhddevice
    Octopus (ddbridge-6.5) mit 2xDVB-S2 und (Flex) 2xDVB-C/T Tunern, nvidia-GF720 (nvidia-440)
    System SSD btrfs, snapper, 8TB HDD XFS /srv/vdr, yavdr-ansible-2.4.1 mit Frodo-vdr-epg-daemon, Kernel 5.4.0-14

    vdradmin-am, vdrmanager (Smartphone als FB)

  • Sorry, wenn es etwas länger dauert. Ich habe meine VDR Installationen nur noch zum Spaß und nutze seit geraumer Zeit VU+ Receiver in meiner Familie.

    Deshalb merke ich Probleme erst spät.


    Egal die neue Version baut gerade.


    Es ist aber sicherlich von Vorteil zu wissen wie man ein Paket baut.


    Als erstes möchte ich auf folgen Beitrag verweisen der schoneinmal für die Grundvorraussetungen sorgt:

    [gelöst] [0.4] VDR selbst übersetzen (für Patch von kls)?

    Der ist schon etwas älter war aber mein Einstieg und funktioniert noch heute.


    Als erstes muß man seinem Ubuntu beibringen das es auch Source Pakete aus den Repositories bekommt.

    Das geht auf zwei Wege entweder man geht in die entsprechende Datei unter /etc/apt/source.list bzw. /etc/apt/source.list.d/... und aktiviert bzw. fügt die Zeilen deb-src hinzu oder im Fall von Bionic und der Ansible Installation führt man die folgenden Befehle aus:

    Code
    1. # Sourcen von meinem Paket z.B. vdr-epg-daemon
    2. sudo add-apt-repository ppa:frodo-vdr/experimental-main-yavdr -s -y
    3. # Sourcen vom Ansible vdr-epg-daemon
    4. sudo add-apt-repository ppa:yavdr/experimental-main -s -y
    5. # Sourcen vom VDR und dessen Plugins (Für vdr-epg-daemon wird das nicht benötigt aber für Plugins)
    6. sudo add-apt-repository ppa:yavdr/experimental-vdr -s -y

    Das -s fügt die Sourcen in das Verzeichnis /etc/apt/source.list.d/ hinzu.


    Nun brauchen wir eine Build Umgebung:

    Code
    1. # Nötige Pakete für den Paketbau installieren
    2. sudo apt-get install ubuntu-dev-tools build-essential
    3. # Bau-Abhängigkeiten des Pakets vdr installieren (Für Plugins)
    4. sudo apt-get build-dep vdr

    Nun haben wir die Vorraussetzungen geschaffen um uns der Beschaffung der Sourcen zu widmen.


    Jetzt benötigen wir ein Verzeichnis in den wir die Sourcen installieren möchten, da das schnell unübersichtlich wird sollte man sich dieses im Homeverzeichnids erstellen.

    Code
    1. mkdir ~/build
    2. cd ~/build

    Jetzt holen wir uns die passenden Sourcen zum einen das alte mit dem tvm Patch und das neue von der ansible Installation.

    Dazu schauen wir ersteinmal nach welche Versionen es gibt

    Code
    1. sudo apt-cache policy vdr-epg-daemon

    Die Ausgabe des Befehls sieht wie folgt aus:

    In diesem Fall müssten wir nichts tun ausser dafür sorgen das vdr-epg-daemon aus meinem PPA installiert wird und nicht aus dem von YaVDR. Im Beispiel ist das PPA von YaVDR priorisiert auf 1000 während mein PPS nur 500 hat, das nur am Rande.


    Für das weitere Vorgehen holen wir uns nun die Sourcen für 1.1.157-0yavdr0~bionic und 1.1.155-1frodo0~bionic.

    Code
    1. # Das zu modifizierende Paket holen
    2. apt-get source vdr-epg-daemon=1.1.157-0yavdr0~bionic
    3. # Das Paket mit den Passenden Patches holen
    4. apt-get source vdr-epg-daemon=1.1.155-1frodo0~bionic

    Wenn ihr nun in eurem build Verzeichnis schaut habt ihr zwei unterschiedliche Versionen von vdr-epg-daemon.

    Die neuere wollen wir nun so modifizieren das sie die Eigenschaften (tvm, tvsp) der alten bekommt, hierzu kopieren wir aus dem debian/patches Ordner das plugin.patch von der alten auf die neue Version.

    Code
    1. cp vdr-epg-daemon-1.1.155/debian/patches/plugins.patch vdr-epg-daemon-1.1.157/debian/patches/

    Jetzt müssen wir noch dafür sorgen das der Patch auch verwendet wird das müssen wir in der neuen Version die Datei debian/patches/series um den Dateinamen des Patches erweitern.

    Code
    1. echo "plugins.patch" >> vdr-epg-daemon-1.1.157/debian/patches/series

    Die Datei sollte dann so aussehen:

    Code
    1. modify_Make.conf.patch
    2. try_alternative_image_format.patch
    3. plugins.patch

    Nun können wir uns ans Paketbauen machen. Um nachher auch noch zu erkennen ob das Paket vom Repository oder von euch kommt empfiehlt es sich die debian/changelog Datei anzupassen. Dazu wechsekln wir in das Source Verzeichnis und führen dch -i aus.

    Code
    1. cd vdr-epg-daemon-1.1.157
    2. dch -i

    Das Kommando fügt automatisch einen neuen Eintrag hinzu, den passen wir entsprechend an

    Wichtig ist das die Syntax der ersten Zeile der letzten entspricht, durch das hochzählen der Zahl vor yavdr wird verhindert das das Paket gleich wieder überschrieben wird bei einem Update.


    Nun könnten wir mit dem Paket bauen loslegen allerdings fehlen uns hierzu noch diverse dev-Pakete.


    Die installieren wir einfach nach entweder mit trial and Error

    Code
    1. dpkg-buildpackage -tc -uc -us
    2. dpkg-source: Information: plugins.patch wird angewandt
    3. dpkg-checkbuilddeps: Fehler: Nicht erfüllte Bauabhängigkeiten: dh-exec dh-systemd libarchive-dev libcurl4-openssl-dev libimlib2-dev libjansson-dev libjpeg-dev libmariadb-dev-compat (>= 10.3.13) | libmariadbclient-dev libmicrohttpd-dev libsystemd-dev libxml2-dev libxslt1-dev python-dev python2.7-dev rhino uuid-dev
    4. dpkg-buildpackage: Warnung: Bauabhängigkeiten/-konflikte nicht erfüllt; Abbruch
    5. dpkg-buildpackage: Warnung: (Verwenden Sie -d, um sich darüber hinwegzusetzen.)

    oder eleganter

    Code
    1. sudo apt-get build-dep vdr-epg-daemon

    Jetzt können wir unser Paket erstellen

    Code
    1. dpkg-buildpackage -tc -uc -us

    Jetzt nur noch in das Verzeichnis darüber wechseln und die Lorbeeren ernten ;-)

    Code
    1. epgd_1.1.157-1yavdr0~bionic_amd64.deb
    2. epgd-dbg_1.1.157-1yavdr0~bionic_amd64.deb
    3. epghttpd_1.1.157-1yavdr0~bionic_amd64.deb
    4. epghttpd-dbg_1.1.157-1yavdr0~bionic_amd64.deb
    5. mariadb-plugin-epglv_1.1.157-1yavdr0~bionic_amd64.deb

    Dort liegen nun die Pakete welche mit dpkg -i [paketname].deb installiert werden können.


    Ich hoffe das hilft dem ein oder anderen zukünftig das Problem selbst zu lösen.

    Gruß
    Frodo

  • Ich hatte es dann gestern/heute früh noch selbst hingekriegt (mit Anleitungen von Alexander und rkp).

    Aber diese ausführliche Antwort hilft sicherlich auch anderen - danke dafür!


    Ich möchte noch ergänzen, dass man die URLS für die beiden Plugins für tv&tvsp auf github findet:

    git clone https://******.***/***/epgd-plugin-tvm PLUGINS/tvm

    git clone https://******.***/*********/epgd-plugin-tvsp PLUGINS/tvsp

    (ich hoffe, dass ist "geschwärzt" genug für diese rechtliche Grauzone).


    Ergänzung:

    Nach dem Update von Frodo würden beim dist-upgrade jetzt seine Versionen installiert werden.

    Ich habe daher die selbst kompilierten - wie oben empfohlen - auf Hold gesetzt:

    sudo apt-mark hold epgd epgd-dbg epghttpd epghttpd-dbg mariadb-plugin-epglv vdr-epg-daemon vdr-plugin-epg2vdr

    MyVDR: yaVDR-Ansible (Ubuntu 18) - softhddevice-openglosd (ffmpeg 2.8) - epgd/epg2vdr - skindesigner estuary4vdr (adaptiert) - 1920x1080@50 Hz | kodi 18 - inputstream + amazon vod
    Aerocube M40 | 300W | ASRock H61M-GE | Intel G530 | Asus ENGT520 | 2 x TT-budget S2-3200 | ASRock Smart Remote (CIR) | 4 GB RAM | 120 GB SSD | 3 TB HDD

  • Ist schön und gut erklärt von Frodo aber dennoch ist es damit nicht immer gewährleistet eine aktuelle Version aus dem GIT zu bauen wenn keine aktuellen Sourcen dafür irgendwo bereit liegen. Dafür ist das Skript in den Sourcen im debian Ordner eigentlich ideal get-new-snapshot.sh wenn man das entsprechend anpasst und anwendet

    Gruß utiltiy



    VDR Projekte VDR Projects

  • Die letzten 3 mal ging es und natürlich gehen noch andere Wege. Die alle zu erklären würde aber die meisten überfordern.

    Das genannte Skript ist im übrigen auch auf meinen Mist gewachsen, nur funktioniert auch das nur solange die Sourcen minimal verändert wurden.


    Mir ging es erst einmal darum, dass man einen Einstieg zum selbst bauen bekommt.


    Spätestens wenn man mehr damit herumspielt wird man sich ein eigenes Repository im Launchpad erstellen und so weiter.

    Gruß
    Frodo

  • Nach dem Upgrade auf focal hab ich beim python Probleme:

    Code
    1. builddeps:vdr-epg-daemon : Hängt ab von: python-dev ist aber nicht installierbar
    2. E: Probleme können nicht korrigiert werden, Sie haben zurückgehaltene defekte Pakete.
    3. root@hdvdr2:/usr/bin# which python
    4. /usr/bin/python
    5. root@hdvdr2:/usr/bin# python --version
    6. Python 3.8.2rc1

    Ich kann python2 und python2-dev und auch python3-dev installieren, das kümmert aber das build-dep nicht ...


    Danke für heiße Tipps :)

    --
    vdr User #2022 - hdvdr2: Intel(R) Core(TM) i5-4670S, 12 GB Ram, ubuntu-focal, softhddevice
    Octopus (ddbridge-6.5) mit 2xDVB-S2 und (Flex) 2xDVB-C/T Tunern, nvidia-GF720 (nvidia-440)
    System SSD btrfs, snapper, 8TB HDD XFS /srv/vdr, yavdr-ansible-2.4.1 mit Frodo-vdr-epg-daemon, Kernel 5.4.0-14

    vdradmin-am, vdrmanager (Smartphone als FB)

  • Nimm das vdr-epg-daemon Paket aus ppa:yavdr/experimental-main als Basis, da sind die Build-Dependencies auf Python3 umgestellt und der Patch für die Make.config sorgt dafür, dass er auch Python3 zum bauen nutzt.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Mit der "trial & error"-Methode hab ich nun den vdr-epg-daemon bauen können, hatte aber noch "UDF"-Probleme mit dem epglv. Nach Wiedereinspielen der alten 50-server.cnf bzw. dortigen Einfügen von "binlog_format = mixed" macht er aber gerade die tvsp/tvm-Daten :)

    --
    vdr User #2022 - hdvdr2: Intel(R) Core(TM) i5-4670S, 12 GB Ram, ubuntu-focal, softhddevice
    Octopus (ddbridge-6.5) mit 2xDVB-S2 und (Flex) 2xDVB-C/T Tunern, nvidia-GF720 (nvidia-440)
    System SSD btrfs, snapper, 8TB HDD XFS /srv/vdr, yavdr-ansible-2.4.1 mit Frodo-vdr-epg-daemon, Kernel 5.4.0-14

    vdradmin-am, vdrmanager (Smartphone als FB)

  • Das genannte Skript ist im übrigen auch auf meinen Mist gewachsen, nur funktioniert auch das nur solange die Sourcen minimal verändert wurden.

    Danke für das Gewächs, es tut seit ein paar Jahren auf meinen EPGD Servern (für Debian/Sid und meine Bedürfnisse angepasst) genau das, die Sourcen von GIT ziehen und das Paket daraus erstellen :thumbup:

    Gruß utiltiy



    VDR Projekte VDR Projects