Inhaltsverzeichnis

Debian Paket erstellen

Simpel

Einfachste Variante, einfach zusammenbauen aufgrund der Ordnerstruktur im Projektverzeichnis:

  1. Ordner für Projekt anlegen (Z.B. example)
  2. Ordnerstruktur anlegen der Projektordner entspricht dabei /
    1. debian-Ordner anlegen
      1. control-Datei anlegen
    2. Ordnerstruktur mit gewünschten Dateien befüllen
    3. Rechte der Dateien setzen bzw. überprüfen
  3. in dem dem Projektordner übergeordneten Verzeichnis
    dpkg -b ./example example.deb

Weitere Werkzeuge

Mit Tarballs

Mit Git

FIXME Das hier sind erste Notizen. Wie eine neue Version zu einem vorhandenen Repository hinzugefügt werden kann ist leider noch völlig unklar. Diverse Versuche sind bisher fehlgeschlagen.

Debain-Paket lediglich mit Git verwalten Es stehen keine Tarballs zur Verfügung

Werkzeug: git-buildpackage

Wenn Änderungen gemacht wurden, so sind sie mit

git clean -fd
git checkout .

zu bereinigen Des weiteren dürfen keine Dateien mehr im Verzeichnis sein, die ggf. durch einen früheren Build-Prozeß erzeugt wurden und über z.B. .gitignore nicht angezeigt werden.

Gewünschten Tag auschecken

git checkout debian/3.5.14+dfsg1.orig-1
gbp buildpackage --git-ignore-branch

oder aktuelle version

git checkout debian/sid
gbp buildpackage

Changelogeintrag schreiben

export DEBEMAIL="mustermann@example.com"
gbp dch --snapshot --auto debian/

Änderungen mit neuem Changelog committen

Paket bauen

apt-get source <paket>
cd <paket>
dpkg-buildpackage -us -uc

Im übergeordneten Verzeichnis ist jetzt das neue Paket abgelegt.

Paket ändern

Es gibt mehrere Möglichkeiten:

  1. Änderungen in den Upstream einbauen
  2. Änderungen als Patch im Debian-Paket zur Verfügung stellen
    • dpatch, quilt
    • dch -i erhöht die Versionsnummer, ein entsprechender Changelogeintrag wird vorbereitet und angezeigt
  1. Paket herunterladen und lokal ändern
    apt-get source <paket>
    cd <paket>
    
    [...] Änderungen durchführen
    
    dpkg-source --commit
    Dadurch wird ein Patch innerhalb der Debian-Struktur erstellt
    
    dpkg-buildpackage -us -uc

Paket ändern mit Quilt

  1. Quellen holen
    apt-get source openssh
  2. Changelog-Eintrag schreiben NMU: Non Maintainer Update
    cd openssh-7.9p1
    dch --nmu
  3. Prüfe Format (sollte normalerweise quilt sein):
    cat debian/source/format 
    oder
    what-patch
  4. ~/.quiltrc konfigurieren bzw. prüfen
  5. Alle Patches einspielen
    quilt push -a
  6. Neuen Patch erstellen
    quilt new keylength-768.patch
  7. Quellen ändern mit
    quilt edit sshkey.h
      #define SSH_RSA_MINIMUM_MODULUS_SIZE    768
  8. Am Ende
    quilt refresh
  9. Paket(e) erstellen
    dpkg-buildpackage -us -uc

Das oder die Pakete liegen dann im Verzeichnis eine Ebene höher und können ganz normal mit dpkg eingespielt werden.

Referenzen