debian_paketierung
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
debian_paketierung [05.08.2017 09:03] – [Paket ändern] thooge | debian_paketierung [08.12.2023 14:24] (aktuell) – [Debian Paket erstellen] thooge | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Debian Paket erstellen ====== | ====== Debian Paket erstellen ====== | ||
- | - Ordnerstruktur anlegen | + | ===== Simpel ===== |
- | - Control-Datei anlegen | + | |
- | < | + | Einfachste Variante, einfach zusammenbauen aufgrund der Ordnerstruktur im Projektverzeichnis: |
- | dpkg -b ... | + | - Ordner für Projekt anlegen (Z.B. '' |
+ | - Ordnerstruktur anlegen der Projektordner entspricht dabei ''/'' | ||
+ | - '' | ||
+ | - '' | ||
+ | - 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 |
- | * '' | + | |
+ | * '' | ||
+ | |||
+ | ===== 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/ | ||
+ | gbp buildpackage --git-ignore-branch | ||
+ | |||
+ | oder aktuelle version | ||
+ | git checkout debian/ | ||
+ | gbp buildpackage | ||
+ | |||
+ | Changelogeintrag schreiben | ||
+ | export DEBEMAIL=" | ||
+ | gbp dch --snapshot --auto debian/ | ||
+ | |||
+ | Änderungen mit neuem Changelog committen | ||
+ | |||
+ | |||
+ | ===== Paket bauen ===== | ||
+ | |||
+ | apt-get source < | ||
+ | cd < | ||
+ | dpkg-buildpackage -us -uc | ||
+ | |||
+ | Im übergeordneten Verzeichnis ist jetzt das neue Paket abgelegt. | ||
===== Paket ändern ===== | ===== Paket ändern ===== | ||
- | Es gibt zwei Möglichkeiten: | + | Es gibt mehrere |
- Änderungen in den Upstream einbauen | - Änderungen in den Upstream einbauen | ||
- Änderungen als Patch im Debian-Paket zur Verfügung stellen | - Änderungen als Patch im Debian-Paket zur Verfügung stellen | ||
Zeile 24: | Zeile 77: | ||
dch --local ccpi | dch --local ccpi | ||
</ | </ | ||
+ | - Paket herunterladen und lokal ändern< | ||
+ | apt-get source < | ||
+ | cd < | ||
+ | [...] Änderungen durchführen | ||
- | ===== Paket bauen ===== | + | 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/ | ||
+ | oder | ||
+ | what-patch | ||
+ | </ | ||
+ | - '' | ||
+ | - 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 | ||
+ | </ | ||
+ | - 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 '' | ||
+ | |||
+ | ===== Referenzen ===== | ||
+ | |||
+ | * https:// | ||
- | apt-get source < | ||
- | cd < | ||
- | dpkg-buildpackage -us -uc | ||
- | Im übergeordneten Verzeichnis ist jetzt das neue Paket abgelegt. |
debian_paketierung.1501923825.txt.gz · Zuletzt geändert: 05.08.2017 09:03 von thooge