====== 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 anlegen
      - ''control''-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-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 
  cd 
  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 
cd 
[...] Ä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.
===== Referenzen =====
  * https://www.linux-community.de/ausgaben/linuxuser/2013/08/debian-pakete-selbst-erstellen/