Projet

Général

Profil

PrepareEOLE24 » Historique » Version 5

Version 4 (Daniel Dehennin, 14/10/2013 13:51) → Version 5/9 (Daniel Dehennin, 15/10/2013 09:30)

h1. Préparer un dépôt pour EOLE 2.4

h2. Créer une branche pour EOLE 2.3

La branche master devient la branche de développement pour EOLE 2.4, il faut donc conserver une branche pour EOLE 2.3 :

<pre>
moi@work:~/src/$PAQUET (master)$ git branch 2.3 master
moi@work:~/src/$PAQUET (master)$ git push origin 2.3
moi@work:~/src/$PAQUET (master)$ git branch -a
2.3
* master
dist/ubuntu/lucid/master
remotes/origin/2.3
remotes/origin/master
remotes/origin/dist/ubuntu/lucid/master
</pre>

*NB: ne jamais fusionner la branche master dans la branche 2.3.*

h2. Mettre à jour le code pour EOLE 2.4

Voir la [[modules-eole:24|page dédiée]].

h2. Créer une branche pour le packaging 2.4

<pre>
moi@work:~/src/$PAQUET (master)$ git branch dist/ubuntu/precise/master dist/ubuntu/lucid/master
moi@work:~/src/$PAQUET (master)$ git push origin dist/ubuntu/precise/master
moi@work:~/src/$PAQUET (master)$ git branch -a
2.3
* master
dist/ubuntu/lucid/master
dist/ubuntu/precise/master
remotes/origin/2.3
remotes/origin/master
remotes/origin/dist/ubuntu/lucid/master
remotes/origin/dist/ubuntu/precise/master
</pre>

h2. Créer un tag afin de déterminer la version du paquet

<pre>
moi@work:~/src/$PAQUET (master)$ git tag -s -m "First EOLE 2.4.0" release/2.4.0 master
</pre>

h2. Créer un fichier debian/gbp.conf

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:

<pre>
[DEFAULT]
debian-tag = debian/eole/2.4/%(version)s
</pre>

Cela évite qu’une même version upstream compilée pour plusieurs distributions se marche sur les pieds.

h2.
Mettre à jour le packaging

Voir la [[EoleDebianPackaging24|page dédiée]].



h2. Compiler le premier paquet EOLE 2.4

La première compilation devrait être faite sur un [[GitPackaging#Environnement-de-compilation-personnel|environnement de compilation personnel]].

Pour compiler des paquets EOLE 2.4, vous avez besoin :

# de l’outil project:git-package que vous pouvez installer :
** manuellement avec ce [[git-package:|guide d’installation]]
** avec un "paquet debian":http://eole.ac-dijon.fr/eole/pool/main/g/git-package/
# 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

Une fois project:git-package installé, vous devez recharger le complètement automatique de bash afin d’en profiter pour project:git-package :

<pre>
moi@work:~/src/$PAQUET (master)$ source /etc/bash_completion
</pre>

Il est possible d’utiliser la distribution @eole-2.4-experimental@ à cet effet :

# Intégrer les modifications de master dans la branche de packaging :
<pre>
moi@work:~/src/$PAQUET (master)$ git package dist/ubuntu/precise/master
Do you want to merge 'master' into 'dist/ubuntu/precise/master'?: y
Checkout distribution branch 'dist/ubuntu/precise/master': Switched to branch 'dist/ubuntu/precise/master'
Pull from default remote: Already up-to-date.
Merge developpement from 'master': Waiting for Emacs...
Merge made by the 'recursive' strategy.
[...]
Switch back to your developpement branch 'master'... Switched to branch 'master'
Push is not automatically done to avoid publishing possible errors.

You can push with the following command:

git push dev-eole dist/ubuntu/precise/master
Do you want me to push it automatically? [No]: n
No push
</pre>
# Demander la compilation d’un paquet pour *@eole-2.4-experimental@* depuis la branche de packaging *@dist/ubuntu/precise/master@*
<pre>
moi@work:~/src/$PAQUET (master)$ git package -b -d eole-2.4-experimental dist/ubuntu/precise/master
Found upstream version 'release/2.4.0'
Moi request 'dist/ubuntu/precise/master' to build for 'eole-2.4-experimental'
Are you sure to proceed? [No]: y
Tag request 'build/eole/eole-2.4-experimental' created.
The tag request 'build/eole/eole-2.4-experimental' is not pushed to 'origin'

You can push it with 'git push dev-eole build/eole/eole-2.4-experimental'

Do you want me to push it automatically? [No]: N
</pre>

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.

Des listes de diffusions sont disponibles pour suivre la compilation de tous les paquets EOLE 2.4 :
# Liste des compilations : http://diff-eole.ac-dijon.fr/listes/info/buildd
# Liste d’installation sur les dépôts de paquets deb : http://diff-eole.ac-dijon.fr/listes/info/repository