[solved] Kann keine Skins laden, wenn Skin im Verzeichnis "installerskins" ein symbolischer Link ist

  • Im Prinzip sagt das Topic schon alles:
    Sobald ich einen einzelnen Skin oder das gesamte Verzeichnis: /var/lib/vdr/plugins/skindesigner/installerskins/ auf meine Video-Partition verschiebe und anschließend dafür einen symbolischen Link setzte, kann ich diese Skins nicht mehr auswählen! ?(


    Im syslog kommt dann folgendes:


    Irgendwie verstehe ich das nicht, warum hier kein symbolischer Link funktioniert?
    Sobald ich den Skin oder das Verzeichnis zurückverschiebe ist alles wieder in Butter!


    Da sieht dann das syslog so aus:


    An den Zugriffrechten kann es nicht liegen, dass habe ich kontrolliert.


    Kann das bitte mal jemand testen, ob es bei Ihm auch Probleme gibt, wenn für einen Skin oder das gesamte Verzeichnis ein symbolischer Link gesetzt wird!


    Paulaner
    PS: Der Grund für das Verschieben auf die Video-Partition ist, dass ich so von 2 VDRs auf die gleichen Daten zugreifen kann.
    Mit der timers.conf , channels.conf usw. klappt das einwandfrei, nur beim skindesigner habe ich hier Probleme! ?(

    2 Mal editiert, zuletzt von Paulaner ()

  • http://projects.vdr-developer.…t/tree/skindesigner.c#n66


    Dann nutze doch den Parameter -i.


    Gleichzeitiger Zugriff auf die timers/channels.conf von zwei vdr halte ich für ungesund. Der vdr liest die Datei beim Start, ändert sie während des Betriebs im Speicher, schreibt sie ab und zu auf die Platte. Wenn das zwei vdr machen, müssen zwangsweise Änderungen verloren gehen.


    Lars

  • OK, das ist natürlich auch eine Möglichkeit! Die plugin.skindesigner.conf nutze ich ja auch schon für den Pfad zu den Sender-Logos!
    Daran hatte ich jetzt überhaupt nicht gedacht, da ich ja ansonsten immer mit symbolischen Links arbeite.
    Trotzdem wäre es doch interessant, warum ein symbolischer Link hier nicht funktioniert! :]



    Gleichzeitiger Zugriff auf die timers/channels.conf von zwei VDR halte ich für ungesund.
    Der vdr liest die Datei beim Start, ändert sie während des Betriebs im Speicher, schreibt sie ab und zu auf die Platte. ...

    Da hast Du recht und das mache ich auch nicht so .
    Bei mir ist es ja so, dass ich 2 VDRs auf 2 Partitionen vom gleichen Rechner installiert habe.
    Die eine Partition ist mein Produktiv-VDR und auf der anderen Partition ist der VDR, wo ich auch schnell mal was rumprobiere. So ist dann immer nur 1 VDR aktiv und damit gibt es keine Konflikte.


    Paulaner

  • Daran hatte ich jetzt überhaupt nicht gedacht, da ich ja ansonsten immer mit symbolischen Links arbeite.

    Hast du es mal mit mount --bind probiert? IMHO ist das oft deutlich praktischer als Symlinks, wenn man Ordner auslagert: https://wiki.ubuntuusers.de/fstab#Einzelne-Ordner-einhaengen

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Moin,


    du kannst mal testweise in der Zeile 97 der Datei config.c folgendes ändern:


    Code
    - if (!dirEntryName.compare(".") || !dirEntryName.compare("..") || !dirEntryName.compare("skinrepositories") || dirEntryType != DT_DIR)
    + if (!dirEntryName.compare(".") || !dirEntryName.compare("..") || !dirEntryName.compare("skinrepositories") || (dirEntryType != DT_DIR  && dirEntryType != DT_LNK)))


    Ich vermute, dann klappt es auch mit dem Symlink ;)


    Ciao Louis

  • Bei mir ist es ja so, dass ich 2 VDRs auf 2 Partitionen vom gleichen Rechner installiert habe.
    Die eine Partition ist mein Produktiv-VDR und auf der anderen Partition ist der VDR, wo ich auch schnell mal was rumprobiere. So ist dann immer nur 1 VDR aktiv und damit gibt es keine Konflikte.


    Alles klar, dann ist es ok.


    Lars.

  • Hast du es mal mit mount --bind probiert? IMHO ist das oft deutlich praktischer als Symlinks, wenn man Ordner auslagert: https://wiki.ubuntuusers.de/fstab#Einzelne-Ordner-einhaengen

    Danke für den Tipp, das mit dem "bind" muss ich mir mal in Ruhe anschauen.
    Das kann ich ja auch für andere Dinge sinnvoll nutzen! :]



    du kannst mal testweise in der Zeile 97 der Datei config.c folgendes ändern:

    Als schnöder yaVDR-Nutzer habe ich aktuell nur die vom yaVDR-Team bereitgestellte "fertige" lib-Datei im Einsatz. :D
    Wenn etwas Zeit ist, könnte ich mir ja die Sourcen runterladen und ein neues DEB bauen. Mal sehen, vielleicht mach ich es am Wochenende.


    Paulaner

  • Moin,


    naja, mit dem "-i" Startparameter sollte es auf jeden Fall funktionieren, natürlich musst du dort dann den realen Pfad und nicht den Symlink angeben...das musst du ja nur in die conf Datei eintragen und nix neues bauen. Das ist ein bisschen einfacher ;)


    Ciao Louis

  • naja, mit dem "-i" Startparameter sollte es auf jeden Fall funktionieren, ...

    Yepp, das werde ich auch erstmal so machen!
    Ich hatte eben nur vergeblich versucht, das mit einem symbolischen Link zu realisieren.
    Jetzt weiß ich wenigstens, dass es nicht an mir gelegen hat, sondern an Dir! :D


    Paulaner

  • Wenn etwas Zeit ist, könnte ich mir ja die Sourcen runterladen und ein neues DEB bauen. Mal sehen, vielleicht mach ich es am Wochenende.


    Grobe Skizze:

    Code
    sudo apt-get build-dep vdr-plugin-skindesigner
    apt-get source vdr-plugin-skindesigner
    cd vdr-plugin-skindesigner-....
    quilt new installpathlink.patch
    quilt add config.c
    (Datei config.c bearbeiten)
    quilt refresh
    dpkg-buildpackage -tc -uc -us
    cd ..
    sudo dpkg -i vdr-plugin-skindesigner....deb


    Lars.

  • So, jetzt habe ich mal mit den verschiedenen Skindesigner-Parametern getestet, aber es funktioniert nich! X(


    Ich habe den kompletten Ordner aus /var/lib/vdr/plugins/skindesigner nach /srv/backup-vdr/skindesigner verschoben.


    Meine plugin.skindesigner.conf habe ich um den Eintrag "installerpath" ergänzt und die sieht jetzt wie folgt aus:


    In der syslog finden sich dann folgende Einträge:


    In Zeile 10 wird der "metrixhd"-Skin gefunden.
    Zeile 11 zeigt, dass er keinerlei Skins in dem verschobenen Verzeichnis findet!
    Komischerweise waren auch alle im Verzeichnis /installerskins enthaltenen Skins nach dem ersten Neustart des VDRs gelöscht.
    Jetzt habe ich ein paar Skins testweise wieder per OSD über das skindesigner-Plugin installiert, aber es hat sich nichts am Ergebnis geändert, obwohl es nun die neu heruntergeladenen Skins im Verzeichnis /installerskins gibt!
    Ich kann nur den "metrixhd"-Skin auswählen, alle anderen Skins erkennt das Plugin bzw. der VDR nicht!


    Hier ist m. M. nach noch nicht alles rund und da komme ich jetzt nicht weiter. :(


    Paulaner

  • Wie sehen denn die Rechte für die Ordner /srv/backup-vdr und /srv/backup-vdr/skindesigner aus? Hat der User vdr (bei yaVDR mit der uid 666) da Schreibrechte?

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Zugriffsrechte stimmen aber auf dem Verzeichnis?


    Ja, die Zugriffrechte sind i. O. Der VDR hat lese- und schreibrechte in das Verzeichnis und der VDR ist auch der Owner!
    Ich habe ja auch die neuen Skins über das OSD in das neue Verzeichnis runtergeladen, nachdem nach dem Neustart auf einmal alles gelöscht war. Das hat ja auch funktioniert.


    Paulaner

  • Moin erst mal,


    Ich geh mal ganz zurück auf Anfang.


    Wie genau (Befehl) hast du das Skinverzeichnis kopiert?
    Dein VDR Verzeichnis ist eine separate Partition, stimmt das?


    Wenn separate Partition, ist sie vielleicht noch nicht eingebunden beim Start des Plugins/VDR.
    Ich kopiere immer mit dem -a Schalter, da bleiben alle Berechtigungen etc. erhalten.

    VDR: Silverstone LC16M, 2x DVBSky S952, Asrock B85 Pro4, Core i3-4170, 8GB Ram, 525GB SSD + 4TB HD, DVD, System: gentoo amd64, Softhddevice

  • Moin,


    hm, vielleicht ein Bug? ;) Muss ich bei Gelegenheit mal testen, du kannst ja mal ein Ticket auf vdrdeveloper.org mit einem Link zu diesem Thread hier aufmachen, dann vergesse ich das nicht.


    Ciao Louis

  • Wenn separate Partition, ist sie vielleicht noch nicht eingebunden beim Start des Plugins/VDR.

    Nee, Nee, da ist schon alles i. O. weil in dem gleichen Verzeichnis z. B. auch die channels.conf und die timer.conf liegt.
    Und so läuft bei mir der VDR schon seit vielen Jahren, weil das auch außerdem meine Video-Partition ist und ohne die würde der VDR gar nicht starten!


    louis,
    wie gewünscht habe ich ein Ticket mit Verweis auf diesen Thread aufgemacht!
    Sorry, dass ich Dir so viel Arbeit bereite, aber es kommen ja die grauen und dunklen Novembertage. Die kann man dann schön mit etwas Programmiererei verbringen! :D


    Paulaner

  • Moin,

    Sorry, dass ich Dir so viel Arbeit bereite, aber es kommen ja die grauen und dunklen Novembertage. Die kann man dann schön mit etwas Programmiererei verbringen!


    naja, wenn es ein Bug ist muss es gefixt werden ;) Aber wie schon an anderer Stelle angemerkt, erwarte keinen schnellen Fix, ich habe aktuell nicht nur etwas, sondern sehr viel Programmiererei :D


    Ciao Louis

  • Aber wie schon an anderer Stelle angemerkt, erwarte keinen schnellen Fix, ...

    Ja, das eilt jetzt nicht so! 8)
    Wichtiger ist doch nur, dass das einfach in einer der nächsten Versionen gefixt ist.
    Bis dahin muss ich eben immer meine aktuellste Version des selbst zusammengefummelten Skins immer hin und her kopieren, um den Skin auf beiden VDRs zu haben.


    Paulaner

Jetzt mitmachen!

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