BESCHREIBUNG¶
uupdate - führt ein Upgrade eines Quellcodepakets von einer Revision der
Ursprungsautoren durch
ÜBERSICHT¶
uupdate [
Optionen]
neues_Archiv_der_Ursprungsautoren
[
Version]
uupdate [
Optionen]
--patch|
-p Patch-Datei
BESCHREIBUNG¶
uupdate verändert ein existierendes Debian-Quellcodearchiv, um eine
Aktualisierung der Ursprungsautoren widerzuspiegeln, die als Patch eines
vollständigen Quellcodearchivs bereitgestellt wurde, Das Hilfswerkzeug
muss von der obersten Ebene des alten Quellcodeverzeichnisses aufgerufen
werden. Falls ein relativer Name für das neue Archiv angegeben wurde,
wird zuerst relativ zum Ausführungsverzeichnis und dann relativ zum
übergeordneten Verzeichnis des Quellcodeverzeichnisbaums gesucht. (Falls
die Changelog-Datei zum Beispiel
/usr/local/src/foo/foo-1.1/debian/changelog ist, dann wird nach der
Archiv- oder Patch-Datei relativ zu
/usr/local/src/foo gesucht.)
Beachten Sie, dass die Patch-Datei oder das Archiv nicht innerhalb des
Quellcodeverzeichnisbaums selbst sein kann. Die vollständigen
Einzelheiten, was der Code tut, werden nachfolgend erläutert.
Derzeit unterstützte Quellcodedateitypen sind
.tar.gz-,
.tar.bz2-,
.tar.Z-,
.tgz-,
.tar-,
.tar.lzma-,
.tar.xz-,
.7z und
.zip-Archive.
Außerdem werden bereits entpackte Quellcodearchive unterstützt;
geben Sie einfach den Pfad des Quellcodeverzeichnisses an. Unterstützte
Typen von Patch-Dateien sind komprimiert mit
gzip,
bzip2,
lzma,
xz sowie unkomprimierte Patch-Dateien. Die Dateitypen
werden durch die Dateinamen identifiziert, daher müssen sie die
Standardendungen verwenden.
Üblicherweise wird
uupdate in der Lage sein, die Versionsnummer vom
Namen des Quellarchivs herzuleiten (solange sie nur Zahlen und Punkte
enthält). Falls dies fehlschlägt, müssen Sie die Versionsnummer
explizit angeben (ohne die Debian-Veröffentlichungsnummer, die anfangs
immer »1« oder auf entdeckten Ubuntu-Systemen »0ubuntu1«
sein wird). Dies kann durch eine einleitende
--upstream-version- oder
-v-Option erledigt werden oder im Fall eines Archivs, durch eine
Versionsnummer nach dem Dateinamen. (Der Grund für letzteres ist, dass
uupdate auch direkt von
uscan aufgerufen werden kann.)
Da
uupdate zum Bereinigen des aktuellen Archivs
debuild verwendet,
bevor es die Patch-Datei anwendet, akzeptiert es eine
--rootcmd- oder
-r-Option, die es dem Anwender gestattet, einen Befehl zum Erlangen von
Root-Rechten anzugeben. Standardmäßig wird
fakeroot benutzt.
Falls ein Archiv erstellt wird, sollte die unberührte Quelle der
Ursprungsautoren zum Erstellen der
.orig.tar.gz-Datei verwendet werden,
wo auch immer dies möglich ist. Dies bedeutet, dass MD5-Summen oder
ähnliche Methoden einfach zum Vergleichen der Quelle der Ursprungsautoren
mit der Debian-Kopie der Version der Ursprungsautoren verglichen werden kann.
Dies ist das Standardverhalten und kann mittels der nachfolgenden Option
--no-pristine ausgeschaltet werden.
OPTIONEN¶
Dies ist eine Zusammenfassung dessen, was oben erklärt wurde.
- --upstream-version Version, -v
Version
- gibt die Versionsnummer des Pakets der Ursprungsautoren
explizit an.
- --rootcmd Befehl_um_Root_zu_werden, -r
Befehl_um_Root_zu_werden
- gibt den Befehl an, der zum Erlangen von Root-Rechten
benutzt wird, um das Paket zu bauen. Er wird an debuild(1)
übergeben, falls es angegeben wurde.
- --pristine, -u
- betrachtet das Paket als unberührte Quelle der
Ursprungsautoren und verweist symbolisch von
<Paket>_<Version>.orig.tar.gz darauf, wo immer dies
möglich ist. Diese Option hat für Patches keine Bedeutung. Dies
ist das Standardverhalten.
- --no-pristine
- versucht nicht, einen symbolischen
<Paket>_<Version>.orig.tar.gz-Verweis zu
erstellen.
- --symlink, -s
- erstellt einfach einen symbolischen Verweis, wenn ein neues
.tar.gz-Archiv der Ursprungsautoren zu einem neuen
<Paket>_<Version>.orig.tar.gz-Speicherort verschoben
wird. Dies ist das Standardverhalten.
- --no-symlink
- kopiert das .tar.gz der Ursprungsautoren an den
neuen Speicherort, statt einen symbolischen Verweis zu erstellen.
- --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:
- UUPDATE_PRISTINE
- Falls dies auf no gesetzt ist, ist es so, als ob der
Befehlszeilenparameter --no-pristine benutzt würde.
- UUPDATE_SYMLINK_ORIG
- Falls dies auf no gesetzt ist, ist es so, als ob der
Befehlszeilenparameter --no-symlink benutzt würde.
- UUPDATE_ROOTCMD
- Dies entspricht der Option --rootcmd.
MAßNAHMEN, DIE FÜR EIN ARCHIV ERGRIFFEN WERDEN¶
- neue Versionsnummer herausfinden
- Falls keine Versionsnummer explizit angegeben wurde, wird
der Archivname nach einer Abfolge von Ziffern durchsucht, die durch Punkte
getrennt sind. Falls diese gefunden wird, wird sie als neue Versionsnummer
der Ursprungsautoren genommen. Falls nicht, wird die Verarbeitung
abgebrochen.
- neues .orig.tar.gz-Archiv erstellen
- Falls die Option --pristine oder -u angegeben
wurde und das Archiv der Ursprungsautoren ein .tar.gz- oder
.tgz-Archiv ist, wird dies direkt nach
<Paket>_<Version>.orig.tar.gz kopiert.
- Entpacken
- Das Archiv wird in das von den Debian-Richtlinien
festgelegte Verzeichnis entpackt: Paket-Version_der_Ursprungsautoren.orig.
Falls das Verzeichnis bereits existiert, wird die Verarbeitung
abgebrochen.
- Patches anwenden
- Die .diffs.gzs der aktuellen Version werden auf das
entpackte Archiv angewandt. Falls der Patch nicht richtig angewandt wurde
oder keine Patch-Datei gefunden wurde, ist der Exit-Status ungleich null
und es erscheinen Warnungen. Außerdem wird die Liste abgewiesener
Patches angezeigt. Die Datei debian/rules wird ausführbar
gemacht und alle von patch erstellten .orig-Dateien werden
gelöscht.
- Changelog-Aktualisierung
- Es wird ein neuer Changelog-Eintrag mit dem Text »New
upstream release« erzeugt.
Auf Ubuntu-Systemen wird die dpkg-vendor-Erkennung verwendet, um die
Debian-Revision auf »0ubuntu1« zu setzen. Sie können
debian/changelog hinterher manuell ändern.
MAßNAHMEN, DIE FÜR EINE PATCH-DATEI ERGRIFFEN
WERDEN¶
- neue Versionsnummer herausfinden
- Sofern keine explizite Versionsnummer bereitgestellt wurde,
wird die Patch-Datei nach einer Abfolge von Ziffern durchsucht, die durch
Punkte getrennt sind, durchsucht. Falls diese gefunden wird, wird sie als
neue Versionsnummer der Ursprungsautoren genommen. Falls nicht, wird die
Verarbeitung abgebrochen.
- den aktuellen Quellverzeichnisbaum
aufräumen
- Der Befehl debuild clean wird innerhalb des
aktuellen Debian-Quellarchivs ausgeführt, um es zu säubern.
Falls eine -r-Option für uupdate angegeben wurde, wird
sie an debuild weitergereicht.
- Patches anwenden
- Das aktuelle Quellarchiv (.orig.tar.gz) wird
entpackt und der Patch auf die Originalquellen angewandt. Falls dies
erfolgreicht ist, wird das .orig-Verzeichnis umbenannt, um die neue
Versionsnummer widerzuspiegeln und das aktuelle Debian-Quellverzeichnis
wird in ein Verzeichnis mit der neuen Versionsnummer kopiert, andernfalls
wird die Verarbeitung abgebrochen. Die Datei debian/rules wird
ausführbar gemacht und alle durch den Patch erstellten
.orig-Dateien werden gelöscht. Falls es ein Problem beim
Anwenden der Patches gab, wird eine Warnung ausgegeben und das Programm
wird eventuell mit einem Exit-Status ungleich null beendet.
- Changelog-Aktualisierung
- Es wird ein neuer Changelog-Eintrag mit dem Text »New
upstream release« erzeugt.
Auf Ubuntu-Systemen wird die dpkg-vendor-Erkennung verwendet, um die
Debian-Revision auf »0ubuntu1« zu setzen. Sie können
debian/changelog hinterher manuell ändern.
SIEHE AUCH¶
debuild(1),
fakeroot(1),
patch(1),
The Debian Policy
Manual und
devscripts.conf(5)
AUTOR¶
Die Originalversion von
uupdate wurde von Christoph Lameter
<clameter@debian.org> geschrieben. Mehrere Änderungen und
Verbesserungen stammen von Julian Gilbey <jdg@debian.org>.