BESCHREIBUNG¶
debc - Inhalt eines generierten Debian-Pakets betrachten
ÜBERSICHT¶
debc [
Optionen] [
Änderungsdatei] [
Paket
…]
BESCHREIBUNG¶
debc findet die aktuelle Version eines Pakets heraus und zeigt
Informationen über die .deb- und .udeb-Dateien an, die im aktuellen
Bauprozess generiert wurden. Falls auf der Befehlszeile eine
.changes-Datei angegeben wurde, muss der Dateiname auf
.changes
enden, da das Programm sie auf diese Art von Paketnamen unterscheidet. Falls
nicht, muss
debc aus dem Quellcodeverzeichnisbaum aufgerufen werden. In
diesem Fall wird es nach der
.changes-Datei Ausschau halten, die der
aktuellen Paketversion entspricht (durch Bestimmen des Namens und der
Versionsnummer aus dem Changelog und der Architektur auf der gleichen Art, die
dpkg-buildpackage(1) verwendet). Dann führt es
dpkg-deb -I
und
dpkg-deb -c auf jedem
.deb- und
.udeb-Archiv aus, das
in der
.changes-Datei aufgeführt ist, um Informationen über
die
.deb- und
.udeb-Archive anzuzeigen. Es stellt jeder
.deb- und
.udeb-Datei den Dateinamen voran. Es geht davon aus,
dass all die
.deb-/
.udeb-Archive im gleichen Verzeichnis wie die
.changes-Datei liegen. Es ist nützlich, um sicherzustellen, dass
die erwarteten Dateien im Debian-Paket gelandet sind.
Falls ein Liste von Paketen auf der Befehlszeile angegeben wurde, werden nur
jene Debs oder Udebs verarbeitet, deren Namen in dieser Paketliste stehen.
Prüfung von Verzeichnisnamen¶
Ebenso wie mehrere andere Skripte im Paket
devscripts wird
debc
das Verzeichnis emporsteigen, bis es eine
debian/changelog-Datei
findet. Als eine Schutzmaßnahme gegen verstreute Dateien, die
möglicherweise Probleme verursachen, wird es den Namen des
übergeordneten Verzeichnisses untersuchen, sobald es die
debian/changelog-Datei findet und prüfen, ob dieser
Verzeichnisname dem Paketnamen entspricht. Wie dies genau geschieht wird
über zwei Konfigurationsdateivariablen gesteuert,
DEVSCRIPTS_CHECK_DIRNAME_LEVEL und
DEVSCRIPTS_CHECK_DIRNAME_REGEX sowie ihre entsprechenden
Befehlszeilenoptionen
--check-dirname-level und
--check-dirname-regex.
DEVSCRIPTS_CHECK_DIRNAME_LEVEL kann die folgenden Werte annehmen:
- 0
- prüft den Verzeichnisnamen nie.
- 1
- prüft den Verzeichnisnamen nur, falls in der Suche
nach debian/changelog das Verzeichnis gewechselt werden muss. Dies
ist das Standardverhalten.
- 2
- prüft den Verzeichnisnamen immer.
Der Verzeichnisname wird geprüft, indem getestet wird, ob der aktuelle
Verzeichnisname (wie er durch
pwd(1) bestimmt wurde) zum regulären
Ausdruck passt, der durch die Konfigurationsdateioption
DEVSCRIPTS_CHECK_DIRNAME_REGEX oder die Befehlszeilenoption
--check-dirname-regex regulärer_Ausdruck angegeben wurde.
Hierbei ist
regulärer_Ausdruck ein regulärer Perl-Ausdruck
(siehe
perlre(3perl)), der an den Anfang und das Ende verankert wird.
Falls
regulärer_Ausdruck ein »/« enthält, muss er
auf den vollständigen Verzeichnispfad passen. Wenn nicht, dann muss er
auf den vollständigen Verzeichnisnamen passen. Falls
regulärer_Ausdruck die Zeichenkette »PACKAGE«
beinhaltet, wird diese durch den Namen des Quellpakets ersetzt, wie er aus dem
Changelog bestimmt wird. Der vorgegebene Wert für den regulären
Ausdruck ist: »PACKAGE(-.+)?«, daher entspricht er Verzeichnisnamen
wie PACKAGE und PACKAGE-Version.
OPTIONEN¶
- -aDebian-Architektur,
-tGNU-Systemtyp
- Eine Beschreibung dieser Optionen finden Sie unter
dpkg-architecture(1). Sie beeinflussen die Suche nach der
.changes-Datei. Sie werden bereitgestellt, um das Verhalten von
dpkg-buildpackage nachzumachen, wenn der Name der
.changes-Datei festgestellt wird.
- --debs-dir Verzeichnis
- sucht nach .changes-, .deb- und
.udeb-Dateien in Verzeichnis statt im übergeordneten
Verzeichnis des Quellverzeichnisses. Dies sollte entweder ein absoluter
Pfad oder relativ zur Wurzel des Quellverzeichnisses sein.
- --check-dirname-level N
- Die Erklärung dieser Option finden Sie im
vorhergehenden Abschnitt Prüfung von
Verzeichnisnamen.
- --check-dirname-regex
regulärer_Ausdruck
- Die Erklärung dieser Option finden Sie im
vorhergehenden Abschnitt Prüfung von
Verzeichnisnamen.
- --no-conf, --noconf
- keine Konfigurationsdateien lesen, Dies kann nur als erste
auf der Befehlszeile angegebene Option benutzt werden.
- --help, --version
- zeigt Hilfenachricht beziehungsweise
Versionsinformationen.
KONFIGURATIONSVARIABLEN¶
Die beiden Konfigurationsdateien
/etc/devscripts.conf und
~/.devscripts werden in dieser Reihenfolge eingelesen, um
Konfigurationsvariablen zu setzen. Befehlszeilenoptionen können benutzt
werden, um Einstellungen in Konfigurationsdateien außer Kraft zu setzen.
Einstellungen in Umgebungsvariablen werden zu diesem Zweck ignoriert. Die
derzeit bekannten Variablen sind:
- DEBRELEASE_DEBS_DIR
- Dies gibt das Verzeichnis an, in dem nach den
.changes-, .deb- und .udeb-Dateien gesucht werden
soll und ist entweder ein absoluter Pfad oder relativ zur Wurzel des
Quellverzeichnisses. Dies entspricht der Befehlszeilenoption
--debs-dir. Diese Direktive könnte zum Beispiel benutzt
werden, falls Sie immer pbuilder oder svn-buildpackage
verwenden, um Ihre Pakete zu bauen. Beachten Sie, dass es außerdem
debrelease(1) auf die gleiche Weise beeinflusst, daher kommt der
außergewöhnliche Name der Option.
- DEVSCRIPTS_CHECK_DIRNAME_LEVEL,
DEVSCRIPTS_CHECK_DIRNAME_REGEX
- Die Erklärung dieser Variablen finden Sie im
vorhergehenden Abschnitt Prüfung von Verzeichnisnamen.
Beachten Sie, dass dies paketweite Konfigurationsvariablen sind und daher
alle devscripts-Skripte beeinflussen, die ihren Wert prüfen.
Dies wird in ihren jeweiligen Handbuchseiten und in
devscripts.conf(5) beschrieben.
SIEHE AUCH¶
debdiff(1),
dpkg-deb(1) und
devscripts.conf(5)
AUTOR¶
Julian Gilbey <jdg@debian.org>, basierend auf einem Originalskript von
Christoph Lameter <clameter@debian.org>.