Projet

Général

Profil

PrepareEOLE24 » Historique » Version 5

Daniel Dehennin, 15/10/2013 09:30

1 2 Lionel Morin
h1. Préparer un dépôt pour EOLE 2.4
2 1 Daniel Dehennin
3 1 Daniel Dehennin
h2. Créer une branche pour EOLE 2.3
4 1 Daniel Dehennin
5 1 Daniel Dehennin
La branche master devient la branche de développement pour EOLE 2.4, il faut donc conserver une branche pour EOLE 2.3 :
6 1 Daniel Dehennin
7 1 Daniel Dehennin
<pre>
8 1 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git branch 2.3 master
9 1 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git push origin 2.3
10 1 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git branch -a
11 1 Daniel Dehennin
  2.3
12 1 Daniel Dehennin
* master
13 1 Daniel Dehennin
  dist/ubuntu/lucid/master
14 1 Daniel Dehennin
  remotes/origin/2.3
15 1 Daniel Dehennin
  remotes/origin/master
16 1 Daniel Dehennin
  remotes/origin/dist/ubuntu/lucid/master
17 1 Daniel Dehennin
</pre>
18 1 Daniel Dehennin
19 1 Daniel Dehennin
*NB: ne jamais fusionner la branche master dans la branche 2.3.*
20 1 Daniel Dehennin
21 1 Daniel Dehennin
h2. Mettre à jour le code pour EOLE 2.4
22 1 Daniel Dehennin
23 1 Daniel Dehennin
Voir la [[modules-eole:24|page dédiée]].
24 1 Daniel Dehennin
25 1 Daniel Dehennin
h2. Créer une branche pour le packaging 2.4
26 1 Daniel Dehennin
27 1 Daniel Dehennin
<pre>
28 1 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git branch dist/ubuntu/precise/master dist/ubuntu/lucid/master
29 1 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git push origin dist/ubuntu/precise/master
30 1 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git branch -a
31 1 Daniel Dehennin
  2.3
32 1 Daniel Dehennin
* master
33 1 Daniel Dehennin
  dist/ubuntu/lucid/master
34 1 Daniel Dehennin
  dist/ubuntu/precise/master
35 1 Daniel Dehennin
  remotes/origin/2.3
36 1 Daniel Dehennin
  remotes/origin/master
37 1 Daniel Dehennin
  remotes/origin/dist/ubuntu/lucid/master
38 1 Daniel Dehennin
  remotes/origin/dist/ubuntu/precise/master
