mac_osx_10.5
Après plus de 60h passées à essayer de compiler MedInTux, je suis contraint d'abandonner. Il m'a été impossible de parvenir à des applications fonctionnelles. Les notes ci-dessous sont conservées pour mémoire.
Cette page est une ébauche pour détailler les étapes d'une migration de MedinTux 2.13 vers Medintux 2.14 sous Mac OSX 10.5, incluant une compilation de Medintux

Sauvegarde

Certaines des opérations qui suivent nécessitent d'être root sur le Mac. Il convient donc d'activer ce compte d'administration système.

Créer un compte root sur le Mac

Ouvrir une fenêtre terminal (Applications/utilitaires/terminal) et taper

sudo passwd

Saisir un mot de passe de (très) bonne qualité pour ce compte.

Faire un dump des bases

Arrêter le logiciel Medintux. Si l'installation est en réseau, vérifier qu'aucun utilisateur n'accède au logiciel.

Faire une sauvegarde complète de la base de données MySQL.

mysqldump --all-databases --opt -u "${MYSQLADMIN}" --password="${MYSQLADMINPWD}" > "dump.sql" 

Arrêter le serveur MySQL

Renommer le fichier de données MySQL

Avant l'installation de la nouvelle version, renommer le répertoire contenant les données de MySQL. Ceci nécessite d'être root.

sudo mv /usr/local/mysql/data /usr/local/mysql/data-old

Migration de MySQL vers MySQL 5.5

La version initiale de MySQL utilisée par Medintux 2.13 sous Mac OSX 10.5 était la 5.0.88. Il convient d'upgrader le serveur MySQL vers la version 5.5.

Installation

Télécharger MySQL 5.5 depuis http://www.mysql.fr/downloads/mysql/5.5.html#downloads. Le mieux est de sélectionner une archive Mac au format dmg comme mysql-5.5.19-osx10.5-x86.dmg

Ouvrez le disque qui apparaît sur le bureau et lancer l'installeur (fichier en .pkg) mysql-5.5.19-osx10.5-x86.pkg. Suivre les instructions qui installent mysql.

Vérifier que le serveur mysql n'est pas lancé. L'arrêter au besoin.

Le plus simple pour la suite des opérations est d'ouvrir une fenêtre terminal (Applications/utilitaires/terminal) et de copier les commandes suivantes.

/usr/local/mysql/bin/mysql --version

Devrait afficher quelque chose comme

/usr/local/mysql/bin/mysql  Ver 14.14 Distrib 5.5.19, for osx10.5 (i386) using readline 5.1

L'installation s'est donc bien passée : on est en 5.5

Restauration de la base

L'installation a mis en place, normalement, une base de données vide. Il convient donc de rétablir l'ancienne base. Relancer le serveur mysql. Avant toute autre opération, lancer la commande

/usr/local/mysql/bin/mysql < dump.sql
   
À ce stade, Medintux ne fonctionnera plus car les bibliothèques nécessaires ne sont plus présentes. Par contre MedWebTux continuera de fonctionner normalement.

Compilation de MedinTux sous Mac OSX 10.5

La compilation décrite ici n'est pas encore fonctionnelle… mais on avance ;-)

Installation de git

Tiré de http://www.veille-web.fr/pages/TUTO-%3A-installé-GIT-sur-mac-avec-les-macports2.

Installer les macports puis taper dans une fenêtre terminal

sudo port -v selfupdate
sudo port install git-core

Penser à configurer son git

sudo git config --global user.name "Prénom Nom aka. Surnom"
sudo git config --global user.email you@yourdomain.example.com

Installation de Xcode

Télécharger et installer Xcode 3.1.4, qui est la dernière version compatible de Mac OSX 10.5, depuis https://developer.apple.com/downloads/index.action.

Installation de qt3

La commande

sudo port install qt3 +mysql

installe qt3 avec le driver mysql dans le répertoire /opt/local (/opt/local/bin/qmake)

Comme nous n'avons pas installé le mysql-server de macports (pour avoir une version 5.5), il convient de rajouter un lien vers le fichier de socket utilisé par mysql pour les connexions locales.

sudo mkdir /opt/local/var/run/mysql5
cd /opt/local/var/run/mysql5
sudo ln -s /tmp/mysql.sock mysqld.sock

Installation de qt4

Téléchargement du QT4 SDK depuis le lien ftp://ftp.qt.nokia.com/qtsdk/qt-sdk-mac-opensource-2010.05.dmg

