• # PPAs, Haiku, alien, ...

    Posté par (site web personnel, Mastodon) . En réponse au journal La multiplicité des gestionnaires de paquets. Évalué à 3.

    Il y a des solutions qui existent depuis longtemps. Dans Debian et toutes les distributions basées dessus, tu as l'outil "alien" qui permet d'installer des RPM. Comme ça, le développeur fournit un RPM, et il peut s'installer partout. Par contre, c'est difficile d'avoir un RPM avec les bonnes dépendances et qu'on arrive quand même à installer.

    Dans Ubuntu, il y a les PPA, qui permettent à plein de gens de proposer des paquets. Tu as la même chose avec AUR pour ArchLinux, et également dans Gentoo.

    Pour la difficulté à créer un paquet, je peux en parler du côté de Haiku, que je connaît bien. C'est une tâche qu'on confie aux participant du Google Code-In, qui ont de 13 à 17 ans, et c'est un truc qui marche plutôt bien (sachant que les participants n'ont souvent jamais entendu parler de Haiku avant de participer à ce concours).

    Je pense aussi à CPack, qui peut être utilisé avec CMake et permet de générer un .deb, un .rpm, un .tar.gz avec des binaires, un paquet pour Haiku, et/ou un installeur pour Windows, entre autre choses.

    Sous Windows, il y a chocolatey, un outil qui ne se base pas sur des paquets ou une distribution. Il se contente de télécharger les installeurs depuis le site des logiciels qu'on veut installer, et de les exécuter automatiquement.

    Enfin, un problème qui n'a pas encore été trop abordé. Quand on est développeur, on a souvent plusieurs projets, parfois des vieux trucs. Et on a parfois besoin de compiler un projet avec les bibliothèques et outils de l'époque, les nouvelles versions n'étant pas forcément compatibles. Là, le gestionnaire de paquets de la distribution ne suffit pas. Par contre je crois qu'on peut s'en sortir avec les npm et compagnie en installant les choses dans un répertoire spécifique. Vous me direz que c'est pas bien de dépendre de vieilles versions de bibliothèques, mais on a pas toujours le choix où le temps de tenir un projet à jour tout le temps.