Project

General

Profile

GitHotfix » History » Version 69

Joël Cuissinat, 10/27/2020 03:04 PM

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 58 Gérald Schwartzmann
h2. Fixer un fichier ou deux
29 58 Gérald Schwartzmann
30 58 Gérald Schwartzmann
Se placer dans la branche de version la plus ancienne qui doit contenir le commit :
31 58 Gérald Schwartzmann
<pre>
32 58 Gérald Schwartzmann
moi@work:~/src/$PAQUET (master)$ git checkout 2.6.2/master
33 58 Gérald Schwartzmann
</pre>
34 58 Gérald Schwartzmann
35 58 Gérald Schwartzmann
Chercher le dernier commit effectué sur le fichier impacté à modifier
36 58 Gérald Schwartzmann
<pre>
37 58 Gérald Schwartzmann
moi@work:~/src/$PAQUET (2.6.2/master)$ git log nomDuFichier
38 58 Gérald Schwartzmann
commit f1b38d73d5cc0ea3cca7fb15d3b77bb996df824d
39 58 Gérald Schwartzmann
Merge: 1b5ad84 636c2d6
40 58 Gérald Schwartzmann
Author: Prénom Nom <pnom@domaine.fr>
41 58 Gérald Schwartzmann
Date:   Fri Mar 31 16:16:53 2017 +0200
42 58 Gérald Schwartzmann
[…]
43 58 Gérald Schwartzmann
</pre>
44 58 Gérald Schwartzmann
45 58 Gérald Schwartzmann
Créer la branche à partir du dernier commit :
46 58 Gérald Schwartzmann
<pre>
47 58 Gérald Schwartzmann
moi@work:~/src/$PAQUET (2.6.2/master)$ git checkout f1b38d73d5cc0ea3cca7fb15d3b77bb996df824d -b 2.6.2/numeroDemande-fix-descriptif
48 58 Gérald Schwartzmann
moi@work:~/src/$PAQUET (2.6.2/numeroDemande-fix-descriptif)$
49 58 Gérald Schwartzmann
</pre>
50 58 Gérald Schwartzmann
51 58 Gérald Schwartzmann
Corriger, commiter :
52 58 Gérald Schwartzmann
<pre>
53 58 Gérald Schwartzmann
moi@work:~/src/$PAQUET (2.6.2/numeroDemande-fix-descriptif)$ git add nomDuFichier
54 58 Gérald Schwartzmann
moi@work:~/src/$PAQUET (2.6.2/numeroDemande-fix-descriptif)$ git commit
55 58 Gérald Schwartzmann
</pre>
56 58 Gérald Schwartzmann
57 58 Gérald Schwartzmann
Se placer sur la branche recevant le merge :
58 58 Gérald Schwartzmann
<pre>
59 58 Gérald Schwartzmann
moi@work:~/src/$PAQUET (2.6.2/numeroDemande-fix-descriptif)$ git checkout 2.6.2/master
60 58 Gérald Schwartzmann
moi@work:~/src/$PAQUET (2.6.2/master)$ git merge 2.6.2/numeroDemande-fix-descriptif
61 58 Gérald Schwartzmann
</pre>
62 58 Gérald Schwartzmann
63 58 Gérald Schwartzmann
Pousser et empaqueter :
64 58 Gérald Schwartzmann
<pre>
65 58 Gérald Schwartzmann
moi@work:~/src/$PAQUET (2.6.2/master)$ git push origin 2.6.2/master
66 58 Gérald Schwartzmann
moi@work:~/src/$PAQUET (2.6.2/master)$ git package 2.6.2
67 58 Gérald Schwartzmann
moi@work:~/src/$PAQUET (2.6.2/master)$ git package -b -d eole-2.6.2/proposed-updates 2.6.2
68 58 Gérald Schwartzmann
</pre>
69 58 Gérald Schwartzmann
70 2 Daniel Dehennin
h2. Principe de base
71 1 Daniel Dehennin
72 44 Daniel Dehennin
* *@X/master@* : branche d’intégration de code pour la version *X*
73 44 Daniel Dehennin
* *@dist/eole/X/master@* : branche de packaging pour la version EOLE *X*
74 1 Daniel Dehennin
75 1 Daniel Dehennin
On pourrait pousser la distinction pour les branches de codes :
76 1 Daniel Dehennin
77 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 :
78 4 Joël Cuissinat
79 4 Joël Cuissinat
<pre>
80 4 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.0/master)$ git package 2.4.0
81 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
82 4 Joël Cuissinat
</pre>
83 4 Joël Cuissinat
84 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 :
85 5 Joël Cuissinat
86 5 Joël Cuissinat
<pre>
87 5 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.1/master)$ git package 2.4.1
88 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
89 5 Joël Cuissinat
</pre>
90 5 Joël Cuissinat
91 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.
92 24 Klaas TJEBBES
93 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.
94 1 Daniel Dehennin
95 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@* :
96 1 Daniel Dehennin
97 1 Daniel Dehennin
<pre>
98 1 Daniel Dehennin
o-o-o-o-o-o-o-o-o-o-o-o---M  <- master
99 1 Daniel Dehennin
   \   \   \             /
