[PATCH] vdr-2.1.10: CLI Help ---> argsdir Templates (/etc/vdr/conf.d/*.conf.tmpl oder /tmp/*.conf.tmpl)

  • Bei Änderungen im VDR müsste man das erst mit Klaus absprechen.


    Was die Configdateien angeht stehe ich gerade irgendwie auf dem Schlauch.
    Könnte mir das mal jemand konkret an einem Beispiel erklären?


    Am besten anhand dieser Datei: https://github.com/VDR4Arch/vd…cdplayer/50-cdplayer.conf
    Die wird im Paket mit ausgeliefert und liegt dann unter /etc/vdr/conf.avail

  • Siehe ersten Post: "vdr --tmplargs -Pcdplayer" würde dann deine Datei ausgeben (etwas anders formatiert) und sie irgendwo ablegen als Template.
    Die Datei kopiert man dann manuell ins conf-Dir und bearbeitet sie.


    Lars.

  • Das ist genau der Punkt, den ich meine. Wenn ich als Distributor eine Datei mit der Hilfe ausliefere, die zum Zeitpunkt des Paketierens aktuell ist, der User aber etwas an dieser Datei ändert, dann kann diese Hilfe doch bei einer neuen Version dieses Plugins nicht aktualisiert werden, weil die Datei ja nicht mehr dem Stand entspricht, der beim letzten mal ausgeliefert wurde. Ab dem Moment hat der User eine conf-Datei mit einer veralteten Hilfe drin, die dann nicht mehr hilft.

    Naja, entweder ändert sich da meistens nichts oder nicht viel und das Update-system des Paketmanagers kann sogar minimale Änderungen in der ausgelieferten Datei mit User-Änderungen mergen, oder legt einfach nur die neue Datei ab un weist den User darauf hin, daß er sie reviewen und manuell megen soll, weil automatisch nicht ging. Das die darin enthaltene Hilfe nicht hilft sehe ich nicht so, denn wenn die neue so viel anders ist muss sowieso von Hand aktualisiert werden, oder wenn der User eh' andere Einstellungen vorgenommen hat und der Paketmanager es dewegen auch nicht schafft, autonom zu mergen.

    Das würde ja sonst bedeuten, dass der Benutzer nach jedem Update seine conf-Dateien wieder anpassen muss.

    Bei Gentoo nur wenn er selber Anpassungen gemacht hat die stark abweichen vom Auslieferungszustand und nicht gemerged werden können.


    Zitat von »mini73«
    Parameter sollte man nur brauchen, wenn man abweichend von der Distribution etwas umbiegen will, oder?


    Ja, schon. Leider ist meine Erfahrung, dass die Pluginentwickler glauben, sie wüssten wo die Dateien hingehören. Dabei haben sie in den meisten Fällen überhaupt keine Ahnung.
    Und Pfade müssen dann umgepatcht werden, oder Pluginparameter voreingestellt werden.

    Das ist tatsöchlich oft so, aber es gibt wohl auch Fälle wo man wirklich nichts mehr umbiegen will / muss, aber ich fände es fair dem User gegenüber bei Plugins die Parameter trotzdem anbieten, dann doch eine Datei mit der ganzen auskommentierten Hilfe anzubieten. Wenn die mit im Paket kommt, werden Fälle wo er dann doch selber was da eingestellt hat eben nach definiertem Ablauf gehandhabt, siehe oben.


    Mir ist nur wichtig, dass distributionsspezifische conf-Dateien möglichst nicht die Hilfetexte enthalten, weil sie potenziell veralten können und dann nicht mehr hilfreich sind.

    Also mir gerade :) umgekehrt, das Vorhandensein der Hilfstexte, die ja immer die gleichen sind, hilft, sich auch mal mit einem VDR auf "fremder" Distribution auseinanderzusetzten (Freunde, oder man will eine andere ausprobieren...). Die sollten eigentlich nicht "altern" können, wenn eine neue Version des Plugins Änderungen an dieser Datei mitbringt (die Versionsnummer erachte ich nicht für eine nennenswerte Änderung, der Paketmanager sollte nur lachen darüber und automatisch mergen), dann muss es halt so sein dass die aktualisiert werden muss.


    VG,
    Lucian

  • Nein. Ich meine aus Distributionssicht.

    • Du nimmst ein neues Plugin in Deine Distri auf, es bringt keine Beispiel-Konf, aber es verfügt über eine selbsterkärende Hilfe: Dann generierst Du das Template, passt es Deinen Vorstellungen und an die Distri angelehnt an und liferst diese dann aus;
    • Du aktualisierst ein Plugin bei welchem sich die CLI gehörig verändert hat: Schnell mal ein neues Template generiert, alte Werte übertragen/anpassen, neue setzen wo erforferlich und diese neue Konfig-Datei ausliefern;
    • Du aktualisierst ein Plugin bei welchem sich die CLI gar nicht ändert: kannst die Konfig auch so lassen, eventuell die Versionsnummer aktualisieren wenn Du Lust hast.

    VG,
    Lucian

  • Du kannst die Datei aber nicht aktualisieren. Du kannst sie entweder überschreiben oder eine neue daneben legen.


    Ich halte mich hier jetzt mal raus, bis ihr ein konkretes Konzept vorzeigen könnt. Ich kann euren Gedankengängen leider nicht folgen.

  • Noch 2 Anmerkungen zum aktuellen Stand des 2. Patches:

    • Ich tendiere auch mehr zur Variante, das argsdir selber und eine Erweiterung *.tmpl zu nutzen, diese Dateien sollen ja nur die Vorlage für die *.conf sein und umbenannt werden;
    • Aktuell wird nur für Plugins die eine Hilfe anbieten, das Template generiert. Kann man ändern, dass die Datei nur bis zu [plugin_name] section generiert wird, damit man so ein Plugin aktivieren kann wie jedes andere auch.

    Ciao,
    Lucian

  • Du kannst die Datei aber nicht aktualisieren. Du kannst sie entweder überschreiben oder eine neue daneben legen.

    Ist wahrscheinlich bei Arch so? Gentoo kann triviale Änderungen selber mergen.

  • Automatisches Mergen von Konfigurationsdateien unter /etc? Da wäre ich aus Prinzip schon skeptisch. :)


    Ich muss das mal ein wenig sacken lassen und eine Nacht drüber schlafen. Mal sehen, was mir morgen dazu einfällt.


    Lars.

  • Wenn ich mini73 richtig verstanden habe ist es unter Debian nicht viel anders.


    Ja, man bekommt da diverse Auswahloptionen, vielleicht ist da sogar eine bei, mit der man die Änderungen automatisch zusammenführen kann, aber so genau weiß ich das nicht aus dem Kopf.


    Lars.

  • Automatisches Mergen von Konfigurationsdateien unter /etc? Da wäre ich aus Prinzip schon skeptisch. :)

    Wenn ich mini73 richtig verstanden habe ist es unter Debian nicht viel anders.

    Also diese Neugier hatte ich bisher nicht, aber Ihr habt sie in mir geweckt mal nachzugucken, und da kann man sehen, dass das Skript welches dieses tut doch recht komplex ist . Es hat in der Gentoo-Community auch einen guten Ruf.

  • Gerade mal bei Fedora geschaut. Dort verhält sich das exakt so, wie bei Arch Linux. Nur heißen die Dateien nicht *.pacnew und *.pacsave sondern *.rpmnew und *.rpmsaved
    Aktuell klingt das für mich doch sehr Gentoo only :(


    Bei Gentoo ist es auch so, dass dann wenn nicht gemerged werden kann, im jeweiligen Verzeichniss eine Datei ._cfg0000_ORIGINALNAME hinterlegt wird. Der Zähler ist dafür vorgesehen, wenn der User faul über mehrere solche Updates hinweg immer noch nichts unternimmt.

  • Jedes Shellscript, das länger als 5 Zeilen ist, macht mir Angst. :)

    :D Kann ich gut nachempfinden!

  • Ich kann mir schon vorstellen, dass das funktioniert. Das ist aber in nicht-Gentoo Distris eben nicht vorhanden.

    Sprechen wir im Grunde genommen über ein neues Problem, welches erst durch diese Templates hinzukäme? Ich denke nicht. Wie schon erwähnt, die müssen nicht installiert oder irgendwo bleiben, man sollte sie nur als Vorlage für die eigentlichen Configs nutzen, damit sie distributionsübergreifend sehr ähnlich sind und auch nützliche Information aus der CLI-Hilfe mit sich tragen. Die Tatsache dass die CLI-Hilfe auskommentiert dabei sein soll führt doch nicht diese Problem neu hinzu, mit der Auslieferung von neuen Vrsionen der Datei, das Problem hat jede Distribution und löst auf eigen Art auch wenn da nur die Parameter drin stehen.

  • Ich habe Patch 0002 im ersten Posting aktualisiert, dass es auch für Plugins ohne CLI-Hilfe ein Template generiert, mit dem entsprechenden Hinweis darin. Auch fällt ein gesondertes Templates-Vezeichnis weg, default wird argsdir genutzt und die Templates heissen *.conf.tmpl.

Jetzt mitmachen!

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