Hallo,
ich hatte mir gedacht dass es doch praktisch wäre, wenn man beim Erstellen von neuen oder Updaten nach Erweiterung von CLI-Parametern, von argdir-Konfigdateien etwas Unterstützung hätte. Die ist ja praktisch fast onboard, und zwar die Ausgabe der CLI-Hilfe. Ich habe nur noch Änderungen erstellt die über einen zusätzlichen CLI-switch --tmplargs mit optionaler Angabe eines Verzeichnisses (default: /etc/vdr/conf.d) für den VDR oder explizit angegebene Plugins (oder auch alle mit -P'*'), diese Templates erstellt, mit auskommentierter CLI-Hilfe oder dem Hinweis dass es keine Argumente für die CLI gibt. Die müssen dann nur noch in das eigentliche Verzeichnis woher sie VDR nutzt (/etc/vdr/conf.d) oder ein anderes, wo sie ein distributionsspezifisches Tool verwaltet (/etc/vdr/conf.avail oder ähnlich) mit der Extension *.conf umbenannt und editiert werden, dass es für die Distribution oder die eigenen Wünsche passt. Praktisch finde ich dass die ganze CLI-Hilfe kommentiert mit dabei ist.
Die Datei würde dann so aussehen, man muß nur noch zwichen den jeweiligen Beschreibungen die gewünschten Parameter auch tatsächlich unkommentiert angeben:
# cat /etc/vdr/conf.d/vdr.conf.tmpl
# Please move/rename this file to argsdir with just the .conf extension and edit it with one option per line as needed.
# vdr (2.1.10) - The Video Disk Recorder
[vdr]
#Usage: vdr [OPTIONS]
#
# -a CMD, --audio=CMD send Dolby Digital audio to stdin of command CMD
# --cachedir=DIR save cache files in DIR (default: /var/cache/vdr)
# --chartab=CHARACTER_TABLE
# set the character table to use for strings in the
# DVB data stream that don't begin with a character
# table indicator, but don't use the standard default
# character table (for instance ISO-8859-9)
...
...
Alles anzeigen
Und für Plugins:
# vdr --tmplargs -P'graphlcd' -P'softhddevice' -P'skindesigner'
vdr: successfully generated config template: /etc/vdr/conf.d/graphlcd.conf.tmpl
vdr: successfully generated config template: /etc/vdr/conf.d/softhddevice.conf.tmpl
vdr: successfully generated config template: /etc/vdr/conf.d/skindesigner.conf.tmpl
Ein Beispiel für eine Plugin-Konfig:
# cat /etc/vdr/conf.d/skindesigner.conf.tmpl
# Please move/rename this file to argsdir with just the .conf extension and edit it with one option per line as needed.
# skindesigner (0.2.2) - Skin Designer
[skindesigner]
# -s <SKINPATH>, --skinpath=<SKINPATH> Set directory where xml skins are stored
# -l <LOGOPATH>, --logopath=<LOGOPATH> Set directory where a common logo set for all skins is stored
# -e <EPGIMAGESPATH>, --epgimages=<IMAGESPATH> Set directory where epgimages are stored
Ich habe meine Änderungen zur Nachvollziehbarkeit in 2 Patches unterteilt und erachte sie nicht wirklich als invasiv. Der erste Patch konsolidiert nur die VDR-eigene CLI-Hilfe in eine Funktion, damit man sie auch beim Generieren des Templates nutzen kann, bei Plugins war das schon sowieso gegeben, das heisst dieser erste Patch sollte rein gar nichts an der Funktionalität des VDR ändern. Es ist der zweite Patch der den neuen CLI-Parameter und das Generieren der Templates einführt.
Vielleicht findet jemand sowas auch praktisch...
Ciao,
Lucian
Later Edit:
- Patch 0002 in 2ter Version nun, generiert im argsdir-Verzeichnis auch für Plugins ohne Parameter das Template, die Erweiterung ist .tmpl
- Patch 0003 biegt das Verzeichnis für die Templates doch auf /tmp um, weil es ja nur Templates sein sollen, die in der Form und Dateiendung nicht irgendwo unter /etc/vdr/.. landen sollten.
- Nochmal zur Erläuterung, nachdem dieser Thread in Diskussionen über vdrctl ausgeartet ist: Mir ging es bloß um das Look'n'feel der Configs, welches an die verrtraute Ausgabe der CLI-Hilfe erinnern sollte, welches man so distributionsübergreifend hätte vereinheitlichen können, so wie z.B. diese paar meiner gesymlinkten Configs, die vdr.conf , die softhddevice.conf oder auch mal pin.conf um auch ein Plugin ohne Parameter zu zeigen, aber viele wollen das scheinbar nicht. Bei Gentoo habe ich schon gute Gründe zu glauben, das wir das so machen werden...