PreparationEnvole4 » Historique » Version 11
Daniel Dehennin, 07/02/2015 00:42
Ajout d’un TODO
1 | 4 | Daniel Dehennin | {{toc}} |
---|---|---|---|
2 | 4 | Daniel Dehennin | |
3 | 11 | Daniel Dehennin | h1. TODO |
4 | 11 | Daniel Dehennin | |
5 | 11 | Daniel Dehennin | * Séparer cette documentation en partie ; |
6 | 11 | Daniel Dehennin | * Faire une page « point d’entrée » qui pointerait sur deux sous-pages pour les deux cas de figure |
7 | 11 | Daniel Dehennin | * Séparer cette page en deux parties, une par cas de figure |
8 | 11 | Daniel Dehennin | |
9 | 1 | Arnaud FORNEROT | h1. Preparation Envole 4 |
10 | 1 | Arnaud FORNEROT | |
11 | 10 | Daniel Dehennin | *@ATTENTION@* : 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 qu’elles font. |
12 | 1 | Arnaud FORNEROT | |
13 | 10 | Daniel Dehennin | *@ATTENTION@* : Les commandes de création "d’étiquettes":http://git-scm.com/book/fr/Les-bases-de-Git-Étiquetage (ou _tag_ en anglais) utilisent les signatures "GnuPG":https://fr.wikipedia.org/wiki/GnuPG. |
14 | 10 | Daniel Dehennin | Vous devez par conséquent avoir une clef associée à votre adresse de messagerie électronique configurée dans GIT. |
15 | 10 | Daniel Dehennin | Vous pouvez utiliser la documentation "OpenPGP Best Practices":https://help.riseup.net/en/security/message-security/openpgp/gpg-best-practices (en anglais) |
16 | 1 | Arnaud FORNEROT | <pre> |
17 | 10 | Daniel Dehennin | user@work:~$ git config user.email |
18 | 10 | Daniel Dehennin | moi@example.net |
19 | 10 | Daniel Dehennin | |
20 | 10 | Daniel Dehennin | user@work:~$ gpg --list-secret-keys $(git config user.email) |
21 | 10 | Daniel Dehennin | sec 3072D/0xbiduletrucmachinchose 2012-01-11 [expire : 2022-01-08] |
22 | 10 | Daniel Dehennin | Empreinte de la clef = TRUC BIDU LECH OSE MACH 1CHO UETT ETTR UCMU CH02 |
23 | 10 | Daniel Dehennin | uid Moi Développeur <moi.developpeur@example.net> |
24 | 1 | Arnaud FORNEROT | </pre> |
25 | 1 | Arnaud FORNEROT | |
26 | 10 | Daniel Dehennin | Nous stockons des valeurs dans des variables afin de faciliter les manipulations. |
27 | 3 | Arnaud FORNEROT | |
28 | 10 | Daniel Dehennin | * Répertoire où sont stocker les dépôts GIT de l’utilisateur |
29 | 3 | Arnaud FORNEROT | <pre> |
30 | 10 | Daniel Dehennin | user@work:~$ H_SRC="${HOME}/src" |
31 | 10 | Daniel Dehennin | user@work:~$ mkdir -p "${H_SRC}" |
32 | 1 | Arnaud FORNEROT | </pre> |
33 | 10 | Daniel Dehennin | * Numéro de version du projet Enole |
34 | 1 | Arnaud FORNEROT | <pre> |
35 | 10 | Daniel Dehennin | user@work:~$ ENVOLE_VERSION=4 |
36 | 1 | Arnaud FORNEROT | </pre> |
37 | 1 | Arnaud FORNEROT | |
38 | 1 | Arnaud FORNEROT | |
39 | 1 | Arnaud FORNEROT | |
40 | 1 | Arnaud FORNEROT | |
41 | 10 | Daniel Dehennin | |
42 | 10 | Daniel Dehennin | h2. Installation de project:git-package par clonage |
43 | 10 | Daniel Dehennin | |
44 | 10 | Daniel Dehennin | Les demandes de compilation des paquets se font entièrement par GIT. |
45 | 10 | Daniel Dehennin | |
46 | 10 | Daniel Dehennin | Vous pouvez les faires à la main en créant des "étiquettes":http://git-scm.com/book/fr/Les-bases-de-Git-Étiquetage mais la commande project:git-package permet de simplifier le travail. |
47 | 10 | Daniel Dehennin | |
48 | 10 | Daniel Dehennin | L’installation de l’outil project:git-package par un clone GIT permet de le mettre à jour par un simple _git pull_. |
49 | 10 | Daniel Dehennin | |
50 | 10 | Daniel Dehennin | |
51 | 10 | Daniel Dehennin | |
52 | 10 | Daniel Dehennin | h3. Désinstaller le paquet deb s’il est présent |
53 | 10 | Daniel Dehennin | |
54 | 10 | Daniel Dehennin | * Vérifier la présence du paquet |
55 | 1 | Arnaud FORNEROT | <pre> |
56 | 10 | Daniel Dehennin | user@work:~$ dpkg -l git-package |
57 | 1 | Arnaud FORNEROT | </pre> |
58 | 10 | Daniel Dehennin | * Le désinstaller s’il est présent. |
59 | 10 | Daniel Dehennin | <pre> |
60 | 10 | Daniel Dehennin | user@work:~$ sudo apt-get remove git-pakage |
61 | 10 | Daniel Dehennin | </pre> |
62 | 1 | Arnaud FORNEROT | |
63 | 1 | Arnaud FORNEROT | |
64 | 1 | Arnaud FORNEROT | |
65 | 10 | Daniel Dehennin | h3. Installer project:git-package |
66 | 1 | Arnaud FORNEROT | |
67 | 10 | Daniel Dehennin | *@ATTENTION@* : Utiliser le bon chemin vers le repertoire de stockage du clone de project:git-package |
68 | 1 | Arnaud FORNEROT | |
69 | 10 | Daniel Dehennin | Suivre la documentation [[git-package:|d’installation et configuration]]. |
70 | 10 | Daniel Dehennin | |
71 | 10 | Daniel Dehennin | |
72 | 10 | Daniel Dehennin | |
73 | 10 | Daniel Dehennin | h3. Paramétrage de project:git-package |
74 | 10 | Daniel Dehennin | |
75 | 10 | Daniel Dehennin | Vous pouvez configurer la liste des distributions qui seront utilisées par le "complètement automatique Bash":https://fr.wikipedia.org/wiki/Compl%C3%A8tement_automatique#Interpr.C3.A9teurs_de_commandes : |
76 | 1 | Arnaud FORNEROT | <pre> |
77 | 10 | Daniel Dehennin | user@work:~$ git config --global --add package.distribution envole-4/experimental |
78 | 10 | Daniel Dehennin | user@work:~$ git config --global --add package.distribution envole-4/unstable |
79 | 10 | Daniel Dehennin | user@work:~$ git config --global --add package.distribution eole-2.4/experimental |
80 | 10 | Daniel Dehennin | user@work:~$ git config --global --add package.distribution eole-2.4/unstable |
81 | 1 | Arnaud FORNEROT | </pre> |
82 | 1 | Arnaud FORNEROT | |
83 | 10 | Daniel Dehennin | En sachant que la commande de compilation utilisera la premiere distribution dans le cas où l'option *@-d|--distrib@* de project:git-package n'est pas spécifiée. |
84 | 10 | Daniel Dehennin | |
85 | 10 | Daniel Dehennin | Pour connaître la distribution par défaut : |
86 | 10 | Daniel Dehennin | |
87 | 1 | Arnaud FORNEROT | <pre> |
88 | 10 | Daniel Dehennin | user@work:~$ git config package.distribution || echo eole-2.4/experimental | head -n 1 |
89 | 1 | Arnaud FORNEROT | </pre> |
90 | 1 | Arnaud FORNEROT | |
91 | 1 | Arnaud FORNEROT | |
92 | 1 | Arnaud FORNEROT | |
93 | 1 | Arnaud FORNEROT | |
94 | 10 | Daniel Dehennin | h2. Migrer un projet EOLE 2.3 vers Envole 4 |
95 | 1 | Arnaud FORNEROT | |
96 | 10 | Daniel Dehennin | * Demander à EOLE l'activation du projet pour l’infrastructure de compilation EOLE |
97 | 10 | Daniel Dehennin | * Se positionner sur la branche d’empaquetage EOLE 2.3 |
98 | 10 | Daniel Dehennin | <pre> |
99 | 10 | Daniel Dehennin | user@work:~src/etherpad (master=)$ git checkout dist/ubuntu/lucid/master |
100 | 1 | Arnaud FORNEROT | |
101 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/ubuntu/lucid/master<)$ git pull |
102 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/ubuntu/lucid/master=)$ |
103 | 10 | Daniel Dehennin | </pre> |
104 | 3 | Arnaud FORNEROT | |
105 | 2 | Arnaud FORNEROT | |
106 | 10 | Daniel Dehennin | |
107 | 10 | Daniel Dehennin | h3. Créer une étiquette de la dernière compilation de paquet EOLE 2.3 |
108 | 10 | Daniel Dehennin | |
109 | 10 | Daniel Dehennin | Cela permet de déclarer le dernier paquet à l’infrastructure de compilation EOLE. |
110 | 10 | Daniel Dehennin | |
111 | 10 | Daniel Dehennin | Le fichier *@debian/changelog@* est mis à jour automatiquement depuis les logs GIT en ce basant sur le paquet précédent, il est donc important d’avoir des messages de commit [[eole:GitBonnesPratiques#De-lécriture-des-ChangeLog|qui ont du sens]]. |
112 | 10 | Daniel Dehennin | |
113 | 10 | Daniel Dehennin | |
114 | 10 | Daniel Dehennin | h4. Déterminer l’étiquette du dernier paquet EOLE 2.3 |
115 | 10 | Daniel Dehennin | |
116 | 10 | Daniel Dehennin | * Déterminer le dernier commit de compilation EOLE 2.3 |
117 | 1 | Arnaud FORNEROT | <pre> |
118 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/ubuntu/lucid/master=)$ git rev-list --oneline --no-merges -F --grep '## Nouveau paquet' --max-count 1 dist/ubuntu/lucid/master |
119 | 10 | Daniel Dehennin | b6f847f8859db1c77355f51300052bb95d4f202b ## Nouveau paquet compilé par afornerot : eole-etherpad (1.4.1-eole3~20.gbpfb4d64) eole-2.3-proposed depuis dist/ubuntu/lucid/master |
120 | 10 | Daniel Dehennin | |
121 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/ubuntu/lucid/master=)$ LAST_23_PKG_COMMIT=$(git rev-list --no-merges -F --grep '## Nouveau paquet' --max-count 1 dist/ubuntu/lucid/master) |
122 | 10 | Daniel Dehennin | |
123 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/ubuntu/lucid/master=)$ LAST_23_PKG_MESSAGE=$(git log --no-walk --oneline ${LAST_23_PKG_COMMIT}) |
124 | 1 | Arnaud FORNEROT | </pre> |
125 | 10 | Daniel Dehennin | * Extraire la version du paquet EOLE 2.3 |
126 | 10 | Daniel Dehennin | <pre> |
127 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/ubuntu/lucid/master=)$ echo ${LAST_23_PKG_MESSAGE} | sed -E -e 's,[^(]+\(([^)]+).*,\1,' |
128 | 10 | Daniel Dehennin | 1.4.1-eole3~20.gbpfb4d64 |
129 | 1 | Arnaud FORNEROT | |
130 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/ubuntu/lucid/master=)$ VERSION_23=$(echo ${LAST_23_PKG_MESSAGE} | sed -E -e 's,[^(]+\(([^)]+).*,\1,') |
131 | 10 | Daniel Dehennin | </pre> |
132 | 10 | Daniel Dehennin | * Définir l’étiquette du dernier paquet EOLE 2.3 (les "tildes":https://fr.wiktionary.org/wiki/tilde#Nom_commun (*@~@*) sont remplacés par des tirets bas (*@_@*)) |
133 | 1 | Arnaud FORNEROT | <pre> |
134 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/ubuntu/lucid/master=)$ echo "pkg/envole/envole-4/${VERSION_23}" | sed -e 's,~,_,g' |
135 | 10 | Daniel Dehennin | pkg/envole/envole-4/1.4.1-eole3_20.gbpfb4d64 |
136 | 10 | Daniel Dehennin | |
137 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/ubuntu/lucid/master=)$ TAG_23=$(echo "pkg/envole/envole-4/${VERSION_23}" | sed -e 's,~,_,g') |
138 | 1 | Arnaud FORNEROT | </pre> |
139 | 1 | Arnaud FORNEROT | |
140 | 1 | Arnaud FORNEROT | |
141 | 10 | Daniel Dehennin | h4. Créer l’étiquette pour la dernière compilation EOLE 2.3 |
142 | 1 | Arnaud FORNEROT | |
143 | 10 | Daniel Dehennin | * Créer l’étiquette |
144 | 1 | Arnaud FORNEROT | <pre> |
145 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/ubuntu/lucid/master=)$ git tag -s -m "Debian package version ${VERSION_23}" "${TAG_23}" ${LAST_23_PKG_COMMIT} |
146 | 1 | Arnaud FORNEROT | </pre> |
147 | 10 | Daniel Dehennin | * Vérifier le contenu de l’étiquette |
148 | 10 | Daniel Dehennin | <pre> |
149 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/ubuntu/lucid/master=)$ git show ${TAG_23} |
150 | 10 | Daniel Dehennin | </pre> |
151 | 3 | Arnaud FORNEROT | |
152 | 1 | Arnaud FORNEROT | |
153 | 10 | Daniel Dehennin | h4. Publier l’étiquette pour la dernière compilation EOLE 2.3 |
154 | 1 | Arnaud FORNEROT | |
155 | 10 | Daniel Dehennin | <pre> |
156 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/ubuntu/lucid/master=)$ git push $(git config branch.master.remote) ${TAG_23} |
157 | 10 | Daniel Dehennin | </pre> |
158 | 3 | Arnaud FORNEROT | |
159 | 2 | Arnaud FORNEROT | |
160 | 10 | Daniel Dehennin | |
161 | 10 | Daniel Dehennin | h3. Dupliquer la branche de compilation EOLE 2.3 en branche de compilation Envole 4 |
162 | 10 | Daniel Dehennin | |
163 | 1 | Arnaud FORNEROT | <pre> |
164 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/ubuntu/lucid/master=)$ git checkout -b dist/envole/${ENVOLE_VERSION}/master dist/ubuntu/lucid/master |
165 | 10 | Daniel Dehennin | |
166 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/envole/4/master)$ git push -u $(git config branch.master.remote) dist/envole/${ENVOLE_VERSION}/master |
167 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/envole/4/master=)$ |
168 | 1 | Arnaud FORNEROT | </pre> |
169 | 2 | Arnaud FORNEROT | |
170 | 1 | Arnaud FORNEROT | |
171 | 1 | Arnaud FORNEROT | |
172 | 10 | Daniel Dehennin | h3. Supprimer le fichier debian/changelog |
173 | 10 | Daniel Dehennin | |
174 | 10 | Daniel Dehennin | Le fichier *@debian/changelog@* est [[eole:EoleDebianPackaging24#debianchangelog|géré automatiquement par l’infrastructure de compilation]] : |
175 | 10 | Daniel Dehennin | |
176 | 1 | Arnaud FORNEROT | <pre> |
177 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/envole/4/master=)$ git rm debian/changelog |
178 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/envole/4/master+)$ git commit -m "Suppression du debian/changelog |
179 | 10 | Daniel Dehennin | |
180 | 10 | Daniel Dehennin | Le fichier debian/changelog est géré automatiquement par |
181 | 10 | Daniel Dehennin | l’infrastructure de compilation EOLE." |
182 | 10 | Daniel Dehennin | |
183 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/envole/4/master>)$ |
184 | 10 | Daniel Dehennin | </pre> |
185 | 10 | Daniel Dehennin | |
186 | 10 | Daniel Dehennin | |
187 | 10 | Daniel Dehennin | |
188 | 10 | Daniel Dehennin | h3. Créer le fichier debian/gbp.conf |
189 | 10 | Daniel Dehennin | |
190 | 10 | Daniel Dehennin | Ce fichier permet à l’infrastructure de compilation EOLE de suivre les modifications sur le fichier *@debian/changelog@* |
191 | 10 | Daniel Dehennin | |
192 | 10 | Daniel Dehennin | <pre> |
193 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/envole/4/master>)$ cat >| debian/gbp.conf <<EOF |
194 | 1 | Arnaud FORNEROT | # Set per distribution debian tag |
195 | 1 | Arnaud FORNEROT | [DEFAULT] |
196 | 1 | Arnaud FORNEROT | debian-tag = debian/envole/4/%(version)s |
197 | 1 | Arnaud FORNEROT | EOF |
198 | 8 | Daniel Dehennin | |
199 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/envole/4/master%>)$ git add debian/gbp.conf |
200 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/envole/4/master+>)$ |
201 | 1 | Arnaud FORNEROT | </pre> |
202 | 1 | Arnaud FORNEROT | |
203 | 1 | Arnaud FORNEROT | |
204 | 1 | Arnaud FORNEROT | |
205 | 10 | Daniel Dehennin | h3. Passer le projet en paquet natif |
206 | 1 | Arnaud FORNEROT | |
207 | 10 | Daniel Dehennin | Pour la gestion des [[eole:EoleDebianPackaging24#debiansourceformat|numéros de version]] de paquet: |
208 | 10 | Daniel Dehennin | |
209 | 8 | Daniel Dehennin | <pre> |
210 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/envole/4/master+>)$ mkdir -p debian/source |
211 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/envole/4/master+>)$ cat >| debian/source/format <<EOF |
212 | 1 | Arnaud FORNEROT | 3.0 (native) |
213 | 1 | Arnaud FORNEROT | EOF |
214 | 1 | Arnaud FORNEROT | |
215 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/envole/4/master*+>)$ git add debian/source/format |
216 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/envole/4/master+>)$ |
217 | 1 | Arnaud FORNEROT | </pre> |
218 | 8 | Daniel Dehennin | |
219 | 8 | Daniel Dehennin | |
220 | 1 | Arnaud FORNEROT | |
221 | 10 | Daniel Dehennin | h3. Valider les changements d’empaquetage |
222 | 1 | Arnaud FORNEROT | |
223 | 1 | Arnaud FORNEROT | <pre> |
224 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/envole/4/master+>)$ git commit -m "Configuration pour l’infrastructure de compilation EOLE |
225 | 8 | Daniel Dehennin | |
226 | 10 | Daniel Dehennin | * debian/changelog: Suppression, il est géré automatiquement par |
227 | 10 | Daniel Dehennin | l’infrastructure de compilation EOLE |
228 | 1 | Arnaud FORNEROT | |
229 | 10 | Daniel Dehennin | * debian/gbp.conf: Définition du format des étiquettes de compilation |
230 | 10 | Daniel Dehennin | pour Envole. |
231 | 8 | Daniel Dehennin | |
232 | 10 | Daniel Dehennin | * debian/source/format: Utilisation du format « 3.0 (native) »" |
233 | 1 | Arnaud FORNEROT | |
234 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/envole/4/master>)$ git push -u $(git branch.master.remote) dist/envole/4/master |
235 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/envole/4/master=)$ |
236 | 1 | Arnaud FORNEROT | </pre> |
237 | 1 | Arnaud FORNEROT | |
238 | 8 | Daniel Dehennin | |
239 | 10 | Daniel Dehennin | |
240 | 10 | Daniel Dehennin | |
241 | 10 | Daniel Dehennin | h2. Migrer un projet EOLE 2.4 vers Envole 4 |
242 | 10 | Daniel Dehennin | |
243 | 8 | Daniel Dehennin | [[MigrationAppliEnvole4#État-des-lieux-application-par-application|La plupart des préparatifs ont déjà été fait]]. |
244 | 1 | Arnaud FORNEROT | |
245 | 1 | Arnaud FORNEROT | Il faut migrer certains éléments pour l’utilisation des "dépôts Envole":http://eole.ac-dijon.fr/envole. |
246 | 1 | Arnaud FORNEROT | |
247 | 8 | Daniel Dehennin | *@ATTENTION@* : Assurez-vous que les branches soient bien à jour par rapport aux dépôts sur *@dev-eole.ac-dijon.fr@*. |
248 | 8 | Daniel Dehennin | |
249 | 1 | Arnaud FORNEROT | |
250 | 10 | Daniel Dehennin | |
251 | 10 | Daniel Dehennin | h3. Dupliquer la branche de compilation EOLE 2.3 en branche de compilation Envole 4 |
252 | 10 | Daniel Dehennin | |
253 | 1 | Arnaud FORNEROT | <pre> |
254 | 10 | Daniel Dehennin | user@work:~/src/wordpress (master)$ git checkout -b dist/envole/4/master dist/ubuntu/precise/master |
255 | 8 | Daniel Dehennin | |
256 | 10 | Daniel Dehennin | user@work:~/src/wordpress (dist/envole/4/master)$ git push -u $(git config branch.master.remote) dist/envole/4/master |
257 | 10 | Daniel Dehennin | user@work:~/src/wordpress (dist/envole/4/master=)$ |
258 | 1 | Arnaud FORNEROT | </pre> |
259 | 8 | Daniel Dehennin | |
260 | 8 | Daniel Dehennin | |
261 | 8 | Daniel Dehennin | |
262 | 10 | Daniel Dehennin | h3. Renommer l’étiquette de la dernière compilation EOLE 2.4 |
263 | 1 | Arnaud FORNEROT | |
264 | 10 | Daniel Dehennin | Les "étiquettes":http://git-scm.com/book/fr/Les-bases-de-Git-Étiquetage de la forme *@pkg/*@* sont positionnées sur la branche d’empaquetage afin de pouvoir suivre les demandes de compilation. |
265 | 10 | Daniel Dehennin | |
266 | 10 | Daniel Dehennin | |
267 | 10 | Daniel Dehennin | h4. Déterminer l’étiquette de la dernière compilation EOLE 2.4 |
268 | 10 | Daniel Dehennin | |
269 | 8 | Daniel Dehennin | <pre> |
270 | 10 | Daniel Dehennin | user@work:~/src/wordpress (dist/envole/4/master=)$ git describe --abbrev=0 dist/ubuntu/precise/master |
271 | 8 | Daniel Dehennin | pkg/eole/eole-2.4/3.6.1-eodist/envole/4/masterle3-1 |
272 | 1 | Arnaud FORNEROT | |
273 | 10 | Daniel Dehennin | user@work:~/src/wordpress (dist/envole/4/master=)$ EOLE_TAG=$(git describe --abbrev=0 dist/ubuntu/precise/master) |
274 | 1 | Arnaud FORNEROT | </pre> |
275 | 1 | Arnaud FORNEROT | |
276 | 1 | Arnaud FORNEROT | |
277 | 10 | Daniel Dehennin | h4. Vérifier le message de l’étiquette |
278 | 1 | Arnaud FORNEROT | |
279 | 10 | Daniel Dehennin | Nous allons réutiliser le message de l’étiquette de la dernière compilation EOLE 2.4, la première ligne non vide doit contenir la chaîne *@New package version@* : |
280 | 10 | Daniel Dehennin | |
281 | 1 | Arnaud FORNEROT | <pre> |
282 | 10 | Daniel Dehennin | user@work:~/src/wordpress (dist/envole/4/master=)$ git show -s --format="format:" ${EOLE_TAG} | perl -lane 'print if (/New package version/ .. /^-+BEGIN/) =~ /^\d+$/' |
283 | 10 | Daniel Dehennin | Lionel MORIN: New package version 3.6.1-eole3-1 for eole-2.4-unstable. |
284 | 10 | Daniel Dehennin | [...] |
285 | 1 | Arnaud FORNEROT | |
286 | 10 | Daniel Dehennin | user@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+$/') |
287 | 1 | Arnaud FORNEROT | </pre> |
288 | 1 | Arnaud FORNEROT | |
289 | 8 | Daniel Dehennin | |
290 | 10 | Daniel Dehennin | h4. Dupliquer l’étiquette de la dernière compilation EOLE 2.4 en première étiquette de compilation Envole |
291 | 10 | Daniel Dehennin | |
292 | 10 | Daniel Dehennin | * Créer l’"étiquette":http://git-scm.com/book/fr/Les-bases-de-Git-Étiquetage |
293 | 1 | Arnaud FORNEROT | <pre> |
294 | 10 | Daniel Dehennin | user@work:~/src/wordpress (dist/envole/4/master=)$ git tag -s -m "${EOLE_MESSAGE}" pkg/envole/envole-4/${VERSION} ${EOLE_TAG}^{} |
295 | 1 | Arnaud FORNEROT | </pre> |
296 | 10 | Daniel Dehennin | * Vérifier le message de l’"étiquette":http://git-scm.com/book/fr/Les-bases-de-Git-Étiquetage |
297 | 1 | Arnaud FORNEROT | <pre> |
298 | 10 | Daniel Dehennin | user@work:~/src/wordpress (dist/envole/4/master=)$ git show pkg/envole/envole-4/${VERSION} |
299 | 8 | Daniel Dehennin | </pre> |
300 | 8 | Daniel Dehennin | |
301 | 8 | Daniel Dehennin | |
302 | 10 | Daniel Dehennin | h4. Pousser la nouvelle étiquette |
303 | 10 | Daniel Dehennin | |
304 | 1 | Arnaud FORNEROT | <pre> |
305 | 10 | Daniel Dehennin | user@work:~/src/wordpress (dist/envole/4/master=)$ git push $(git config branch.master.remote) pkg/envole/envole-4/${VERSION} |
306 | 1 | Arnaud FORNEROT | </pre> |
307 | 1 | Arnaud FORNEROT | |
308 | 1 | Arnaud FORNEROT | |
309 | 1 | Arnaud FORNEROT | |
310 | 10 | Daniel Dehennin | h3. Renommé l’étiquette du dernier paquet EOLE 2.4 |
311 | 1 | Arnaud FORNEROT | |
312 | 10 | Daniel Dehennin | Une étiquette de la forme *@debian/*@* est créé par l’infrastructure de compilation de paquet afin de gérer automatiquement le fichier *@debian/changelog@*. |
313 | 10 | Daniel Dehennin | |
314 | 10 | Daniel Dehennin | |
315 | 10 | Daniel Dehennin | h4. Déterminer l’étiquette du dernier paquet EOLE 2.4 |
316 | 10 | Daniel Dehennin | |
317 | 1 | Arnaud FORNEROT | <pre> |
318 | 10 | Daniel Dehennin | user@work:~/src/wordpress (dist/envole/4/master=)$ awk -F'=' '/^debian-tag/ {print $2}' debian/gbp.conf | sed -e "s,%(version)s,${VERSION}," |
319 | 1 | Arnaud FORNEROT | debian/eole/2.4/3.6.1-eole3-1 |
320 | 1 | Arnaud FORNEROT | |
321 | 10 | Daniel Dehennin | user@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},")) |
322 | 1 | Arnaud FORNEROT | </pre> |
323 | 1 | Arnaud FORNEROT | |
324 | 1 | Arnaud FORNEROT | |
325 | 10 | Daniel Dehennin | h4. Récupérer l’étiquette du dernier paquet EOLE 2.4 |
326 | 1 | Arnaud FORNEROT | |
327 | 10 | Daniel Dehennin | Les "étiquettes":http://git-scm.com/book/fr/Les-bases-de-Git-Étiquetage 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@*. |
328 | 6 | Daniel Dehennin | |
329 | 10 | Daniel Dehennin | Pour récupérer la dernière "étiquette":http://git-scm.com/book/fr/Les-bases-de-Git-Étiquetage de paquet : |
330 | 10 | Daniel Dehennin | |
331 | 8 | Daniel Dehennin | <pre> |
332 | 10 | Daniel Dehennin | user@work:~/src/wordpress (dist/envole/4/master=)$ git fetch $(git config branch.master.remote) refs/tags/${EOLE_DEB_TAG}:refs/tags/${EOLE_DEB_TAG} |
333 | 1 | Arnaud FORNEROT | </pre> |
334 | 1 | Arnaud FORNEROT | |
335 | 1 | Arnaud FORNEROT | |
336 | 10 | Daniel Dehennin | h4. Vérifier le message de l’étiquette |
337 | 10 | Daniel Dehennin | |
338 | 8 | Daniel Dehennin | <pre> |
339 | 10 | Daniel Dehennin | user@work:~/src/wordpress (dist/envole/4/master=)$ git show -s --format="format:" ${EOLE_DEB_TAG} | perl -lane 'print if (/Debian release/ .. /^-+BEGIN/) =~ /^\d+$/' |
340 | 1 | Arnaud FORNEROT | eole-wordpress Debian release 3.6.1-eole3-1 |
341 | 1 | Arnaud FORNEROT | |
342 | 10 | Daniel Dehennin | user@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+$/') |
343 | 1 | Arnaud FORNEROT | </pre> |
344 | 1 | Arnaud FORNEROT | |
345 | 1 | Arnaud FORNEROT | |
346 | 10 | Daniel Dehennin | h4. Dupliquer l’étiquette du dernier paquet EOLE 2.4 en première étiquette de paquet Envole |
347 | 1 | Arnaud FORNEROT | |
348 | 1 | Arnaud FORNEROT | <pre> |
349 | 10 | Daniel Dehennin | user@work:~/src/wordpress (dist/envole/4/master=)$ git tag -s -m "${DEB_MESSAGE}" debian/envole/4/${VERSION} ${EOLE_DEB_TAG}^{} |
350 | 1 | Arnaud FORNEROT | </pre> |
351 | 1 | Arnaud FORNEROT | |
352 | 1 | Arnaud FORNEROT | On vérifie le message |
353 | 1 | Arnaud FORNEROT | |
354 | 1 | Arnaud FORNEROT | <pre> |
355 | 10 | Daniel Dehennin | user@work:~/src/wordpress (dist/envole/4/master)$ git show debian/envole/4/${VERSION} |
356 | 1 | Arnaud FORNEROT | </pre> |
357 | 1 | Arnaud FORNEROT | |
358 | 1 | Arnaud FORNEROT | |
359 | 10 | Daniel Dehennin | h4. Pousser la nouvelle étiquette |
360 | 1 | Arnaud FORNEROT | |
361 | 1 | Arnaud FORNEROT | <pre> |
362 | 10 | Daniel Dehennin | user@work:~/src/wordpress (dist/envole/4/master=)$ git push $(git config branch.master.remote) debian/envole/4/${VERSION} |
363 | 1 | Arnaud FORNEROT | </pre> |
364 | 8 | Daniel Dehennin | |
365 | 8 | Daniel Dehennin | |
366 | 10 | Daniel Dehennin | |
367 | 10 | Daniel Dehennin | h3. Passer le projet en paquet natif |
368 | 10 | Daniel Dehennin | |
369 | 10 | Daniel Dehennin | Pour la gestion des [[eole:EoleDebianPackaging24#debiansourceformat|numéros de version]] de paquet: |
370 | 10 | Daniel Dehennin | |
371 | 10 | Daniel Dehennin | <pre> |
372 | 10 | Daniel Dehennin | user@work:~src/wordpress (dist/envole/4/master=)$ mkdir -p debian/source |
373 | 10 | Daniel Dehennin | user@work:~src/wordpress (dist/envole/4/master=)$ cat >| debian/source/format <<EOF |
374 | 10 | Daniel Dehennin | 3.0 (native) |
375 | 10 | Daniel Dehennin | EOF |
376 | 10 | Daniel Dehennin | |
377 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/envole/4/master*=)$ git add debian/source/format |
378 | 10 | Daniel Dehennin | user@work:~src/etherpad (dist/envole/4/master+=)$ |
379 | 10 | Daniel Dehennin | </pre> |
380 | 10 | Daniel Dehennin | |
381 | 10 | Daniel Dehennin | |
382 | 10 | Daniel Dehennin | |
383 | 1 | Arnaud FORNEROT | h3. Modifier la configuration git-buildpackage |
384 | 1 | Arnaud FORNEROT | |
385 | 10 | Daniel Dehennin | Il faut modifier modifier le fichier de configuration *@debian/gbp.conf@* afin de modifier le format des "étiquettes":http://git-scm.com/book/fr/Les-bases-de-Git-Étiquetage de suivi des compilations: |
386 | 1 | Arnaud FORNEROT | |
387 | 1 | Arnaud FORNEROT | <pre> |
388 | 10 | Daniel Dehennin | user@work:~/src/wordpress (dist/envole/4/master+=)$ sed -i -e 's,^debian-tag.*,debian-tag = debian/envole/4/%(version)s,' debian/gbp.conf |
389 | 10 | Daniel Dehennin | user@work:~/src/wordpress (dist/envole/4/master*+=)$ git add debian/gbp.conf |
390 | 10 | Daniel Dehennin | user@work:~/src/wordpress (dist/envole/4/master+=)$ git commit -m "Configuration pour l’infrastructure de compilation EOLE |
391 | 10 | Daniel Dehennin | |
392 | 10 | Daniel Dehennin | * debian/gbp.conf: Définition du format des étiquettes de compilation |
393 | 10 | Daniel Dehennin | pour Envole." |
394 | 10 | Daniel Dehennin | |
395 | 10 | Daniel Dehennin | user@work:~/src/wordpress (dist/envole/4/master>)$ |
396 | 1 | Arnaud FORNEROT | </pre> |
397 | 1 | Arnaud FORNEROT | |
398 | 1 | Arnaud FORNEROT | |
399 | 8 | Daniel Dehennin | |
400 | 8 | Daniel Dehennin | |
401 | 10 | Daniel Dehennin | h2. Préparer l’étiquette de version amont (« upstream » en anglais) |
402 | 8 | Daniel Dehennin | |
403 | 10 | Daniel Dehennin | L’infrastructure de compilation EOLE utilise les "étiquettes":http://git-scm.com/book/fr/Les-bases-de-Git-Étiquetage *@release/*@* pour connaître la version _amont_ et en dériver la verion du paquet. |
404 | 10 | Daniel Dehennin | |
405 | 10 | Daniel Dehennin | Nous prenons l’exemple du paquet project:wordpress mais la procédure est identique pour tous les paquets Envole : |
406 | 10 | Daniel Dehennin | |
407 | 1 | Arnaud FORNEROT | <pre> |
408 | 10 | Daniel Dehennin | user@work:~src/wordpress (dist/envole/4/master=)$ git checkout master |
409 | 10 | Daniel Dehennin | user@work:~src/wordpress (master=)$ git tag -s -m "New Envole release 4.0" release/4.0 master |
410 | 1 | Arnaud FORNEROT | </pre> |
411 | 1 | Arnaud FORNEROT | |
412 | 10 | Daniel Dehennin | |
413 | 10 | Daniel Dehennin | |
414 | 10 | Daniel Dehennin | |
415 | 10 | Daniel Dehennin | h2. Compiler un paquet Envole |
416 | 10 | Daniel Dehennin | |
417 | 10 | Daniel Dehennin | Lorsque vous modifier l’empaquetage, il est nécessaire de compiler en premier sur un [[eole:GitPackagingSbuildLVM|environnement de compilation personnel]]. |
418 | 10 | Daniel Dehennin | |
419 | 10 | Daniel Dehennin | Vous pouvez avoir une machine virtuelle à disposition |
420 | 10 | Daniel Dehennin | |
421 | 10 | Daniel Dehennin | |
422 | 10 | Daniel Dehennin | |
423 | 10 | Daniel Dehennin | h3. Compiler un paquet expérimental |
424 | 10 | Daniel Dehennin | |
425 | 10 | Daniel Dehennin | Si vous avez configuré project:git-package comme [[#Paramétrage-de-git-package|indiqué plus haut]], vous pouvez vous passer de l’option *@-d|--distrib@* pour compiler un paquet pour la distribution |
426 | 10 | Daniel Dehennin | *@envole-2.4-experimental@* : |
427 | 10 | Daniel Dehennin | |
428 | 1 | Arnaud FORNEROT | <pre> |
429 | 10 | Daniel Dehennin | user@work:~src/wordpress (master=)$ git package --build dist/envole/4/master |
430 | 8 | Daniel Dehennin | </pre> |
431 | 1 | Arnaud FORNEROT | |
432 | 10 | Daniel Dehennin | *@NOTE@* : Le dernier argument *@dist/envole/4/master@* est la "référence GIT":http://git-scm.com/book/fr/v1/Les-tripes-de-Git-R%C3%A9f%C3%A9rences-Git, c’est à dire un identifiant de commit (le SHA1), |
433 | 10 | Daniel Dehennin | un nom d’"étiquette":http://git-scm.com/book/fr/Les-bases-de-Git-Étiquetage ou de branche |
434 | 1 | Arnaud FORNEROT | |
435 | 10 | Daniel Dehennin | *@ASTUCE@* : le "complètement automatique Bash":https://fr.wikipedia.org/wiki/Compl%C3%A8tement_automatique#Interpr.C3.A9teurs_de_commandes et l’outil project:git-package permet de ne spécifier que le minimum nécessaire afin de trouver la branche d’empaquetage |
436 | 10 | Daniel Dehennin | <pre> |
437 | 10 | Daniel Dehennin | user@work:~src/wordpress (master=)$ git package --build envole/4<TABULATION> |
438 | 10 | Daniel Dehennin | </pre> |
439 | 8 | Daniel Dehennin | |
440 | 10 | Daniel Dehennin | ou |
441 | 8 | Daniel Dehennin | |
442 | 8 | Daniel Dehennin | <pre> |
443 | 10 | Daniel Dehennin | user@work:~src/wordpress (master=)$ git package --build envole/4<ENTER> |
444 | 6 | Daniel Dehennin | </pre> |
445 | 6 | Daniel Dehennin | |
446 | 10 | Daniel Dehennin | |
447 | 10 | Daniel Dehennin | |
448 | 10 | Daniel Dehennin | h3. Compiler un paquet de développement |
449 | 10 | Daniel Dehennin | |
450 | 10 | Daniel Dehennin | Il s’agit de la même procédure mais en spécifiant la distribution *@envole-4/unstable@* par l’option *@-d|--distrib@* de project:git-package : |
451 | 10 | Daniel Dehennin | |
452 | 8 | Daniel Dehennin | <pre> |
453 | 10 | Daniel Dehennin | user@work:~src/wordpress (master=)$ git package --build --distrib envole-4/unstable envole/4 |
454 | 10 | Daniel Dehennin | </pre> |
455 | 10 | Daniel Dehennin | |
456 | 10 | Daniel Dehennin | |
457 | 10 | Daniel Dehennin | |
458 | 10 | Daniel Dehennin | |
459 | 10 | Daniel Dehennin | h2. Pour tester un paquet en expérimental |
460 | 10 | Daniel Dehennin | |
461 | 10 | Daniel Dehennin | *@ATTENTION@* : Disponible sur un serveur EOLE à partir de la version 2.4.1 avec le paquet project:eole-web |
462 | 10 | Daniel Dehennin | |
463 | 10 | Daniel Dehennin | |
464 | 10 | Daniel Dehennin | h3. Configurer les dépôts de paquets |
465 | 10 | Daniel Dehennin | |
466 | 10 | Daniel Dehennin | |
467 | 10 | Daniel Dehennin | * Ajouter manuellement le dépôt Envole expérimental (il n’est pas configurable par _Query-Auto_ ou _Maj-Auto_ car il n’est utile que pour les développeurs) |
468 | 10 | Daniel Dehennin | <pre> |
469 | 10 | Daniel Dehennin | root@scribe:~# cat >| /etc/apt/sources.list.d/envole-4-experimental.list <<EOF |
470 | 1 | Arnaud FORNEROT | deb http://test-eole.ac-dijon.fr/envole envole-4-experimental main |
471 | 1 | Arnaud FORNEROT | EOF |
472 | 3 | Arnaud FORNEROT | </pre> |
473 | 10 | Daniel Dehennin | * Configurer les dépôts standards et prendre en compte le dépôt expérimental |
474 | 10 | Daniel Dehennin | <pre> |
475 | 10 | Daniel Dehennin | root@scribe:~# Query-Auto -V test-eole.ac-dijon.fr |
476 | 10 | Daniel Dehennin | </pre> |
477 | 3 | Arnaud FORNEROT | |
478 | 1 | Arnaud FORNEROT | |
479 | 1 | Arnaud FORNEROT | |
480 | 10 | Daniel Dehennin | |
481 | 3 | Arnaud FORNEROT | h2. Installer un paquet expérimental |
482 | 1 | Arnaud FORNEROT | |
483 | 10 | Daniel Dehennin | Aucun paquet de la distribution *@envole-4-experimental@* ne s’installe automatiquement lors des mises à jour. |
484 | 10 | Daniel Dehennin | |
485 | 10 | Daniel Dehennin | Il faut installer manuellement les paquets en spécifiant le numéro de version exacte que l’on souhaite utiliser. |
486 | 10 | Daniel Dehennin | |
487 | 10 | Daniel Dehennin | |
488 | 10 | Daniel Dehennin | |
489 | 10 | Daniel Dehennin | h3. Déterminer la version du paquet compilé |
490 | 10 | Daniel Dehennin | |
491 | 10 | Daniel Dehennin | |
492 | 1 | Arnaud FORNEROT | <pre> |
493 | 10 | Daniel Dehennin | root@scribe:~# apt-cache policy eole-wordpress |
494 | 10 | Daniel Dehennin | apt: |
495 | 10 | Daniel Dehennin | Installé : 3.9.2-eole2~5.gbpb66498 |
496 | 10 | Daniel Dehennin | Candidat : 3.9.2-eole2~5.gbpb66498 |
497 | 10 | Daniel Dehennin | Table de version : |
498 | 10 | Daniel Dehennin | 4.0-1~1.gbpcc1457 0 |
499 | 10 | Daniel Dehennin | 90 http://eole.ac-dijon.fr/envole envole-4-experimental/main amd64 Packages |
500 | 10 | Daniel Dehennin | 3.9.2-eole2~5.gbpb66498 0 |
501 | 10 | Daniel Dehennin | 500 http://eoleng.ac-dijon.fr/eole eole-2.3-dev/main amd64 Packages |
502 | 10 | Daniel Dehennin | *** 3.9.2-eole2~5.gbpb66498 0 |
503 | 10 | Daniel Dehennin | 100 /var/lib/dpkg/status |
504 | 1 | Arnaud FORNEROT | </pre> |
505 | 3 | Arnaud FORNEROT | |
506 | 1 | Arnaud FORNEROT | |
507 | 10 | Daniel Dehennin | |
508 | 10 | Daniel Dehennin | h3. Installer le paquet experimental |
509 | 10 | Daniel Dehennin | |
510 | 2 | Arnaud FORNEROT | <pre> |
511 | 10 | Daniel Dehennin | root@scribe:~# apt-get install eole-worpress=4.0-1~1.gbpcc1457 wordpress-apps=4.0-1~1.gbpcc1457 |
512 | 1 | Arnaud FORNEROT | </pre> |
513 | 2 | Arnaud FORNEROT | |
514 | 1 | Arnaud FORNEROT | |
515 | 1 | Arnaud FORNEROT | |
516 | 10 | Daniel Dehennin | |
517 | 1 | Arnaud FORNEROT | h2. Installer un paquet non expérimental |
518 | 1 | Arnaud FORNEROT | |
519 | 1 | Arnaud FORNEROT | C'est comme d'habitude |
520 | 1 | Arnaud FORNEROT | <pre> |
521 | 10 | Daniel Dehennin | root@scribe:~# Query-Auto -D -V test-eole.ac-dijon.fr |
522 | 10 | Daniel Dehennin | root@scribe:~# apt-eole install eole-wordpress wordpress-apps |
523 | 1 | Arnaud FORNEROT | </pre> |
524 | 1 | Arnaud FORNEROT | |
525 | 1 | Arnaud FORNEROT | |
526 | 1 | Arnaud FORNEROT | |
527 | 10 | Daniel Dehennin | |
528 | 10 | Daniel Dehennin | h2. Adaptation de l’empaquetage |
529 | 1 | Arnaud FORNEROT | |
530 | 1 | Arnaud FORNEROT | Suivre les recommandations du wiki suivant |
531 | 1 | Arnaud FORNEROT | https://dev-eole.ac-dijon.fr/projects/envole/wiki/MigrationAppliEnvole4 |