4.1. Konzepte und Ideen dahinter
Die Paketbeschreibung ist eine Textdatei. Die Paketbeschreibung in
den Paketen selbst erfolgt in englischer Sprache, wird aber für die
Paketlisten auf den Spiegelservern von Debians Übersetzungsteams auch in
andere Sprachen übersetzt.
Jedes Element der Beschreibung ist ein Schlüssel-Wert-Paar, wobei die
Trennung zwischen Schlüssel und Wert durch einen Doppelpunkt erfolgt.
Der Schlüssel ist ein aus der Umgangssprache abgeleiteter Begriff, der
die Relation zwischen zwei oder mehr Paketen näher beschreibt. Wert
ist hingegen eine Aufzählung von Paketen, die mit einem Komma
voneinander getrennt werden. Ein ähnliches Konzept kommt bei den
Kopfzeilen von E-Mails zum Tragen.
Zusätzlich kann ein Wert mit einer Aussage zu einer bestimmten
Softwareversion ergänzt worden sein. Eine solche versionierte
Abhängigkeit kann unterschiedliche Relationen umfassen.
Tabelle 4.1, „Relationen für versionierte Abhängigkeiten“ zeigt die derzeit
zulässigen Operatoren samt einem Beispiel aus der Praxis.
Tabelle 4.1. Relationen für versionierte Abhängigkeiten
Operator | Beschreibung | Beispiel |
---|
<<
| früher als | xpdf-utils (<< 3.00)
|
<=
| früher oder gleich | python-cairo (<= 1.85)
|
=
| exakt gleich | xfwm4 (= 4.1)
|
>=
| gleich oder später | libc6 (>= 2.4)
|
>>
| später als | libaa1 (>> 1.4)
|
Die folgenden Schlüsselworte werden in Binärpaketen (siehe
Abschnitt 2.7.1, „Binärpakete (deb
)“) und den Paketlisten von diesen verwendet:
-
Package
-
zu dt.: Paket; Name des Pakets ohne Versionsnummer und Architektur,
siehe auch Benennung eines Debian-Pakets in
Abschnitt 2.11, „Benennung einer Paketdatei“
-
Source
-
zu dt.: Quelle; Name des Quellpakets („source package“), aus dem das
Binärpaket gebaut wurde, siehe auch Sourcepakete in Abschnitt 2.7.4, „Source-Pakete (
dsc
und weitere Dateien)“
-
Version
-
zu dt.: Version oder Variante; Versionsnummer des Pakets, siehe
Benennung eines Debian-Pakets in Abschnitt 2.11, „Benennung einer Paketdatei“
-
Architecture
-
zu dt. Architektur oder Plattform; Basis, für die das Paket gebaut wurde
oder all, falls das Paket architekturunabhängig ist, siehe
Debian-Architekturen in Abschnitt 1.2, „Debian-Architekturen“
-
Maintainer
-
zu dt.: Betreuer, Verantwortlicher; Für das Paket verantwortliche Person
oder Gruppe („Maintainer“ des Pakets) und dessen Erreichbarkeit als
E-Mail-Adresse (siehe auch Paket nach Maintainer finden in
Abschnitt 8.22, „Paket nach Maintainer finden“)
-
Homepage
-
zu dt.: Internetpräsenz; Webseite des Projekts der paketierten Software
oder Daten
-
Installed-Size
-
zu dt.: Installationsgröße; Speicherplatz, den das Paket auf dem
Zielsystem belegen wird, nachdem es dort installiert wurde
-
Depends
-
zu dt.: hängt ab von; Name der installierten und konfigurierten Pakete
und ggf. deren Versionsnummer, von dem das vorliegende Paket abhängt
-
Pre-Depends
-
zu dt.: hängt ab vorher von; Name der installierten und konfigurierten
Pakete und ggf. deren Versionsnummer, von dem das vorliegende Paket und
dessen Installationsskripte abhängen. Dies bedeutet, dass diese
Abhängigkeiten vollständig installiert und ausgepackt sein müssen, bevor
das Paket von
dpkg
ausgepackt werden darf.
-
Recommends
-
zu dt.: empfiehlt; Name der Pakete, welche als Ergänzung empfohlen
werden und in den meisten Fällen ebenfalls gebraucht werden. Es ist ein
Gegenstück zum Schlüsselwort
Enhances
.
-
Suggests
-
zu dt.: schlägt vor; Name der Pakete, welche als Ergänzung empfohlen
werden. Es ist ein Gegenstück zum Schlüsselwort
Enhances
-
Conflicts
-
zu dt.: kollidiert bzw. steht in Konflikt mit; Name der Pakete und ggf.
deren Versionsnummer, mit denen es nicht gleichzeitig installiert sein
darf
-
Breaks
-
zu dt.: bricht, verhindert, beschädigt; Name der Pakete und ggf. deren
Versionsnummer, mit denen es nicht gleichzeitig verwendet werden kann
-
Enhances
-
zu dt.: erweitert, ergänzt, wertet auf; Benennt das Paket, welches es
erweitert. Es ist das Gegenstück zu den Schlüsselworten
Suggests
und
Recommends
-
Replaces
-
zu dt.: ersetzt; Name der Pakete, dessen Dateien es (teilweise) ersetzt
-
Provides
-
zu dt.: stellt bereit; Name der virtuellen Pakete, welche es
bereitstellt, siehe Virtuelle Pakete in Abschnitt 2.7.5, „Virtuelle Pakete“
-
Section
-
zu dt.: Sektion oder Paketkategorie, in die das Paket einsortiert ist,
siehe Paketkategorien in Abschnitt 2.8, „Sortierung der Pakete nach Verwendungszweck“
-
Priority
-
zu dt.: Priorität; Prioritätsstufe des Pakets, siehe Paket-Priorität
und essentielle Pakete in Abschnitt 2.13, „Paket-Priorität und essentielle Pakete“
-
Essential
-
zu dt.: essentiell; Ihr Debian-System kann kaputt gehen, wenn dieses
Paket entfernt wird, siehe dazu auch Markierung Essentiell in
Abschnitt 2.13.6, „Markierung „essentiell“ (essential)“
-
Description
-
zu dt.: Beschreibung; Dieses Feld enthält die Paketbeschreibung. Dabei
ist die erste Zeile ein kurzer, einzeiliger Text und die darauf
folgenden, eingerückten Zeilen beinhalten eine lange und ggf. über
mehrere Absätze gehende, ausführlichere Beschreibung. Zwischen der Kurz-
und Langbeschreibung kann auch ein Punkt (
.
) stehen.
-
Built-Using
-
zu dt.: gebaut mit; Dieses Feld muss gemäß Debian Policy Manual
§7.8 [Debian-Policy-Manual] vorhanden sein, sofern der Inhalt des
Binärpakets nicht nur aus Quellcode aus dessen Quellpaket besteht und
die Lizenz dieses Quellpakets vorschreibt, dass auch sämtlicher mit
einkompilierter Quellcode frei verfügbar sein muss. Dies ist z.B. der
Fall, wenn eine unter GNU GPL stehende Software statisch kompiliert wird
oder Quellcode unter GNU GPL aus einem anderen Paket in das Binärpaket
hineinkopiert wird (bspw. bei Stylesheets oder Hintergrundbildern für
generierte Dokumentationen im HTML-Format).
Das nachfolgende Beispiel zeigt alle genutzten Elemente anhand der
PDF-Bibliothek poppler-utils:
Package: poppler-utils
Source: poppler
Version: 0.18.4-6
Architecture: amd64
Maintainer: Loic Minier <lool@dooz.org>
Installed-Size: 445
Depends: libc6 (>= 2.4), libcairo2 (>= 1.10.0), libfreetype6 (>= 2.2.1), liblcms1 (>= 1.15-1), libpoppler19 (>= 0.18.4), libstdc++6 (>= 4.1.1)
Recommends: ghostscript
Conflicts: pdftohtml
Breaks: xpdf-utils (<< 3.02-2~)
Replaces: pdftohtml, xpdf-reader, xpdf-utils (<< 3.02-2~)
Provides: pdftohtml, xpdf-utils
Section: utils
Priority: optional
Multi-Arch: foreign
Homepage: http://poppler.freedesktop.org/
Description: PDF utilities (based on Poppler)
Poppler is a PDF rendering library based on Xpdf PDF viewer.
.
This package contains command line utilities (based on Poppler) for getting
information of PDF documents, convert them to other formats, or manipulate
them:
* pdffonts -- font analyzer
* pdfimages -- image extractor
* pdfinfo -- document information
* pdfseparate -- page extraction tool
* pdftocairo -- PDF to PNG/JPEG/PDF/PS/EPS/SVG converter using Cairo
* pdftohtml -- PDF to HTML converter
* pdftoppm -- PDF to PPM/PNG/JPEG image converter
* pdftops -- PDF to PostScript (PS) converter
* pdftotext -- text extraction
* pdfunite -- document merging tool
In Sourcepaketen (siehe Abschnitt 2.7.4, „Source-Pakete (dsc
und weitere Dateien)“) sind neben den weiter oben
genannten Schlüsselworten auch die folgenden Einträge zulässig:
-
Source
-
zu dt.: Quelle; Name des Quellpakets.
-
Binary
-
zu dt.: Binärdatei; Liste aller Binärpakete, die aus diesem Quellpaket
gebaut werden.
-
Package-List
-
zu dt. Paketliste; Auflistung aller Binärpakete, die aus diesem
Quellpaket gebaut werden. Zusätzlich werden das Paketformat (
deb
oder
udeb
), die Paketkategorie („Sektion“), die Priorität und die
Architektur benannt.
-
Format
-
zu dt.: Format; verwendetes Format des Quellpakets, z.B.
1.0
, 3.0
(quilt)
oder 3.0 (native)
(siehe Aufbau und Format in
Abschnitt 4.2, „Aufbau und Format“).
-
Architecture
-
zu dt. Architektur oder Plattform; Im Gegensatz zu den Binärpaketen sind
hier mehr als nur eine einzige Architektur zulässig. Es beinhaltet alle
Architekturen, auf denen das Paket gebaut werden kann. Der Wert any
bedeutet, dass das Paket auf jeder Architektur gebaut werden kann und
soll (siehe Abschnitt 1.2, „Debian-Architekturen“).
-
Uploaders
-
zu dt.: Hochlader; bezeichnet die Liste der Co-Maintainer und
Beitragenden des Pakets.
-
Standards-Version
-
zu dt.: Version der Standardisierung; Angabe, welcher Version des Debian
Policy Manuals [Debian-Policy-Manual] dieses Paket entspricht.
-
Vcs-Git
, Vcs-Svn
, Vcs-Hg
, Vcs-Cvs
, Vcs-Mtn
-
zu dt.: Versionskontrollsystem; Angabe, von wo Sie eine aktuelle
Entwicklungskopie des Quellpakets aus einem Versionskontrollsystems
auschecken können.
-
Vcs-Browser
-
zu dt.: Versionskontrollsystem und Webbrowser; URL einer Webansicht des
unter Vcs-Git u.a. genannten Repositories des Versionskontrollsystems.
-
Build-Depends
-
zu dt.: Abhängigkeiten beim Bauen von Paketen; Pakete, die notwendig
sind, um alle architektur-abhängigen Binärpakete aus diesem Quellpaket
zu bauen, sowie um das Build-Verzeichnis zu säubern („clean“-Ziel).
Pakete, die als „essential“ (unbedingt notwendig) oder
„build-essential“ (für den Bau von Paketen unbedingt notwendig)
markiert sind, müssen nicht aufgelistet werden (Kommt fast immer vor.)
-
Build-Depends-Indep
-
zu dt.: Abhängigkeiten beim Bauen von Paketen (architekturunabhängig);
Pakete, die zusätzlich zu den unter
Build-Depends
aufgelisteten
Paketen notwendig sind, um auch die architektur-unabhängigen Pakete aus
diesem Quellpaket zu bauen. Hier sind meist die Pakete aufgelistet, die
notwendig sind, um die Dokumentation oder Übersetzungsdateien zu bauen.
(Kommt meist nur bei komplexeren Quellpaketen vor.)
-
Build-Conflicts
-
zu dt. Bau-Konflikte; Pakete, die nicht installiert sein dürfen, wenn
die architektur-abhängigen Binärpakete aus diesem Quellpaket gebaut
werden sollen. Dies sind meistens Pakete, die das
configure
-Skript
beim Testen der notwendigen Bibliotheken stören oder aber Pakete, die
zusätzliche, unerwünschte Abhängigkeiten in den gebauten Binärpaketen
verursachen würden. (Kommt selten vor.)
-
Build-Conflicts-Indep
-
zu dt. Bau-Konflikte (architekturunabhängig); Pakete, die nicht
installiert sein dürfen, wenn die architektur-unabhängigen Binärpakete
aus diesem Quellpaket gebaut werden sollen. (Kommt sehr selten vor.)
-
Files
, Checksums-Sha1
, Checksums-Sha256
-
MD5-, SHA1- und SHA256-Checksummen sowie Dateinamen und -größen der
enthaltenen Quellcode-Archive.
-
Testsuite
-
Optionales Feld, das angibt, mit welchem Programm das installierte Paket
auf Funktionalität getestet werden kann. Derzeit ist der einzige
mögliche Wert
autopkgtest
(siehe Debian Enhancement Proposal DEP
8 [DEP-8] und das gleichnamige Debianpaket dazu
[Debian-Paket-autopkgtest].
In den Paketlisten unter /var/lib/apt/lists/
sind außerdem noch
weitere generierte Metadaten zu den Paketen enthalten. Das beinhaltet
bspw. die Debian Tags (siehe
Kapitel 13, Erweiterte Paketklassifikation mit Debtags), den Pfad und Dateinamen
im Paketmirror, die Paketgröße und verschiedene Prüfsummen. Letztere
dienen dazu, sicherzustellen, dass die Pakete fehlerfrei zwischen dem
Paketmirror und ihrem Debian-System übertragen wurden und es
zwischenzeitlich keine Veränderungen gab (siehe dazu Paketquelle
überprüfen in Abschnitt 3.13, „Paketquelle auf Echtheit überprüfen“ und Bezogenes
Paket verifizieren in Abschnitt 8.32.1, „Prüfung eines Paketes auf Unversehrtheit“).
Das Paket poppler-utils umfasst beispielsweise die folgenden Metadaten:
Description-md5: cd43e3ed14322253876488d6f9911888
Tag: implemented-in::c++, interface::commandline, role::program,
scope::utility, use::converting, use::filtering,
works-with-format::pdf, works-with-format::xml, works-with::text
Filename: pool/main/p/poppler/poppler-utils_0.18.4-6_amd64.deb
Size: 162034
MD5sum: 0f0254920f85b6190ba7b03f4d2a7d73
SHA1: 77fb9d39145c60421462a8fe8315d0adaa49a38c
SHA256: 38f2d13ccddac9e3d05abff7c5fab353d3fea550c8f39293850651e03c3f8be4