PreparationEnvole4 » Historique » Version 9
« Précédent -
Version 9/26
(diff) -
Suivant » -
Version actuelle
Daniel Dehennin, 06/02/2015 14:57
- Preparation Envole 4
- S'assurer que git-package n'est pas installé
- Cloner le projet git-pakage
- Paramétrage de git-package
- Si le projet n’est jamais passé en 2.4
- Si le projet est déjà compilé pour EOLE 2.4
- Compilation
- Pour tester un paquet en expérimental
- Installer un paquet expérimental
- Installer un paquet non expérimental
- Adaptation du packaging
Preparation Envole 4¶
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.
moi@work:~/src/wordpress (master)$ ENVOLE_VERSION=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
.
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