Benutzer-Werkzeuge

Webseiten-Werkzeuge


debian_paketierung

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
debian_paketierung [05.08.2017 09:03] – [Paket ändern] thoogedebian_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+
  
-<code> +Einfachste Variante, einfach zusammenbauen aufgrund der Ordnerstruktur im Projektverzeichnis: 
-dpkg -b ...+  - Ordner für Projekt anlegen (Z.B. ''example''
 +  - Ordnerstruktur anlegen der Projektordner entspricht dabei ''/'' 
 +    - ''debian''-Ordner anlegen 
 +      - ''control''-Datei anlegen 
 +    - Ordnerstruktur mit gewünschten Dateien befüllen 
 +    - Rechte der Dateien setzen bzw. überprüfen 
 +  - in dem dem Projektordner übergeordneten Verzeichnis<code> 
 +dpkg -b ./example example.deb
 </code> </code>
  
-  * ''dh-make'' +Weitere Werkzeuge 
-  * ''dpkg-buildpackage''+  * ''dh-make'' zum "Debianisieren" eines Upstream-Quellpaketes 
 +  * ''uupdate'' zur Datenübernahme für eine neue Upstream-Version 
 + 
 +===== Mit Tarballs ===== 
 + 
 +  * ''dpkg-buildpackage -uc -us'' 
 + 
 +===== 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 ===== ===== Paket ändern =====
  
-Es gibt zwei Möglichkeiten: +Es gibt mehrere Möglichkeiten: 
   - Ä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
 </code> </code>
 +  - Paket herunterladen und lokal ändern<code>
 +apt-get source <paket>
 +cd <paket>
  
 +[...] Änderungen durchführen
  
-===== Paket bauen =====+dpkg-source --commit 
 +Dadurch wird ein Patch innerhalb der Debian-Struktur erstellt 
 + 
 +dpkg-buildpackage -us -uc 
 +</code> 
 + 
 +===== Paket ändern mit Quilt ===== 
 + 
 +  - Quellen holen<code> 
 +apt-get source openssh 
 +</code> 
 +  - Changelog-Eintrag schreiben NMU: Non Maintainer Update<code> 
 +cd openssh-7.9p1 
 +dch --nmu 
 +</code> 
 +  - Prüfe Format (sollte normalerweise quilt sein):<code> 
 +cat debian/source/format  
 +oder 
 +what-patch 
 +</code> 
 +  - ''~/.quiltrc'' konfigurieren bzw. prüfen 
 +  - Alle Patches einspielen<code> 
 +quilt push -a 
 +</code> 
 +  - Neuen Patch erstellen<code> 
 +quilt new keylength-768.patch 
 +</code> 
 +  - Quellen ändern mit <code> 
 +quilt edit sshkey.h 
 +  #define SSH_RSA_MINIMUM_MODULUS_SIZE    768 
 +</code> 
 +  - Am Ende<code> 
 +quilt refresh 
 +</code> 
 +  - Paket(e) erstellen<code> 
 +dpkg-buildpackage -us -uc 
 +</code> 
 + 
 +Das oder die Pakete liegen dann im Verzeichnis eine Ebene höher  
 +und können ganz normal mit ''dpkg'' eingespielt werden. 
 + 
 +===== Referenzen ===== 
 + 
 +  * https://www.linux-community.de/ausgaben/linuxuser/2013/08/debian-pakete-selbst-erstellen/
  
-  apt-get source <paket> 
-  cd <paket> 
-  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

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki