Inhaltsverzeichnis

Pakete bauen

Wie baue ich mir eigene Ubuntu Pakete?

Quelle: Grundlagen_der_Paketerstellung

Manchmal ist es notwendig sich eigene Ubuntu Pakete zu bauen, wenn man
diese immer wieder installiert (z.B. zum Testen einer VM o.ä.).

Vorbereitungen

Folgende Pakete zum erstellen eigener .deb Dateien installieren:

apt-get install debhelper  dh-make  dpkg-dev  fakeroot lintian

Arbeitsumgebung

Damit keine verwechselungen einzelner Paketquellen vorkommen können, erstellt man sich am Besten einen Ordner für jedes Quellpaket.

cd /usr/local/src
mkdir <Name des Paketes>
cd <Name des Paketes>  (keine Großbuchstaben verwenden)

Paketquelle runterladen (als git oder apt-get source) und evtl. entpacken.

cd <entpacktes Verzeichnis>

Debian-Dateien

Debian-Dateien zum Paketieren erstellen.

dh_make -e "email@email.com" -c gpl -f ../<Quellpaket-Archiv>.<tar|gz|tar.gz>

-e fragt die Mailadresse ab, die beim Anmelden bei PPA verwendet wird. Dies kann auch weggelassen werden, wenn das Paket für die eigene Verwendung
gebaut wird.

-c gibt die Lizensierung an unter der dieses Programm steht. Verwendet werde können gpl, lgpl, artistic und bsd.

Hinter -f steht der Pfad zum heruntergeladenen Quellcode.

Nach dem Ausführen bekommt man einige Fragen gestellt.

Type of package: single binary, multiple binary, library, kernel module or cdbs?
[s/m/l/k/b] 

Gefragt wird, ob eine einzelne Binär-Datei (s), mehrere Binär-Dateien (m), eine Bibliothek (l), ein Kernelmodul (k) oder ein cdbs (b) paketiert werden soll:

Danach werden Infos zum Ersteller und dem Paket angezeigt.

Debian-Dateien bearbeiten

Nach dem obigen Befehl wurde nun in unserem Verzeichnis ein Verzeichnis namens „debian“ erstellt.
Hier befinden sich die Informationsdateien für die Paketerstellung. Die Dateien mit der Endung .ex oder .EX
sind optional und können, falls nicht benötigt, gelöscht werden.

rm -f *.ex *.EX

Von den übrig gebliebenen Dateien ist die rules die wichtigste Datei. Sie ist ein Shellscript, welches bei der Paketerstellung ausgführt wurde und evtl. Kompilierungsvorgänge steuert.
In dieser Datei müssen die Befehle für einen Kompilierungsvorgang, wie in der README (ist bei vielen Programmen dabei) beschrieben, Schritt für Schritt stehen.

z.B.

cmak . && make

oder

./configure --prefix=/usr/bin $$ make

Paket erstellen

Jetzt geht man einfach in den Quellordner mit dem debian Verzeichnis und startet die Paketierung:

dpkg-buildpackage -S -rfakeroot

Man wird 2 mal nach seinem Password für den GnuPG-Schlüssel gefragt.
Nach dem Bauen befindet sich in unserem Quellordner die Quelldatei *.sources.changes. Diese Datei kann man durch pBuilder zu richtigen Debianpaketen umwandeln oder sie einfach ins Internet zu z.B. Launchpad/PPA hochladen, um richtige Debianpakete bauen zu lassen.
Mit dem folgenden Befehl kann das Quellpaket auf evtl. Fehler geprüft werden:

lintian -i *.dsc