EoleDebianVersioning24 » Historique » Version 2
Daniel Dehennin, 25/07/2012 11:01
2 méthodes
| 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 | 2 | Daniel Dehennin | user:~/src/eole/tiramisu/ (master)$ git tag -s -m "First developpement release" release/0.1 |
| 80 | 2 | Daniel Dehennin | user:~/src/eole/tiramisu/ (master)$ git push origin release/0.1 |
| 81 | 2 | Daniel Dehennin | </pre> |
| 82 | 2 | Daniel Dehennin | |
| 83 | 2 | Daniel Dehennin | Cela produira des paquets numérotés: |
| 84 | 2 | Daniel Dehennin | |
| 85 | 2 | Daniel Dehennin | * @0.1-1@: premier paquet |
| 86 | 2 | Daniel Dehennin | * @0.1-2@: second paquet qui ne corrige que du packaging ou intègre des patches pour @upstream@ dans @debian/patches/@ |