BESCHREIBUNG¶
debrelease - ein Wrapper um Dupload oder Dput
ÜBERSICHT¶
debrelease [
Debrelease-Optionen] [
Dupload-/Dput-Optionen]
BESCHREIBUNG¶
debrelease ist ein einfacher Wrapper um
dupload oder
dput.
Es wird aus dem Quellcodeverzeichnisbaum eines Pakets heraus aufgerufen und
findet die aktuelle Version eines Pakets heraus. Dann sucht es im
übergeordneten Verzeichnis des Quellcodeverzeichnisbaums nach der
entsprechenden
.changes-Datei (die die Dateien auflistet, die zum
Hochladen nötig sind) und ruft
dupload oder
dput mit der
.changes-Datei als Parameter auf, um das tatsächliche Hochladen
durchzuführen.
An
debrelease können Optionen übergeben werden; mit Ausnahme
der oben aufgeführten werden sie unverändert an
dupload oder
dput weitergereicht. Die
devscripts-Konfigurationsdateien werden
außerdem wie im Folgenden beschrieben durch
debrelease gelesen.
Prüfung von Verzeichnisnamen¶
Ebenso wie mehrere andere Skripte im Paket
devscripts wird
debrelease den Verzeichnisbaum emporsteigen, bis es eine
debian/changelog-Datei findet. Als eine Schutzmaßnahme gegen
verirrte Dateien, die möglicherweise Probleme bereiten, wird es den Namen
des übergeordneten Verzeichnisses untersuchen, sobald es eine
debian/changelog-Datei findet und prüfen, ob der Verzeichnisname
dem Paketnamen entspricht. Wie dies genau geschieht, wird durch die beiden
Konfigurationsdateivariablen
DEVSCRIPTS_CHECK_DIRNAME_LEVEL und
DEVSCRIPTS_CHECK_DIRNAME_REGEX sowie ihre entsprechenden
Befehlszeilenoptionen
--check-dirname-level und
--check-dirname-regex gesteuert.
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¶
- --dupload, --dput
- Dies gibt an, welches Programm zum Hochladen benutzt wird.
Die Vorgabe ist dupload.
- -S
- Falls diese Option benutzt wird oder die
Standard-.changes-Datei nicht gefunden wurde, jedoch eine reine
Quell- .changes-Datei vorliegt, dann wird diese reine Quell-
.changes-Datei anstelle der architekturspezifischen
hochgeladen.
- -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 nachzuahmen, wenn der Name der
.changes-Datei bestimmt wird. Falls ein einfaches -t
angegeben wurde, wird sie von der rechnerangebenden dupload-Option
genommen und bedeutet daher das Ende der debrelease-spezifischen
Optionen.
- --multi
- Multiarch-Änderungsmodus: Dies bedeutet, dass
debrelease die aktuellste Datei mit dem Namensmuster
Paketversion_*+*.changes als Changes-Datei benutzen soll, was durch
dpkg-cross erstellte Changes-Dateien ermöglicht.
- --debs-dir Verzeichnis
- sucht nach .changes- und .deb-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, -h
- zeigt eine Hilfenachricht an und endet erfolgreich
- --version
- zeigt Versions- und Copyright-Informationen an und endet
erfolgreich.
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_UPLOADER
- Die derzeit erkannten Werte sind dupload sowie
dput und es gibt an, welches Programm zum Hochladen verwendet
werden soll. Es entspricht den Befehlszeilenoptionen --dupload und
--dput.
- DEBRELEASE_DEBS_DIR
- Dies gibt das Verzeichnis an, in dem nach den
.changes- und .deb-Dateien gesucht wird. Es ist entweder ein
absoluter Pfad oder relativ zur obersten Ebene des Quellverzeichnisbaums.
Dies entspricht der Befehlszeilenoption --debs-dir. Diese Direktive
kann zum Beispiel benutzt werden, falls Sie immer pbuilder oder
svn-buildpackage verwenden, um Ihre Pakete zu bauen. Beachten Sie,
dass es außerdem debc(1) und debi(1) auf die gleiche
Weise beeinflusst.
- 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¶
dupload(1),
dput(1) und
devscripts.conf(5)
AUTOR¶
Julian Gilbey <jdg@debian.org> auf Basis des Original-
release-Skripts von Christoph Lameter
<clameter@debian.org>.