Product SiteDocumentation Site

5.3. Struktur eines Quellpakets

5.3.1. Format

Ein Quellpaket besteht normalerweise aus drei Dateien, einer Datei.dsc, .orig.tar.gz und .debian.tar.gz oder .diff.gz. Diese ermöglichen es, aus dem in einer Programmiersprache geschriebenen Quellcode Binärpakete (.deb-Dateien wie weiter oben beschrieben) für das oder die Programm(e) zu erzeugen.
Die Datei .dsc (Debian Source Control) ist eine kurze Textdatei, die einen RFC 2822 Header enthält (genau wie die in Abschnitt 5.2.1, „Beschreibung: Die control-Datei“ betrachtete Datei control), der das Quellpaket beschreibt und angibt, welche anderen Dateien dazugehören. Sie ist von ihrem Betreuer signiert, wodurch Authentizität gewährleistet ist. Siehe Abschnitt 6.5, „Die Echtheit eines Paketes prüfen“ für weitere Einzelheiten zu diesem Thema.

Beispiel 5.1. Eine .dsc-Datei

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 3.0 (quilt)
Source: zim
Binary: zim
Architecture: all
Version: 0.62-3
Maintainer: Emfox Zhou <emfox@debian.org>
Uploaders: Raphaël Hertzog <hertzog@debian.org>
Homepage: http://zim-wiki.org
Standards-Version: 3.9.6
Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/zim.git
Vcs-Git: git://anonscm.debian.org/collab-maint/zim.git
Build-Depends: debhelper (>= 9), xdg-utils, python (>= 2.6.6-3~), libgtk2.0-0 (>= 2.6), python-gtk2, python-xdg
Package-List:
 zim deb x11 optional arch=all
Checksums-Sha1:
 ad8de170826682323c10195b65b9f1243fd75637 1772246 zim_0.62.orig.tar.gz
 a4f70d6f7fb404022c9cc4870a4e62ea3ca08388 14768 zim_0.62-3.debian.tar.xz
Checksums-Sha256:
 19d62aebd2c1a92d84d80720c6c1dcdb779c39a2120468fed01b7f252511bdc2 1772246 zim_0.62.orig.tar.gz
 fc2e827e83897d5e33f152f124802c46c3c01c5158b75a8275a27833f1f6f1de 14768 zim_0.62-3.debian.tar.xz
Files:
 43419efba07f7086168442e3d698287a 1772246 zim_0.62.orig.tar.gz
 725a69663a6c2961f07673ae541298e4 14768 zim_0.62-3.debian.tar.xz

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
Comment: Signed by Raphael Hertzog

iQEcBAEBCAAGBQJUR2jqAAoJEAOIHavrwpq5WFcH/RsdzCHc1oXXxHitU23hEqMj
T6ok29M1UFDJDowMXW75jQ1nT4WPUtvEGygkCHeoO/PvjEvB0sjU8GQlX+N9ddSB
aHfqfAYmVhADNGxrXQT5inZXUa8qGeeq2Sqf6YcWtsnuD56lDbvxkyf/XYopoIEl
oltfl05z/AI+vYsW482YrCz0fxNAKAvkyuPhDebYI8jnKWeAANoqmKpsNc/HYyvT
+ZiA5o57OiGdOKT6XGy3/FiF3dkHiRY8lXW7xdr1BbIgulwl9UmiUNwuxwOYbQO7
edtjiTJqOaFUA0x1zB/XGv5tHr1MjP8naT+kfVoVHTOox51CDbeu5D3DZY4imcY=
=Wtoa
-----END PGP SIGNATURE-----
Beachten Sie, dass das Quellpaket ebenfalls Abhängigkeiten (Build-Depends) hat, die jedoch mit denen der Binärpakete nichts gemein haben, da sie die Programme benennen, die erforderlich sind, um die betreffende Software zu kompilieren und sein Binärpaket zu erstellen.
Die Datei .orig.tar.gz ist ein Archiv, das den Programm-Quellcode enthält, wie er vom ursprünglichen Entwickler bereitgestellt wurde. Debian-Entwickler sind gehalten, dieses Archiv nicht zu verändern, damit es möglich ist, die Herkunft und Integrität der Datei (durch einen einfachen Vergleich mit einer Prüfsumme) zu kontrollieren, und um die Wünsche mancher Autoren zu berücksichtigen.
Das .debian.tar.gz-Archiv enthält alle vom Debian-Betreuer vorgenommenen Veränderungen, insbesondere auch ein ergänzendes debian-Verzeichnis, das die Ausführungsanweisungen für die Erstellung eines Debian-Paketes enthält.

5.3.2. Verwendung innerhalb von Debian

Das Quellpaket ist die Grundlage für alles in Debian. Alle Debian-Pakete entstammen einem Quellpaket, und jede Veränderung in einem Debian-Paket ist die Folge einer Veränderung in eines solchen. Die Debian-Betreuer arbeiten mit dem Quellpaket, kennen jedoch die Auswirkungen ihrer Änderungen auf die Binärpakete. Die Ergebnisse ihrer Arbeit basieren auf den von Debian bereitgestellten Quellpaketen: sie können problemlos zu diesen zurückkehren, da alles Weitere darauf aufbaut.
Wenn eine neue Version eines Pakets (Quellpaket und ein oder mehrere Binärpakete) beim Debian-Server eintrifft, ist das Quellpaket das wichtigste. Es wird dann nämlich von einem Netzwerk aus Rechnern verschiedener Architekturen benutzt, um Kompilierungen für die verschiedenen von Debian unterstützten Architekturen zu erstellen. Die Tatsache, dass der Entwickler auch ein oder mehrere Binärpakete für eine bestimmte Architektur mitschickt (gewöhnlich i386 oder amd64), ist relativ unwichtig, da diese genauso gut automatisch erzeugt worden sein könnten.