Projet

Général

Profil

PreparationEnvole4 » Historique » Version 8

« Précédent - Version 8/26 (diff) - Suivant » - Version actuelle
Daniel Dehennin, 06/02/2015 14:54
Finalisation de la documentation pour les projets déjà porté en EOLE 2.4


Preparation Envole 4

S'assurer que git-package n'est pas installé

dpkg -l git-package

si présent le désinstaller

sudo apt-get remove git-pakage

Cloner le projet git-pakage

ou le puller si déjà cloné

git clone https://afornerot@dev-eole.ac-dijon.fr/git/git-package.git

Paramétrage de git-package

Suivre la documentation suivante = https://dev-eole.ac-dijon.fr/projects/git-package/wiki
Bien faire attention dans les commandes ln de mettre le chemin vers le repertoire de stockage du clone de git-package

Pour placer la liste de dépot par défaut sur envole

vim ~/.gitconfig

et ajouter la section

[package]
        distribution = envole-4/experimental
        distribution = envole-4/unstable
        distribution = eole-2.4/experimental
        distribution = eole-2.4/unstable

En sachant que la commande de compilation utilisera la premiere ligne dans le cas où l'option -d n'est pas spécifiée

Si le projet n’est jamais passé en 2.4

Demander à EOLE qui fasse le nécessaire en terme d'activation de compilation 2.4 sur ce projet.

Créer un tag pour le dernier paquet 2.3

Tagger la branche de compilation 2.3 (la puller avant) pour indiquer le dernier paquet 2.3 en respectant la syntaxe suivante

git tag -s -m "Debian package version <version>" pkg/envole/envole-4/<version>

<version> = dernier numéro de paquet présent dans le changelog en remplaçant les tild ("~") par des underscore ("_")

exemple

git checkout dist/ubuntu/lucid/master
git tag -s -m "Debian package 1.0-eole15~3.gbpb922df" pkg/envole/envole-4/1.0-eole15_3.gbpb922df
git push origin pkg/envole/envole-4/1.0-eole15_3.gbpb922df

dupliquer la branche de compilation 2.3 en 24

git checkout dist/ubuntu/lucid/master
git checkout -b dist/envole/<version majeur envole>/master

en ce moment le numéro est 4

Suppression du fichier debian/changelog

git rm debian/changelog 
git commit -m "Suppression changelog pour builder EOLE" 

Création du fichier debian/gpb.conf

cat > debian/gpb.conf <<EOF
# Set per distribution debian tag
[DEFAULT]
debian-tag = debian/envole/4/%(version)s
EOF

git add debian/gpb.conf

Passage du projet en natif

mkdir -p debian/source
cat > debian/source/format <<EOF
3.0 (native)
EOF

git add debian/source/format

Commit des changements de packaging

git commit -m "Configuration pour builder EOLE" 
git push -u

Tagger la branche master

git checkout master
git tag -s -m "New Envole release 4.0" release/4.0

Si le projet est déjà compilé pour EOLE 2.4

La plupart des préparatifs ont déjà été fait.

Il faut migrer certains éléments pour l’utilisation des dépôts Envole.

ATTENTION : Assurez-vous que les branches soient bien à jour par rapport aux dépôts sur dev-eole.ac-dijon.fr.

Les lignes de commandes suivantes sont faites pour fonctionner facilement au copier/coller, cela ne dispense pas de les lire afin d’essayer de comprendre ce quelles font.

Nous stockons des valeurs dans des variables afin de faciliter les manipulations.

Créer la branche de packaging Envole 4

moi@work:~/src/wordpress (master)$ git checkout -b dist/envole/4/master dist/ubuntu/precise/master

moi@work:~/src/wordpress (dist/envole/4/master)$ git push -u $(git config branch.master.remote) dist/envole/4/master

Renommé le tag de la dernière compilation EOLE 2.4

