debcheckout - checkt das Entwicklerdepot eines Debian-Pakets
aus
debcheckout fragt die Informationen über das
Versionskontrollsystem ab, das zur Verwaltung eines angegebenen
Debian-Pakets verwendet wird (das Argument PAKET), und checkt dann
die neueste (möglicherweise unveröffentlichte) Version des
Pakets aus dem Depot aus. Standardmäßig wird das Depot in das
PAKETverzeichnis ausgecheckt; dies kann durch Angabe des Arguments
ZIELVERZEICHNIS außer Kraft gesetzt werden.
Es wird erwartet, dass die Informationen, wo das Depot
verfügbar ist, in den Vcs-*-Feldern im Quellpaketdatensatz
stehen. Das Paket vim stellt zum Beispiel solche Informationen mit
einem Feld wie Vcs-Hg: http://hg.debian.org/hg/pkg-vim/vim
dar. Sie können es mit Grep in der Ausgabe von apt-cache showsrc
vim sehen.
Falls mehr als ein Quellpaketdatensatz verfügbar ist, der
Vcs-*-Felder enthält, wird debcheckout den Datensatz
mit der höchsten Versionsnummer auswählen. Alternativ kann
eine bestimmte Version aus den verfügbaren Versionen
ausgewählt werden, indem der Paketname als
PAKET=VERSION angegeben wird.
Falls Sie bereits die URL eines angegebenen Depots kennen,
können Sie debcheckout direkt damit aufrufen, aber Sie werden
wahrscheinlich den passenden -t-Schalter übergeben
müssen. Das heißt, es werden einige Entscheidungsregeln
verwendet, um den Depottyp aus der URL zu ermitteln; falls sie fehlschlagen,
möchten Sie möglicherweise den geratenen Typ mittels -t
außer Kraft setzen.
Die derzeit unterstützten Versionskontrollsysteme sind:
Arch (arch), Bazaar (bzr), CVS (cvs), Darcs (darcs), Git (git), Mercurial
(hg) und Subversion (svn).
ALLGEMEINE OPTIONEN
- -a, --auth
- arbeitet im authentifizierten Modus; dies bedeutet, dass für
bekannte URLs (hauptsächlich die auf
https://salsa.debian.org bereitgestellten) vor dem Auschecken
versucht wird, die URL umzuschreiben, um sicherzustellen, dass in das
Depot geschrieben werden kann. Für Git-Depots, die auf Salsa
bereitgestellt sind, bedeutet das beispielsweise, dass
git@salsa.debian.org:…git anstelle von
https://salsa.debian.org/…git benutzt wird.
Es gibt integrierte Regeln für salsa.debian.org,
alioth.debian.org und github.com. Andere Server können mittels
DEBCHECKOUT_AUTH_URLS konfiguriert werden.
- -d, --details
- gibt nur eine detaillierte Information über das Paketdepot aus,
ohne sie auszuchecken; das Ausgabeformat ist eine Liste von Feldern, von
denen jedes Feld ein Paar von durch Tabulator getrenntem Feldnamen und
Feldwert ist. Die tatsächlichen Felder hängen vom Depottyp
ab. Diese Aktion könnte eine Netzwerkverbindung zu einem fernen
Depot erfordern.
Siehe auch -p. Diese Option und -p sind
wechselseitig exklusiv.
- -h, --help
- gibt eine detaillierte Hilfenachricht aus und wird beendet.
- -p, --print
- gibt nur eine Zusammenfassung über die Paketdepotinformation aus,
ohne sie auszuchecken; das Ausgabeformat sind zwei durch Tabulator
getrennte Felder: Depottyp und Depot-URL. Diese Aktion funktioniert
offline, sie benutzt »statische« Informationen, wie sie
durch APTs Zwischenspeicher bekannt sind.
Siehe auch -d. Diese Option und -d sind
wechselseitig exklusiv.
- -P Paket,
--package Paket
- Wenn ein Depot von einer URL heruntergeladen wird, anstatt zu versuchen,
den Paketnamen anhand des Namens der URL zu erraten, wird dieser Paketname
benutzt.
- -t TYP, --type
TYP
- setzt den Depottyp außer Kraft (der einige Entscheidungsregeln,
basierend auf der URL oder im Fall dass diese Entscheidungsregeln nicht
zutreffen, des Rückfallwerts »git«, als Standard
übernimmt); sollte einer der derzeit unterstützten
Depottypen sein
- -u BENUTZERNAME,
--user BENUTZERNAME
- gibt den Anmeldenamen an, der im authentifizierten Modus (siehe -a)
benutzt werden soll. Diese Option impliziert -a: Sie müssen
nicht beides angeben.
- -f DATEI,
--file=DATEI
- gibt an, dass die genannte Datei aus dem Depot extrahiert und im
Zielverzeichnis abgelegt werden soll; kann mehrfach benutzt werden, um
mehrere Dateien zu extrahieren.
- --source=never|auto|download-only|always
- Einige Pakete legen nur das Verzeichnis debian in die
Versionskontrolle ab. debcheckout kann die verbleibenden Teile der
Quelle mittels apt-get source abrufen und die Dateien in die
ausgecheckte Version verschieben.
- never
- verwendet nur das Depot.
- auto (Vorgabe)
- ruft, falls das Depot nur das Verzeichnis debian enthält,
das Quellpaket ab, entpackt es und platziert außerdem die
.orig.tar.gz-Datei in das aktuelle Verzeichnis. Tut ansonsten
nichts.
- download-only
- ruft immer die .orig.tar.gz-Datei ab, entpackt sie aber nicht.
- always
- ruft immer die .orig.tar.gz-Datei ab und entpackt sie, falls das
Depot nur das Verzeichnis debian enthält.
VCS-SPEZIFISCHE OPTIONEN
GIT-SPEZIFISCHE OPTIONEN
- --git-track
ZWEIGE
- gibt eine Liste von fernen Zweigen an, die für die Verfolgung (wie
in git branch --track, siehe git-branch(1))
eingerichtet werden, nachdem das ferne Git-Depot geklont wurde. Die Liste
sollte als leerzeichengetrennte Liste der Zweignamen angegeben werden.
Als Abkürzung kann die Zeichenkette
»*« angegeben werden, damit die Verfolgung aller
fernen Zweige verlangt wird.
Die beiden Konfigurationsdateien /etc/devscripts.conf und
~/.devscripts werden in dieser Reihenfolge von einer Shell
eingelesen, um Konfigurationsvariablen zu setzen. Befehlszeilenoptionen
können benutzt werden, um Einstellungen in Konfigurationsdateien
außer Kraft zu setzen. Umgebungsvariablen werden zu diesem Zweck
ignoriert. Die derzeit bekannten Variablen sind:
- DEBCHECKOUT_AUTH_URLS
- Diese Variable sollte eine leerzeichengetrennte Liste regulärer
Perl-Ausdrücke und Ersetzungstexte sein, die paarweise vorkommen
müssen: REGEXP TEXT REGEXP TEXT
… und so fort. Jedes Paar bezeichnet eine Ersetzung, die auf
Depot-URLs angewendet wird, falls andere integrierte Mittel von Bau-URLs
für den authentifizierten Modus (siehe -a) fehlgeschlagen
sind.
Bezüge auf passende Teilzeichenketten in
Ersetzungstexten sind, wie in Perl üblich, durch die Mittel von
$1,
$2, … und so weiter
erlaubt.
Diese Einstellung kann benutzt werden, um den Ort des
»authentifizierten Modus« für Depots einzuschalten.
Die Debian-Depots auf salsa.debian.org werden implizit definiert, wie
auch github.com.
Hier ist ein für Konfigurationsdateien geeigneter
Beispielcodeschnipsel:
DEBCHECKOUT_AUTH_URLS='
^\w+://(svn\.example\.com)/(.*) svn+ssh://$1/srv/svn/$2
^\w+://(git\.example\.com)/(.*) git+ssh://$1/home/git/$2
'
Beachten Sie, dass weder in Regexps noch in Ersetzungstext
Leerräume erlaubt sind. Da Konfigurationsdateien von einer Shell
eingelesen werden, ist es wahrscheinlich wünschenswert, einzelne
Anführungszeichen um den Wert dieser Variable zu verwenden.
- DEBCHECKOUT_SOURCE
- Diese Variable bestimmt, in welchen Szenarien die zugehörige
orig.tar.gz für ein Paket heruntergeladen wird. Eine Beschreibung
der Werte finden Sie unter der Option --source.
- DEBCHECKOUT_USER
- Diese Variable setzt den Benutzernamen für den authentifizierten
Modus. Sie kann mit der Option --user außer Kraft gesetzt
werden. Das Setzen dieser Variable bedeutet nicht, dass der
authentifizierte Modus verwendet wird, er muss nach wie vor mit
--auth aktiviert werden.
apt-cache(8), Abschnitt 6.2.5 der Debian
Entwickler-Referenz (weitere Informationen über Vcs-*-Felder
finden Sie unter
https://www.debian.org/doc/manuals/developers-reference/best-pkging-practices.de.html#bpp-vcs
debcheckout und diese Handbuchseite wurden von Stefano
Zacchiroli <zack@debian.org> geschrieben.