39 1 Daniel Dehennin
</pre>
40 1 Daniel Dehennin
41 1 Daniel Dehennin
h2. Créer un tag afin de déterminer la version du paquet
42 1 Daniel Dehennin
43 1 Daniel Dehennin
<pre>
44 1 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git tag -s -m "First EOLE 2.4.0" release/2.4.0 master
45 1 Daniel Dehennin
</pre>
46 1 Daniel Dehennin
47 5 Daniel Dehennin
h2. Créer un fichier debian/gbp.conf
48 5 Daniel Dehennin
49 5 Daniel Dehennin
Fichier de configuration de "git-buildpackage":http://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.html afin de déterminer le format des tags de version debian:
50 5 Daniel Dehennin
51 5 Daniel Dehennin
<pre>
52 5 Daniel Dehennin
[DEFAULT]
53 5 Daniel Dehennin
debian-tag = debian/eole/2.4/%(version)s
54 5 Daniel Dehennin
</pre>
55 5 Daniel Dehennin
56 5 Daniel Dehennin
Cela évite qu’une même version upstream compilée pour plusieurs distributions se marche sur les pieds.
57 5 Daniel Dehennin
58 1 Daniel Dehennin
h2. Mettre à jour le packaging
59 1 Daniel Dehennin
60 1 Daniel Dehennin
Voir la [[EoleDebianPackaging24|page dédiée]].
61 1 Daniel Dehennin
62 1 Daniel Dehennin
h2. Compiler le premier paquet EOLE 2.4
63 1 Daniel Dehennin
64 1 Daniel Dehennin
La première compilation devrait être faite sur un [[GitPackaging#Environnement-de-compilation-personnel|environnement de compilation personnel]].
65 1 Daniel Dehennin
66 3 Daniel Dehennin
Pour compiler des paquets EOLE 2.4, vous avez besoin :
67 1 Daniel Dehennin
68 3 Daniel Dehennin
# de l’outil project:git-package que vous pouvez installer :
69 3 Daniel Dehennin
** manuellement avec ce [[git-package:|guide d’installation]]
70 3 Daniel Dehennin
** avec un "paquet debian":http://eole.ac-dijon.fr/eole/pool/main/g/git-package/
71 4 Daniel Dehennin
# de "demander l’activation de votre projet pour le système de compilation 2.4":http://dev-eole.ac-dijon.fr/projects/dev-tools/issues/new
72 1 Daniel Dehennin
73 1 Daniel Dehennin
Une fois project:git-package installé, vous devez recharger le complètement automatique de bash afin d’en profiter pour project:git-package :
74 1 Daniel Dehennin
75 1 Daniel Dehennin
<pre>
76 1 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ source /etc/bash_completion
77 1 Daniel Dehennin
</pre>
78 1 Daniel Dehennin
79 1 Daniel Dehennin
Il est possible d’utiliser la distribution @eole-2.4-experimental@ à cet effet :
80 1 Daniel Dehennin
81 1 Daniel Dehennin
# Intégrer les modifications de master dans la branche de packaging :
82 1 Daniel Dehennin
<pre>
83 1 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git package dist/ubuntu/precise/master
84 1 Daniel Dehennin
Do you want to merge 'master' into 'dist/ubuntu/precise/master'?: y
85 1 Daniel Dehennin
Checkout distribution branch 'dist/ubuntu/precise/master': Switched to branch 'dist/ubuntu/precise/master'
86 1 Daniel Dehennin
Pull from default remote: Already up-to-date.
87 1 Daniel Dehennin
Merge developpement from 'master': Waiting for Emacs...
88 1 Daniel Dehennin
Merge made by the 'recursive' strategy.
89 1 Daniel Dehennin
[...]
90 1 Daniel Dehennin
Switch back to your developpement branch 'master'... Switched to branch 'master'
91 1 Daniel Dehennin
Push is not automatically done to avoid publishing possible errors.
92 1 Daniel Dehennin
93 1 Daniel Dehennin
You can push with the following command:
94 1 Daniel Dehennin
95 1 Daniel Dehennin
    git push dev-eole dist/ubuntu/precise/master
96 1 Daniel Dehennin
Do you want me to push it automatically? [No]: n
97 1 Daniel Dehennin
No push
98 1 Daniel Dehennin
</pre>
99 1 Daniel Dehennin
# Demander la compilation d’un paquet pour *@eole-2.4-experimental@* depuis la branche de packaging *@dist/ubuntu/precise/master@*
100 1 Daniel Dehennin
<pre>
101 1 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git package -b -d eole-2.4-experimental dist/ubuntu/precise/master
102 1 Daniel Dehennin
Found upstream version 'release/2.4.0'
103 1 Daniel Dehennin
Moi request 'dist/ubuntu/precise/master' to build for 'eole-2.4-experimental'
104 1 Daniel Dehennin
Are you sure to proceed? [No]: y
105 1 Daniel Dehennin
Tag request 'build/eole/eole-2.4-experimental' created.
106 1 Daniel Dehennin
The tag request 'build/eole/eole-2.4-experimental' is not pushed to 'origin'
107 1 Daniel Dehennin
108 1 Daniel Dehennin
You can push it with 'git push dev-eole build/eole/eole-2.4-experimental'
109 1 Daniel Dehennin
110 1 Daniel Dehennin
Do you want me to push it automatically? [No]: N
111 1 Daniel Dehennin
</pre>
112 1 Daniel Dehennin
113 1 Daniel Dehennin
Le système de compilation enverra des emails à l’adresse disponible par *@git config user.email@* afin de suivre l’évolution de la compilation et la disponibilité des paquets deb.
114 1 Daniel Dehennin
115 1 Daniel Dehennin
Des listes de diffusions sont disponibles pour suivre la compilation de tous les paquets EOLE 2.4 :
116 1 Daniel Dehennin
# Liste des compilations : http://diff-eole.ac-dijon.fr/listes/info/buildd
117 1 Daniel Dehennin
# Liste d’installation sur les dépôts de paquets deb : http://diff-eole.ac-dijon.fr/listes/info/repository