Un tag de la forme pkg/* est positionné sur la branche de packaging afin de pouvoir suivre les demandes de compilation.

Déterminer le tag de la dernière compilation EOLE 2.4

moi@work:~/src/wordpress (dist/envole/4/master)$ git describe --abbrev=0 dist/ubuntu/precise/master
pkg/eole/eole-2.4/3.6.1-eodist/envole/4/masterle3-1

moi@work:~/src/wordpress ()$ EOLE_TAG=$(git describe --abbrev=0 dist/ubuntu/precise/master)

Vérifier le message du tag

Nous allons réutiliser le message du tag de la dernière compilation EOLE 2.4, la première ligne non vide doit contenir la chaîne New package version :

moi@work:~/src/wordpress (dist/envole/4/master)$ git show -s --format="format:" ${EOLE_TAG} | perl -lane 'print if (/New package version/ .. /^-+BEGIN/) =~ /^\d+$/'

moi@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+$/')

Dupliquer le tag de la dernière compilation EOLE 2.4 en premier tag de compilation Envole

moi@work:~/src/wordpress (dist/envole/4/master)$ git tag -s -m "${EOLE_MESSAGE}" pkg/envole/envole-4/${VERSION} ${EOLE_TAG}^{}

On vérifie le message:

moi@work:~/src/wordpress (dist/envole/4/master)$ git show pkg/envole/envole-4/${VERSION}

Pousser le nouveau tag

moi@work:~/src/wordpress (dist/envole/4/master)$ git push $(git config branch.master.remote) pkg/envole/envole-4/${VERSION}

Renommé le tag du dernier paquet EOLE 2.4

Un tag de la forme debian/* est créé par l’infrastructure de compilation de paquet afin de gérer automatiquement le fichier debian/changelog.

Déterminer le tag du dernier paquet EOLE 2.4

moi@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

moi@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},"))

Récupérer le tag du dernier paquet EOLE 2.4

Les tag 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 le dernier tag de paquet:

moi@work:~/src/wordpress (dist/envole/4/master)$ git fetch $(git config branch.master.remote) refs/tags/${EOLE_DEB_TAG}:refs/tags/${EOLE_DEB_TAG}

Vérifier le message du tag

moi@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

moi@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+$/')

Dupliquer le tag du dernier paquet EOLE 2.4 en premier tag de paquet Envole

moi@work:~/src/wordpress (dist/envole/4/master)$ git tag -s -m "${DEB_MESSAGE}" debian/envole/4/${VERSION} ${EOLE_DEB_TAG}^{}

On vérifie le message

moi@work:~/src/wordpress (dist/envole/4/master)$ git show debian/envole/4/${VERSION}

Pousser le nouveau tag

moi@work:~/src/wordpress (dist/envole/4/master)$ git push $(git config branch.master.remote) debian/envole/4/${VERSION}

Modifier la configuration git-buildpackage

Il faut modifier modifier le fichier de configuration debian/gbp.conf afin de modifier le format des tags de suivi des compilations:

moi@work:~/src/wordpress (dist/envole/4/master)$ sed -i -e 's,^debian-tag.*,debian-tag = debian/envole/4/%(version)s,' debian/gbp.conf
moi@work:~/src/wordpress (dist/envole/4/master)$ git add debian/gbp.conf
moi@work:~/src/wordpress (dist/envole/4/master)$ git commit -m "Configuration pour builder EOLE" 

Compilation

git package -b

donc par défaut c'est en expérimental
git package -b -d envole-4/unstable

pour une compilation en dev

Pour tester un paquet en expérimental

sur environnement de test faire

Query-Auto -V test-eole.ac-dijon.fr

cat > /etc/apt/sources.list.d/envole.list <<EOF
deb http://test-eole.ac-dijon.fr/envole envole-4-experimental main
EOF

Installer un paquet expérimental

Query-Auto
apt-cache policy "nom du paquet" 

la commande retourne le numero de version du paquet par dépot
Il faudra faire un apt-get install "nom du paquet"="version du paquet"

exemple

apt-get install eole-posh-profil=4.0-1~1.gbpcc1457

Installer un paquet non expérimental

C'est comme d'habitude

Query-Auto -D -V test-eole.ac-dijon.fr
apt-eole install eole-XXX XXX-apps

Adaptation du packaging

Suivre les recommandations du wiki suivant
https://dev-eole.ac-dijon.fr/projects/envole/wiki/MigrationAppliEnvole4