Projet

Général

Profil

PreparationEnvole4 » Historique » Version 8

Daniel Dehennin, 06/02/2015 14:54
Finalisation de la documentation pour les projets déjà porté en EOLE 2.4

1 4 Daniel Dehennin
{{toc}}
2 4 Daniel Dehennin
3 1 Arnaud FORNEROT
h1. Preparation Envole 4
4 1 Arnaud FORNEROT
5 2 Arnaud FORNEROT
6 2 Arnaud FORNEROT
7 1 Arnaud FORNEROT
h2. S'assurer que git-package n'est pas installé
8 2 Arnaud FORNEROT
9 3 Arnaud FORNEROT
<pre>
10 1 Arnaud FORNEROT
dpkg -l git-package
11 3 Arnaud FORNEROT
</pre>
12 3 Arnaud FORNEROT
13 2 Arnaud FORNEROT
si présent le désinstaller
14 3 Arnaud FORNEROT
<pre>
15 1 Arnaud FORNEROT
sudo apt-get remove git-pakage
16 3 Arnaud FORNEROT
</pre>
17 1 Arnaud FORNEROT
18 2 Arnaud FORNEROT
19 2 Arnaud FORNEROT
20 1 Arnaud FORNEROT
h2. Cloner le projet git-pakage
21 2 Arnaud FORNEROT
22 1 Arnaud FORNEROT
ou le puller si déjà cloné
23 3 Arnaud FORNEROT
<pre>
24 1 Arnaud FORNEROT
git clone https://afornerot@dev-eole.ac-dijon.fr/git/git-package.git
25 3 Arnaud FORNEROT
</pre>
26 1 Arnaud FORNEROT
27 2 Arnaud FORNEROT
28 2 Arnaud FORNEROT
29 1 Arnaud FORNEROT
h2. Paramétrage de git-package
30 3 Arnaud FORNEROT
31 1 Arnaud FORNEROT
Suivre la documentation suivante = https://dev-eole.ac-dijon.fr/projects/git-package/wiki
32 1 Arnaud FORNEROT
Bien faire attention dans les commandes ln de mettre le chemin vers le repertoire de stockage du clone de git-package
33 1 Arnaud FORNEROT
34 1 Arnaud FORNEROT
Pour placer la liste de dépot par défaut sur envole 
35 3 Arnaud FORNEROT
<pre>
36 1 Arnaud FORNEROT
vim ~/.gitconfig
37 3 Arnaud FORNEROT
</pre>
38 1 Arnaud FORNEROT
39 1 Arnaud FORNEROT
et ajouter la section
40 3 Arnaud FORNEROT
<pre>
41 1 Arnaud FORNEROT
[package]
42 1 Arnaud FORNEROT
        distribution = envole-4/experimental
43 1 Arnaud FORNEROT
        distribution = envole-4/unstable
44 1 Arnaud FORNEROT
        distribution = eole-2.4/experimental
45 1 Arnaud FORNEROT
        distribution = eole-2.4/unstable
