Projet

Général

Profil

GitHotfix » Historique » Version 51

Joël Cuissinat, 28/03/2017 13:20

1 1 Daniel Dehennin
{{toc}}
2 1 Daniel Dehennin
3 8 Joël Cuissinat
h1. Préparer un correctif pour EOLE 2.4 ou EOLE 2.5
4 1 Daniel Dehennin
5 2 Daniel Dehennin
*RAPPEL* : Il ne faut jamais fusionner une branche d’une version supérieure à une version inférieure, par exemple :
6 2 Daniel Dehennin
7 2 Daniel Dehennin
* *NE PAS FAIRE*
8 2 Daniel Dehennin
<pre>
9 2 Daniel Dehennin
moi@work:~/src/$PAQUET (2.4.0/master)$ git merge master
10 2 Daniel Dehennin
</pre>
11 2 Daniel Dehennin
* *NE PAS FAIRE*
12 2 Daniel Dehennin
<pre>
13 2 Daniel Dehennin
moi@work:~/src/$PAQUET (2.4.0/master)$ git merge release/2.4.1
14 2 Daniel Dehennin
</pre>
15 2 Daniel Dehennin
* *NE PAS FAIRE*
16 2 Daniel Dehennin
<pre>
17 2 Daniel Dehennin
moi@work:~/src/$PAQUET (2.4.0/master)$ git merge 2.4.2/master
18 2 Daniel Dehennin
</pre>
19 2 Daniel Dehennin
* *NE PAS FAIRE*
20 2 Daniel Dehennin
<pre>
21 2 Daniel Dehennin
moi@work:~/src/$PAQUET (2.4.0/master)$ git merge release/2.4.2
22 2 Daniel Dehennin
</pre>
23 3 Daniel Dehennin
* *NE PAS FAIRE*
24 3 Daniel Dehennin
<pre>
25 3 Daniel Dehennin
moi@work:~/src/$PAQUET (2.4.0/master)$ git merge 2.4.2/42-fix-machin-truc
26 3 Daniel Dehennin
</pre>
27 2 Daniel Dehennin
28 2 Daniel Dehennin
h2. Principe de base
29 1 Daniel Dehennin
30 44 Daniel Dehennin
* *@X/master@* : branche d’intégration de code pour la version *X*
31 44 Daniel Dehennin
* *@dist/eole/X/master@* : branche de packaging pour la version EOLE *X*
32 1 Daniel Dehennin
33 1 Daniel Dehennin
On pourrait pousser la distinction pour les branches de codes :
34 1 Daniel Dehennin
35 4 Joël Cuissinat
* 2.4.0/master: branche d’intégration des hotfix pour 2.4.0, intégrée dans dist/eole/2.4.0/master pour créer un paquet, ce qui donne :
36 4 Joël Cuissinat
37 4 Joël Cuissinat
<pre>
38 4 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.0/master)$ git package 2.4.0
39 4 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.0/master)$ git package -b -d eole-2.4.0/proposed-updates 2.4.0
40 4 Joël Cuissinat
</pre>
41 4 Joël Cuissinat
42 5 Joël Cuissinat
* 2.4.1/master: branche d’intégration des hotfix pour 2.4.1, intégrée dans dist/eole/2.4.1/master pour créer un paquet, ce qui donne :
43 5 Joël Cuissinat
44 5 Joël Cuissinat
<pre>
45 5 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.1/master)$ git package 2.4.1
46 5 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.1/master)$ git package -b -d eole-2.4.1/proposed-updates 2.4.1
47 5 Joël Cuissinat
</pre>
48 5 Joël Cuissinat
49 47 Daniel Dehennin
* *@2.4.1/42-fix-machin-bidule@* : branche contenant le correctif pour le bug *machin bidule* (numéro redmine *@#42@*) apparu sur 2.4.1.
50 24 Klaas TJEBBES
51 47 Daniel Dehennin
Cette branche sera intégrée à 2.4.1/master, 2.4.2/master et toutes les autres 2.4.X/master si le problème *machin bidule* y est présent, jusqu’à la branche de développement.
52 1 Daniel Dehennin
53 47 Daniel Dehennin
Cela pourrait être représenté de la façon suivante, les *o* sont des commits et les *M* sont des *@merge commits@* :
54 1 Daniel Dehennin
55 1 Daniel Dehennin
<pre>
56 1 Daniel Dehennin
o-o-o-o-o-o-o-o-o-o-o-o---M  <- master
57 1 Daniel Dehennin
   \   \   \             /
58 1 Daniel Dehennin
    \   \   o-o-o-o-M   /    <- 2.4.2/master
59 1 Daniel Dehennin
     \   \         /   /
60 48 Daniel Dehennin
      \   \     o-o---+      <- 2.4.1/42-fix-machin-bidule (amené à disparaître)
61 1 Daniel Dehennin
       \   \   /   \
62 1 Daniel Dehennin
        \   o-o-o-o-M        <- 2.4.1/master
63 1 Daniel Dehennin
         \
64 1 Daniel Dehennin
          \
65 1 Daniel Dehennin
           o-o-o-o-o-o-o-o-o  <- 2.4.0/master
66 1 Daniel Dehennin
</pre>
67 6 Joël Cuissinat
68 49 Daniel Dehennin
69 49 Daniel Dehennin
h2. Mode Opératiore
70 49 Daniel Dehennin
71 49 Daniel Dehennin
Voici une description succinte des manipulations à faire pour produire un correctif
72 49 Daniel Dehennin
73 49 Daniel Dehennin
# S’assurer qu’il y a une demande redmine, on l’appel *@$REDMINE_ISSUE@*
74 49 Daniel Dehennin
# Trouver le commit qui a introduit l’erreur, on l’appel *@$COMMIT_ID@*
75 49 Daniel Dehennin
# Trouver la release EOLE associée à ce commit, on l’appel *@$EOLE_RELEASE@*
76 49 Daniel Dehennin
<pre>
77 49 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git describe --match release/* $COMMIT_ID
78 49 Daniel Dehennin
</pre>
79 49 Daniel Dehennin
# Créer une branche temporaire pour faire le correctif
80 49 Daniel Dehennin
<pre>
81 49 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git checkout -b $EOLE_RELEASE/$REDMINE_ISSUE-fix-machin-bidule $COMMIT_ID
82 49 Daniel Dehennin
</pre>
83 49 Daniel Dehennin
# Faire le correctif
84 49 Daniel Dehennin
# Intégrer le correctif aux branches impactés, en commençant par master si le problème existe dans la branche de développement:
85 49 Daniel Dehennin
<pre>
86 49 Daniel Dehennin
moi@work:~/src/$PAQUET ($EOLE_RELEASE/$REDMINE_ISSUE-fix-machin-bidule)$ git checkout master
87 49 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git merge --no-ff $EOLE_RELEASE/$REDMINE_ISSUE-fix-machin-bidule
88 49 Daniel Dehennin
</pre>
89 49 Daniel Dehennin
# Faire un paquet
90 49 Daniel Dehennin
91 10 Joël Cuissinat
h2. EOLE 2.4
92 1 Daniel Dehennin
93 10 Joël Cuissinat
h3. EOLE 2.4.0
94 1 Daniel Dehennin
95 10 Joël Cuissinat
<pre>
96 25 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.4.0/master
97 10 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.0/master)$ git package 2.4.0
98 10 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.0/master)$ git package -b -d eole-2.4.0/proposed-updates 2.4.0
99 10 Joël Cuissinat
</pre>
100 9 Joël Cuissinat
101 10 Joël Cuissinat
h3. EOLE 2.4.1
102 10 Joël Cuissinat
103 1 Daniel Dehennin
<pre>
104 32 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.4.1/master
105 10 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.1/master)$ git package 2.4.1
106 17 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.1/master)$ git package -b -d eole-2.4.1/proposed-updates 2.4.1
107 1 Daniel Dehennin
</pre>
108 1 Daniel Dehennin
109 10 Joël Cuissinat
h3. EOLE 2.4.2
110 1 Daniel Dehennin
111 13 Joël Cuissinat
Les branches *2.4.2/master* et *dist/eole/2.4.2/master* ayant été créées à la demande, les projets n'ayant pas nécessité de modifications spécifiques pour la version 2.4.2 ne possèdent pas ces branches.
112 12 Joël Cuissinat
113 10 Joël Cuissinat
<pre>
114 32 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.4.2/master
115 10 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.2/master)$ git package 2.4.2
116 10 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.2/master)$ git package -b -d eole-2.4.2/proposed-updates 2.4.2
117 9 Joël Cuissinat
</pre>
118 10 Joël Cuissinat
119 10 Joël Cuissinat
h2. EOLE 2.5
120 10 Joël Cuissinat
121 10 Joël Cuissinat
h3. EOLE 2.5.0
122 10 Joël Cuissinat
123 11 Joël Cuissinat
Seuls les paquets communs et ceux utilisés par les modules annoncés comme stables (Zéphir et Seshat) possèdent les branches *2.5.0/master* et *dist/eole/2.5.0/master*.
124 11 Joël Cuissinat
125 11 Joël Cuissinat
<pre>
126 33 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.5.0/master
127 11 Joël Cuissinat
moi@work:~/src/$PAQUET (2.5.0/master)$ git package 2.5.0
128 1 Daniel Dehennin
moi@work:~/src/$PAQUET (2.5.0/master)$ git package -b -d eole-2.5.0/proposed-updates 2.5.0
129 1 Daniel Dehennin
</pre>
130 1 Daniel Dehennin
131 16 Joël Cuissinat
h3. EOLE 2.5.1
132 1 Daniel Dehennin
133 19 Joël Cuissinat
Les branche *2.5.1/master* et *dist/eole/2.5.1/master* sont utilisées pour la 2.5.1
134 1 Daniel Dehennin
135 16 Joël Cuissinat
<pre>
136 34 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.5.1/master
137 16 Joël Cuissinat
moi@work:~/src/$PAQUET (2.5.1/master)$ git package 2.5.1
138 16 Joël Cuissinat
moi@work:~/src/$PAQUET (2.5.1/master)$ git package -b -d eole-2.5.1/proposed-updates 2.5.1
139 16 Joël Cuissinat
</pre>
140 1 Daniel Dehennin
141 35 Joël Cuissinat
h3. EOLE 2.5.2
142 16 Joël Cuissinat
143 35 Joël Cuissinat
Les branche *2.5.2/master* et *dist/eole/2.5.2/master* sont utilisées pour la 2.5.2
144 1 Daniel Dehennin
145 1 Daniel Dehennin
<pre>
146 35 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.5.2/master
147 35 Joël Cuissinat
moi@work:~/src/$PAQUET (2.5.2/master)$ git package 2.5.2
148 35 Joël Cuissinat
moi@work:~/src/$PAQUET (2.5.2/master)$ git package -b -d eole-2.5.2/proposed-updates 2.5.2
149 35 Joël Cuissinat
</pre>
150 35 Joël Cuissinat
151 35 Joël Cuissinat
|La branche de packaging *dist/eole/2.5/master* ne doit plus être utilisée.|
152 35 Joël Cuissinat
153 36 Joël Cuissinat
h2. EOLE 2.6
154 36 Joël Cuissinat
155 41 Joël Cuissinat
h3. EOLE 2.6.0
156 41 Joël Cuissinat
157 51 Joël Cuissinat
Les branches *2.6.0/master* et *dist/eole/2.6.0/master* sont utilisées pour la 2.6.0
158 1 Daniel Dehennin
159 40 Joël Cuissinat
<pre>
160 43 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.6.0/master
161 40 Joël Cuissinat
moi@work:~/src/$PAQUET (2.6.0/master)$ git package 2.6.0
162 40 Joël Cuissinat
moi@work:~/src/$PAQUET (2.6.0/master)$ git package -b -d eole-2.6.0/proposed-updates 2.6.0
163 40 Joël Cuissinat
</pre>
164 1 Daniel Dehennin
165 50 Joël Cuissinat
h3. EOLE 2.6.1
166 40 Joël Cuissinat
167 51 Joël Cuissinat
Les branche *2.6.1/master* et *dist/eole/2.6.1/master* sont utilisées pour la 2.6.1
168 1 Daniel Dehennin
169 40 Joël Cuissinat
<pre>
170 51 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.6.1/master
171 51 Joël Cuissinat
moi@work:~/src/$PAQUET (2.6.1/master)$ git package 2.6.1
172 51 Joël Cuissinat
moi@work:~/src/$PAQUET (2.6.1/master)$ git package -b -d eole-2.6.1/proposed-updates 2.6.1
173 1 Daniel Dehennin
</pre>
174 1 Daniel Dehennin
175 51 Joël Cuissinat
h3. EOLE 2.6.2 (2.6 dév)
176 51 Joël Cuissinat
177 51 Joël Cuissinat
Depuis la publication de la version EOLE 2.6.1-RC1, les branches 2.6.1/master ont été sorties et les nouveaux développements sont réalisés sur la branche master
178 51 Joël Cuissinat
<pre>
179 51 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git package 2.6.2
180 51 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git package -b -d eole-2.6/unstable 2.6.2
181 51 Joël Cuissinat
</pre>
182 50 Joël Cuissinat
183 20 Joël Cuissinat
184 15 Joël Cuissinat
h2. ENVOLE 4
185 21 Joël Cuissinat
186 15 Joël Cuissinat
Les dépôts envole4 sont utilisés pour les versions *EOLE 2.4.2* et *EOLE 2.5.1*
187 15 Joël Cuissinat
188 15 Joël Cuissinat
h3. Paquets de dév
189 15 Joël Cuissinat
190 15 Joël Cuissinat
Distribution : envole-4-unstable
191 15 Joël Cuissinat
192 1 Daniel Dehennin
h3. Paquets candidats
193 20 Joël Cuissinat
194 20 Joël Cuissinat
Distribution : envole-4-testing
195 20 Joël Cuissinat
196 20 Joël Cuissinat
h2. ENVOLE 5
197 22 Joël Cuissinat
198 20 Joël Cuissinat
Les dépôts envole5 sont utilisés à partir de la version *EOLE 2.5.2*.
199 20 Joël Cuissinat
200 20 Joël Cuissinat
Certains des logiciels fournis dans cette version sont incompatibles avec les versions d'apache/php de la distribution _Precise_ (2.4).
201 20 Joël Cuissinat
202 20 Joël Cuissinat
A terme les logiciels seront tous adaptés pour utiliser project:eole-db.
203 20 Joël Cuissinat
204 20 Joël Cuissinat
h3. Paquets de dév
205 20 Joël Cuissinat
206 20 Joël Cuissinat
Distribution : envole-5-unstable
207 20 Joël Cuissinat
208 20 Joël Cuissinat
h3. Paquets candidats
209 20 Joël Cuissinat
210 1 Daniel Dehennin
Distribution : envole-5-testing