EoleDebianVersioning24 » Historique » Version 3
« Précédent -
Version 3/4
(diff) -
Suivant » -
Version actuelle
Daniel Dehennin, 25/07/2012 12:08
Ajout de plus de description pour une numérotation indépendante
Numérotation pour EOLE 2.4¶
Introduction¶
La mise en place du nouveau système de build permet de choisir la façon dont les paquets sont numérotés.
Numérotation par version de distribution EOLE¶
Les paquets sont numérotés en fonction de la distribution EOLE, par exemple, pour EOLE 2.4 : 2.4-<version>
user:~/src/project (master)~$ git describe --abbrev=0 --match=release/* release/2.4 # La branche 2.4 passe en mode support afin de commencer la 2.5 user:~/src/project (master)~$ git branch 2.4 master # On commence la version 2.5, cela nécessite au minimum un commit qui n’est pas sur la branche 2.4 user:~/src/project (master)~$ <UN NOUVEAU COMMIT SUR MASTER> user:~/src/project (master)~$ git tag -s -m "Naissance de EOLE 2.5" release/2.5 # On vérifie user:~/src/project (master)~$ git describe --abbrev=0 --match=release/* release/2.5 user:~/src/project (master)~$ git checkout 2.4 user:~/src/project (2.4)~$ git describe --abbrev=0 --match=release/* release/2.4Cette numérotation est celle utilisé pour la version 2.3 (qui était imposé à tous les paquets) :
- On ne versionne pas la branche master, sauf une fois lors de la mise en place d’une nouvelle distribution ;
- Les paquets Debian doivent être au format *
3.0 (natif)
* ; - 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 :user:~/src/project (master)~$ git describe --abbrev=0 --match=release/* release/2.4 user:~/src/project (master)~$ git branch 2.4 master user:~/src/project (master)~$ <UN NOUVEAU COMMIT SUR MASTER> user:~/src/project (master)~$ git tag -s -m "Naissance de EOLE 2.5" release/2.5 user:~/src/project (master)~$ git describe --abbrev=0 --match=release/* release/2.5 user:~/src/project (master)~$ git checkout 2.4 user:~/src/project (2.4)~$ git describe --abbrev=0 --match=release/* release/2.4 user:~/src/project (2.4)~$ git merge master user:~/src/project (2.4)~$ git describe --abbrev=0 --match=release/* release/2.5
Cette méthode de numérotation pourrait permettre de numéroter les paquets en fonction des release redmine, il suffirait de créer un nouveau tag sur la branche master avec la version EOLE:
user:~/src/project (master)~$ git describe --abbrev=0 --match=release/* release/2.5 # On commence une nouvelle RC user:~/src/project (master)~$ git checkout -b rc/2.5.1 # On corrige tous les bugs user:~/src/project (rc/2.5.1)~$ $EDITOR source_file user:~/src/project (rc/2.5.1)~$ git add source_file user:~/src/project (rc/2.5.1)~$ git commit [...] # On tag la nouvelle version user:~/src/project (rc/2.5.1)~$ git tag -s -m "Naissance de EOLE 2.5.1" release/2.5.1 # On intègre à la branche master user:~/src/project (rc/2.5.1)~$ git checkout master user:~/src/project (master)~$ git merge release/2.5.1
Numérotation indépendante des paquets¶
La branche master
contenant le code d’une application externe sera taguée avec le numéro de version de l’application.
Par exemple, pour Tiramisu version 0.1
:
# First upstream user:~/src/eole/tiramisu/ (master)$ git tag -s -m "First development release" release/0.1 user:~/src/eole/tiramisu/ (master)$ git push origin release/0.1 # First Package user:~/src/eole/tiramisu/ (master)$ git checkout -b dist/ubuntu/precise/master user:~/src/eole/tiramisu/ (dist/ubuntu/precise/master)$ <ADD PACKAGING UNDER debian/> user:~/src/eole/tiramisu/ (dist/ubuntu/precise/master)$ git commit -m "Fist package" # New upstream user:~/src/eole/tiramisu/ (dist/ubuntu/precise/master)$ git checkout master user:~/src/eole/tiramisu/ (master)$ $EDITOR <some file> user:~/src/eole/tiramisu/ (master)$ git add <some file> user:~/src/eole/tiramisu/ (master)$ git commit -m "Update some file" user:~/src/eole/tiramisu/ (master)$ git tag -s -m "New development version" release/0.2 user:~/src/eole/tiramisu/ (master)$ git push origin release/0.2 # New package user:~/src/eole/tiramisu/ (master)$ git checkout -b dist/ubuntu/precise/master user:~/src/eole/tiramisu/ (dist/ubuntu/precise/master)$ git merge -m "New upstream release" release/0.2
Cela produira des paquets numérotés:
0.1-1
: premier paquet de la première version0.1-2
: second paquet de la première version qui ne corrige que du packaging ou intègre des patches pourupstream
dansdebian/patches/
0.2-1
: premier paquet de la seconde version0.2-2
: second paquet de la seconde version qui ne corrige que du packaging ou intègre des patches pourupstream
dansdebian/patches/