100 1 Daniel Dehennin
    \   \   o-o-o-o-M   /    <- 2.4.2/master
101 1 Daniel Dehennin
     \   \         /   /
102 48 Daniel Dehennin
      \   \     o-o---+      <- 2.4.1/42-fix-machin-bidule (amené à disparaître)
103 1 Daniel Dehennin
       \   \   /   \
104 1 Daniel Dehennin
        \   o-o-o-o-M        <- 2.4.1/master
105 1 Daniel Dehennin
         \
106 1 Daniel Dehennin
          \
107 1 Daniel Dehennin
           o-o-o-o-o-o-o-o-o  <- 2.4.0/master
108 1 Daniel Dehennin
</pre>
109 6 Joël Cuissinat
110 49 Daniel Dehennin
111 49 Daniel Dehennin
h2. Mode Opératiore
112 49 Daniel Dehennin
113 49 Daniel Dehennin
Voici une description succinte des manipulations à faire pour produire un correctif
114 49 Daniel Dehennin
115 49 Daniel Dehennin
# S’assurer qu’il y a une demande redmine, on l’appel *@$REDMINE_ISSUE@*
116 49 Daniel Dehennin
# Trouver le commit qui a introduit l’erreur, on l’appel *@$COMMIT_ID@*
117 49 Daniel Dehennin
# Trouver la release EOLE associée à ce commit, on l’appel *@$EOLE_RELEASE@*
118 49 Daniel Dehennin
<pre>
119 49 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git describe --match release/* $COMMIT_ID
120 49 Daniel Dehennin
</pre>
121 49 Daniel Dehennin
# Créer une branche temporaire pour faire le correctif
122 49 Daniel Dehennin
<pre>
123 49 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git checkout -b $EOLE_RELEASE/$REDMINE_ISSUE-fix-machin-bidule $COMMIT_ID
124 49 Daniel Dehennin
</pre>
125 49 Daniel Dehennin
# Faire le correctif
126 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:
127 49 Daniel Dehennin
<pre>
128 49 Daniel Dehennin
moi@work:~/src/$PAQUET ($EOLE_RELEASE/$REDMINE_ISSUE-fix-machin-bidule)$ git checkout master
129 49 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git merge --no-ff $EOLE_RELEASE/$REDMINE_ISSUE-fix-machin-bidule
130 49 Daniel Dehennin
</pre>
131 49 Daniel Dehennin
# Faire un paquet
132 49 Daniel Dehennin
133 10 Joël Cuissinat
h2. EOLE 2.4
134 1 Daniel Dehennin
135 10 Joël Cuissinat
h3. EOLE 2.4.0
136 1 Daniel Dehennin
137 10 Joël Cuissinat
<pre>
138 25 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.4.0/master
139 10 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.0/master)$ git package 2.4.0
140 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
141 10 Joël Cuissinat
</pre>
142 9 Joël Cuissinat
143 10 Joël Cuissinat
h3. EOLE 2.4.1
144 10 Joël Cuissinat
145 1 Daniel Dehennin
<pre>
146 32 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.4.1/master
147 10 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.1/master)$ git package 2.4.1
148 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
149 1 Daniel Dehennin
</pre>
150 1 Daniel Dehennin
151 10 Joël Cuissinat
h3. EOLE 2.4.2
152 1 Daniel Dehennin
153 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.
154 12 Joël Cuissinat
155 10 Joël Cuissinat
<pre>
156 32 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.4.2/master
157 10 Joël Cuissinat
moi@work:~/src/$PAQUET (2.4.2/master)$ git package 2.4.2
158 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
159 9 Joël Cuissinat
</pre>
160 10 Joël Cuissinat
161 10 Joël Cuissinat
h2. EOLE 2.5
162 10 Joël Cuissinat
163 10 Joël Cuissinat
h3. EOLE 2.5.0
164 10 Joël Cuissinat
165 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*.
166 11 Joël Cuissinat
167 11 Joël Cuissinat
<pre>
168 33 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.5.0/master
169 11 Joël Cuissinat
moi@work:~/src/$PAQUET (2.5.0/master)$ git package 2.5.0
170 1 Daniel Dehennin
moi@work:~/src/$PAQUET (2.5.0/master)$ git package -b -d eole-2.5.0/proposed-updates 2.5.0
171 1 Daniel Dehennin
</pre>
172 1 Daniel Dehennin
173 16 Joël Cuissinat
h3. EOLE 2.5.1
174 1 Daniel Dehennin
175 68 Joël Cuissinat
Les branches *2.5.1/master* et *dist/eole/2.5.1/master* sont utilisées pour la 2.5.1
176 1 Daniel Dehennin
177 16 Joël Cuissinat
<pre>
178 34 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.5.1/master
179 16 Joël Cuissinat
moi@work:~/src/$PAQUET (2.5.1/master)$ git package 2.5.1
180 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
181 16 Joël Cuissinat
</pre>
182 1 Daniel Dehennin
183 35 Joël Cuissinat
h3. EOLE 2.5.2
184 16 Joël Cuissinat
185 68 Joël Cuissinat
Les branches *2.5.2/master* et *dist/eole/2.5.2/master* sont utilisées pour la 2.5.2
186 1 Daniel Dehennin
187 1 Daniel Dehennin
<pre>
188 35 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.5.2/master
189 35 Joël Cuissinat
moi@work:~/src/$PAQUET (2.5.2/master)$ git package 2.5.2
190 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
191 35 Joël Cuissinat
</pre>
192 35 Joël Cuissinat
193 35 Joël Cuissinat
|La branche de packaging *dist/eole/2.5/master* ne doit plus être utilisée.|
194 35 Joël Cuissinat
195 36 Joël Cuissinat
h2. EOLE 2.6
196 36 Joël Cuissinat
197 41 Joël Cuissinat
h3. EOLE 2.6.0
198 41 Joël Cuissinat
199 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
200 1 Daniel Dehennin
201 40 Joël Cuissinat
<pre>
202 43 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.6.0/master
203 40 Joël Cuissinat
moi@work:~/src/$PAQUET (2.6.0/master)$ git package 2.6.0
204 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
205 40 Joël Cuissinat
</pre>
206 1 Daniel Dehennin
207 50 Joël Cuissinat
h3. EOLE 2.6.1
208 40 Joël Cuissinat
209 68 Joël Cuissinat
Les branches *2.6.1/master* et *dist/eole/2.6.1/master* sont utilisées pour la 2.6.1
210 1 Daniel Dehennin
211 40 Joël Cuissinat
<pre>
212 51 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.6.1/master
213 51 Joël Cuissinat
moi@work:~/src/$PAQUET (2.6.1/master)$ git package 2.6.1
214 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
215 1 Daniel Dehennin
</pre>
216 1 Daniel Dehennin
217 52 Joël Cuissinat
NB : suivi graphique http://castor.eole.lan:9998/dist/eole-2.6.1-proposed-updates/arch/all
218 52 Joël Cuissinat
219 55 Joël Cuissinat
h3. EOLE 2.6.2
220 1 Daniel Dehennin
221 67 Joël Cuissinat
Les branches *2.6.2/master* et *dist/eole/2.6.2/master* sont utilisées pour la 2.6.2
222 55 Joël Cuissinat
223 51 Joël Cuissinat
<pre>
224 55 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.6.2/master
225 55 Joël Cuissinat
moi@work:~/src/$PAQUET (2.6.2/master)$ git package 2.6.2
226 55 Joël Cuissinat
moi@work:~/src/$PAQUET (2.6.2/master)$ git package -b -d eole-2.6.2/proposed-updates 2.6.2
227 1 Daniel Dehennin
</pre>
228 1 Daniel Dehennin
229 55 Joël Cuissinat
230 55 Joël Cuissinat
NB : suivi graphique http://castor.eole.lan:9998/dist/eole-2.6.2-proposed-updates/arch/all
231 1 Daniel Dehennin
232 67 Joël Cuissinat
233 67 Joël Cuissinat
| La distribution *eole-2.6-unstable* ne devrait plus être utilisée |
234 55 Joël Cuissinat
235 55 Joël Cuissinat
h2. EOLE 2.7
236 55 Joël Cuissinat
237 55 Joël Cuissinat
h3. EOLE 2.7.0
238 55 Joël Cuissinat
239 68 Joël Cuissinat
Les branches *2.7.0/master* et *dist/eole/2.7.0/master* sont utilisées pour la 2.7.0
240 59 Joël Cuissinat
241 1 Daniel Dehennin
<pre>
242 59 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.7.0/master
243 59 Joël Cuissinat
moi@work:~/src/$PAQUET (2.7.0/master)$ git package 2.7.0
244 59 Joël Cuissinat
moi@work:~/src/$PAQUET (2.7.0/master)$ git package -b -d eole-2.7.0/proposed-updates 2.7.0
245 55 Joël Cuissinat
</pre>
246 1 Daniel Dehennin
247 59 Joël Cuissinat
NB : suivi graphique http://castor.eole.lan:9998/dist/eole-2.7.0-proposed-updates/arch/all
248 1 Daniel Dehennin
249 59 Joël Cuissinat
h3. EOLE 2.7.1
250 1 Daniel Dehennin
251 68 Joël Cuissinat
Les branches *2.7.1/master* et *dist/eole/2.7.1/master* sont utilisées pour la 2.7.1
252 61 Joël Cuissinat
253 1 Daniel Dehennin
<pre>
254 61 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.7.1/master
255 62 Joël Cuissinat
moi@work:~/src/$PAQUET (2.7.1/master)$ git package 2.7.1/master
256 62 Joël Cuissinat
moi@work:~/src/$PAQUET (2.7.1/master)$ git package -b -d eole-2.7.1/proposed-updates 2.7.1/master
257 61 Joël Cuissinat
</pre>
258 61 Joël Cuissinat
259 61 Joël Cuissinat
NB : suivi graphique http://castor.eole.lan:9998/dist/eole-2.7.1-proposed-updates/arch/all
260 61 Joël Cuissinat
261 65 Joël Cuissinat
h3. EOLE 2.7.2
262 1 Daniel Dehennin
263 64 Joël Cuissinat
264 65 Joël Cuissinat
Les branches *2.7.2/master* et *dist/eole/2.7.2/master* sont utilisées pour la 2.7.2
265 65 Joël Cuissinat
266 1 Daniel Dehennin
<pre>
267 64 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git checkout 2.7.2/master
268 64 Joël Cuissinat
moi@work:~/src/$PAQUET (2.7.2/master)$ git package 2.7.2/master
269 65 Joël Cuissinat
moi@work:~/src/$PAQUET (2.7.2/master)$ git package -b -d eole-2.7.2/proposed-updates 2.7.2/master
270 1 Daniel Dehennin
</pre>
271 1 Daniel Dehennin
272 65 Joël Cuissinat
NB : suivi graphique http://castor.eole.lan:9998/dist/eole-2.7.2-proposed-updates/arch/all
273 64 Joël Cuissinat
274 66 Joël Cuissinat
275 66 Joël Cuissinat
| La distribution *eole-2.7-unstable* ne devrait plus être utilisée |
276 66 Joël Cuissinat
277 64 Joël Cuissinat
h2. EOLE 2.8
278 64 Joël Cuissinat
279 69 Joël Cuissinat
h3. EOLE 2.8.1(unstable)
280 64 Joël Cuissinat
281 69 Joël Cuissinat
-Depuis la publication de la version EOLE 2.8.0,- les nouvelles fonctionnalités 2.8 doivent être compilés en version *unstable* :
282 64 Joël Cuissinat
<pre>
283 69 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git package 2.8.1/master
284 69 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git package -b -d eole-2.8/unstable 2.8.1/master
285 64 Joël Cuissinat
</pre>
286 64 Joël Cuissinat
287 64 Joël Cuissinat
NB : suivi graphique http://castor.eole.lan:9998/dist/eole-2.8-unstable/arch/all
288 15 Joël Cuissinat
289 21 Joël Cuissinat
h2. ENVOLE 4
290 15 Joël Cuissinat
291 15 Joël Cuissinat
Les dépôts envole4 sont utilisés pour les versions *EOLE 2.4.2* et *EOLE 2.5.1*
292 15 Joël Cuissinat
293 15 Joël Cuissinat
h3. Paquets de dév
294 15 Joël Cuissinat
295 15 Joël Cuissinat
Distribution : envole-4-unstable
296 1 Daniel Dehennin
297 20 Joël Cuissinat
h3. Paquets candidats
298 20 Joël Cuissinat
299 20 Joël Cuissinat
Distribution : envole-4-testing
300 20 Joël Cuissinat
301 22 Joël Cuissinat
h2. ENVOLE 5
302 20 Joël Cuissinat
303 20 Joël Cuissinat
Les dépôts envole5 sont utilisés à partir de la version *EOLE 2.5.2*.
304 20 Joël Cuissinat
305 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).
306 20 Joël Cuissinat
307 20 Joël Cuissinat
A terme les logiciels seront tous adaptés pour utiliser project:eole-db.
308 20 Joël Cuissinat
309 20 Joël Cuissinat
h3. Paquets de dév
310 20 Joël Cuissinat
311 20 Joël Cuissinat
Distribution : envole-5-unstable
312 20 Joël Cuissinat
313 20 Joël Cuissinat
h3. Paquets candidats
314 1 Daniel Dehennin
315 1 Daniel Dehennin
Distribution : envole-5-testing