====== Debian-Paketierung für die Arbeitsgruppe ======
Für das Entwickeln von Debian Paketen, sollte man sich auf einem Debian stable System befinden.
Man braucht folgende Pakete eigentlich immer:
* build-essential
* devscripts
* lintian
* quilt
* git
* pbuilder
====== Debian New Maintainer's Guide ======
Das Paketieren für Debian (und abgeleitete Distributionen) wird sehr gut im [[https://www.debian.org/doc/manuals/maint-guide/|Debian New Maintainers' Guide]] erklärt. Diesen bitte als Lerngrundlage verwenden.
======= Debian Packaging Tweaks ======
Die folgenden Zeilen sind nach Anpassung an die eigene Person im eigenen HOME der Datei ''~/.bashrc'' hinzufügen (am Ende der standardmäßigen ''.bashrc''):
export DEBFULLNAME="Firstname Lastname"
export DEBUSER=""
export EMAIL=""
export DEBEMAIL=${EMAIL}
export DEBSIGN_KEYID=""
alias dquilt="quilt --quiltrc=${HOME}/.quiltrc-dpkg"
alias lintian='lintian -iIE --pedantic --show-overrides --color auto'
alias debcommit='{ dquilt pop -a || [ $? = 2 ]; } && debcommit'
Die Datei ''~/.devscripts'' ist zu erstellen:
DEBCHANGE_RELEASE_HEURISTIC=changelog
DEBCHANGE_MULTIMAINT_MERGE=yes
DEBCHANGE_MAINTTRAILER=yes
Und folgender Inhalt gehört in ''~/.quiltrc-dpkg'':
d=. ; while [ ! -d $d/debian -a `readlink -e $d` != / ]; do d=$d/..; done
if [ -d "$d/debian" ] && [ -z "$QUILT_PATCHES" ]; then
# if in Debian packaging tree with unset $QUILT_PATCHES
QUILT_PATCHES="debian/patches"
QUILT_PATCH_OPTS="--reject-format=unified"
QUILT_DIFF_ARGS="-p ab --no-timestamps --no-index --color=auto"
QUILT_REFRESH_ARGS="-p ab --no-timestamps --no-index"
QUILT_COLORS="diff_hdr=1;32:diff_add=1;34:diff_rem=1;31:diff_hunk=1;33:diff_ctx=35:diff_cctx=33"
if ! [ -d $d/debian/patches ]; then mkdir $d/debian/patches; fi
fi
Debian-Paketierung findet meist unter Verwendung von Git statt. Hier ist der Git Prompt hilfreich (vergleiche [[https://www-ps.informatik.uni-kiel.de/dokuwiki/doku.php?id=user:git#git_prompt|hier]]).
====== Beispiel: Paket psifi-PAKET für buster / amd64 anpassen ======
- In /local/USER/Debuild git clone ssh:%%//%%git@git.ps.informatik.uni-kiel.de:55055/packaging/psifi-PAKET.git
- Änderungen im git Verzeichnis vornehmen
- Mit dch Editor debian/changes anpassen. dch -r zum final Release verwenden.
- Im git Verzeichnis Source Paket bauen mit debuild -uc -us -S -Zxz -d
- git add -A; git commit -m "upload to production (20YY.MM.DD.X+deb10)"; git push
- git tag 20YY.MM.DD.X+deb10 ; git push origin --tags
- Binary Paket bauen: sudo pbuilder --build --distribution buster --architecture amd64 --basetgz /var/cache/pbuilder/buster-amd64-base.tgz /local/USER/Debuild/psifi-PAKET_20YY.MM.DD.X+deb10.dsc
- Das *_amd64.changes File des Binary Pakets mit GPG signieren: debsign -k /var/cache/pbuilder/result/psifi-PAKET_2020.MM.DD.X+deb10_amd64.changes
- In das Paket Repo hochladen: dupload -t psifi-debian-production /var/cache/pbuilder/result/psifi-PAKET_20YY.MM.DD.X+deb10_amd64.changes