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 →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
doc:mentors:git-buildpackage [01/03/2014 08:40] captnfab [Configuration de Git] |
doc:mentors:git-buildpackage [01/03/2014 15:07] captnfab [Maintenir son paquet avec git-buildpackage] |
||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
* Niveau requis : {{tag>avisé}} | * Niveau requis : {{tag>avisé}} | ||
* Commentaires : //Pour maintenir vos paquets Debian sous git avec git-buildpackage. // | * Commentaires : //Pour maintenir vos paquets Debian sous git avec git-buildpackage. // | ||
- | * À savoir : [[:doc:mentors|Contribuer à Debian]] :-) | + | * À savoir : [[:doc:mentors:|Contribuer à Debian]] :-) |
- | * Suivi : {{tag>en-chantier à-tester}} | + | * Suivi : {{tag>eà-tester}} |
* Création par **captnfab** 28/02/2014 | * Création par **captnfab** 28/02/2014 | ||
* Testé par <...> le <...> FIXME | * Testé par <...> le <...> FIXME | ||
- | * Commentaires sur le forum : [[url | Lien vers le forum concernant ce tuto]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME | + | * Commentaires sur le forum : [[https://debian-facile.org/topic-8552-wiki-mentors-maintenir-ses-paquets-debian-avec-git-buildpackage-page-1.html | ici]] ((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) |
**Nota :** | **Nota :** | ||
Ligne 73: | Ligne 72: | ||
===== Utilisations ===== | ===== Utilisations ===== | ||
- | FIXME | + | ==== Gérer les patchs via une branche ''patch-queue'' ==== |
+ | |||
+ | Pour gérer les patchs de debian/patchs, on peut utiliser une branche git. | ||
+ | * Cela nous permet pour chaque branche //foo// d'avoir la branche non-patchée (//foo//) et la branche patchée (//patch-queue/foo//) | ||
+ | * Un commit dans la //patch-queue// correspond exactement à un patch dans ''debian/patches/'' | ||
+ | * Les patchs peuvent facilement être supprimés, ou ajoutés en modifiant la branche //patch-queue// (et en évitant de se tromper en utilisant //quilt add//, //dpatch-edit-patch//, //cdbs-edit-patch//, etc.) | ||
+ | * Les patchs peuvent facilement être portés sur les nouvelles versions grâce à ''git rebase'' sur la branche //patch-queue// (les patchs appliqués par //upstream// sont automatiquement détectés). | ||
+ | * Les patchs générés dans ''debian/patches/'' ont toutes les informations nécessaires pour être envoyés à //upstream//. | ||
+ | |||
+ | Inconvénient : | ||
+ | * Pas d'historique sur la branche //patch-queue/foo//, mais bien sûr l'historique de la branche //foo// reste disponible. | ||
+ | |||
+ | === Créer la branche de patchs === | ||
+ | <code user>gbp pq import</code> | ||
+ | <note info>Cela changera la branche courante du dépôt à //patch-queue/master//.</note> | ||
+ | |||
+ | === Travailler sur les patchs === | ||
+ | * Un commit = un patch | ||
+ | * C'est une branche git classique | ||
+ | |||
+ | === Re-générer les fichiers de patchs === | ||
+ | <code user>gbp pq export</code> | ||
+ | <note info>Cela changera la branche courante du dépôt à //master//.</note> | ||
+ | |||
+ | === Enregistrer les modifications === | ||
+ | <code user>git add debian/patches | ||
+ | git commit</code> | ||
+ | |||
+ | === Mettre à jour le changelog === | ||
+ | <code user>git-dch -S -a</code> | ||
+ | |||
+ | === Construire le paquet === | ||
+ | * Voir plus bas. | ||
+ | |||
+ | === Après avoir importé une nouvelle release === | ||
+ | <code user> gbp pq rebase | ||
+ | git checkout master | ||
+ | gbp pq export</code> | ||
+ | |||
+ | === Si des commits ont été fait sur //master// depuis la dernière mise à jour === | ||
+ | <code user>gbp pq rebase</code> | ||
+ | |||
+ | === Créer un premier patch === | ||
+ | * <code user>gbp pq import</code> | ||
+ | * Créer le patch et en faire un commit | ||
+ | * Générer le fichier patch pour quilt : | ||
+ | <code user>git checkout master | ||
+ | gbp pq export</code> | ||
+ | * Commit: | ||
+ | <code user>git add -a debian/patches/ | ||
+ | git commit -m 'mon premier patch'</code> | ||
+ | |||
+ | ==== Cloner un dépôt git-buildpackage existant ==== | ||
+ | <code user>gbp clone adresse-du-dépôt-git</code> | ||
+ | |||
+ | ==== Garder un dépôt jour ==== | ||
+ | Après un clone initial avec ''gbp clone'', vous pouvez exécuter //gbp pull// pour mettre à jour les branches //debian//, //upstream// et //pristine-tar// depuis le dépôt distant. Le flot de travail ressemble alors à cela : | ||
+ | * Initiallement, cloner le dépôt une fois | ||
+ | <code user>gbp clone adresse/du/dépôt.git | ||
+ | cd dépôt</code> | ||
+ | * Travailler sur ce clone, faire des commits, récupérer les releases, faire des pushs, etc. | ||
+ | * Pour récupérer après quelques jours les mises à jours faites par vos collègues : | ||
+ | <code user>gbp pull --redo-pq</code> | ||
+ | Cela mettra à jour toutes les branches en fonction des modifications faites par vos collaborateurs, et regénérera la branche de patchs. | ||
+ | |||
+ | ==== Compilation du paquet === | ||
+ | |||
+ | À faire depuis la branche //patch-queue/master// à jour : | ||
+ | <code user>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</code> | ||
===== Quelques rappels de git ===== | ===== Quelques rappels de git ===== |