46 3 Arnaud FORNEROT
</pre>
47 1 Arnaud FORNEROT
48 1 Arnaud FORNEROT
En sachant que la commande de compilation utilisera la premiere ligne dans le cas où l'option -d n'est pas spécifiée
49 2 Arnaud FORNEROT
50 2 Arnaud FORNEROT
51 1 Arnaud FORNEROT
52 5 Daniel Dehennin
h2. Si le projet n’est jamais passé en 2.4
53 1 Arnaud FORNEROT
54 5 Daniel Dehennin
Demander à EOLE qui fasse le nécessaire en terme d'activation de compilation 2.4 sur ce projet.
55 5 Daniel Dehennin
56 5 Daniel Dehennin
h3. Créer un tag pour le dernier paquet 2.3
57 5 Daniel Dehennin
58 1 Arnaud FORNEROT
Tagger la branche de compilation 2.3 (la puller avant) pour indiquer le dernier paquet 2.3 en respectant la syntaxe suivante
59 3 Arnaud FORNEROT
60 3 Arnaud FORNEROT
<pre>
61 1 Arnaud FORNEROT
git tag -s -m "Debian package version <version>" pkg/envole/envole-4/<version>
62 3 Arnaud FORNEROT
</pre>
63 1 Arnaud FORNEROT
<version> = dernier numéro de paquet présent dans le changelog en remplaçant les tild ("~") par des underscore ("_")
64 1 Arnaud FORNEROT
65 3 Arnaud FORNEROT
*exemple*
66 3 Arnaud FORNEROT
<pre>
67 1 Arnaud FORNEROT
git checkout dist/ubuntu/lucid/master
68 1 Arnaud FORNEROT
git tag -s -m "Debian package 1.0-eole15~3.gbpb922df" pkg/envole/envole-4/1.0-eole15_3.gbpb922df
69 3 Arnaud FORNEROT
git push origin pkg/envole/envole-4/1.0-eole15_3.gbpb922df
70 1 Arnaud FORNEROT
</pre>
71 2 Arnaud FORNEROT
72 2 Arnaud FORNEROT
73 5 Daniel Dehennin
h3. dupliquer la branche de compilation 2.3 en 24
74 1 Arnaud FORNEROT
75 3 Arnaud FORNEROT
<pre>
76 1 Arnaud FORNEROT
git checkout dist/ubuntu/lucid/master
77 1 Arnaud FORNEROT
git checkout -b dist/envole/<version majeur envole>/master
78 3 Arnaud FORNEROT
</pre>
79 1 Arnaud FORNEROT
80 1 Arnaud FORNEROT
en ce moment le numéro est 4
81 1 Arnaud FORNEROT
82 2 Arnaud FORNEROT
83 2 Arnaud FORNEROT
84 5 Daniel Dehennin
h3. Suppression du fichier debian/changelog 
85 3 Arnaud FORNEROT
86 1 Arnaud FORNEROT
<pre>
87 1 Arnaud FORNEROT
git rm debian/changelog 
88 1 Arnaud FORNEROT
git commit -m "Suppression changelog pour builder EOLE"
89 3 Arnaud FORNEROT
</pre>
90 1 Arnaud FORNEROT
91 3 Arnaud FORNEROT
92 5 Daniel Dehennin
h3. Création du fichier debian/gpb.conf
93 3 Arnaud FORNEROT
94 3 Arnaud FORNEROT
<pre>
95 1 Arnaud FORNEROT
cat > debian/gpb.conf <<EOF
96 1 Arnaud FORNEROT
# Set per distribution debian tag
97 1 Arnaud FORNEROT
[DEFAULT]
98 1 Arnaud FORNEROT
debian-tag = debian/envole/4/%(version)s
99 1 Arnaud FORNEROT
EOF
100 1 Arnaud FORNEROT
101 1 Arnaud FORNEROT
git add debian/gpb.conf
102 3 Arnaud FORNEROT
</pre>
103 1 Arnaud FORNEROT
104 2 Arnaud FORNEROT
105 2 Arnaud FORNEROT
106 5 Daniel Dehennin
h3. Passage du projet en natif
107 1 Arnaud FORNEROT
108 3 Arnaud FORNEROT
<pre>
109 1 Arnaud FORNEROT
mkdir -p debian/source
110 1 Arnaud FORNEROT
cat > debian/source/format <<EOF
111 1 Arnaud FORNEROT
3.0 (native)
112 1 Arnaud FORNEROT
EOF
113 1 Arnaud FORNEROT
114 1 Arnaud FORNEROT
git add debian/source/format
115 3 Arnaud FORNEROT
</pre>
116 2 Arnaud FORNEROT
117 1 Arnaud FORNEROT
118 1 Arnaud FORNEROT
119 5 Daniel Dehennin
h3. Commit des changements de packaging
120 1 Arnaud FORNEROT
121 3 Arnaud FORNEROT
<pre>
122 1 Arnaud FORNEROT
git commit -m "Configuration pour builder EOLE"
123 1 Arnaud FORNEROT
git push -u
124 3 Arnaud FORNEROT
</pre>
125 2 Arnaud FORNEROT
126 1 Arnaud FORNEROT
127 1 Arnaud FORNEROT
128 5 Daniel Dehennin
h3. Tagger la branche master
129 1 Arnaud FORNEROT
130 1 Arnaud FORNEROT
<pre>
131 1 Arnaud FORNEROT
git checkout master
132 1 Arnaud FORNEROT
git tag -s -m "New Envole release 4.0" release/4.0
133 1 Arnaud FORNEROT
</pre>
134 1 Arnaud FORNEROT
135 5 Daniel Dehennin
h2. Si le projet est déjà compilé pour EOLE 2.4
136 5 Daniel Dehennin
137 5 Daniel Dehennin
[[MigrationAppliEnvole4#État-des-lieux-application-par-application|La plupart des préparatifs ont déjà été fait]].
138 5 Daniel Dehennin
139 5 Daniel Dehennin
Il faut migrer certains éléments pour l’utilisation des "dépôts Envole":http://eole.ac-dijon.fr/envole.
140 1 Arnaud FORNEROT
141 7 Daniel Dehennin
*@ATTENTION@* : Assurez-vous que les branches soient bien à jour par rapport aux dépôts sur *@dev-eole.ac-dijon.fr@*.
142 7 Daniel Dehennin
143 8 Daniel Dehennin
Les lignes de commandes suivantes sont faites pour fonctionner facilement au copier/coller, cela ne dispense pas de les lire afin d’essayer de comprendre ce quelles font.
144 8 Daniel Dehennin
145 8 Daniel Dehennin
Nous stockons des valeurs dans des variables afin de faciliter les manipulations.
146 8 Daniel Dehennin
147 8 Daniel Dehennin
h3. Créer la branche de packaging Envole 4
148 8 Daniel Dehennin
149 8 Daniel Dehennin
<pre>
150 8 Daniel Dehennin
moi@work:~/src/wordpress (master)$ git checkout -b dist/envole/4/master dist/ubuntu/precise/master
151 8 Daniel Dehennin
152 8 Daniel Dehennin
moi@work:~/src/wordpress (dist/envole/4/master)$ git push -u $(git config branch.master.remote) dist/envole/4/master
153 8 Daniel Dehennin
</pre>
154 8 Daniel Dehennin
155 8 Daniel Dehennin
h3. Renommé le tag de la dernière compilation EOLE 2.4
156 8 Daniel Dehennin
157 8 Daniel Dehennin
Un tag de la forme *@pkg/*@* est positionné sur la branche de packaging afin de pouvoir suivre les demandes de compilation.
158 8 Daniel Dehennin
159 8 Daniel Dehennin
h4. Déterminer le tag de la dernière compilation EOLE 2.4
160 8 Daniel Dehennin
161 8 Daniel Dehennin
<pre>
162 8 Daniel Dehennin
moi@work:~/src/wordpress (dist/envole/4/master)$ git describe --abbrev=0 dist/ubuntu/precise/master
163 8 Daniel Dehennin
pkg/eole/eole-2.4/3.6.1-eodist/envole/4/masterle3-1
164 8 Daniel Dehennin
165 8 Daniel Dehennin
moi@work:~/src/wordpress ()$ EOLE_TAG=$(git describe --abbrev=0 dist/ubuntu/precise/master)
166 8 Daniel Dehennin
</pre>
167 8 Daniel Dehennin
168 8 Daniel Dehennin
h4. Vérifier le message du tag
169 8 Daniel Dehennin
170 8 Daniel Dehennin
Nous allons réutiliser le message du tag de la dernière compilation EOLE 2.4, la première ligne non vide doit contenir la chaîne *@New package version@* :
171 8 Daniel Dehennin
172 8 Daniel Dehennin
<pre>
173 8 Daniel Dehennin
moi@work:~/src/wordpress (dist/envole/4/master)$ git show -s --format="format:" ${EOLE_TAG} | perl -lane 'print if (/New package version/ .. /^-+BEGIN/) =~ /^\d+$/'
174 8 Daniel Dehennin
175 8 Daniel Dehennin
moi@work:~/src/wordpress (dist/envole/4/master)$ EOLE_MESSAGE=$(git show -s --format="format:" ${EOLE_TAG} | perl -lane 'print if (/New package version/ .. /^-+BEGIN/) =~ /^\d+$/')
176 8 Daniel Dehennin
</pre>
177 8 Daniel Dehennin
178 8 Daniel Dehennin
h4. Dupliquer le tag de la dernière compilation EOLE 2.4 en premier tag de compilation Envole
179 8 Daniel Dehennin
180 8 Daniel Dehennin
<pre>
181 8 Daniel Dehennin
moi@work:~/src/wordpress (dist/envole/4/master)$ git tag -s -m "${EOLE_MESSAGE}" pkg/envole/envole-4/${VERSION} ${EOLE_TAG}^{}
182 8 Daniel Dehennin
</pre>
183 8 Daniel Dehennin
184 8 Daniel Dehennin
On vérifie le message:
185 8 Daniel Dehennin
186 8 Daniel Dehennin
<pre>
187 8 Daniel Dehennin
moi@work:~/src/wordpress (dist/envole/4/master)$ git show pkg/envole/envole-4/${VERSION}
188 8 Daniel Dehennin
</pre>
189 8 Daniel Dehennin
190 8 Daniel Dehennin
h4. Pousser le nouveau tag
191 8 Daniel Dehennin
192 8 Daniel Dehennin
<pre>
193 8 Daniel Dehennin
moi@work:~/src/wordpress (dist/envole/4/master)$ git push $(git config branch.master.remote) pkg/envole/envole-4/${VERSION}
194 8 Daniel Dehennin
</pre>
195 8 Daniel Dehennin
196 6 Daniel Dehennin
h3. Renommé le tag du dernier paquet EOLE 2.4
197 6 Daniel Dehennin
198 8 Daniel Dehennin
Un tag de la forme *@debian/*@* est créé par l’infrastructure de compilation de paquet afin de gérer automatiquement le fichier *@debian/changelog@*.
199 8 Daniel Dehennin
200 6 Daniel Dehennin
h4. Déterminer le tag du dernier paquet EOLE 2.4
201 1 Arnaud FORNEROT
202 8 Daniel Dehennin
<pre>
203 8 Daniel Dehennin
moi@work:~/src/wordpress (dist/envole/4/master)$ awk -F'=' '/^debian-tag/ {print $2}' debian/gbp.conf | sed -e "s,%(version)s,${VERSION},"
204 8 Daniel Dehennin
 debian/eole/2.4/3.6.1-eole3-1
205 1 Arnaud FORNEROT
206 8 Daniel Dehennin
moi@work:~/src/wordpress (dist/envole/4/master)$ EOLE_DEB_TAG=$(echo $(awk -F'=' '/^debian-tag/ {print $2}' debian/gbp.conf | sed -e "s,%(version)s,${VERSION},"))
207 8 Daniel Dehennin
</pre>
208 8 Daniel Dehennin
209 8 Daniel Dehennin
h4. Récupérer le tag du dernier paquet EOLE 2.4
210 8 Daniel Dehennin
211 8 Daniel Dehennin
Les tag de la forme *@debian/*@* ne pointe sur aucune branche, ils ne sont utilisés que par l’infrastructure de compilation de paquet et ne sont donc que sur les dépôts *@dev-eole.ac-dijon.fr@*.
212 8 Daniel Dehennin
213 8 Daniel Dehennin
Pour récupérer le dernier tag de paquet:
214 8 Daniel Dehennin
215 1 Arnaud FORNEROT
<pre>
216 8 Daniel Dehennin
moi@work:~/src/wordpress (dist/envole/4/master)$ git fetch $(git config branch.master.remote) refs/tags/${EOLE_DEB_TAG}:refs/tags/${EOLE_DEB_TAG}
217 1 Arnaud FORNEROT
</pre>
218 6 Daniel Dehennin
219 6 Daniel Dehennin
h4. Vérifier le message du tag
220 1 Arnaud FORNEROT
221 6 Daniel Dehennin
<pre>
222 8 Daniel Dehennin
moi@work:~/src/wordpress (dist/envole/4/master)$ git show -s --format="format:" ${EOLE_DEB_TAG} | perl -lane 'print if (/Debian release/ .. /^-+BEGIN/) =~ /^\d+$/'
223 8 Daniel Dehennin
eole-wordpress Debian release 3.6.1-eole3-1
224 8 Daniel Dehennin
225 8 Daniel Dehennin
moi@work:~/src/wordpress (dist/envole/4/master)$ DEB_MESSAGE=$(git show -s --format="format:" ${EOLE_DEB_TAG} | perl -lane 'print if (/Debian release/ .. /^-+BEGIN/) =~ /^\d+$/')
226 6 Daniel Dehennin
</pre>
227 1 Arnaud FORNEROT
228 8 Daniel Dehennin
229 6 Daniel Dehennin
h4. Dupliquer le tag du dernier paquet EOLE 2.4 en premier tag de paquet Envole
230 1 Arnaud FORNEROT
231 1 Arnaud FORNEROT
<pre>
232 8 Daniel Dehennin
moi@work:~/src/wordpress (dist/envole/4/master)$ git tag -s -m "${DEB_MESSAGE}" debian/envole/4/${VERSION} ${EOLE_DEB_TAG}^{}
233 1 Arnaud FORNEROT
</pre>
234 1 Arnaud FORNEROT
235 8 Daniel Dehennin
On vérifie le message
236 1 Arnaud FORNEROT
237 1 Arnaud FORNEROT
<pre>
238 8 Daniel Dehennin
moi@work:~/src/wordpress (dist/envole/4/master)$ git show debian/envole/4/${VERSION}
239 1 Arnaud FORNEROT
</pre>
240 1 Arnaud FORNEROT
241 8 Daniel Dehennin
242 8 Daniel Dehennin
h4. Pousser le nouveau tag
243 8 Daniel Dehennin
244 8 Daniel Dehennin
<pre>
245 8 Daniel Dehennin
moi@work:~/src/wordpress (dist/envole/4/master)$ git push $(git config branch.master.remote) debian/envole/4/${VERSION}
246 8 Daniel Dehennin
</pre>
247 8 Daniel Dehennin
248 8 Daniel Dehennin
249 6 Daniel Dehennin
h3. Modifier la configuration git-buildpackage
250 6 Daniel Dehennin
251 8 Daniel Dehennin
Il faut modifier modifier le fichier de configuration *@debian/gbp.conf@* afin de modifier le format des tags de suivi des compilations:
252 8 Daniel Dehennin
253 8 Daniel Dehennin
<pre>
254 8 Daniel Dehennin
moi@work:~/src/wordpress (dist/envole/4/master)$ sed -i -e 's,^debian-tag.*,debian-tag = debian/envole/4/%(version)s,' debian/gbp.conf
255 8 Daniel Dehennin
moi@work:~/src/wordpress (dist/envole/4/master)$ git add debian/gbp.conf
256 8 Daniel Dehennin
moi@work:~/src/wordpress (dist/envole/4/master)$ git commit -m "Configuration pour builder EOLE"
257 8 Daniel Dehennin
</pre>
258 8 Daniel Dehennin
259 8 Daniel Dehennin
260 8 Daniel Dehennin
261 1 Arnaud FORNEROT
262 1 Arnaud FORNEROT
h2. Compilation
263 3 Arnaud FORNEROT
264 1 Arnaud FORNEROT
<pre>
265 3 Arnaud FORNEROT
git package -b
266 1 Arnaud FORNEROT
</pre>
267 1 Arnaud FORNEROT
donc par défaut c'est en expérimental
268 3 Arnaud FORNEROT
269 1 Arnaud FORNEROT
<pre>
270 3 Arnaud FORNEROT
git package -b -d envole-4/unstable
271 2 Arnaud FORNEROT
</pre>
272 2 Arnaud FORNEROT
pour une compilation en dev
273 1 Arnaud FORNEROT
274 1 Arnaud FORNEROT
275 1 Arnaud FORNEROT
276 1 Arnaud FORNEROT
h2. Pour tester un paquet en expérimental
277 3 Arnaud FORNEROT
278 3 Arnaud FORNEROT
sur environnement de test faire
279 3 Arnaud FORNEROT
<pre>
280 3 Arnaud FORNEROT
Query-Auto -V test-eole.ac-dijon.fr
281 1 Arnaud FORNEROT
</pre>
282 3 Arnaud FORNEROT
283 1 Arnaud FORNEROT
<pre>
284 1 Arnaud FORNEROT
cat > /etc/apt/sources.list.d/envole.list <<EOF
285 1 Arnaud FORNEROT
deb http://test-eole.ac-dijon.fr/envole envole-4-experimental main
286 3 Arnaud FORNEROT
EOF
287 1 Arnaud FORNEROT
</pre>
288 1 Arnaud FORNEROT
289 2 Arnaud FORNEROT
290 2 Arnaud FORNEROT
291 1 Arnaud FORNEROT
h2. Installer un paquet expérimental
292 3 Arnaud FORNEROT
293 1 Arnaud FORNEROT
<pre>
294 2 Arnaud FORNEROT
Query-Auto
295 3 Arnaud FORNEROT
apt-cache policy "nom du paquet"
296 3 Arnaud FORNEROT
</pre>
297 1 Arnaud FORNEROT
298 1 Arnaud FORNEROT
la commande retourne le numero de version du paquet par dépot
299 1 Arnaud FORNEROT
Il faudra faire un apt-get install "nom du paquet"="version du paquet"
300 1 Arnaud FORNEROT
301 3 Arnaud FORNEROT
exemple
302 1 Arnaud FORNEROT
<pre>
303 3 Arnaud FORNEROT
apt-get install eole-posh-profil=4.0-1~1.gbpcc1457
304 1 Arnaud FORNEROT
</pre>
305 2 Arnaud FORNEROT
306 1 Arnaud FORNEROT
307 2 Arnaud FORNEROT
308 1 Arnaud FORNEROT
h2. Installer un paquet non expérimental
309 1 Arnaud FORNEROT
310 3 Arnaud FORNEROT
C'est comme d'habitude
311 1 Arnaud FORNEROT
<pre>
312 1 Arnaud FORNEROT
Query-Auto -D -V test-eole.ac-dijon.fr
313 3 Arnaud FORNEROT
apt-eole install eole-XXX XXX-apps
314 1 Arnaud FORNEROT
</pre>
315 2 Arnaud FORNEROT
316 2 Arnaud FORNEROT
317 1 Arnaud FORNEROT
318 2 Arnaud FORNEROT
h2. Adaptation du packaging 
319 1 Arnaud FORNEROT
320 1 Arnaud FORNEROT
Suivre les recommandations du wiki suivant
321 1 Arnaud FORNEROT
https://dev-eole.ac-dijon.fr/projects/envole/wiki/MigrationAppliEnvole4