Posts by Frodo

    Ich würde Inverto nehmen, super Preis-/Leistungsverhältnis.


    Ausserdem würde ich gleich Richtung Unicable/Jess wechseln. Je nach Gerät kann man noch einige Legacy LNB Anschlüsse nutzen.


    Einziges Problem um mehr als eine Satteliten Position zu nutzen muß man die LNBs auf Wide LNB umstellen und die sind aktuell nicht vernünftig einmessbar (nur Pegel), d.h. die Empfehlung ist mit Quad LNB ausrichten und dann wechseln. Schön dabei man braucht nur noch 4 Kabel anstelle von vorher 8.

    Das Paket wurde nicht gebaut da eine Abhängigkeit nicht erfüllt wurde:

    Quote

    amd64 build of vdr-plugin-skinenigmang 0.1.3+git20180501-20-995b108-2yavdr0~bionic in ubuntu bionic RELEASE

    1. experimental-vdr
    2. amd64 build of vdr-plugin-skinenigman...

    created 15 hours ago




    Build status

    [Blocked Image: https://launchpad.net/@@/build-depwait] Dependency wait on lcy01-amd64-018 Retry this build

    • Missing build dependencies: libfreetype-dev
    • Started 15 hours ago
    • Finished 15 hours ago (took 2 minutes, 10.3 seconds)
    • buildlog (8.3 KiB)

    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.

    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
    # Sourcen von meinem Paket z.B. vdr-epg-daemon
    sudo add-apt-repository ppa:frodo-vdr/experimental-main-yavdr -s -y
    # Sourcen vom Ansible vdr-epg-daemon
    sudo add-apt-repository ppa:yavdr/experimental-main -s -y
    # Sourcen vom VDR und dessen Plugins (Für vdr-epg-daemon wird das nicht benötigt aber für Plugins)
    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
    # Nötige Pakete für den Paketbau installieren
    sudo apt-get install ubuntu-dev-tools build-essential
    # Bau-Abhängigkeiten des Pakets vdr installieren (Für Plugins)
    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
    mkdir ~/build
    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
    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
    # Das zu modifizierende Paket holen
    apt-get source vdr-epg-daemon=1.1.157-0yavdr0~bionic
    # Das Paket mit den Passenden Patches holen
    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
    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
    echo "plugins.patch" >> vdr-epg-daemon-1.1.157/debian/patches/series

    Die Datei sollte dann so aussehen:

    Code
    modify_Make.conf.patch
    try_alternative_image_format.patch
    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
    cd vdr-epg-daemon-1.1.157
    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
    dpkg-buildpackage -tc -uc -us
    dpkg-source: Information: plugins.patch wird angewandt
    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
    dpkg-buildpackage: Warnung: Bauabhängigkeiten/-konflikte nicht erfüllt; Abbruch
    dpkg-buildpackage: Warnung: (Verwenden Sie -d, um sich darüber hinwegzusetzen.)

    oder eleganter

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

    Jetzt können wir unser Paket erstellen

    Code
    dpkg-buildpackage -tc -uc -us

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

    Code
    epgd_1.1.157-1yavdr0~bionic_amd64.deb
    epgd-dbg_1.1.157-1yavdr0~bionic_amd64.deb
    epghttpd_1.1.157-1yavdr0~bionic_amd64.deb
    epghttpd-dbg_1.1.157-1yavdr0~bionic_amd64.deb
    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.

    Besser ist noch ein zusätzliches awk mit hinzuzunehmen, da sonst bei einem VPN Netz beide IPs zusammen genommen werden.

    Code
    ip a | grep inet | grep -vw lo | grep -v inet6 | awk '{ print $2 }' | cut -d \/ -f1 | sed 's/[^0-9\.]*//g'

    Meine zwei YaVDR Ansible VDRs starten wie folgt:


    1. VDR i5-2500T (4 DVB Tuner)

    Code
    Startup finished in 3.150s (kernel) + 19.596s (userspace) = 22.747s
    graphical.target reached after 11.399s in userspace


    2. VDR i3-6100 (nur SAT-IP) UEFI

    Code
    Startup finished in 9.566s (firmware) + 1.888s (loader) + 2.829s (kernel) + 17.592s (userspace) = 31.876s
    graphical.target reached after 11.135s in userspace

    Ich würde mich freuen wenn der VDR ein Ausgabe Plugin hätte, das problemlos Audio und Video syncron in FullHD und UHD ausgeben könnte.

    Mit den aktuellen Plugins ist das ein ständiges herumgebastel mit ALSA, Pulseaudio oder den diversen Grafikkarten Herstellern.

    Was auch sehr schön wäre wenn man mit dem AppleTV wie zur VU+ direkt auf den VDR zugreifen könnte.


    Da all das nicht geht habe auch ich angefangen einen Teil meiner VDR Installationen gegen einen VU+ Receiver auszutauschen. Dort gibt es mit den zuvor genannten Wünschen keine Probleme. Auch ein Kodi Plugin gibt es, welches alles kann was man braucht.


    Dennoch finde ich den VDR als DVB Receiver genial, ein besseres Werkzeug zum scheiden von Aufnahmen gibt es nicht, auch die Bedienung ist Kinderleicht, das ist bei einer VU+ leider nicht der Fall.

    Eigentlich ist es egal woher das Zertikat kommt, nur einspielen muß man es rechtzeitig. Hier hilft einem Letsencrypt recht gut.

    Man kann sich aber auch einen Termin in den Kalender schreiben...

    Das habe ich gesehen.


    Es gibt aktuell noch ein Probleme mit den Imon Displays


    1. Für yavdr-ansible/roles/autoinstall-imonvfd/tasks/main.yml habe ich einen Pull request gestellt weil die Zeile imon_vfd_device: '{{ "imon_0044" if "15c2:0044" in usb else "imon_0036" }}'

    im git noch falsch ist.


    Das andere hat sich gerade gelöst die udev Regeln für die imonlcd Devices 0038 und ffdc waren verschwunden. Nachdem ich das Paket vdr-plugin-imonlcd nochmals installiert habe

    apt install --reinstall vdr-plugin-imonlcd

    sind sie wieder da.

    Mit meinem 0036 Device habe ich es getestet, es funktioniert :)

    Das 0044 kann ich erst heute Abend prüfen, da ist aber immer noch eine 0 zuviel in dem String imon_00044 der sollte doch sicherlich wie folgt aussehen: imon_0044

    Ohne das ich es probiert habe in der Zeile ist was falsch:

    imon_vfd_device: '{{ "imon_00044" if "15c2:0044" in usb else "imon_0044" }}'

    Die 0 von imon_00044 dürfte zu viel sein und für das 0036 USB Device wird die Variable gar nicht gesetzt.


    Sollte das nicht wie folgt aussehen?

    imon_vfd_device: '{{ "imon_0044" if "15c2:0044" in usb else "imon_0036" }}'