Projet

Général

Profil

GitHotfix » Historique » Version 50

Joël Cuissinat, 27/02/2017 11:00

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 40 Joël Cuissinat
Les branche *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 50 Joël Cuissinat
Depuis la version EOLE 2.6.1-b3 (février 2017), il est recommandé de compiler les paquets 2.6.1 en version candidate cependant, c'est toujours la branche *master* qui est utilisée pour 2.6.1.
168 40 Joël Cuissinat
169 38 Joël Cuissinat
<pre>
170 1 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git package 2.6.1
171 50 Joël Cuissinat
moi@work:~/src/$PAQUET (master)$ git package -b -d eole-2.6.1/proposed-updates 2.6.1
172 40 Joël Cuissinat
</pre>
173 50 Joël Cuissinat
174 50 Joël Cuissinat
175 20 Joël Cuissinat
176 15 Joël Cuissinat
h2. ENVOLE 4
177 21 Joël Cuissinat
178 15 Joël Cuissinat
Les dépôts envole4 sont utilisés pour les versions *EOLE 2.4.2* et *EOLE 2.5.1*
179 15 Joël Cuissinat
180 15 Joël Cuissinat
h3. Paquets de dév
181 15 Joël Cuissinat
182 15 Joël Cuissinat
Distribution : envole-4-unstable
183 15 Joël Cuissinat
184 1 Daniel Dehennin
h3. Paquets candidats
185 20 Joël Cuissinat
186 20 Joël Cuissinat
Distribution : envole-4-testing
187 20 Joël Cuissinat
188 20 Joël Cuissinat
h2. ENVOLE 5
189 22 Joël Cuissinat
190 20 Joël Cuissinat
Les dépôts envole5 sont utilisés à partir de la version *EOLE 2.5.2*.
191 20 Joël Cuissinat
192 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).
193 20 Joël Cuissinat
194 20 Joël Cuissinat
A terme les logiciels seront tous adaptés pour utiliser project:eole-db.
195 20 Joël Cuissinat
196 20 Joël Cuissinat
h3. Paquets de dév
197 20 Joël Cuissinat
198 20 Joël Cuissinat
Distribution : envole-5-unstable
199 20 Joël Cuissinat
200 20 Joël Cuissinat
h3. Paquets candidats
201 20 Joël Cuissinat
202 1 Daniel Dehennin
Distribution : envole-5-testing