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
/srv/dokuwiki/adminwiki/data/pages/admin/debian/packaging.txt · Zuletzt geändert: 2020-02-18 12:50 von hbs
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0