Projet

Général

Profil

PrepareEOLE24 » Historique » Version 9

Daniel Dehennin, 04/12/2013 09:42

1 6 Daniel Dehennin
{{toc}}
2 6 Daniel Dehennin
3 2 Lionel Morin
h1. Préparer un dépôt pour EOLE 2.4
4 1 Daniel Dehennin
5 1 Daniel Dehennin
h2. Créer une branche pour EOLE 2.3
6 1 Daniel Dehennin
7 1 Daniel Dehennin
La branche master devient la branche de développement pour EOLE 2.4, il faut donc conserver une branche pour EOLE 2.3 :
8 1 Daniel Dehennin
9 1 Daniel Dehennin
<pre>
10 1 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git branch 2.3 master
11 1 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git push origin 2.3
12 1 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git branch -a
13 1 Daniel Dehennin
  2.3
14 1 Daniel Dehennin
* master
15 1 Daniel Dehennin
  dist/ubuntu/lucid/master
16 1 Daniel Dehennin
  remotes/origin/2.3
17 1 Daniel Dehennin
  remotes/origin/master
18 1 Daniel Dehennin
  remotes/origin/dist/ubuntu/lucid/master
19 1 Daniel Dehennin
</pre>
20 1 Daniel Dehennin
21 1 Daniel Dehennin
*NB: ne jamais fusionner la branche master dans la branche 2.3.*
22 1 Daniel Dehennin
23 1 Daniel Dehennin
h2. Mettre à jour le code pour EOLE 2.4
24 1 Daniel Dehennin
25 9 Daniel Dehennin
[[eole-skeletor:Doc-geting-started|Skeletorisation]] de la branche source.
26 9 Daniel Dehennin
27 1 Daniel Dehennin
Voir la [[modules-eole:24|page dédiée]].
28 1 Daniel Dehennin
29 1 Daniel Dehennin
h2. Créer une branche pour le packaging 2.4
30 1 Daniel Dehennin
31 1 Daniel Dehennin
<pre>
32 1 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git branch dist/ubuntu/precise/master dist/ubuntu/lucid/master
33 1 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git push origin dist/ubuntu/precise/master
34 1 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git branch -a
35 1 Daniel Dehennin
  2.3
36 1 Daniel Dehennin
* master
37 1 Daniel Dehennin
  dist/ubuntu/lucid/master
38 1 Daniel Dehennin
  dist/ubuntu/precise/master
39 1 Daniel Dehennin
  remotes/origin/2.3
40 1 Daniel Dehennin
  remotes/origin/master
41 1 Daniel Dehennin
  remotes/origin/dist/ubuntu/lucid/master
42 1 Daniel Dehennin
  remotes/origin/dist/ubuntu/precise/master