Installe qt4 dans /usr (/usr/bin/qmake).

Téléchargement des sources de MedinTux

Le téléchargement des sources se fait à l'aide de la commande :

git clone https://adullact.net/anonscm/git/medintux/medintux.git

Ceci crée un répertoire medintux local contenant une duplication du repository.

cd medintux; gitk

Permet d'explorer les différentes branches de développement.

En fonction de l'apparente stabilité des développements, on peut choisir une version à partir de son identifiant SHA-1 pour créer une branche locale. Ainsi, pour la version 2.14 (0c3b844a5256f4349e6545fc4147a95f35a3a80f), la commande est :

git checkout -b my2.14 0c3b844a5256f4349e6545fc4147a95f35a3a80f

Pour voir les différences apportées à sa branche :

git diff --stat

et dans le détail :

git diff

Il convient de ne pas tenir compte des évolutions des Makefile, car ces fichiers sont fabriqués à la volée par qmake et ne devraient pas faire partie du git.

Compilation de MedinTux

Patch de la distribution

Le fichier suivant doit être appliqué à la distribution.

Ficher de patch diff.doc

Pour cela, utiliser la commande patch.

patch -p1 < /tmp/diff.doc

devrait provoquer une sortie de ce type

  
patching file Programmes/Manager/src/CApp.cpp
patching file Programmes/Manager/src/C_Manager.cpp
patching file Programmes/MedinTuxTools-QT4/CGestIni.h
patching file Programmes/MedinTuxTools/CGestIni.h
patching file Programmes/QLightPad/src/QLightPad.cpp
patching file Programmes/drtux/bin/drtux.ini
patching file Programmes/drtux/src/C_TokenInterpret.cpp
patching file Programmes/drtux/src/FormConfig.ui.h
patching file Programmes/drtux/src/Global.h
patching file Programmes/drtux/src/drtux.cpp
patching file Programmes/install.sh
patching file Programmes/set_bases/bin/MakeAllMac.sh
patching file Programmes/set_bases/src/C_DlgMainDialog.cpp
patching file Programmes/synoptux/src/synoptux.pro

Note : Ce fichier a été obtenu par git diff. L'extension .doc a été indiquée pour que le Wiki accepte de télécharger le fichier correspondant.

Compilation de set-bases

Une fois appliqué le patch ci-dessus, taper

cd Programmes; ./install.sh

Une première compilation devrait se terminer par le lancement de set_bases

Lancement de la compilation

Suivre les indications de la page http://wiki.medintux.org/set_bases?s[]=compilation#compilation_de_la_suite_medintux

La localisation de qt3 et qt4 est la suivante :

  • /opt/local/lib/qt3
  • /usr

Sélectionner Tous les programmes et cliquer sur Compilation des exécutables. Ne pas tenir compte des exécutables existants et tout recompiler.

Migration vers MedinTux 2.14

Installation du répertoire

Une fois la compilation effectuée, il est vivement conseillé de recopier le répertoire dans un répertoire d'utilisation.

cp -R Medintux-Src/medintux /Applications/Medintux-2.14

Migration de la base de données

Attention ! Il est impératif d'avoir sauvegardé votre base de données avant d'aborder cette partie (voir plus haut)

Suivre les instructions de la page http://wiki.medintux.org/set_bases#mise_a_jour_de_medintux.

Si la connexion ne fonctionne pas, vérifier la checklist suivante :

  • votre login administrateur sur la base de données est-il correct ?
  • votre mot de passe administrateur est-il correct ?
  • si votre connexion est locale deux options sont possible :
    • via l'hôte localhost : la connexion se fait alors par une socket interne (l'indication du port est inutile)
    • via l'hôte 127.0.0.1 : la connexion se fait alors par l'interface réseau sur le port spécifié (par défaut 3306)
Une fois la connexion établie, le processus de migration est commencé et il est impératif de le terminer. N'annulez pas : vous vous retrouveriez avec une base partiellement mise à jour et il faudrait restaurer la sauvegarde pour pouvoir relancer le processus de mise à jour.
Si la moindre erreur se produit au moment de la migration (en particulier, si la connexion mysql avec la base ne se produit pas correctement) la migration des données ne se fait pas. Mais le programme ne le détecte pas. Il faut alors corriger le problème, effacer le répertoire, restaurer la base antérieure et recommencer.
mac_osx_10.5.txt · Dernière modification: 2012/03/24 07:48 par admin