EoleDebianVersioning24 » Historique » Version 3
Daniel Dehennin, 25/07/2012 12:08
Ajout de plus de description pour une numérotation indépendante
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 | 2 | Daniel Dehennin | h2. Numérotation par version de distribution EOLE |
8 | 1 | Daniel Dehennin | |
9 | 2 | Daniel Dehennin | Les paquets sont numérotés en fonction de la distribution EOLE, par exemple, pour EOLE 2.4 : @2.4-<version>@ |
10 | 1 | Daniel Dehennin | |
11 | 2 | Daniel Dehennin | <pre> |
12 | 2 | Daniel Dehennin | user:~/src/project (master)~$ git describe --abbrev=0 --match=release/* |
13 | 2 | Daniel Dehennin | release/2.4 |
14 | 2 | Daniel Dehennin | # La branche 2.4 passe en mode support afin de commencer la 2.5 |
15 | 2 | Daniel Dehennin | user:~/src/project (master)~$ git branch 2.4 master |
16 | 1 | Daniel Dehennin | |
17 | 2 | Daniel Dehennin | # On commence la version 2.5, cela nécessite au minimum un commit qui n’est pas sur la branche 2.4 |
18 | 2 | Daniel Dehennin | user:~/src/project (master)~$ <UN NOUVEAU COMMIT SUR MASTER> |
19 | 2 | Daniel Dehennin | user:~/src/project (master)~$ git tag -s -m "Naissance de EOLE 2.5" release/2.5 |
20 | 1 | Daniel Dehennin | |
21 | 2 | Daniel Dehennin | # On vérifie |
22 | 2 | Daniel Dehennin | user:~/src/project (master)~$ git describe --abbrev=0 --match=release/* |
23 | 2 | Daniel Dehennin | release/2.5 |
24 | 2 | Daniel Dehennin | user:~/src/project (master)~$ git checkout 2.4 |
25 | 2 | Daniel Dehennin | user:~/src/project (2.4)~$ git describe --abbrev=0 --match=release/* |
26 | 2 | Daniel Dehennin | release/2.4 |
27 | 1 | Daniel Dehennin | </pre> |
28 | 1 | Daniel Dehennin | |
29 | 2 | Daniel Dehennin | Cette numérotation est celle utilisé pour la version 2.3 (qui était imposé à tous les paquets) : |
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 | user:~/src/project (master)~$ git branch 2.4 master |
37 | 2 | Daniel Dehennin | user:~/src/project (master)~$ <UN NOUVEAU COMMIT SUR MASTER> |
38 | 1 | Daniel Dehennin | user:~/src/project (master)~$ git tag -s -m "Naissance de EOLE 2.5" release/2.5 |
39 | 1 | Daniel Dehennin | user:~/src/project (master)~$ git describe --abbrev=0 --match=release/* |
40 | 1 | Daniel Dehennin | release/2.5 |
41 | 1 | Daniel Dehennin | user:~/src/project (master)~$ git checkout 2.4 |
42 | 1 | Daniel Dehennin | user:~/src/project (2.4)~$ git describe --abbrev=0 --match=release/* |
43 | 1 | Daniel Dehennin | release/2.4 |
44 | 2 | Daniel Dehennin | user:~/src/project (2.4)~$ git merge master |
45 | 2 | Daniel Dehennin | user:~/src/project (2.4)~$ git describe --abbrev=0 --match=release/* |
46 | 2 | Daniel Dehennin | release/2.5 |
47 | 1 | Daniel Dehennin | </pre> |
48 | 1 | Daniel Dehennin | |
49 | 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: |
50 | 1 | Daniel Dehennin | |
51 | 1 | Daniel Dehennin | <pre> |
52 | 1 | Daniel Dehennin | user:~/src/project (master)~$ git describe --abbrev=0 --match=release/* |
53 | 1 | Daniel Dehennin | release/2.5 |
54 | 1 | Daniel Dehennin | |
55 | 1 | Daniel Dehennin | # On commence une nouvelle RC |
56 | 1 | Daniel Dehennin | user:~/src/project (master)~$ git checkout -b rc/2.5.1 |
57 | 1 | Daniel Dehennin | |
58 | 1 | Daniel Dehennin | # On corrige tous les bugs |
59 | 1 | Daniel Dehennin | user:~/src/project (rc/2.5.1)~$ $EDITOR source_file |
60 | 1 | Daniel Dehennin | user:~/src/project (rc/2.5.1)~$ git add source_file |
61 | 1 | Daniel Dehennin | user:~/src/project (rc/2.5.1)~$ git commit |
62 | 1 | Daniel Dehennin | [...] |
63 | 1 | Daniel Dehennin | |
64 | 1 | Daniel Dehennin | # On tag la nouvelle version |
65 | 1 | Daniel Dehennin | user:~/src/project (rc/2.5.1)~$ git tag -s -m "Naissance de EOLE 2.5.1" release/2.5.1 |
66 | 1 | Daniel Dehennin | |
67 | 1 | Daniel Dehennin | # On intègre à la branche master |
68 | 1 | Daniel Dehennin | user:~/src/project (rc/2.5.1)~$ git checkout master |
69 | 1 | Daniel Dehennin | user:~/src/project (master)~$ git merge release/2.5.1 |
70 | 1 | Daniel Dehennin | </pre> |
71 | 2 | Daniel Dehennin | |
72 | 2 | Daniel Dehennin | h2. Numérotation indépendante des paquets |
73 | 2 | Daniel Dehennin | |
74 | 2 | Daniel Dehennin | La branche @master@ contenant le code d’une application externe sera taguée avec le numéro de version de l’application. |
75 | 2 | Daniel Dehennin | |
76 | 2 | Daniel Dehennin | Par exemple, pour project:tiramisu version @0.1@: |
77 | 2 | Daniel Dehennin | |
78 | 2 | Daniel Dehennin | <pre> |
79 | 3 | Daniel Dehennin | # First upstream |
80 | 3 | Daniel Dehennin | user:~/src/eole/tiramisu/ (master)$ git tag -s -m "First development release" release/0.1 |
81 | 1 | Daniel Dehennin | user:~/src/eole/tiramisu/ (master)$ git push origin release/0.1 |
82 | 3 | Daniel Dehennin | |
83 | 3 | Daniel Dehennin | # First Package |
84 | 3 | Daniel Dehennin | user:~/src/eole/tiramisu/ (master)$ git checkout -b dist/ubuntu/precise/master |
85 | 3 | Daniel Dehennin | user:~/src/eole/tiramisu/ (dist/ubuntu/precise/master)$ <ADD PACKAGING UNDER debian/> |
86 | 3 | Daniel Dehennin | user:~/src/eole/tiramisu/ (dist/ubuntu/precise/master)$ git commit -m "Fist package" |
87 | 3 | Daniel Dehennin | |
88 | 3 | Daniel Dehennin | # New upstream |
89 | 3 | Daniel Dehennin | user:~/src/eole/tiramisu/ (dist/ubuntu/precise/master)$ git checkout master |
90 | 3 | Daniel Dehennin | user:~/src/eole/tiramisu/ (master)$ $EDITOR <some file> |
91 | 3 | Daniel Dehennin | user:~/src/eole/tiramisu/ (master)$ git add <some file> |
92 | 3 | Daniel Dehennin | user:~/src/eole/tiramisu/ (master)$ git commit -m "Update some file" |
93 | 3 | Daniel Dehennin | user:~/src/eole/tiramisu/ (master)$ git tag -s -m "New development version" release/0.2 |
94 | 3 | Daniel Dehennin | user:~/src/eole/tiramisu/ (master)$ git push origin release/0.2 |
95 | 3 | Daniel Dehennin | |
96 | 3 | Daniel Dehennin | # New package |
97 | 3 | Daniel Dehennin | user:~/src/eole/tiramisu/ (master)$ git checkout -b dist/ubuntu/precise/master |
98 | 3 | Daniel Dehennin | user:~/src/eole/tiramisu/ (dist/ubuntu/precise/master)$ git merge -m "New upstream release" release/0.2 |
99 | 2 | Daniel Dehennin | </pre> |
100 | 1 | Daniel Dehennin | |
101 | 1 | Daniel Dehennin | Cela produira des paquets numérotés: |
102 | 1 | Daniel Dehennin | |
103 | 3 | Daniel Dehennin | * @0.1-1@: premier paquet de la première version |
104 | 3 | Daniel Dehennin | * @0.1-2@: second paquet de la première version qui ne corrige que du packaging ou intègre des patches pour @upstream@ dans @debian/patches/@ |
105 | 3 | Daniel Dehennin | * @0.2-1@: premier paquet de la seconde version |
106 | 3 | Daniel Dehennin | * @0.2-2@: second paquet de la seconde version qui ne corrige que du packaging ou intègre des patches pour @upstream@ dans @debian/patches/@ |