Vereinfachter Zugriff auf das Repository
Posted by Tobi
Wollte man alle Pakete aus meinem VDR-Repository nutzen, waren bisher vier Einträge in der sources.list nötig. Nachdem ich mich etwas mit apt-ftparchiv angefreundet habe, reicht nun ein einziger Eintrag.
Eine neue Repository-Struktur soll die Verwendung meines VDR-Repositories etwas
vereinfachen. Das Repository ist nun ähnlich den offiziellen Debian-Repositories
aufgebaut. Damit können jetzt auch Tools wie debmirror verwendet werden.
Aufbau
Ein übliches Debian-Repository besitzt folgende Repository-Struktur:
+-dists
|
|-stable
| |-main
| | |-binary-i386
| | |-binary-...
| | +-source
| |-contrib
| | |-binary-i386
| | |-binary-...
| | +-source
| +-non-free
| |
| ...
|
|-testing
| |-main
| | |
| | ...
| ...
...
In Anlehnung daran, sieht es bei mir nun so aus:
+-vdr-experimental
| |
| +-dists
| |
| |-stable
| |-base
| | |-binary-i386
| | +-source
| |-backports
| | |-binary-i386
| |-addons
| | |-binary-i386
| | +-source
| |-vdr-multipatch
| | |-binary-i386
| | +-source
| |-vdr-standard
| |-binary-i386
| +-source
+-vdr-testing
|
+-dists
|
|-stable
|
...
Das Repository ist gegliedert nach Release-Variante (vdr-experimental, vdr- testing, vdr-stable), Distribution (derzeit nur Sarge) und Sektion (base, backports, addons, vdr-multipatch, vdr-standard).
Der sources.list-Eintrag
Dieser Repository-Struktur entsprechend, sieht der Eintrag in
/etc/apt/sources.list wie folgt aus:
deb http://e-tobi.net/<release> <dist> <section> <section> ...
# release = vdr-experimental | vdr-testing | vdr-stable
# dist = sarge
# section = base | backports | addons | vdr-multipatch | vdr-standard | vdr-bigpatch
z.B.:
#
# Tobi's Experimental VDR Repository (multipatch)
#
deb http://e-tobi.net/vdr-experimental sarge base backports addons vdr-multipatch
Release-Varianten
In vdr-experimental finden sich immer die brandaktuellen Pakete. Dementsprechend oft wird diese Release-Variante aktualisiert. Die Pakete in vdr-experimental könnten u.U. aber noch den einen oder anderen Bug aufweisen.
Tauchen bei einem Paket in vdr-experimental keine offensichtlichen Probleme auf, wird es in vdr-testing aufgenommen.
Erst wenn auch in vdr-testing kein Bugs zutage treten, wird diese Paketversion in vdr-stable übernommen.
Eine Übersicht über die Paketversionen in den verschiedenen Release-Varianten gibt es für vdr und für vdrdevel.
Es sollte immer nur EINE der Release-Varianten in der sources.list angegeben werden!!!
Sektionen
base beinhaltet grundlegende Pakete, die direkt nichts mit VDR zu tun haben. Das sind z.B. Tools oder abhängige Pakete, die es im offiziellen Debian nicht gibt.
Die Pakete in backports stammen aus anderen Debian-Distributionen (z.B. Etch oder Sid) und wurden für Sarge angepasst.
Alle Pakete, welche die VDR-Funktionalität erweitern (nicht jedoch in Form von Plug-ins) sind in der Sektion addons zu finden.
Das VDR-Paket selbst sowie die VDR-Plug-ins stehen in verschiedenen Patch-Variante in einer jeweils eigenen Sektion zur Verfügung:
vdr-multipatch - enthält sehr viele Patches
vdr-bigpatch - nur für vdr 1.2.6-Pakete, enthält nur weniger kritische
Patches (z.B. kein AutoPid)
vdr-standard - enthält nur essentielle Patches, die auch im offiziellen
Debian-VDR-Paket verwendet werden
Es darf nur EINE der vdr-*-Sektionen in der sources.list verwendet werden!!!
Manchmal wird nur eine bestimmte Sektion benötigt. So z.B., wenn auf einem Rechner ein Xine-basierter Netzwerk-Client installiert werden soll. Die notwendigen Pakete hierfür befinden sich alle in der Sektion base. Folgender sources.list-Eintrag wäre damit ausreichend:
deb http://e-tobi.net/vdr-experimental sarge base
Source-Pakete
Um mit apt-get source <paket-name> Quelltext-Pakete installieren zu können,
muss der sources.list folgender Eintrag hinzugefügt werden:
deb-src http://e-tobi.net/<release> <dist> <section> <section> ...
Es gelten die selben Regeln, wie oben beschrieben. Allerdings gibt es keine
unterschiedlichen Patch-Varianten, da allen Binärpaketen die selben
Source-Paket zugrunde liegen. Die Sektion für VDR und Plugin-Quelltextpakte
lautet daher nur "vdr".
z.B.
deb-src http://e-tobi.net/vdr-experimental sarge base backports addons vdr
Prioritäten
Damit sich Pakete, die in der gleichen Version in unterschiedlichen
Repositories zu finden sind, nicht beissen, muss in /etc/apt/preferences
festgelegt werden, welche Paketquellen mit höherer Priorität zu verwenden sind.
z.B.:
Package: *
Pin: release o=Debian,a=stable
Pin-Priority: 600
Package: *
Pin: release o=ctvdr4
Pin-Priority: 1001
Package: *
Pin: release o=e-tobi.net
Pin-Priority: 1001
Kompatibilität zum alten Schema
Vorerst ist niemand gezwungen, seine sources.list umzustellen. Die alte Repository-Struktur wird weiterhin unterstützt. Irgendwann in ferner Zukunft werde ich diese jedoch zugunsten eines hübscheren Directory-Layouts sicher auch über Bord werfen.