Inhaltsverzeichnis
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 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="<login-on-debian-servers>" export EMAIL="<my-mail-address-and-one-of-my-gpg-key-userids>" export DEBEMAIL=${EMAIL} export DEBSIGN_KEYID="<my-gpg-key-id>" 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 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 <commit checksum>; 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 <your-key-id> /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