Debian Paket erstellen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Grundsätzliches

Der Prozess der Erstellung eines Debian-Pakets

  • Den Quellcode der Software besorgen
  • Eine "debian" Unterverzeichnis im Hauptverzeichnis der Software erstellen.
  • Die notwendigen Dateien im "debian" Verzeichnis erstellen und bearbeiten.
  • Das Debian-Paket mit dpkg-buildpackage erstellen.

Einige wichtige Dateien im "debian" Unterverzeichnis sind

control
  • Diese Datei enthält Metainformationen über das Paket, wie den Namen, die Version, den Absender, die Architektur und die Abhängigkeiten.
  • Diese Informationen sind notwendig für dpkg, um das Paket korrekt zu installieren und zu verwalten.
rules
  • Dies ist eigentlich ein Makefile, das die Anweisungen enthält, um das Paket zu erstellen.
  • Es definiert die notwendigen Schritte, um den Quellcode zu kompilieren, die resultierenden Binärdateien zu installieren und das fertige Paket zu erstellen.
changelog
  • In dieser Datei werden Änderungen aufgezeichnet, die an der Software vorgenommen wurden.
  • Diese Datei wird auch verwendet, um die Version des Pakets zu bestimmen.
copyright
  • Diese Datei enthält Informationen über das Urheberrecht der Software und ihre Lizenz.

Abschliessend

Es gibt auch einige optionale Dateien im "debian" Unterverzeichnis, die für spezielle Zwecke verwendet werden können, wie zum Beispiel "watch" (um neue Versionen der Software zu verfolgen) oder "install" (um bestimmte Dateien an bestimmte Orte zu installieren).

Vorbereitung

  • echo export DEBFULLNAME='"Xinux Technik"' >> ~/.profile
  • echo export DEBEMAIL='"technik@xinux.de"' >> ~/.profile
  • source ~/.profile
  • sudo apt-get install build-essential devscripts debhelper debhelper dh-make quilt fakeroot lintian git

simples debian Paket

Vorbreitungen durchführen!

clonen des Sourcecodes

Wir fassen das zu einem Archiv zusammen

  • tar -cvzf pico-server.tar.gz pico-server

Wir wechseln in das Verzeichnis

  • cd pico-server/

Wir erstellen eine Vorlage

  • dh_make -p pico-server_1.0.1 -f ../pico-server.tar.gz
single auswählen und bestätigen.

Anpassen der Vorlage

Wichtig - Die Einrückungen müssen mit dem Tabulator gemacht werden.#
Tipp
%s/ \+/\t/
  • vi debian/rules
#!/usr/bin/make -f
%:
        dh $@

override_dh_auto_install:
        #   dh_auto_install
        # Create the directories first
        mkdir -p debian/pico-server/usr/sbin/
        mkdir -p debian/pico-server/etc/systemd/system/
        # Install the binary and service file, but only in the fake root
        install -m 755 pico-server debian/pico-server/usr/sbin/
        install -m 644 pico-server.service debian/pico-server/etc/systemd/system/

Wir bauen das Paket

  • dpkg-buildpackage -us -uc
Flag Bedeutung Erklärung
-us Do not sign the source package. Dieses Flag sagt dem Werkzeug, dass es das Quellpaket nicht signieren soll. Das ist nützlich, wenn Sie das Paket für

Ihren persönlichen Gebrauch erstellen und nicht vorhaben, es zu verteilen, oder wenn Sie es später signieren wollen.

-uc Do not sign the .changes file. Dieses Flag verhindert, dass die .changes-Datei signiert wird. Ähnlich wie bei -us ist dies nützlich, wenn Sie das Paket

nicht zur Veröffentlichung vorsehen.

Das Paket befindet sich ein Verzeichnis höher

  • ls ../pico-server_1.0.1*
../pico-server_1.0.1-1_amd64.buildinfo	
../pico-server_1.0.1-1_amd64.deb      
../pico-server_1.0.1-1.dsc
../pico-server_1.0.1-1_amd64.changes	
../pico-server_1.0.1-1.debian.tar.xz  
../pico-server_1.0.1.orig.tar.gz

Man kann das Paket nun installieren

  • dpkg -i ../pico-server_1.0.1-1_amd64.deb

Pakete

Aufgaben