Inhaltsverzeichnis
Debian Paket erstellen
Simpel
Einfachste Variante, einfach zusammenbauen aufgrund der Ordnerstruktur im Projektverzeichnis:
- Ordner für Projekt anlegen (Z.B.
example
) - Ordnerstruktur anlegen der Projektordner entspricht dabei
/
debian
-Ordner anlegencontrol
-Datei anlegen
- Ordnerstruktur mit gewünschten Dateien befüllen
- Rechte der Dateien setzen bzw. überprüfen
- in dem dem Projektordner übergeordneten Verzeichnis
dpkg -b ./example example.deb
Weitere Werkzeuge
dh-make
zum „Debianisieren“ eines Upstream-Quellpaketesuupdate
zur Datenübernahme für eine neue Upstream-Version
Mit Tarballs
dpkg-buildpackage -uc -us
Mit Git
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:
- Änderungen in den Upstream einbauen
- Ä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
- apt-get source …
- Versionsnummer änderen mit
dch
bzw.debchange
- Changelog anpassen
dch --local ccpi
- 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
- Quellen holen
apt-get source openssh
- Changelog-Eintrag schreiben NMU: Non Maintainer Update
cd openssh-7.9p1 dch --nmu
- Prüfe Format (sollte normalerweise quilt sein):
cat debian/source/format oder what-patch
~/.quiltrc
konfigurieren bzw. prüfen- Alle Patches einspielen
quilt push -a
- Neuen Patch erstellen
quilt new keylength-768.patch
- Quellen ändern mit
quilt edit sshkey.h #define SSH_RSA_MINIMUM_MODULUS_SIZE 768
- Am Ende
quilt refresh
- 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.