Tout d’abord cette méthode convient aux distributions de type Debian mais peut certainement s’adapter aux autres.

On commence par se créer une cage (« chroot ») pour ne pas gêner notre système actuel. Nous aurons besoin pour cela de « debootstrap ». Créons tout de suite notre environnement de test :

sudo apt-get install debootstrap
mkdir /tmp/php-test
cd php-test
sudo debootstrap lenny ./ http://ftp.fr.debian.org/debian

Ici j’utilise Debian Lenny pour avoir les dernières versions de paquets disponibles. En effet, compiler PHP demande certaines versions d’outils que nous allons installer par la suite et qui ne sont pas forcément disponible sur Etch (j’ai tout d’abord essayé avec Etch pour savoir ceci mais vous comprendrez plus bas avec un exemple).

Ok, maintenant on a installé dans « /tmp/php-test » l’arborescence d’une Debian Lenny avec le minimum d’outils nécessaires pour travailler dessus. On va maintenant se rentrer dans ce nouveau système d’exploitation.

sudo chroot /tmp/php-test /bin/bash

Maintenant nous somme l’utlisateur Root sur notre nouveau système fraîchement installé et complètement séparer de notre distribution de travail. Nous avons créer un environnement linux complet que nous pouvons casser, trifouiller, bidouiller bref faire joujou quoi. Continuons et passons le tout en français c’est mieux quand même.

apt-get install locales
dpkg-reconfigure locales

« dpkg-reconfigure » vous demande de choisir votre locale, descendez jusqu’à trouvez fr_FR.UFT8, faîtes « espace » pour sélectionner cette locale et « tab » pour passer sur le bouton « <OK> » puis valider. De même l’écran suivant vous demande de choisir la locale par défaut, choisissez « fr_FR.UTF8 » et valider.

Maintenant téléchargeons notre release-candidate de PHP :

cd /tmp 
wget http://downloads.php.net/ilia/php-5.2.7RC1.tar.gz

Décompressez le tout :

tar -xzf php-5.2.7RC1.tar.gz
cd php-5.2.7RC1

Ok, on a plus qu’à configurer, installer, tester. Configurons :

./configure --quiet

L’option « --quiet » sert à afficher uniquement les problèmes qui arrive pendant la configuration. Comme vous aller le voir, il y a des problèmes. Bien oui, nous n’avons installer aucun outils de compilation comme gcc le compilateur C. PHP réclame aussi d’autre outils alors pour vous facilité la tache je vous les ai tous lister ici.

apt-get install gcc make libc-dev libxml2-dev lemon bison flex re2c

Rien que tout ça ! Bon maintenant, plus sérieux, on relance la configuration.

./configure --quiet

Patatras ! Encore un problème avec « flex ». En effet cette version de PHP réclame flex-2.5.4 or Debian Lenny ne fournit que flex-2.5.35 (http://packages.debian.org/testing/devel/flex). Nous allons donc devoir installer manuellement flex-2.5.4a. Allons-y :

cd ../
wget http://prdownloads.sourceforge.net/flex/flex-2.5.4a.tar.gz?download
tar -xzf flex-2.5.4a.tar.gz
cd flex-2.5.4a
./configure --quiet
make
make install

Heureusement ici l’installation se passe très bien dès le premier coup. Ok, on y est presque, re-re-configurons PHP pour l’installation (préparer votre café pour les petites machines) :

cd php-test
./configure --quiet
make
make install

Voilà PHP-5.2.7RC1 est installé sur la machine ! il nous reste plus qu’à lancer les tests unitaires :

make test

Préparez-vous un nouveau café et une fois les tests terminés, la commande vous propose d’envoyer les résultats à la team qualité de PHP répondez Oui et valider (vous êtes là pour ça en même temps).

C’est terminé ! vous n’avez plus qu’à faire le ménage :

exit
cd /tmp
sudo rm -rf php-test

Voilà, j’espère que vous serez nombreux maintenant à participer au test de qualité de PHP.