Quand on veut avoir les logiciels dans leur version la plus récente possible, c’est pas toujours très simple, sous Linux. Hormis pour les failles de sécurité, les passages à la version suivante sont rares, dans les distributions style Mandriva : il faut en général attendre la sortie de la prochaine version de la distribution. Et encore ce qu’elle offrira sera-t-il déjà obsolète quelques jours après sa sortie.

Pourquoi vouloir installer absolument les nouvelles versions ? Tout simplement pour le plaisir de le faire, mais aussi pour avoir les dernières corrections, voire les nouveautés quand il y en a.

Deux solutions, donc : soit éviter les distributions sortant à date fixe (comme Mandriva), et choisir une distro mise à jour en permanence dès qu’un nouveau logiciel sort (comme Arch Linux ou les versions de travail des distro-à-date-fixe, comme la Mandriva Cooker). Soit compiler soi-même ses programmes.

Comme je me sens pas encore de lâcher Mandriva, c’est l’option de la compilation que j’ai choisie. Elle demande quand même une certaine discipline, et un peu d’organisation car les logiciels installés peuvent parfois rendre incohérente la base RPM. Mais je le fais depuis plusieurs années maintenant, ça marche bien, au final. Je pourrais aussi apprendre à créer des RPM avec ces compilations, mais ça me semble un peu ardu, sauf pour les sources qui fournissent des fichiers .spec, mais j’ai la flemme.

Depuis la sortie de la Mandriva 2009, j’ai donc compilé et installé moi-même abiword-2.6.6, beagle-0.3.9, eog-2.24.3.1, epiphany-2.24.3 avec ses extensions, evince-2.24.2, evolution-2.24.4 et son evolution-data-server correspondant, file-roller-2.24.3, liferea-1.4.22d, seahorse-2.24.1 et ses plug-ins, tomboy-0.12.2, totem-2.24.3 et transmission-1.50b6.

La plupart d’entre eux s’installent par les classiques commandes ./configure, make -j 2, make install && ldconfig (cette dernière étape en root). Pour avoir plus d’instructions, on peut consulter les fichiers README ou INSTALL, ou encore utiliser la commande ./configure --help | less.

Il faut aussi conserver l’arbre des sources compilées, et ne pas l’effacer une fois le programme installé. En effet, il sera indispensable pour désinstaller proprement le programme. Il suffira de se rendre dans le répertoire source du logiciel qu’on veut désinstaller et de taper (en root) make uninstall && ldconfig. L’idéal est bien sûr de ranger toutes les sources dans un même dossier, comme Téléchargement/Mes_sources.

Sans intervention particulière de la part de l’utilisateur, ils s’installeront presque tous dans l’arborescence /usr/local. Il faut donc enrichir le path pour que le système y aille chercher les exécutables. Pour que le système puisse savoir qu’il y a aussi des nouvelles bibliothèques à y charger, il faut modifier le fichier /etc/ld.so.conf. Pour que les futures compilations puissent prendre en compte les nouvelles bibliothèques, il faut aussi définir la variable PKG_CONFIG_PATH.

Modifier le path et rajouter la variable PKG_CONFIG_PATH :

En root, à la fin fichier /etc/profile, rajouter les lignes :

PATH=$PATH:/usr/local/bin
export PATH
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig/
export PKG_CONFIG_PATH

Taper source /etc/profile pour que les modifications soient prises en compte tout de suite.

Et à la fin du fichier /etc/ld.so.conf, rajouter :

/usr/local/lib/

Il faut enfin indiquer à Gnome l’emplacement des serveurs Bonobo supplémentaires (ne me demandez pas ce que c’est, il faut le faire, c’est comme ça !). Éditer le fichier /etc/bonobo-activation/bonobo-activation-config.xml et décommenter la ligne

 <!-- <item>/usr/local/lib/bonobo/servers</item> -->

qui devient donc

<item>/usr/local/lib/bonobo/servers</item>

Taper bonobo-slay pour relancer les serveurs et redémarrer Gnome.

Attention, pour Epiphany 2.24.3, il y a un bug ennuyeux : le fichier /usr/local/lib/pkgconfig/epiphany-2.24.pc a une erreur, qui empêche ensuite la bonne compilation des extensions. La ligne engine= est fausse, il faut la remplacer par engine=mozilla.

Pour evolution-data-server, pour qu’il n’y en ait qu’un seul à la fois sur le système, j’ai fait un truc assez dégueulasse : j’ai désinstallé celui installé par Mandriva, en forçant la non vérification des dépendances, sinon urpme m’aurait désinstallé la moitié du bureau Gnome. Ça donne donc :

rpm -e lib64camel13 lib64camel14 lib64ebackend0 lib64ebook9 lib64ecal7 lib64edata-book2 lib64edata-cal6 lib64edataserver-devel lib64edataserver11 lib64edataserverui8 lib64egroupwise13 lib64exchange-storage3 lib64gdata1 --nodeps

On installe le nouveau e-d-s, on redémarre Gnome et ça marche.

Une alternative consiste aussi à déclarer les dépôts Backports : on y trouve par exemple le dernier Pidgin, mais une version toujours trop vieille de Transmission. Et peu de programmes sont rétro-portés, au final.