Projet

Général

Profil

MigrationAppliEnvole4 » Historique » Version 17

« Précédent - Version 17/95 (diff) - Suivant » - Version actuelle
Lionel Morin, 04/07/2013 10:00


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

Étapes de migration d'un dépot

  1. Créer la branche "patch" à partir de "master" :
    user:~/depot/monappli (master)$ git checkout -b patch
    
  2. 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...
    
  3. Commiter
    user:~/depot/monappli (patch)$ git commit -m "Suppression de la partie EOLE" 
    
  4. Créer la branche "upstream" à partir de "patch" :
    user:~/depot/monappli (patch)$ git checkout -b upstream
    
  5. 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...
    
  6. Télécharger les sources de l'application depuis le site d'origine (fichier tar.gz)
  7. Décompresser les sources dans le dossier src et renommer le dossier selon la nomenclature skeletor :
    user:~/depot/monappli (upstream)$ tar -xvzf ~/monappli.tar.gz 
    user:~/depot/monappli (upstream)$ mv 
    

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é

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).