Projet

Général

Profil

Migrer-un-projet-EOLE-23-vers-Envole-4 » Historique » Version 2

Daniel Dehennin, 20/02/2015 11:03

1 1 Daniel Dehennin
{{toc}}
2 1 Daniel Dehennin
3 2 Daniel Dehennin
h1. Migrer un projet EOLE-3 vers Envole 4
4 2 Daniel Dehennin
5 1 Daniel Dehennin
{{include(envole:Intro-PreparationEnvole4)}}
6 1 Daniel Dehennin
7 1 Daniel Dehennin
8 2 Daniel Dehennin
h2. Ouvrir le projet à l’infrastructure de compilation EOLE
9 1 Daniel Dehennin
10 1 Daniel Dehennin
* Demander à EOLE l'activation du projet pour l’infrastructure de compilation EOLE
11 1 Daniel Dehennin
* Se positionner sur la branche d’empaquetage EOLE 2.3
12 1 Daniel Dehennin
<pre>
13 1 Daniel Dehennin
user@work:~src/etherpad (master=)$ git checkout dist/ubuntu/lucid/master
14 1 Daniel Dehennin
15 1 Daniel Dehennin
user@work:~src/etherpad (dist/ubuntu/lucid/master<)$ git pull
16 1 Daniel Dehennin
user@work:~src/etherpad (dist/ubuntu/lucid/master=)$ 
17 1 Daniel Dehennin
</pre>
18 1 Daniel Dehennin
19 1 Daniel Dehennin
20 1 Daniel Dehennin
21 1 Daniel Dehennin
h1. Créer une étiquette de la dernière compilation de paquet EOLE 2.3
22 1 Daniel Dehennin
23 1 Daniel Dehennin
Cela permet de déclarer le dernier paquet à l’infrastructure de compilation EOLE.
24 1 Daniel Dehennin
25 1 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]].
26 1 Daniel Dehennin
27 1 Daniel Dehennin
28 2 Daniel Dehennin
h3. Déterminer l’étiquette du dernier paquet EOLE 2.3
29 1 Daniel Dehennin
30 1 Daniel Dehennin
* Déterminer le dernier commit de compilation EOLE 2.3
31 1 Daniel Dehennin
<pre>
32 1 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
33 1 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
34 1 Daniel Dehennin
35 1 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)
36 1 Daniel Dehennin
37 1 Daniel Dehennin
user@work:~src/etherpad (dist/ubuntu/lucid/master=)$ LAST_23_PKG_MESSAGE=$(git log --no-walk --oneline ${LAST_23_PKG_COMMIT})
38 1 Daniel Dehennin
</pre>
39 1 Daniel Dehennin
* Extraire la version du paquet EOLE 2.3
40 1 Daniel Dehennin
<pre>
41 1 Daniel Dehennin
user@work:~src/etherpad (dist/ubuntu/lucid/master=)$ echo ${LAST_23_PKG_MESSAGE} | sed -E -e 's,[^(]+\(([^)]+).*,\1,'
42 1 Daniel Dehennin
1.4.1-eole3~20.gbpfb4d64
43 1 Daniel Dehennin
44 1 Daniel Dehennin
user@work:~src/etherpad (dist/ubuntu/lucid/master=)$ VERSION_23=$(echo ${LAST_23_PKG_MESSAGE} | sed -E -e 's,[^(]+\(([^)]+).*,\1,')
45 1 Daniel Dehennin
</pre>
46 1 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 (*@_@*))
47 1 Daniel Dehennin
<pre>
48 1 Daniel Dehennin
user@work:~src/etherpad (dist/ubuntu/lucid/master=)$ echo "pkg/envole/envole-4/${VERSION_23}" | sed -e 's,~,_,g'
49 1 Daniel Dehennin
pkg/envole/envole-4/1.4.1-eole3_20.gbpfb4d64
50 1 Daniel Dehennin
51 1 Daniel Dehennin
user@work:~src/etherpad (dist/ubuntu/lucid/master=)$ TAG_23=$(echo "pkg/envole/envole-4/${VERSION_23}" | sed -e 's,~,_,g')
52 1 Daniel Dehennin
</pre>
53 1 Daniel Dehennin
54 1 Daniel Dehennin
55 2 Daniel Dehennin
h3. Créer l’étiquette pour la dernière compilation EOLE 2.3
56 1 Daniel Dehennin
57 1 Daniel Dehennin
* Créer l’étiquette
58 1 Daniel Dehennin
<pre>
59 1 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}
60 1 Daniel Dehennin
</pre>
61 1 Daniel Dehennin
* Vérifier le contenu de l’étiquette
62 1 Daniel Dehennin
<pre>
63 1 Daniel Dehennin
user@work:~src/etherpad (dist/ubuntu/lucid/master=)$ git show ${TAG_23}
64 1 Daniel Dehennin
</pre>
65 1 Daniel Dehennin
66 1 Daniel Dehennin
67 2 Daniel Dehennin
h3. Publier l’étiquette pour la dernière compilation EOLE 2.3
68 1 Daniel Dehennin
69 1 Daniel Dehennin
<pre>
70 1 Daniel Dehennin
user@work:~src/etherpad (dist/ubuntu/lucid/master=)$ git push $(git config branch.master.remote) ${TAG_23}
71 1 Daniel Dehennin
</pre>
72 1 Daniel Dehennin
73 1 Daniel Dehennin
74 1 Daniel Dehennin
75 1 Daniel Dehennin
h1. Dupliquer la branche de compilation EOLE 2.3 en branche de compilation Envole 4
76 1 Daniel Dehennin
77 1 Daniel Dehennin
<pre>
78 1 Daniel Dehennin
user@work:~src/etherpad (dist/ubuntu/lucid/master=)$ git checkout -b dist/envole/${ENVOLE_VERSION}/master dist/ubuntu/lucid/master
79 1 Daniel Dehennin
80 1 Daniel Dehennin
user@work:~src/etherpad (dist/envole/4/master)$ git push -u $(git config branch.master.remote) dist/envole/${ENVOLE_VERSION}/master
81 1 Daniel Dehennin
user@work:~src/etherpad (dist/envole/4/master=)$ 
82 1 Daniel Dehennin
</pre>
83 1 Daniel Dehennin
84 1 Daniel Dehennin
85 1 Daniel Dehennin
86 1 Daniel Dehennin
h1. Supprimer le fichier debian/changelog 
87 1 Daniel Dehennin
88 1 Daniel Dehennin
Le fichier *@debian/changelog@* est [[eole:EoleDebianPackaging24#debianchangelog|géré automatiquement par l’infrastructure de compilation]] :
89 1 Daniel Dehennin
90 1 Daniel Dehennin
<pre>
91 1 Daniel Dehennin
user@work:~src/etherpad (dist/envole/4/master=)$ git rm debian/changelog 
92 1 Daniel Dehennin
user@work:~src/etherpad (dist/envole/4/master+)$ git commit -m "Suppression du debian/changelog
93 1 Daniel Dehennin
94 1 Daniel Dehennin
Le fichier debian/changelog est géré automatiquement par
95 1 Daniel Dehennin
l’infrastructure de compilation EOLE."
96 1 Daniel Dehennin
97 1 Daniel Dehennin
user@work:~src/etherpad (dist/envole/4/master>)$
98 1 Daniel Dehennin
</pre>
99 1 Daniel Dehennin
100 1 Daniel Dehennin
101 1 Daniel Dehennin
102 1 Daniel Dehennin
h1. Créer le fichier debian/gbp.conf
103 1 Daniel Dehennin
104 1 Daniel Dehennin
Ce fichier permet à l’infrastructure de compilation EOLE de suivre les modifications sur le fichier *@debian/changelog@*
105 1 Daniel Dehennin
106 1 Daniel Dehennin
<pre>
107 1 Daniel Dehennin
user@work:~src/etherpad (dist/envole/4/master>)$ cat >| debian/gbp.conf <<EOF
108 1 Daniel Dehennin
# Set per distribution debian tag
109 1 Daniel Dehennin
[DEFAULT]
110 1 Daniel Dehennin
debian-tag = debian/envole/4/%(version)s
111 1 Daniel Dehennin
EOF
112 1 Daniel Dehennin
113 1 Daniel Dehennin
user@work:~src/etherpad (dist/envole/4/master%>)$ git add debian/gbp.conf
114 1 Daniel Dehennin
user@work:~src/etherpad (dist/envole/4/master+>)$ 
115 1 Daniel Dehennin
</pre>
116 1 Daniel Dehennin
117 1 Daniel Dehennin
118 1 Daniel Dehennin
119 1 Daniel Dehennin
h1. Passer le projet en paquet natif
120 1 Daniel Dehennin
121 1 Daniel Dehennin
Pour la gestion des [[eole:EoleDebianPackaging24#debiansourceformat|numéros de version]] de paquet:
122 1 Daniel Dehennin
123 1 Daniel Dehennin
<pre>
124 1 Daniel Dehennin
user@work:~src/etherpad (dist/envole/4/master+>)$ mkdir -p debian/source
125 1 Daniel Dehennin
user@work:~src/etherpad (dist/envole/4/master+>)$ cat >| debian/source/format <<EOF
126 1 Daniel Dehennin
3.0 (native)
127 1 Daniel Dehennin
EOF
128 1 Daniel Dehennin
129 1 Daniel Dehennin
user@work:~src/etherpad (dist/envole/4/master*+>)$ git add debian/source/format
130 1 Daniel Dehennin
user@work:~src/etherpad (dist/envole/4/master+>)$ 
131 1 Daniel Dehennin
</pre>
132 1 Daniel Dehennin
133 1 Daniel Dehennin
h1. Valider les changements d’empaquetage
134 1 Daniel Dehennin
135 1 Daniel Dehennin
<pre>
136 1 Daniel Dehennin
user@work:~src/etherpad (dist/envole/4/master+>)$ git commit -m "Configuration pour l’infrastructure de compilation EOLE
137 1 Daniel Dehennin
138 1 Daniel Dehennin
* debian/changelog: Suppression, il est géré automatiquement par
139 1 Daniel Dehennin
  l’infrastructure de compilation EOLE
140 1 Daniel Dehennin
141 1 Daniel Dehennin
* debian/gbp.conf: Définition du format des étiquettes de compilation
142 1 Daniel Dehennin
  pour Envole.
143 1 Daniel Dehennin
144 1 Daniel Dehennin
* debian/source/format: Utilisation du format « 3.0 (native) »"
145 1 Daniel Dehennin
146 1 Daniel Dehennin
user@work:~src/etherpad (dist/envole/4/master>)$ git push -u $(git branch.master.remote) dist/envole/4/master
147 1 Daniel Dehennin
user@work:~src/etherpad (dist/envole/4/master=)$ 
148 1 Daniel Dehennin
</pre>
149 1 Daniel Dehennin
150 1 Daniel Dehennin
151 1 Daniel Dehennin
152 1 Daniel Dehennin
{{include(envole:End-PreparationEnvole4)}}