Sammelthread: Vorschläge zur Verbesserung der vdr-ebuilds (gentoo-vdr-scripts, ...)

  • Hi,


    ich persönlich fände es manchmal sehr sinnvoll, für Plugins einen Patch-Mechanismus zu haben, wie er beim vdr.ebuild zum Einsatz kommt.
    Also, dass man ein Verzeichnis angibt, in dem "local_plugin_patches" existieren. Dort drin gäbe es für jedes Plugin einen Unterordner, in dem die Patches abgelegt werden können.
    Wäre das was, oder bin ich damit auf dem Holzweg, weil's außer mir kein Mensch brauchen könnte? Ich würde auch mal schauen, ob ich das in vdr-plugin.eclass eingebaut bekomme (dürfte sich ja fast nur um copy'n'paste handeln).


    Viele Grüße
    Chriss

  • Hallo Zzam


    Zitat

    Original von Zzam
    Du musst nur ein Skript schreiben und unter
    /usr/lib/vdr/shutdown/pre-shutdown-*.sh ablegen. Schau dir einfach mal die dort vorhandenen Dateien an, zB pre-shutdown-30-check-logins.sh und pre-shutdown-20-check-blocking-programs.sh.


    ja, genau. Das wäre eine Option für mich :=)
    Danke schön....


    Zitat


    PS: Schau doch mal in #gentoo-vdr vorbei.


    Ist das ein IRC-Channel ?
    Gruß


    gehlhajo

    VDR-1: streamdev-server | Hummingboard2| TT 3600 USB | Siemens S500 Gehäuse | Archlinux mit eigen Skripten
    VDR-2: streamdev-client | rpihddevice | Raspberry 2b | Siemens S450 Gehäuse| Remote: URC6410 | LG 42LV4500 |
    Archlinux mit eigenen Skripten


  • Hallo,


    in pre-shutdown-05-time-calculations.sh gibt es einen kleinen Fehler. Falls gar kein Timer vorhanden ist (was bei meinem Streamdev-client immer der Fall ist) fährt der vdr nicht runter.
    vdr übergibt in diesem Fall eine 0 als VDR_TIMER_NEXT was immer kleiner ist als die aktuelle Zeit und daher bricht pre-shutdown-05-time-calculations.sh den shutdown mit der Meldung "timer is running" ab.


    Code
    if [[ ${VDR_TIMER_NEXT} < ${NOW} ]]; then

    sollte um eine Abfrage ob VDR_TIMER_NEXT != 0 ist ergänzt werden.

    Code
    if [[ ${VDR_TIMER_NEXT} < ${NOW} && ${VDR_TIMER_NEXT} != 0]]; then

    Chieftech BE-01B-SL-B mit ExtensionBoard + LCD + eigene Frontplatte (noch in Arbeit), Siemens DVB-C, PVR-250, Athlon XP 1800, SAMSUNG SV160, Gentoo gentoo-dev-sources-2.6.11

  • Hi PanamaJack!


    Ja, du hast recht, der Check fehlt noch.


    Allerdings war da insgesamt noch falsch, dass in der bash "<" und ">" nur für Zeichenketten funktionieren, d.h. das muss dann so aussehen:


    Code
    if [[ ${VDR_TIMER_NEXT} -ne 0 && ${VDR_TIMER_NEXT} -le ${NOW} ]]; then


    Deshalb gibt's jetzt die gentoo-vdr-scripts-0.3.3.


    Zzam

  • Hi Zzam,


    ich habe ein Gentoo 2006.0 als Unicode-System aufgesetzt.
    Vor dem Aufruf von vdr mußte ich folgende locales setzen, da er sich sonst mit Fehlermeldung beendet.

    Code
    export LANG="de_DE@euro"
    export LC_CTYPE="de_DE@euro"
    export LC_ALL="de_DE@euro"

    Wäre vielleicht sinnvoll, die locale-Einstellung konfigurierbar ins vdr-Startscript mit aufzunehmen.


    Dieter

  • Hi edinger!


    Also zum Thema vdr auf utf8-Systemen wurde schon etwas in die Startskripte eingebaut:


    Siehe /usr/lib/vdr/rcscript/pre-start-45-utf8-check.sh


    Dort wird für alle locale-variablen das ".utf8" entfernt, falls vorhanden.
    Ist denn deine locale nicht wie in allen Dokumentationen beschrieben auf de_DE.uft8 gesetzt?


    EDIT: Eventuell kann man natürlich auch noch auf alle möglichen anderen Varianten wie .utf-8 .UTF-8 und .UTF8 testen.


    Zzam

  • Hi Zzam,


    irgendwie scheint diese Routine bei mir nicht zu ziehen.


    Gruß,
    Dieter


    EDIT: Ich habe einen Bindestrich mit dabei.
    Dies wird so im Wiki vorsgeschlagen: UTF-8 Gentoo Linkux Wiki.


  • Hi edinger!


    Also, das stand wohl mal so im gentoo-wiki, allerdings nur auf der Deutschsprachigen Variante. Ich weiß ehrlich gesagt nicht genau, was warum und wie besser ist.


    Also müsste man alles was entfernt ähnlichkeit mit utf8 utf-8 UTF8 UTF-8 hat wegschneiden und hoffen, dass der Teil davor eine gültige einstellung für locale ist.


    Die andere Lösung für vdr wäre die hier:
    LANG="C" // oder posix


    und alle anderen nicht gesetzt.


    Eventuell noch LC_COLLATE auf de_DE setzten (wieder mit wegschneiden des .utf8-Anteils)


    Edit:
    Also ich hab da noch dazu experimentiert. Das neuere Baselayout setzt alle locale-Variablen auf POSIX im Init-Script. Eventuell sollte man die auch einfach auf POSIX setzten.
    Bei Bedarf die LC_COLLATE für die Sortierreihenfolge noch setzten auf Basis einer Variable in /etc/conf.d/vdr.


    Das neue glibc verwendet locale-gen. Das erzeugt locales mit diesem Namen: de_DE.UTF-8.



    Zzam

  • Moin Dieter ( Edinger ),


    nur so am Rande, kannst Du mal bitte Überprüfen ob du die Einstellungen nach der Wiki, speziell die Punkte unter
    Lokalitätseinstellungen stimmen.
    inbesondere der Hinweis auf die Ausgabe von
    locale -a
    und wie das in der /etc/env.d/02locale einzutragen ist.


    Es gab vor ein paar Tagen schon mal mit utf8 und der (falschen) Schreibweise hier Probleme.


    In diesem Tread --> VDR-1.4.0 im Portage Problem von Klemi


    Ich hatte das darauf hin in der Wiki angepasst, kann sein das Du noch die alte (fehlerhafte) install hast ?!


    /bin/joerg


    P.S wie ich das so sehe wird das Problem dann nur weggeschoben, wenn die kommende glibc dann de_DE.UTF-8 erzeugt steht das wieder im Raum.

  • Hi Jörg,


    der deutsche UTF8 Wiki Eintrag weicht immer noch von der englischen Version ab, zumindest für die Datei /etc/env.d/02locale:
    Englisch:

    Zitat

    LANG="de_DE.utf8"
    LANGUAGE="de_DE.utf8"
    LC_ALL="de_DE.utf8"


    Deutsch:

    Zitat

    LANG="de_DE.utf-8"
    LANGUAGE="de_DE.utf-8"
    LC_ALL="de_DE.utf-8"


    Soll hier nun die englische Version ohne "-" genommen werden?


    Gruß,
    Dieter

  • Hmmm?


    Dieter, mal den Browser cachee leeren ;D

    Bei mir ist da kein - dazwischen wenn ich das im Browser aufrufe !!!


    Dieter wie Du es einträgst ist egal, Hauptsache genauso wie es
    locale -a ausgibt.
    In deinem Fall also ohne Bindestrich.


    /bin/joerg

  • Hallo,


    ich hätte noch einen Wunsch:


    es sollte noch eine Kernzeit einstellbar sein, in der der VDR Rechner auf jeden Fall nicht herunterfährt. Damit könnte man eine Menge Strom sparen, den Rechner nicht nur als VDR Server verwenden, und trotzdem keinen Timer verpassen.


    Also z.B. soll der Rechner in der Zeit von 0 -7 Uhr aus sein, da meist Nachts keine Timer anliegen. Naja sollte halt mal ein Timer bis 1:10 Uhr laufen....dann soll es halt so sein :)


    G. R.

  • Hallo,



    ich hätte gerne, daß der VDR in einer bestimmten Zeit auf jeden Fall nicht ausgeht, da er auch noch z.B. als Anrufbeantworter, Mailserver etc. arbeitet.


    Es wäre also gut, wenn man einstellen könnte, daß in der Zeit von 7 -24 Uhr der Rechner trotzdem läuft, obwohl auch mal kein Timer anliegt. Gestartet wird dann per ACPI



    im original vdr nennt sich das wohl


    /usr/local/gentoo-de/media-video/vdr-vanilla/files/user-scripts/vdr-set-shutdown




    G. R.


    Edit: die Sache mit dem vdrconvert läuft auch noch nicht so richtig mit den neuen Scripten.

  • edinger:
    Hast du schon die gentoo-vdr-scripts-0.3.4 getestet?
    Dort habe ich das locale-Handling grundlegend verändert.


    Jetzt werden einfach alle LC* Variablen vor dem Start von vdr geleert (d.h. locale zeigt POSIX an).
    Das ist das selbe, was neuere baselayout-Versionen von sich aus machen.


    Bei Bedarf kann jetzt in /etc/conf.d/vdr für VDR_SORT_ORDER eine locale angegeben werden, nach der in den Menüs zB die Aufzeichnungen sortiert werden (landet dann in LC_COLLATE).


    Mal schaun wie sich die baselayout-utf8 Sache und auch vdr-utf8 weiterentwickelt.
    Zumindest für den aktuellen Stand müssten die Skripte so wieder für alle funktionieren.


    Zzam

  • Zitat

    ich persönlich fände es manchmal sehr sinnvoll, für Plugins einen Patch-Mechanismus zu haben


    @ theonlychriss


    Hat ne weile gedauert, aber hier ist sie jetzt.....
    Die Funktion ist jetzt in der eclasse verankert.
    Anzuwenden ist sie wie folgt:


    in der /etc/make.conf ist folgendes Einzutragen


    VDR_LOCAL_PATCHES_DIR="/weg/zum/patch"


    die VDR_LOCAL_PATCHES_DIR ist ja schon bekannt, die Variable wird auch vom vdr-*.ebuild genutzt.


    In der Patchdir müssen dann noch 2 dirs angelegt werden, am Beispiel vom vdr-burn-0.1.0 wären das:


    mkdir -p vdr-burn/0.1.0


    In der 0.1.0 werden dann die eigenen patches abgelegt.


    Probleme:
    kann es geben, das patches sich beissen, wenn durch das ebuild schon patches eingebracht wurden,
    die per base.eclass PATCHES="" angewandt wurden.
    Die Reihenfolge ist wie folgt:


    1. PATCHES=""
    2. locale patches
    3. Die ganzen patches die am makefile vorgenommen werden
    4. patches die in src_unpack() definiert sind


    Cheers :prost2


    /bin/joerg

  • Juhuuu, danke Jörg!


    Das vereinfacht "das Frickeln" an Plugins ungemein!
    Super Sache, und auch von mir noch eine Gratulation zur offiziellen Projekt-Anerkennung! Weiter so!


    Viele Grüße
    Chriss

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!