Projet

Général

Profil

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

Daniel Dehennin, 20/02/2015 11:00

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