Migrer-un-projet-EOLE-24-vers-Envole-4 » Historique » Version 2
Version 1 (Daniel Dehennin, 20/02/2015 10:57) → Version 2/5 (Daniel Dehennin, 20/02/2015 11:11)
{{toc}}
h1. Migrer un projet EOLE 2.4 vers Envole 4
{{include(envole:Intro-PreparationEnvole4)}}
[[MigrationAppliEnvole4#État-des-lieux-application-par-application|La plupart des préparatifs ont déjà été fait]].
Il faut migrer certains éléments pour l’utilisation des "dépôts Envole":http://eole.ac-dijon.fr/envole.
*@ATTENTION@* : Assurez-vous que les branches soient bien à jour par rapport aux dépôts sur *@dev-eole.ac-dijon.fr@*.
h2. h1. Dupliquer la branche de compilation EOLE 2.3 en branche de compilation Envole 4
<pre>
user@work:~/src/wordpress (master)$ git checkout -b dist/envole/4/master dist/ubuntu/precise/master
user@work:~/src/wordpress (dist/envole/4/master)$ git push -u $(git config branch.master.remote) dist/envole/4/master
user@work:~/src/wordpress (dist/envole/4/master=)$
</pre>
h2. h1. Renommer l’étiquette de la dernière compilation EOLE 2.4
Les "étiquettes":http://git-scm.com/book/fr/Les-bases-de-Git-Étiquetage de la forme *@pkg/*@* sont positionnées sur la branche d’empaquetage afin de pouvoir suivre les demandes de compilation.
h3. h2. Déterminer l’étiquette de la dernière compilation EOLE 2.4
<pre>
user@work:~/src/wordpress (dist/envole/4/master=)$ git describe --abbrev=0 dist/ubuntu/precise/master
pkg/eole/eole-2.4/3.6.1-eole3-1
user@work:~/src/wordpress (dist/envole/4/master=)$ EOLE_TAG=$(git describe --abbrev=0 dist/ubuntu/precise/master)
</pre>
h3. h2. Extraire la version
<pre>
user@work:~/src/wordpress (dist/envole/4/master=)$ echo ${EOLE_TAG##*/}
3.6.1-eole3-1
user@work:~/src/wordpress (dist/envole/4/master=)$ VERSION=${EOLE_TAG##*/}
</pre>
h3. h2. Vérifier le message de l’étiquette
Nous allons réutiliser le message de l’étiquette de la dernière compilation EOLE 2.4, la première ligne non vide doit contenir la chaîne *@New package version@* :
<pre>
user@work:~/src/wordpress (dist/envole/4/master=)$ git show -s --format="format:" ${EOLE_TAG} | perl -lane 'print if (/New package version/ .. /^-+BEGIN/) =~ /^\d+$/'
Lionel MORIN: New package version 3.6.1-eole3-1 for eole-2.4-unstable.
[...]
user@work:~/src/wordpress (dist/envole/4/master=)$ EOLE_MESSAGE=$(git show -s --format="format:" ${EOLE_TAG} | perl -lane 'print if (/New package version/ .. /^-+BEGIN/) =~ /^\d+$/')
</pre>
h3. h2. Dupliquer l’étiquette de la dernière compilation EOLE 2.4 en première étiquette de compilation Envole
* Créer l’"étiquette":http://git-scm.com/book/fr/Les-bases-de-Git-Étiquetage
<pre>
user@work:~/src/wordpress (dist/envole/4/master=)$ git tag -m "${EOLE_MESSAGE}" pkg/envole/envole-4/${VERSION} ${EOLE_TAG}^{}
</pre>
* Vérifier le message de l’"étiquette":http://git-scm.com/book/fr/Les-bases-de-Git-Étiquetage
<pre>
user@work:~/src/wordpress (dist/envole/4/master=)$ git show pkg/envole/envole-4/${VERSION}
</pre>
h3. h2. Pousser la nouvelle étiquette
<pre>
user@work:~/src/wordpress (dist/envole/4/master=)$ git push --tags
</pre>
h2. h1. Renommé l’étiquette du dernier paquet EOLE 2.4
Une étiquette de la forme *@debian/*@* est créé par l’infrastructure de compilation de paquet afin de gérer automatiquement le fichier *@debian/changelog@*.
h3. h2. Déterminer l’étiquette du dernier paquet EOLE 2.4
<pre>
user@work:~/src/wordpress (dist/envole/4/master=)$ awk -F'=' '/^debian-tag/ {print $2}' debian/gbp.conf | sed -e "s,%(version)s,${VERSION},"
debian/eole/2.4/3.6.1-eole3-1
user@work:~/src/wordpress (dist/envole/4/master=)$ EOLE_DEB_TAG=$(echo $(awk -F'=' '/^debian-tag/ {print $2}' debian/gbp.conf | sed -e "s,%(version)s,${VERSION},"))
</pre>
h3. h2. Récupérer l’étiquette du dernier paquet EOLE 2.4
Les "étiquettes":http://git-scm.com/book/fr/Les-bases-de-Git-Étiquetage de la forme *@debian/*@* ne pointe sur aucune branche, ils ne sont utilisés que par l’infrastructure de compilation de paquet et ne sont donc que sur les dépôts *@dev-eole.ac-dijon.fr@*.
Pour récupérer la dernière "étiquette":http://git-scm.com/book/fr/Les-bases-de-Git-Étiquetage de paquet :
<pre>
user@work:~/src/wordpress (dist/envole/4/master=)$ git fetch $(git config branch.master.remote) refs/tags/${EOLE_DEB_TAG}:refs/tags/${EOLE_DEB_TAG}
</pre>
h3. h2. Vérifier le message de l’étiquette
<pre>
user@work:~/src/wordpress (dist/envole/4/master=)$ git show -s --format="format:" ${EOLE_DEB_TAG} | perl -lane 'print if (/Debian release/ .. /^-+BEGIN/) =~ /^\d+$/'
eole-wordpress Debian release 3.6.1-eole3-1
user@work:~/src/wordpress (dist/envole/4/master=)$ DEB_MESSAGE=$(git show -s --format="format:" ${EOLE_DEB_TAG} | perl -lane 'print if (/Debian release/ .. /^-+BEGIN/) =~ /^\d+$/')
</pre>
h3. h2. Dupliquer l’étiquette du dernier paquet EOLE 2.4 en première étiquette de paquet Envole
<pre>
user@work:~/src/wordpress (dist/envole/4/master=)$ git tag -m "${DEB_MESSAGE}" debian/envole/4/${VERSION} ${EOLE_DEB_TAG}^{}
</pre>
On vérifie le message
<pre>
user@work:~/src/wordpress (dist/envole/4/master)$ git show debian/envole/4/${VERSION}
</pre>
h3. h2. Pousser la nouvelle étiquette
<pre>
user@work:~/src/wordpress (dist/envole/4/master=)$ git push $(git config branch.master.remote) debian/envole/4/${VERSION}
</pre>
h2. h1. Passer le projet en paquet natif
Pour la gestion des [[eole:EoleDebianPackaging24#debiansourceformat|numéros de version]] de paquet:
<pre>
user@work:~src/wordpress (dist/envole/4/master=)$ mkdir -p debian/source
user@work:~src/wordpress (dist/envole/4/master=)$ cat >| debian/source/format <<EOF
3.0 (native)
EOF
user@work:~src/etherpad (dist/envole/4/master*=)$ git add debian/source/format
user@work:~src/etherpad (dist/envole/4/master+=)$
</pre>
h2. h1. Modifier la configuration git-buildpackage
Il faut modifier modifier le fichier de configuration *@debian/gbp.conf@* afin de modifier le format des "étiquettes":http://git-scm.com/book/fr/Les-bases-de-Git-Étiquetage de suivi des compilations:
<pre>
user@work:~/src/wordpress (dist/envole/4/master+=)$ sed -i -e 's,^debian-tag.*,debian-tag = debian/envole/4/%(version)s,' debian/gbp.conf
user@work:~/src/wordpress (dist/envole/4/master*+=)$ git add debian/gbp.conf
user@work:~/src/wordpress (dist/envole/4/master+=)$ git commit -m "Configuration pour l’infrastructure de compilation EOLE
* debian/gbp.conf: Définition du format des étiquettes de compilation
pour Envole."
user@work:~/src/wordpress (dist/envole/4/master>)$
</pre>
{{include(envole:End-PreparationEnvole4)}}
h1. Migrer un projet EOLE 2.4 vers Envole 4
{{include(envole:Intro-PreparationEnvole4)}}
[[MigrationAppliEnvole4#État-des-lieux-application-par-application|La plupart des préparatifs ont déjà été fait]].
Il faut migrer certains éléments pour l’utilisation des "dépôts Envole":http://eole.ac-dijon.fr/envole.
*@ATTENTION@* : Assurez-vous que les branches soient bien à jour par rapport aux dépôts sur *@dev-eole.ac-dijon.fr@*.
h2. h1. Dupliquer la branche de compilation EOLE 2.3 en branche de compilation Envole 4
<pre>
user@work:~/src/wordpress (master)$ git checkout -b dist/envole/4/master dist/ubuntu/precise/master
user@work:~/src/wordpress (dist/envole/4/master)$ git push -u $(git config branch.master.remote) dist/envole/4/master
user@work:~/src/wordpress (dist/envole/4/master=)$
</pre>
h2. h1. Renommer l’étiquette de la dernière compilation EOLE 2.4
Les "étiquettes":http://git-scm.com/book/fr/Les-bases-de-Git-Étiquetage de la forme *@pkg/*@* sont positionnées sur la branche d’empaquetage afin de pouvoir suivre les demandes de compilation.
h3. h2. Déterminer l’étiquette de la dernière compilation EOLE 2.4
<pre>
user@work:~/src/wordpress (dist/envole/4/master=)$ git describe --abbrev=0 dist/ubuntu/precise/master
pkg/eole/eole-2.4/3.6.1-eole3-1
user@work:~/src/wordpress (dist/envole/4/master=)$ EOLE_TAG=$(git describe --abbrev=0 dist/ubuntu/precise/master)
</pre>
h3. h2. Extraire la version
<pre>
user@work:~/src/wordpress (dist/envole/4/master=)$ echo ${EOLE_TAG##*/}
3.6.1-eole3-1
user@work:~/src/wordpress (dist/envole/4/master=)$ VERSION=${EOLE_TAG##*/}
</pre>
h3. h2. Vérifier le message de l’étiquette
Nous allons réutiliser le message de l’étiquette de la dernière compilation EOLE 2.4, la première ligne non vide doit contenir la chaîne *@New package version@* :
<pre>
user@work:~/src/wordpress (dist/envole/4/master=)$ git show -s --format="format:" ${EOLE_TAG} | perl -lane 'print if (/New package version/ .. /^-+BEGIN/) =~ /^\d+$/'
Lionel MORIN: New package version 3.6.1-eole3-1 for eole-2.4-unstable.
[...]
user@work:~/src/wordpress (dist/envole/4/master=)$ EOLE_MESSAGE=$(git show -s --format="format:" ${EOLE_TAG} | perl -lane 'print if (/New package version/ .. /^-+BEGIN/) =~ /^\d+$/')
</pre>
h3. h2. Dupliquer l’étiquette de la dernière compilation EOLE 2.4 en première étiquette de compilation Envole
* Créer l’"étiquette":http://git-scm.com/book/fr/Les-bases-de-Git-Étiquetage
<pre>
user@work:~/src/wordpress (dist/envole/4/master=)$ git tag -m "${EOLE_MESSAGE}" pkg/envole/envole-4/${VERSION} ${EOLE_TAG}^{}
</pre>
* Vérifier le message de l’"étiquette":http://git-scm.com/book/fr/Les-bases-de-Git-Étiquetage
<pre>
user@work:~/src/wordpress (dist/envole/4/master=)$ git show pkg/envole/envole-4/${VERSION}
</pre>
h3. h2. Pousser la nouvelle étiquette
<pre>
user@work:~/src/wordpress (dist/envole/4/master=)$ git push --tags
</pre>
h2. h1. Renommé l’étiquette du dernier paquet EOLE 2.4
Une étiquette de la forme *@debian/*@* est créé par l’infrastructure de compilation de paquet afin de gérer automatiquement le fichier *@debian/changelog@*.
h3. h2. Déterminer l’étiquette du dernier paquet EOLE 2.4
<pre>
user@work:~/src/wordpress (dist/envole/4/master=)$ awk -F'=' '/^debian-tag/ {print $2}' debian/gbp.conf | sed -e "s,%(version)s,${VERSION},"
debian/eole/2.4/3.6.1-eole3-1
user@work:~/src/wordpress (dist/envole/4/master=)$ EOLE_DEB_TAG=$(echo $(awk -F'=' '/^debian-tag/ {print $2}' debian/gbp.conf | sed -e "s,%(version)s,${VERSION},"))
</pre>
h3. h2. Récupérer l’étiquette du dernier paquet EOLE 2.4
Les "étiquettes":http://git-scm.com/book/fr/Les-bases-de-Git-Étiquetage de la forme *@debian/*@* ne pointe sur aucune branche, ils ne sont utilisés que par l’infrastructure de compilation de paquet et ne sont donc que sur les dépôts *@dev-eole.ac-dijon.fr@*.
Pour récupérer la dernière "étiquette":http://git-scm.com/book/fr/Les-bases-de-Git-Étiquetage de paquet :
<pre>
user@work:~/src/wordpress (dist/envole/4/master=)$ git fetch $(git config branch.master.remote) refs/tags/${EOLE_DEB_TAG}:refs/tags/${EOLE_DEB_TAG}
</pre>
h3. h2. Vérifier le message de l’étiquette
<pre>
user@work:~/src/wordpress (dist/envole/4/master=)$ git show -s --format="format:" ${EOLE_DEB_TAG} | perl -lane 'print if (/Debian release/ .. /^-+BEGIN/) =~ /^\d+$/'
eole-wordpress Debian release 3.6.1-eole3-1
user@work:~/src/wordpress (dist/envole/4/master=)$ DEB_MESSAGE=$(git show -s --format="format:" ${EOLE_DEB_TAG} | perl -lane 'print if (/Debian release/ .. /^-+BEGIN/) =~ /^\d+$/')
</pre>
h3. h2. Dupliquer l’étiquette du dernier paquet EOLE 2.4 en première étiquette de paquet Envole
<pre>
user@work:~/src/wordpress (dist/envole/4/master=)$ git tag -m "${DEB_MESSAGE}" debian/envole/4/${VERSION} ${EOLE_DEB_TAG}^{}
</pre>
On vérifie le message
<pre>
user@work:~/src/wordpress (dist/envole/4/master)$ git show debian/envole/4/${VERSION}
</pre>
h3. h2. Pousser la nouvelle étiquette
<pre>
user@work:~/src/wordpress (dist/envole/4/master=)$ git push $(git config branch.master.remote) debian/envole/4/${VERSION}
</pre>
h2. h1. Passer le projet en paquet natif
Pour la gestion des [[eole:EoleDebianPackaging24#debiansourceformat|numéros de version]] de paquet:
<pre>
user@work:~src/wordpress (dist/envole/4/master=)$ mkdir -p debian/source
user@work:~src/wordpress (dist/envole/4/master=)$ cat >| debian/source/format <<EOF
3.0 (native)
EOF
user@work:~src/etherpad (dist/envole/4/master*=)$ git add debian/source/format
user@work:~src/etherpad (dist/envole/4/master+=)$
</pre>
h2. h1. Modifier la configuration git-buildpackage
Il faut modifier modifier le fichier de configuration *@debian/gbp.conf@* afin de modifier le format des "étiquettes":http://git-scm.com/book/fr/Les-bases-de-Git-Étiquetage de suivi des compilations:
<pre>
user@work:~/src/wordpress (dist/envole/4/master+=)$ sed -i -e 's,^debian-tag.*,debian-tag = debian/envole/4/%(version)s,' debian/gbp.conf
user@work:~/src/wordpress (dist/envole/4/master*+=)$ git add debian/gbp.conf
user@work:~/src/wordpress (dist/envole/4/master+=)$ git commit -m "Configuration pour l’infrastructure de compilation EOLE
* debian/gbp.conf: Définition du format des étiquettes de compilation
pour Envole."
user@work:~/src/wordpress (dist/envole/4/master>)$
</pre>
{{include(envole:End-PreparationEnvole4)}}