Projet

Général

Profil

EoleDebianVersioning24 » Historique » Version 1

Daniel Dehennin, 25/07/2012 10:48
Début de réflexion sur la numérotation

1 1 Daniel Dehennin
h1. Numérotation pour EOLE 2.4
2 1 Daniel Dehennin
3 1 Daniel Dehennin
h2. Introduction
4 1 Daniel Dehennin
5 1 Daniel Dehennin
La mise en place du nouveau système de build permet de choisir la façon dont les paquets sont numérotés.
6 1 Daniel Dehennin
7 1 Daniel Dehennin
h2. Paquets externes
8 1 Daniel Dehennin
9 1 Daniel Dehennin
Ce cas s’appliquera principalement aux développeurs project:envole.
10 1 Daniel Dehennin
11 1 Daniel Dehennin
La branche @master@ contenant le code d’une application externe sera taguée avec le numéro de version de l’application.
12 1 Daniel Dehennin
13 1 Daniel Dehennin
Par exemple, pour dokuwiki version @2012-01-25a@:
14 1 Daniel Dehennin
15 1 Daniel Dehennin
<pre>
16 1 Daniel Dehennin
user:~/src/eole/dokuwiki/ (master)$ git tag -s -m "Release 2012.01.25a" release/2012.01.25a
17 1 Daniel Dehennin
user:~/src/eole/dokuwiki/ (master)$ git push origin release/2012.01.25a
18 1 Daniel Dehennin
</pre>
19 1 Daniel Dehennin
20 1 Daniel Dehennin
Cela produira des paquets numérotés:
21 1 Daniel Dehennin
22 1 Daniel Dehennin
* @2012.01.25a-1@: premier paquet
23 1 Daniel Dehennin
* @2012.01.25a-2@: second paquet
24 1 Daniel Dehennin
25 1 Daniel Dehennin
h2. Numérotation par version de distribution EOLE
26 1 Daniel Dehennin
27 1 Daniel Dehennin
Les paquets sont numérotés en fonction de la distribution EOLE, par exemple, pour EOLE 2.4 : @2.4-<version>@
28 1 Daniel Dehennin
29 1 Daniel Dehennin
Cette numérotation est celle utilisé pour la version 2.3 :
30 1 Daniel Dehennin
* On ne versionne pas la branche master, sauf une fois lors de la mise en place d’une nouvelle distribution ;
31 1 Daniel Dehennin
* Les paquets Debian doivent être au format *@3.0 (natif)@* ;
32 1 Daniel Dehennin
* Lorsque deux distributions sont maintenues en parallèle, on n’utilise que du cherry-picking entre les branches : l’utilisation de la commande @merge@, dans le mauvais sens, apporterait un nouveau tag et donc une nouvelle numérotation :
33 1 Daniel Dehennin
<pre>
34 1 Daniel Dehennin
user:~/src/project (master)~$ git describe --abbrev=0 --match=release/*
35 1 Daniel Dehennin
release/2.4
36 1 Daniel Dehennin
# La branche 2.4 passe en mode support afin de commencer la 2.5
37 1 Daniel Dehennin
user:~/src/project (master)~$ git branch 2.4 master
38 1 Daniel Dehennin
39 1 Daniel Dehennin
# On commence la version 2.5
40 1 Daniel Dehennin
user:~/src/project (master)~$ git tag -s -m "Naissance de EOLE 2.5" release/2.5
41 1 Daniel Dehennin
42 1 Daniel Dehennin
# On vérifie
43 1 Daniel Dehennin
user:~/src/project (master)~$ git describe --abbrev=0 --match=release/*
44 1 Daniel Dehennin
release/2.5
45 1 Daniel Dehennin
user:~/src/project (master)~$ git checkout 2.4
46 1 Daniel Dehennin
user:~/src/project (2.4)~$ git describe --abbrev=0 --match=release/*
47 1 Daniel Dehennin
release/2.4
48 1 Daniel Dehennin
</pre>
49 1 Daniel Dehennin
50 1 Daniel Dehennin
Cette méthode de numérotation pourrait permettre de numéroter les paquets en fonction des "release redmine":http://dev-eole.ac-dijon.fr/projects/modules-eole/roadmap, il suffirait de créer un nouveau tag sur la branche master avec la version EOLE:
51 1 Daniel Dehennin
52 1 Daniel Dehennin
<pre>
53 1 Daniel Dehennin
user:~/src/project (master)~$ git describe --abbrev=0 --match=release/*
54 1 Daniel Dehennin
release/2.5
55 1 Daniel Dehennin
56 1 Daniel Dehennin
# On commence une nouvelle RC
57 1 Daniel Dehennin
user:~/src/project (master)~$ git checkout -b rc/2.5.1
58 1 Daniel Dehennin
59 1 Daniel Dehennin
# On corrige tous les bugs
60 1 Daniel Dehennin
user:~/src/project (rc/2.5.1)~$ $EDITOR source_file
61 1 Daniel Dehennin
user:~/src/project (rc/2.5.1)~$ git add source_file
62 1 Daniel Dehennin
user:~/src/project (rc/2.5.1)~$ git commit
63 1 Daniel Dehennin
[...]
64 1 Daniel Dehennin
65 1 Daniel Dehennin
# On tag la nouvelle version
66 1 Daniel Dehennin
user:~/src/project (rc/2.5.1)~$ git tag -s -m "Naissance de EOLE 2.5.1" release/2.5.1
67 1 Daniel Dehennin
68 1 Daniel Dehennin
# On intègre à la branche master
69 1 Daniel Dehennin
user:~/src/project (rc/2.5.1)~$ git checkout master
70 1 Daniel Dehennin
user:~/src/project (master)~$ git merge release/2.5.1
71 1 Daniel Dehennin
</pre>