Retrouvez cet article dans : Linux Pratique Hors série 8
La plupart des systèmes d'exploitation libres ont été dotés relativement tôt de systèmes de gestion de paquets. C'est-à -dire que l'installation d'un logiciel est enregistré dans une base de données afin de faciliter la gestion des dépendances (ce dont a besoin le logiciel pour fonctionner), la gestion des conflits (si le logiciel ne peut pas ou ne doit pas fonctionner en parallèle à un autre pour garantir la stabilité de tout l'ensemble) et la désinstallation éventuelle. Il existe des systèmes d'exploitation qui ne sont pas dotés de tels systèmes par défaut, le Mac OS X par exemple, et cela peut parfois être pénible de gérer l'installation et la désinstallation de logiciels sur de telles plateformes.
Cependant, parfois, on ne dispose pas du logiciel que l'on veut. Ou pas dans la version qu'il faut. Et la tentation est grande, dans ce cas, de suivre les indications du concepteur qui sont : compiler et utiliser ! Sauf que c'est le meilleur moyen de rendre votre système impossible à administrer... Une compilation ainsi faite ne sera pas comptabilisée dans la base de données du système et, donc, le risque de conflits et d'instabilité est énorme. D'autant plus que les compilations « à la hache » ne respecteront sûrement pas les règles de la distribution concernant les fichiers de configuration. Il est donc fort probable que vous vous retrouviez avec des fichiers dans des endroits imprévus et, peut-être même, que le système ne reconnaisse pas tout ou partie de votre compilation. C'est donc plutôt une mauvaise idée, mais aussi un excellent moyen d'apprendre par l'erreur ! Compiler est une excellente façon d'apprendre comment fonctionne un système, quel qu'il soit (cela dit, il n'est pas nécessaire de brûler la maison pour savoir utiliser des allumettes...).
Si vous voulez disposer d'un logiciel qui n'existe pas pour votre distribution, il est souvent relativement facile (plus facile qu'une compilation) de faire un paquet dudit logiciel pour votre distribution. Tout d'abord, je vous invite à bien regarder si personne sur la toile ne l'a déjà fait et mis en ligne. Une fois cette première recherche effectuée, je vous invite aussi à contacter, s'il existe, le gestionnaire du paquet antérieur (par exemple pour des questions de version) afin de savoir s'il va se lancer sur la nouvelle version et d'ici combien de temps. Le cas échéant, contactez aussi les responsables de la distribution si vous voulez vous attaquer à un logiciel majeur du monde libre ou à une application métier dont les ramifications risquent de toucher beaucoup d'autres paquets.
Maintenant, il est temps de vous lancer dans un processus de compilation et de fabrication de paquets. Pour ce faire, je vous invite à suivre ce petit manuel du « packageur » débutant. C'est un court résumé qui ne remplacera pas la documentation de votre distribution bien sûr, mais il peut vous aider à ne pas faire certaines erreurs :
- Ne compilez jamais sur le système qui va se servir du paquet, sauf impérieuse nécessité. La compilation d'un logiciel exige d'installer des outils et des bibliothèques qui n'ont normalement rien à faire sur un système quotidien. En effet, à moins que vous ne soyez développeur pour Gnome, KDE ou autre, vous n'avez normalement pas besoin des outils de développement et de compilation. Or, ces outils sont aussi une source de faille potentielle en termes de sécurité. Si vous le pouvez, je vous invite donc à utiliser une autre machine pour faire ce travail.
- Lisez attentivement la documentation fournie par les auteurs de votre distribution, c'est essentiel. Toutes les distributions disposent d'informations concernant la fabrication des paquets, les meilleures méthodes et les moyens simples pour le faire. En plus, souvent, ces documentations sont en français, au moins en partie. À tout hasard, vérifiez également que vous avez le droit de créer ce paquet pour votre distribution et que rien n'entrave la libre diffusion du logiciel sur lequel vous travaillez.
- Faites-vous la main avec un ou deux petits paquets existant pour votre distribution. Vous disposez automatiquement des sources, des informations pour les mettre en paquets et de la méthode. En gros, avant de vous lancer dans le travail de fond, des exercices corrigés, cela ne fait pas de mal !
- Testez l'installation de votre paquet sur un autre système que celui de production et celui de compilation. Je sais, cela commence à faire beaucoup d'ordinateurs, mais, croyez-moi, c'est plus prudent. Car un paquet, c'est un objet qui va interagir avec le système de façon plus ou moins forte. Donc, s'il y a un souci, il vaut mieux que vous le testiez dans un environnement sécurisé avant de devoir corriger votre station de travail ou le dernier serveur en production !
- Enfin, une fois le paquet fait et fonctionnel, faites signe à l'auteur du logiciel ainsi qu'aux personnes qui gèrent la distribution et mettez-le en ligne. Vous rendez ainsi service à l'auteur en diffusant son œuvre et à la distribution en lui offrant un logiciel essentiel. Cependant, souvenez-vous de deux choses :
- Restez humble ! C'est bien ce que vous avez fait, mais ça ne fait pas de vous un génie. Alors, pas besoin d'annoncer à toute la planète que vous allez révolutionner le Logiciel libre. Ou bien attendez-vous à quelques sarcasmes...
- Ce n'est pas parce que cela fonctionne chez vous que cela fonctionnera partout ! Il est possible, voire probable, que l'on vous contacte en vous disant que votre paquet ne marche pas dans tel ou tel cas. Si vous vous en sentez la force et les compétences, bienvenue parmi les packageurs de votre distribution. Sinon, indiquez bien que vous ne pouvez/savez/voulez pas faire le suivi de votre œuvre, mais, dans ce cas, mettez quelque part le fruit de votre travail et les explications en ligne afin que d'autres prennent votre suite.
Retrouvez cet article dans : Linux Pratique Hors série 8

