[ zurück ] [ Inhalt ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ weiter ]
Angenommen, es wurde ein Bug-Report (#54321) erstellt, und er beschreibt ein Problem, das Sie lösen können. Um eine neue Revision zu erstellen haben Sie folgendes zu tun:
Lösen Sie das Problem im Quellcode (wohl selbstverständlich).
Machen Sie einen neuen Revisions-Eintrag an oberster Stelle in der Datei `changelog', z.B. mit `dch -i`, oder explizit mit `dch -v <version>-<revision>`
Tipp: Wie bekommen Sie das Datum ins richtige Format? Nehmen Sie
822-date
oder date
mit der Option "-R".
Fügen Sie eine kleine Beschreibung des Bugs und der Lösung dem Eintrag hinzu, gefolgt von: "Closes: #54321". Auf diese Weise wird der Bug-Report von der Verwaltungssoftware "automagisch" geschlossen, sobald das Paket ins Debian-Archiv übernommen wurde.
Wiederholen Sie die Schritte aus Kompletter Neubau, Abschnitt 6.1, Überprüfung des Pakets auf Fehler, Kapitel 7, und Hochladen des Pakets, Kapitel 8. Der einzige Unterschied ist jetzt nur, dass der Original-Quellcode nicht mehr hochgeladen wird, da das Tar-Archiv nicht mehr geändert wurde und die alte Version bereits auf dem Server liegt.
Dies ist eine andere, etwas kompliziertere Situation - eine neue Upstream-Version wurde freigegeben und Sie wollen diese natürlich gleich übernehmen. Sie können nun folgendes tun:
Den neuen Quellcode-Tarball herunterladen (z.B. das Archiv
`gentoo-0.9.13.tar.gz
'), in das Verzeichnis über dem alten
Quellcode-Verzeichnis (z.B. `~/gentoo/
') ablegen.
Das alte Quellcode-Verzeichnis (gentoo-0.9.12) betreten und folgendes ausführen:
uupdate -u gentoo-0.9.13.tar.gz
Natürlich ersetzen Sie den Dateinamen durch den Namen des neuen
Source-Tarballs Ihres Programms. uupdate(1)
wird es dann richtig
umbenennen und versuchen, alle Änderungen aus Ihrer vorherigen Datei
`*.diff.gz
' in die neue Version zu übernehmen. Anschließend
wird die Datei `debian/changelog
' aktualisiert.
Wechseln Sie in das neue Verzeichnis `../gentoo-0.9.13
', Ihr neues
Quellcode-Arbeitsverzeichnis, und wiederholen Sie die Schritte aus Kompletter Neubau, Abschnitt 6.1,
Überprüfung des Pakets auf Fehler, Kapitel 7
und Hochladen des Pakets, Kapitel 8.
Übrigens können Sie, vorausgesetzt Sie haben `debian/watch' wie in watch.ex, Abschnitt 5.10 aufgesetzt, durch
Ausführung von uscan(1)
"automagisch" nach aktuellem
Quellcode suchen, ihn herunterladen und uupdate
durchführen.
Wenn Sie Pakete für das Debian-Archiv vorbereiten, müssen Sie die erstellten Paket eingehend prüfen. Es folgt ein realistischeres Beispiel für dieses Vorgehen.
Überprüfen der Änderungen im Programm-Quellcode
Lesen Sie die Dateien changelog
, NEWS
und andere
Dokumentationen der neuen Version des Upstream-Autors.
Führen Sie `diff -urN' zwischen dem alten und neuen Programm-Quellcode aus, um ein Gefühl für den Umfang der Änderungen zu bekommen, woran aktiv gearbeitet wurde (wodurch neue Fehler auftreten könnten) und halten Sie Ausschau nach allem, was verdächtig erscheint.
Bringen Sie das alte Debian-Paket auf die neue Version.
Packen Sie den Quell-Tarball aus, benennen Sie das Wurzelverzeichnis des
Quellcodes in <Paketname>-<Upstream_Version>/
um und
wechseln Sie in dieses Verzeichnis.
Kopieren Sie den Quell-Tarball in das übergeordnete Verzeichnis und benennen
Sie ihn in <Paketname>_<Upstream_Version>.orig.tar.gz
um.
Wenden Sie auf den Quellcode der neuen Version die gleichen Änderungen an, wie bei der alten. Möglich ist das durch:
das Kommando `zcat /Pfad/zu/<Paketname>_<alte-Version>.diff.gz | patch -p1',
das Kommando `uupdate
',
das Kommando `svn merge', wenn Sie den Quellcode in einem Subversion-Repository verwalten oder
einfaches Kopieren des Verzeichnisses debian/
aus dem alten
Paketverzeichnis, wenn es mit dpatch
erstellt wurde.
Behalten Sie die alten Changelog-Einträge (sollte klar sein, aber es kam schon vor ...)
Die neue Paketversion besteht aus der Upstream-Release-Version, erweitert um eine -1 als Debian-Revisionsnummer, z.B. `0.9.13-1'.
Fügen Sie einen Changelog-Eintrag mit "New upstream release" für
diese neue Version oben in die Datei debian/changelog
ein, z.B.:
mit dem Aufruf `dch -v 0.9.13-1'.
Beschreiben Sie kurz die Änderungen im neuen Upstream-Release, die gemeldete Fehler beheben und schließen Sie diese Fehler im Changelog.
Beschreiben Sie kurz die Änderungen am neuen Upstream-Release, die Sie als Betreuer vorgenommen haben und die gemeldete Fehler beheben; schließen Sie diese Fehler im Changelog.
Wenn das Patchen/Zusammenführen nicht problemlos abläuft, untersuchen Sie die
Fehler, um zu sehen, was schief geht (Hinweise geben die Dateien
*.rej
). Meistens stellt sich heraus, dass ein Patch, den Sie auf
den Quellcode anwenden wollen, schon durch den Upstream-Autor in den Quellcode
integriert wurde und der Patch nicht mehr gebraucht wird.
Die Aktualisierung des Pakets beim Benutzer sollte still und unauffällig ablaufen (bestehende Benutzer sollten von der Aktualisierung nichts mitbekommen, außer der Feststellung, dass alte Fehler behoben wurden oder vielleicht neue Funktionen vorhanden sind). [38]
Wenn Sie aus irgendeinem Grund gelöschte debhelper-Template-Dateien wieder
haben wollen, können Sie dh_make
mit der Option -o
nocheinmal im schon "debianisierten" Verzeichnis aufrufen und dann
entsprechend ändern.
Vorhandene Änderungen für Debian müssen nochmals überprüft werden; entfernen Sie Sachen, die der Upstream-Autor schon eingebaut hat (in welcher Form auch immer) und behalten Sie Sachen, die noch nicht eingebaut sind, außer es gibt zwingende Gründe dagegen.
Wenn Sie Änderungen beim Bauen des Pakets vornehmen (hoffentlich haben Sie es
gleich am Anfang gemerkt und die Dateien debian/rules
und
debian/control
für die Build-Abhängigkeiten wenn nötig
angepasst.
Bauen Sie das neue Paket, wie in Das
Kommando debuild
, Abschnitt 6.4 oder Das Paket pbuilder
, Abschnitt
7.6 beschrieben. Die Nutzung von pbuilder
ist wünschenswert.
Überprüfen, dass neue Pakete richtig gebaut werden.
Verfahren Sie wie in Überprüfung des Pakets auf Fehler, Kapitel 7.
Weiter mit Überprüfen des Upgrades, Abschnitt 9.6.
Überprüfen Sie erneut, ob Fehler behoben wurden, die im Debian Bug Tracking System (BTS)
noch offen sind.
Überprüfen Sie den Inhalt der Datei *.changes
, damit Sie zur
richtigen Distribution hochladen, die zutreffenden Fehlerbehebungen im Feld
`Closes:' aufgelistet sind, die Felder `Maintainer:' und `Changed-By:'
übereinstimmen, die Dateien GPG-signiert sind etc.
Wenn Sie während der Arbeit an dem Paket irgendetwas an der Paketierung ändern, gehen Sie zu Punkt 2 bis es passt.
Wenn Sie einen Sponsor hochladen lassen, weisen Sie auf alle speziellen Optionen hin, die beim Bauen des Pakets angegeben werden müssen (z.B. 'dpkg-buildpackage -sa -v ...') hin und informieren Sie Ihren Sponsor darüber, damit er oder sie das Paket richtig baut.
Wenn Sie selbst hochladen, machen Sie mit Hochladen des Pakets, Kapitel 8 weiter.
*.orig.tar.gz
Wenn Sie versuchen, ein Paket nur aus dem neuen entpackten Quellcode mit dem
Verzeichnis debian/
und ohne die Datei *.orig.tar.gz
im übergeordneten Verzeichnis zu bauen, werden Sie unabsichtlich ein
Nativ-Quellpaket erstellen, das keine Datei *.diff.gz
enthält.
Diese Art von Paketen sollte nur für Debian-spezifische Pakete verwendet
werden, die für andere Distributionen nicht nützlich sind. [39]
Um kein Nativ-Quellpaket zu erstellen, sondern eins, das die Dateien
*.orig.tar.gz
und *.diff.gz
enthält, müssen Sie den
Quellcode-Tarball selbst in das übergeordnete Verzeichnis kopieren und seinen
Namen in <Paketname>_<Upstream_Version>.orig.tar.gz
ändern, wie es das Kommando dh_make
in Das erste Debian-Paket, Abschnitt 2.5
macht.
cvs-buildpackage
und ähnlicheSie sollten überlegen, ein Versionskontrollsystem für die Verwaltung der Paketierungsdateien einzusetzen. Es gibt verschiedene Wrapper-Skripte, die auf die Verwendung mit den populärsten angepasst sind.
CVS
cvs-buildpackage
Subversion
svn-buildpackage
Arch (tla)
tla-buildpackage
arch-buildpackage
Diese Kommandos automatisieren auch das Paketieren neuer Upstream-Releases.
Wenn Sie eine neue Version Ihres Pakets gebaut haben, sollten Sie folgende Schritte ausführen, um sicher zu stellen, dass Ihr Paket problemlos aktualisiert werden kann:
Upgrade von der vorherigen Version
Downgrade zurück und dann löschen,
Installation des neuen Pakets (A.d.Ü.: ohne, dass eine vorherige Version installiert ist),
Deinstallation, erneute Installation,
dann ein "Purge".
Wenn das Paket nicht triviale pre/post/inst/rm-Skripte enthält, testen Sie unbedingt deren Verhalten während einer Aktualisierung.
Wenn Ihr Paket in einer früheren Version schon in Debian integriert ist, vergessen Sie nicht, auch gegen diese Version zu testen, weil viele Leute die Version aus dem letzten Debian-Release upgraden werden.
[ zurück ] [ Inhalt ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ weiter ]
Anleitung für zukünftige Debian-Betreuer
Diese Übersetzung wird derzeit aktualisiert. Teile beruhen auf Version 1.2.3 vom 18. Januar 2005, die aktuelle Version ist 1.2.25, 2010-12-22 12:44:34 UTCjoy-mg@debian.org
toddy@debian.org
mail@erikschanze.de
blade@debian.org