Projet

Général

Profil

PatchQuilt » Historique » Version 10

Lionel Morin, 20/09/2012 17:08

1 1 Lionel Morin
h1. Faire des patch quilt (via l'outil gbp-pq)
2 1 Lionel Morin
3 7 Lionel Morin
Installez si besoin le paquet _git-buildpackage_.
4 1 Lionel Morin
5 1 Lionel Morin
L'outil gbp-pq (Git-BuildPackage Patch Queue) permet la création d’une branche git dédiée que vous pouvez alors manipuler comme vous le souhaitez. Chaque commit sera ensuite vu comme un patch.
6 1 Lionel Morin
7 1 Lionel Morin
h2. Création de la branche dédiée
8 1 Lionel Morin
9 2 Lionel Morin
Placez vous sur la branche de packaging @dist/ubuntu/lucid/master@ et lancez :
10 1 Lionel Morin
<pre>
11 1 Lionel Morin
gbp-pq import
12 1 Lionel Morin
</pre>
13 6 Lionel Morin
Cela va créer la branche @patch-queue/dist/ubuntu/lucid/master@ et vous placer dessus. Si vous aviez déjà des patch quilt, ils ont été appliqués.
14 1 Lionel Morin
15 1 Lionel Morin
h2. Application de vos modifications
16 1 Lionel Morin
17 1 Lionel Morin
Faites vos modifications des sources. Chaque commit dans cette branche sera transformé en patch quilt. Les patch porteront comme nom l'intitulé du commit correspondant.
18 10 Lionel Morin
Si un ou des patch étaient déjà présents, ils apparaissent sous forme de commit. Si vous voulez ne générer qu'un seul patch, il vous faudra faire un rebase (commande @git rebase -i@) de manière à n'avoir qu'un seul commit.
19 1 Lionel Morin
20 1 Lionel Morin
h2. Création des patch et retour sur la branche initiale
21 1 Lionel Morin
22 1 Lionel Morin
Une fois satisfait de votre travail vous créez les patch :
23 1 Lionel Morin
<pre>
24 1 Lionel Morin
gbp-pq export
25 1 Lionel Morin
</pre>
26 6 Lionel Morin
Vous êtes alors de retour sur votre branche (la branche dédiée n'est pas supprimée).
27 6 Lionel Morin
Et les patch créés sont dans le dossier @debian/patches@ et accompagnés d'un fichier @series@ qui permet de les lister.
28 6 Lionel Morin
29 8 Lionel Morin
h2. Avant de compiler
30 8 Lionel Morin
31 8 Lionel Morin
Vérifiez que vous ayez bien respecté la structure des paquets EOLE : http://dev-eole.ac-dijon.fr/projects/envole/wiki/EnvoleBonnesPratiques#Structure-du-Master
32 8 Lionel Morin
33 9 Lionel Morin
Vérifiez aussi le  contenu de votre dossier debian en vous basant sur le projet d'exemple eole-skeletor : http://dev-eole.ac-dijon.fr/projects/eole-skeletor/repository/show/debian?rev=dist%2Fubuntu%2Flucid%2Fmaster
34 8 Lionel Morin
35 6 Lionel Morin
h2. Pour aller plus loin
36 6 Lionel Morin
37 6 Lionel Morin
Man de gbp-pq : http://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.man.gbp.pq.html
38 6 Lionel Morin
39 6 Lionel Morin
Howto : https://honk.sigxcpu.org/piki/development/debian_packages_in_git/