43 1 Daniel Dehennin
</pre>
44 1 Daniel Dehennin
45 1 Daniel Dehennin
h2. Créer un tag afin de déterminer la version du paquet
46 1 Daniel Dehennin
47 1 Daniel Dehennin
<pre>
48 1 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git tag -s -m "First EOLE 2.4.0" release/2.4.0 master
49 1 Daniel Dehennin
</pre>
50 1 Daniel Dehennin
51 5 Daniel Dehennin
h2. Créer un fichier debian/gbp.conf
52 5 Daniel Dehennin
53 5 Daniel Dehennin
Fichier de configuration de "git-buildpackage":http://honk.sigxcpu.org/projects/git-buildpackage/manual-html/gbp.html afin de déterminer le format des tags de version debian:
54 5 Daniel Dehennin
55 5 Daniel Dehennin
<pre>
56 5 Daniel Dehennin
[DEFAULT]
57 5 Daniel Dehennin
debian-tag = debian/eole/2.4/%(version)s
58 5 Daniel Dehennin
</pre>
59 5 Daniel Dehennin
60 5 Daniel Dehennin
Cela évite qu’une même version upstream compilée pour plusieurs distributions se marche sur les pieds.
61 5 Daniel Dehennin
62 1 Daniel Dehennin
h2. Mettre à jour le packaging
63 1 Daniel Dehennin
64 1 Daniel Dehennin
Voir la [[EoleDebianPackaging24|page dédiée]].
65 1 Daniel Dehennin
66 1 Daniel Dehennin
h2. Compiler le premier paquet EOLE 2.4
67 1 Daniel Dehennin
68 1 Daniel Dehennin
La première compilation devrait être faite sur un [[GitPackaging#Environnement-de-compilation-personnel|environnement de compilation personnel]].
69 1 Daniel Dehennin
70 3 Daniel Dehennin
Pour compiler des paquets EOLE 2.4, vous avez besoin :
71 1 Daniel Dehennin
72 3 Daniel Dehennin
# de l’outil project:git-package que vous pouvez installer :
73 3 Daniel Dehennin
** manuellement avec ce [[git-package:|guide d’installation]]
74 3 Daniel Dehennin
** avec un "paquet debian":http://eole.ac-dijon.fr/eole/pool/main/g/git-package/
75 4 Daniel Dehennin
# de "demander l’activation de votre projet pour le système de compilation 2.4":http://dev-eole.ac-dijon.fr/projects/dev-tools/issues/new
76 1 Daniel Dehennin
77 1 Daniel Dehennin
Une fois project:git-package installé, vous devez recharger le complètement automatique de bash afin d’en profiter pour project:git-package :
78 1 Daniel Dehennin
79 1 Daniel Dehennin
<pre>
80 1 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ source /etc/bash_completion
81 1 Daniel Dehennin
</pre>
82 1 Daniel Dehennin
83 8 Daniel Dehennin
Il est possible d’utiliser la distribution *@eole-2.4-experimental@* à cet effet :
84 1 Daniel Dehennin
85 1 Daniel Dehennin
# Intégrer les modifications de master dans la branche de packaging :
86 1 Daniel Dehennin
<pre>
87 1 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git package dist/ubuntu/precise/master
88 8 Daniel Dehennin
Using tag 'release/2.4.0' pointing to 'master'
89 1 Daniel Dehennin
Checkout distribution branch 'dist/ubuntu/precise/master': Switched to branch 'dist/ubuntu/precise/master'
90 1 Daniel Dehennin
Pull from default remote: Already up-to-date.
91 8 Daniel Dehennin
List of commits to merge:
92 8 Daniel Dehennin
      1 384b302 Adaptation du packaging pour EOLE 2.4
93 8 Daniel Dehennin
      2 cb45891 Suppression du debian/changelog
94 8 Daniel Dehennin
Do you want to merge 'release/2.4.0' into 'dist/ubuntu/precise/master'? [No]: y
95 8 Daniel Dehennin
Merge developpement from 'release/2.4.0': Waiting for Emacs...
96 1 Daniel Dehennin
Merge made by the 'recursive' strategy.
97 1 Daniel Dehennin
[...]
98 1 Daniel Dehennin
Push is not automatically done to avoid publishing possible errors.
99 1 Daniel Dehennin
100 1 Daniel Dehennin
You can push with the following command:
101 1 Daniel Dehennin
102 1 Daniel Dehennin
    git push dev-eole dist/ubuntu/precise/master
103 1 Daniel Dehennin
Do you want me to push it automatically? [No]: n
104 1 Daniel Dehennin
No push
105 8 Daniel Dehennin
Switch back to your developpement branch 'master'... Switched to branch 'master'
106 1 Daniel Dehennin
</pre>
107 8 Daniel Dehennin
# Demander la compilation d’un paquet pour la distribution *@eole-2.4-experimental@* depuis la branche de packaging *@dist/ubuntu/precise/master@*
108 1 Daniel Dehennin
<pre>
109 1 Daniel Dehennin
moi@work:~/src/$PAQUET (master)$ git package -b -d eole-2.4/experimental dist/ubuntu/precise/master
110 1 Daniel Dehennin
Found upstream version 'release/2.4.0'
111 1 Daniel Dehennin
Moi request 'dist/ubuntu/precise/master' to build for 'eole-2.4/experimental'
112 8 Daniel Dehennin
First package build
113 8 Daniel Dehennin
Lists of commits since 'release/2.4.0':
114 8 Daniel Dehennin
      1 384b302 Adaptation du packaging pour EOLE 2.4
115 8 Daniel Dehennin
      2 cb45891 Suppression du debian/changelog
116 1 Daniel Dehennin
Are you sure to proceed? [No]: y
117 7 Emmanuel GARETTE
Tag request 'build/eole/eole-2.4/experimental' created.
118 7 Emmanuel GARETTE
The tag request 'build/eole/eole-2.4/experimental' is not pushed to 'origin'
119 1 Daniel Dehennin
120 7 Emmanuel GARETTE
You can push it with 'git push dev-eole build/eole/eole-2.4/experimental'
121 1 Daniel Dehennin
122 1 Daniel Dehennin
Do you want me to push it automatically? [No]: N
123 1 Daniel Dehennin
</pre>
124 1 Daniel Dehennin
125 1 Daniel Dehennin
Le système de compilation enverra des emails à l’adresse disponible par *@git config user.email@* afin de suivre l’évolution de la compilation et la disponibilité des paquets deb.
126 1 Daniel Dehennin
127 1 Daniel Dehennin
Des listes de diffusions sont disponibles pour suivre la compilation de tous les paquets EOLE 2.4 :
128 1 Daniel Dehennin
# Liste des compilations : http://diff-eole.ac-dijon.fr/listes/info/buildd
129 1 Daniel Dehennin
# Liste d’installation sur les dépôts de paquets deb : http://diff-eole.ac-dijon.fr/listes/info/repository