YaVDR/Templates

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Ausgelagert aus FAQ zur Verbesserung der Übersicht)
 
Zeile 12: Zeile 12:
 
In diesem Ordner wird bei Paketupdates nichts verändert, gelöscht, überschrieben.
 
In diesem Ordner wird bei Paketupdates nichts verändert, gelöscht, überschrieben.
  
Als praktisches Beispiel nehmen wir uns mal die Konfigurationsdatei /etc/X11/xorg.conf.yavdr vor.
+
===Als praktisches Beispiel nehmen wir uns mal die Konfigurationsdatei /etc/X11/xorg.conf.yavdr vor.===
  
 
Existieren keine Custom-Templates, wird die Datei xorg.conf.yavdr gänzlich aus den Standard-Templates generiert, welche das yaVDR-Team pflegt, ausliefert und aktualisiert. Bevor wir Custom Templates für die xorg.conf.yavdr anlegen, schauen wir uns erst die yaVDR-Standard-Templates für diese Datei an. Diese liegen in folgendem Verzeichnis:
 
Existieren keine Custom-Templates, wird die Datei xorg.conf.yavdr gänzlich aus den Standard-Templates generiert, welche das yaVDR-Team pflegt, ausliefert und aktualisiert. Bevor wir Custom Templates für die xorg.conf.yavdr anlegen, schauen wir uns erst die yaVDR-Standard-Templates für diese Datei an. Diese liegen in folgendem Verzeichnis:
Zeile 88: Zeile 88:
 
Verzeichnis für eigene Vorlagen: /etc/yavdr/templates_custom
 
Verzeichnis für eigene Vorlagen: /etc/yavdr/templates_custom
  
Einige Dateien benötigen besondere Rechte oder Sicherheitseinstellungen. Das läßt sich so erreichen:
+
===Einige Dateien benötigen besondere Rechte oder Sicherheitseinstellungen.===
 +
Das läßt sich so erreichen:
 
  sudo process-template --owner=vdr --group=vdr /var/lib/vdr/setup.conf
 
  sudo process-template --owner=vdr --group=vdr /var/lib/vdr/setup.conf
 
  sudo process-template --mode 755 /usr/bin/start-xine
 
  sudo process-template --mode 755 /usr/bin/start-xine
  
 
[[Kategorie:YaVDR]]
 
[[Kategorie:YaVDR]]

Version vom 22. Dezember 2010, 11:45 Uhr

Viele Konfigurationsdateien unter yaVDR sind generiert ("templated"). Das bedeutet, daß ihr Inhalt aus den Templates (Vorlagen) zusammengebaut wird. Diejenigen Templates, die das yaVDR-Team ausliefert, nennen wir im folgenden Standard-Templates. Einen Überblick über die Standard-Templates gibt es hier: http://www.yavdr.org/developer-zone/template-overview/

Will man nun etwas in die Konfigurationsdateien einfügen, hat man folgende Probleme:

  • Wenn man die Konfigurationsdatei direkt ändert, wird die manuelle Änderung überschrieben beim nächsten Paketupdate, bei dem alle Konfigurationsdateien neu generiert werden aus den Standard-Templates. Nebenbei: Um den Frust bei Euch klein zu halten, werden alte Versionen von Konfigurationsdateien vor dem Überschreiben gebackuppt (unterhalb von /var/cache/yavdr/process-template-backup).
  • Wenn man nun denkt, man ist schlau, und ändert gleich die Standard-Templates, ist man auch nicht sicher: Die Standard-Templates werden bei einem Paketupdate aktualisiert und dabei werden manuelle Änderungen auch überschrieben.

Deshalb gibt es die Möglichkeit, Custom-Templates anzulegen, welche die Standard-Templates ergänzen oder Teile von ihnen überschreiben. Alle Custom-Templates sind manuell anzulegen unterhalb des Ordners

/etc/yavdr/templates_custom/

In diesem Ordner wird bei Paketupdates nichts verändert, gelöscht, überschrieben.

Als praktisches Beispiel nehmen wir uns mal die Konfigurationsdatei /etc/X11/xorg.conf.yavdr vor.

Existieren keine Custom-Templates, wird die Datei xorg.conf.yavdr gänzlich aus den Standard-Templates generiert, welche das yaVDR-Team pflegt, ausliefert und aktualisiert. Bevor wir Custom Templates für die xorg.conf.yavdr anlegen, schauen wir uns erst die yaVDR-Standard-Templates für diese Datei an. Diese liegen in folgendem Verzeichnis:

/usr/share/yavdr/templates/etc/X11/xorg.conf.yavdr/

In yaVDR 0.1 befinden sich dort die folgenden Dateien:

  • 000header
  • 0100serverlayout-header
  • 0150serverlayout-body
  • 0190serverlayout-end
  • 0200files-header
  • 0290files-end
  • 0300inputdevice-mouse0-header
  • 0350inputdevice-mouse0-body
  • 0390inputdevice-mouse0-end
  • 0400inputdevice-keyboard0-header
  • 0450inputdevice-keyboard0-body
  • 0490inputdevice-keyboard0-end
  • 0500monitor0-header
  • 0550monitor0-body
  • 0590monitor0-end
  • 0600monitor1-header
  • 0650monitor1-body
  • 0690monitor1-end
  • 0700device0-header
  • 0750device0-body
  • 0790device0-end
  • 0800device1-header
  • 0850device1-body
  • 0890device1-end
  • 0900screen0-header
  • 0950screen0-body
  • 0950screen0-graphtft
  • 0950screen1-graphtft
  • 0990screen0-end
  • 1000screen1-header
  • 1050screen1-body
  • 1090screen1-end
  • 1100extensions-header
  • 1190extensions-body
  • 1190extensions-end

Diese Template-Dateien erzeugen nach Namen sortiert die xorg.conf.yavdr. Das heißt, sie werden alphabetisch abgearbeitet bzw. wenn sie mit Ziffern beginnen, numerisch sortiert. Eine einzelne Datei ist also nur ein Schnipsel des Ganzen.

Wenn du etwas einfügen willst, dann erzeugst du, falls nötig, das Verzeichnis

/etc/yavdr/templates_custom/etc/X11/xorg.conf.yavdr/

In diesem Verzeichnis legst du eine Datei mit beliebigem Namen an. Du musst nur sicherstellen, dass der Name an die richtige Stelle zwischen den Namen der anderen Dateien sortiert würde.

Beispiel:

  • 001mein_template

Der Inhalt dieser Datei (Deine Anpassungen) wird nun beim Generieren von xorg.conf.yavdr eingefügt, und zwar zwischen 000header und 0100serverlayout-header:

  • 000header
  • 001mein_template
  • 0100serverlayout-header
  • ...

Danach führst du das Kommando

sudo process-template /etc/X11/xorg.conf.yavdr 

aus, fertig.

Solltest du etwas von uns ersetzen wollen, dann muss deine Datei den selben Namen wie unsere Datei haben. Wenn jetzt in Zukunft wieder eine neue xorg.conf.yavdr von uns kommt, dann werden deine Änderungen automatisch berücksichtigt.

Das Verfahren funktioniert natürlich nicht nur mit xorg.conf.yavdr

Die originalen Vorlagen von yaVDR liegen in: /usr/share/yavdr/templates

Verzeichnis für eigene Vorlagen: /etc/yavdr/templates_custom

Einige Dateien benötigen besondere Rechte oder Sicherheitseinstellungen.

Das läßt sich so erreichen:

sudo process-template --owner=vdr --group=vdr /var/lib/vdr/setup.conf
sudo process-template --mode 755 /usr/bin/start-xine