Alte Quellen laden

Autoren stellen oft Pakete von Programmen bereit, die es noch nicht offiziell als Paket für eine Distribution gibt. Meist kommen sie aber nicht damit nach, neue Versionen für aktuelle Distributionen zeitnah anzubieten. Das Backup-Programm Kup [1] bietet dafür ein perfektes Beispiel: Von der alten Version 0.5.1 gibt es keine Pakete für Ubuntu 15.04. Die neue Version 0.6.0 steht überhaupt nicht für Ubuntu bereit, lediglich die alte Version 0.5.1 für Ubuntu 14.10 findet sich im Angebot.

Was im ersten Augenblick wie eine Sackgasse aussieht, ist für Sie aber eine Chance: Sie verwenden die alten Pakete für Ubuntu 4.10 einfach als Basis für neue Pakete. Die Herausforderung in diesem Fall: Sie müssen an die Quellen der alten Pakete gelangen.

Der Autor, Simon Persson, stellt seine Software über KDE-look.org [2] bereit. Dort findet sich ein Link zum Build-System des OpenSuse-Projekts. Das produziert auf Wunsch auch Debian-Pakete, und der Autor hat von dieser Möglichkeit ausgiebig Gebrauch gemacht. Am Ende der Suche nach Paketen der Vorgängerversion 0.5.x landen Sie vermutlich auf der entsprechenden Seite [3]. Auf der rechten Seite sticht eine Tabelle ins Auge: Darin finden Sie die Distributionen, für die Sie hier direkt DEB-Pakete erhalten. Am Ende der Tabelle steht bei xUbuntu 15.04 nur unresolvable, aber nicht das wichtigere succeeded. So sagt Ihnen das System, dass für das Programm in der aktuellen Version keine Pakete für Ubuntu 15.04 vorliegen.

Der Vermerk Succeeded findet sich hingegen bei Ubuntu 14.10: Indem Sie auf den Namen der Distribution klicken, gelangen Sie zur nächsten Übersicht. Oben finden Sie den Link Go to download repository – klicken Sie darauf, um zum Verzeichnis mit den Quelltexten zu gelangen. Sie sehen zwei Ordner: amd64 und i386. Viel wichtiger als die Ordner sind aber die drei Dateien am Ende der Seite:

  • kup_0.5.1-1.diff.gz
  • kup_0.5.1-1.dsc
  • kup_0.5.1.orig.tar.gz

Zusammen bilden diese drei Dateien (Abbildung 1) die Grundlage für die Debian-Pakete, die Sie in den beiden eben genannten Ordnern finden. Und genau diese Dateien brauchen Sie, um die Quellen des Pakets samt Debian-Änderungen zu entpacken. Laden Sie aus der virtuellen Chroot-Umgebung heraus die drei Pakete mittels Wget herunter und entpacken Sie die Quellen danach mittels dpkg-source -x kup_0.5.1-1.dsc. Im Ordner ./kup-0.5.1/ liegen danach die Quellen, aus denen Sie im nächsten Schritt Pakete der Version 0.6.0 generieren.

Abbildung 1: Drei Dateien bilden den Quelltext eines Debian-Pakets, sofern es sich um ein Paket nach dem alten Standard 2.0 handelt.

Damit Sie Pakete der neuen Kup-Version erstellen können, benötigen Sie auch die Quellen der neuen Version. Den entsprechenden Tarball erhalten Sie online [4] oder, falls Sie die Media-Edition dieser Ausgabe erworben haben, auf dem beiliegenden Datenträger. Achten Sie darauf, dass Sie das Archiv gleich unter dem richtigen Namen abspeichern – sonst kann Dpkg-buildpackage es später nicht finden. Der korrekte Name lautet kup_0.6.0.orig.tar.gz. Das Kommando tar xvfz kup_0.6.0.orig.tar.gz entpackt den Tarball. Benennen Sie abschließend den neu entstandenen Ordner in kup-0.6.0/ um.

Unterschiede

Ein deutlicher Unterschied zwischen dem entpackten Ordner des Debian-Pakets und dem Ordner der originalen Quellen von Kup 0.6.0 liegt darin, dass Sie in Ersterem einen Ordner debian/ finden. Darin liegen die gesamten Regeln zum Erstellen eines Debian-Pakets in Form von Dateien. Sinnvollerweise fahren Sie also damit fort, diesen Ordner aus dem Verzeichnis kup-0.5.1 in das Verzeichnis kup-0.6.0 zu kopieren.

Dann legen Sie einen neuen Eintrag im Changelog an. Jedes Debian-Paket verfügt über eine solche Datei, in der die wichtigsten Änderungen vermerkt sind. In den entpackten Quellen finden Sie das Changelog in debian/changelog. Es macht aber oft Mühe, den Eintrag von Hand anzulegen, zumal die Syntax des Logs nicht jedem sofort einleuchtet und die vorgegebene Syntax streng ist. Nutzen Sie stattdessen das Werkzeug Dch, das Ihnen den Großteil der Arbeit abnimmt. Das Tool bezieht die wichtigen Werte, wie Ihren Namen und Ihre E-Mail-Adresse, aus Umgebungsvariablen (Listing 2).

Listing 2

export DEBEMAIL="E-Mail-Adresse"
export DEBFULLNAME="Vorname Nachname"

Um sicherzustellen, dass das Programm den richtigen Editor nutzt, setzen Sie zusätzlich die Variable EDITOR noch auf den gewünschten Wert – unter Ubuntu steht hier voreingestellt nano. Haben Sie die Variablen gesetzt, führt der Befehl dch -i dazu, dass das Tool einen neuen Eintrag in debian/changelog anlegt und die Datei danach im Editor öffnet.

Korrigieren Sie die Versionsnummer in der obersten Zeile in Klammern – im Beispiel lautet der neue Eintrag 0.6.0-1 – und ändern Sie das UNRELEASED dahinter in vivid ab. So weißt Launchpad später, dass das Paket für die Ubuntu-Version 15.04 konzipiert ist, und baut es passend für diese Plattform. Als Changelog-Eintrag verwenden Sie eine kurze Beschreibung – im Beispiel böte sich ein Bezug auf die neue Programmversion an.

Die bis hierhin vollzogenen Schritte laufen in allen Fällen gleich ab und genügen in der Regel, um eine neue Version eines Programms zu packen. Dann beschränkt sich die Arbeit tatsächlich nur darauf, den Debian-Ordner in den entpackten Quellcode der neuen Version zu kopieren und schließlich einen Changelog-Eintrag anzufertigen. Das Kommando dpkg-buildpackage -rfakeroot -S -sa baut ein Debian-Source-Paket, das Sie im nächsten Schritt zum Auto-Build von Launchpad hochladen.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 12/2017: Perfekte Videos

Digitale Ausgabe: Preis € 5,95
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Broadcom Adapter 802.11n nachinstallieren
Thomas Mengel, 31.10.2017 20:06, 2 Antworten
Hallo, kann man nachträglich auf einer Liveversion, MX Linux auf einem USB-Stick, nachträglich...
RUN fsck Manually / Stromausfall
Arno Krug, 29.10.2017 12:51, 1 Antworten
Hallo, nach Absturz des Rechners aufgrund fehlendem Stroms startet Linux nicht mehr wie gewohn...
source.list öffnet sich nicht
sebastian reimann, 27.10.2017 09:32, 2 Antworten
hallo Zusammen Ich habe das problem Das ich meine source.list nicht öffnen kann weiß vlt jemman...
Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 6 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...