logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Ceci est une ancienne révision du document !


Maintenir son paquet avec git-buildpackage

Nota :

Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !

Introduction

Les paquets évoluent, au fil des versions, les patchs à effectuer pour intégrer correctement les paquets à Debian diffèrent. Les corrections de bugs sont intégrées par upstream2). Pour s'y retrouver, il est conseillé de maintenir les sources de son paquet Debian via un VCS3), tel que subversion, mercurial ou git.

Nous allons traiter ici le cas d'un paquet géré sous git via les utilitaires git-buildpackage.

Installation

On installe git-buildpackage ainsi que quelques outils qui nous seront utiles :

apt-get install git gitk git-buildpackage pristine-tar

Configuration

Configuration de Git

git config --global user.name "Votre Nom"
git config --global user.email votre@adresse-email.org

Si vous avez une clé GPG FIXME :

git config --global user.signingkey "0xXXXXXXXX"

Configuration de Git-BuildPackage

Créer le fichier ~/.gbp.conf contenant le texte suivant :

~/.gbp.conf
[DEFAULT]
# Sign tags by default:
sign-tags = True
keyid = 0xXXXXXXXX
# use pristine tar by defaul
pristine-tar = True
 
[dch]
# Parse meta tags like Closes: from commit messages
meta = True
# Add seven digits of the commits sha1 to the commit message
id-length = 7
# Regex for matching bugs to close
meta-closes = Closes|LP|BZ
# Use the full commit message instead of the first line only
full = True
# Ignore these in commit messages
ignore-regex = (Signed-off|Acked)-by:
 
[buildpackage]
# Automatically push to remote repo after tagging a new release
posttag = /usr/share/doc/git-buildpackage/examples/gbp-posttag-push
# Run Lintian after a succesful build
postbuild = lintian $GBP_CHANGES_FILE
# Build command
builder = dpkg-buildpackage -i -I -uc -us
# Clean command
cleaner = /bin/true
 
[import-orig]
# Automatically forward the changelog after importing a new upstream version
postimport = git-dch -N%(version)s -S -a --debian-branch=$GBP_BRANCH
Remplacer 0xXXXXXXXX par l'id de votre clé GPG !

Utilisations

FIXME

Mettre à jour la branche de patchs

Si elle n'existe pas

gbp pq import

Si des commits ont été fait sur //master// depuis la dernière mise à jour

gbp pq rebase

Mettre à jour les patchs depuis la branche de patchs

gbp pq export
Bien penser à git add les patchs générés par l'export.

Compilation du paquet

À faire depuis la branche patch-queue/master à jour :

DEB_HOST_ARCH=amd64 ARCH=amd64 DIST=sid git-buildpackage --git-pbuilder --git-arch=$ARCH --git-dist=$DIST --git-tag --git-debian-branch=patch-queue/master

Quelques rappels de git

  • Supprimer un tag localement et à distance :
git tag -d nomdutag && git push origin nomdutag
  • Revenir irréversiblement à un ancien commit :
git reset --hard hashprefix-du-commit
  • Établir une branche basée sur un ancien commit :
git checkout -b nomdelabranche hashprefix-du-commit

Références

Références

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
2)
le développeur amont du logiciel empaqueté
3)
Gestionnaire de versions concurentes
doc/mentors/git-buildpackage.1393661047.txt.gz · Dernière modification: 01/03/2014 09:04 par captnfab

Pied de page des forums

Propulsé par FluxBB