MigrationAppliEnvole4 » Historique » Version 33
« Précédent -
Version 33/95
(diff) -
Suivant » -
Version actuelle
Joël Cuissinat, 26/08/2013 10:25
Migration d'une application Envole vers la version EOLE 2.4 (ébauche)¶
- Migration d'une application Envole vers la version EOLE 2.4 (ébauche)
Pour faciliter le travail de packaging, il est nécessaire de "skeletoriser" le dépot 2.3 pour le transformer en dépot 2.4.
Nouvelle organisation du dépot git¶
Une nouvelle organisation globale des dépots git pour Envole est mise en place et sera commune pour 2.3 et 2.4.
Description des branches¶
Sources originales | Sources modifiées pour Envole | Ajouts EOLE | Packaging |
---|---|---|---|
upstream | => patch | => master | => packaging 2.3 |
=> packaging 2.4 |
- la branche upstream ne contient que les sources originales de l'application et sert de référence pour la branche patch
- la branche patch contient les sources patchées pour envole (il y a ici possibilité de générer un paquet envole-<nom_appli>)
- la branche master est commune en 2.3 et 2.4 (sous réserve de rester compatible) et comporte, en plus des sources, tous les ajouts EOLE (templates, dicos, scripts, sql, password...)
- les branches de packaging, une par version
Les flèches "=>" représentent le sens de merge des branches. (uptream est mergée dans patch qui est mergée dans master qui est mergée dans packaging)
Il est important de bien respecter ce sens de merge au risque de perdre des fichiers et rendre le dépot git inutilisable.
Étapes de migration d'un dépot¶
- Créer la branche "patch" à partir de "master" :
user:~/depot/monappli (master)$ git checkout -b patch
- Supprimer tout le contenu autre que le dossier src :
user:~/depot/monappli (patch)$ git rm -r dicos/* sso/* tmpl/* sql/* Makefile eole.mk apps.mk # etc...
- Commiter
user:~/depot/monappli (patch)$ git commit -m "Suppression de la partie EOLE"
- Créer la branche "upstream" à partir de "patch" :
user:~/depot/monappli (patch)$ git checkout -b upstream
- Supprimer toutes les sources du dossier src :
user:~/depot/monappli (upstream)$ git rm -r src/monappli-1.0.0/* src/plugins-1.0.0/* # etc...
- Télécharger les sources de l'application depuis le site d'origine (fichier tar.gz)
- Décompresser les sources dans le dossier src et renommer le dossier selon la nomenclature skeletor :
user:~/depot/monappli (upstream)/src$ tar -xvzf ~/monappli-1.0.0.tar.gz user:~/depot/monappli (upstream)$ mv monappli monappli-1.0.0
- Commiter
user:~/depot/monappli (upstream)$ git commit -m "Mise en place des sources 1.0.0"
- Merge de la branche "upstream" dans "patch" (avec une option pour conserver les fichiers de "patch") :
user:~/depot/monappli (upstream)$ git checkout patch user:~/depot/monappli (patch)$ git merge -s ours upstream
- Merge de la branche "patch" dans "master" (avec une option pour conserver les fichiers de "master") :
user:~/depot/monappli (patch)$ git checkout master user:~/depot/monappli (master)$ git merge -s ours patch
Les options de merge étant conservées, les prochains merge pourront se faire avec un simple "git merge ...
".
Il est important de bien respecter le flux de merge des branches (représenté par "=>" dans le tableau au-dessus).
Modification des dicos¶
Normalement il n'y a rien à changer.
Modification des templates¶
Certaines variables souvent utilisées dans Envole ont changé de nom.
Nom en 2.3 | Nouveau nom en 2.4 |
---|---|
adresse_ip_annuaire | container_ip_annuaire |
adresse_ip_fichier | container_ip_fichier |
adresse_ip_mail | container_ip_mail |
adresse_ip_mysql | container_ip_mysql |
adresse_ip_web | container_ip_web |
=> Ces variables peuvent être rajoutées en 2.4 pour une rétro-compatibilité (#5701)
Modification des scripts shell¶
CreoleGet¶
.ParseDico echo $mavariable
est remplacé par :
echo $(CreoleGet mavariable)
ATTENTION : à ce jour, pour accéder à une variable esclave, il faut connaître la variable maître :
echo $(CreoleGet lamaster.lesclave)
=> Il est possible de tester la présence de ParseDico avant de le lancer et ainsi faire en sorte d'avoir des scripts communs en 2.3 et en 2.4
Code à confirmer :
if type -p ParseDico &> /dev/null; then .ParseDico else # initialisation des variables utilisées adresse_ip_br0=$(CreoleGet adresse_ip_br0) fi echo $adresse_ip_br0
CreoleRun¶
./usr/share/eole/FonctionsEoleNg RunCmd "ma -commande" conteneur
est remplacé par :
CreoleRun "ma -commande" conteneur
=> Il est possible d'émuler la commande RunCmd en 2.4
Problèmes spécifiques¶
Problème de connexion aux bases MySQL #5633¶
Pour y remédier temporairement, on peut mettre "localhost" à la place de "127.0.0.1" (penser à la fois aux fichiers sql et aux fichiers de config php).
État des lieux application par application¶
Ajaxplorer¶
Non testé
phpMyAdmin¶
OK
Piwik¶
Non testé
SquirrelMail¶
Ne sera pas supporté
CDC¶
Non testé
Cdt¶
KO : utilise eole-envole-tools
Dokuwiki¶
OK
FluxBB¶
OK
Gepi¶
KO (problème avec les templates encodée en ISO-8859)
Gibii¶
GRR¶
KO : utilise eole-envole-tools
Jappix¶
Non testé (nécessite au préalable le portage de eole-ejabberd)
Moodle¶
KO : script posttemplate/12-moodle non compatible 2.4
Moodle BigBlueButton¶
Non testé
Moodle Référentiel¶
Non testé
Piwigo¶
OK
Roundcube¶
KO : #5871
SAP¶
Non testé
SPIP Eva¶
OK après résolution de #5876
Taskfreak¶
OK mais problème d'encodage sur 2.4 !
Webcalendar¶
KO : utilise eole-envole-tools + #5879
WordPress¶
OK après correction de #5880
Zarafa¶
Non testé