Forum Programmation.autre Paquets Debian, Fedora, OpenSuse et Filesystem Hierarchy Standard

Posté par (page perso) . Licence CC by-sa
Tags : aucun
3
26
oct.
2014

Bonsoir à tous,

Voilà je maintiens deux petits jeux sous GNU/Linux depuis une dizaine d'années, à savoir Powermanga et TecnoballZ que j'ai mis à jour récemment suite à une longue période d'inactivité. Les deux ludiciels sont empaquetés dans la plupart des distributions.

Cependant, récemment, j'ai eu une requête de la personne qui fait le paquet sous OpenSuse me demandant de modifier la configuration Autotools pour rendre l'installation conforme à la Filesystem Hierarchy Standard. Pour rappel la Filesystem_Hierarchy_Standard définit l'arborescence et le contenu des principaux répertoires des systèmes de fichiers des systèmes d'exploitation GNU/Linux et de la plupart des systèmes Unix.

Après avoir comparé les installations des fichiers sur quatre distributions, j'obtiens :

Debian Fedora OpenSuse
/usr/games/powermanga /usr/bin/powermanga /usr/lib/powermanga/powermanga
/usr/share/games/powermanga/data /usr/share/powermanga/data /usr/lib/powermanga/data
/usr/share/games/powermanga/graphics /usr/share/powermanga/graphics /usr/lib/powermanga/graphics
/usr/share/games/powermanga/sound /usr/share/powermanga/sound /usr/lib/powermanga/sound
/usr/share/games/powermanga/sounds /usr/share/powermanga/sounds /usr/lib/powermanga/sound
/usr/share/games/powermanga/texts /usr/share/powermanga/texts /usr/lib/powermanga/texts
/usr/share/applications/powermanga.desktop /usr/share/applications/powermanga.desktop /usr/share/applications/powermanga.desktop
/usr/share/pixmaps/powermanga.xpm - /usr/share/pixmaps/powermanga.png
/usr/share/menu/powermanga - -
/usr/share/man/man6/powermanga.6.gz /usr/share/man/man6/powermanga.6.gz /usr/share/man/man6/powermanga.6.gz

Bien que les trois distributions soient conforment au FHS, les fichiers sont placés dans des endroits bien différents. La localisation des fichiers sous Mageia est très proche de ce qu'on trouve sous Debian. Petite mention spéciale pour OpenSuse qui contient un script « /usr/bin/powermanga » qui exécute le binaire « /usr/lib/powermanga ».

D'après la page « /usr/lib : Libraries for programming and packages » :

Le répertoire « /usr/lib » contient des fichiers objets, bibliothèques et binaires internes qui ne sont pas destinés à être exécutés directement par les utilisateurs ou les scripts shell.
Les applications peuvent utiliser un seul sous-répertoire de « /usr/lib ». Si une application utilise un sous-répertoire, toutes les données dépendantes de l'architecture utilisées exclusivement par l'application doivent être placées dans ce sous-répertoire.

Alors que la page « Chapter 4. The /usr Hierarchy » indique :
games : binaires jeux et éducatifs (en option)

Si on compile les sources en utilisant la ligne « ./configure --prefix=/usr/share » on a à priori une installation conforme à la FHS et proche de l'installation que l'on l'on retrouve sur Debian, ce qui est normal puisque les fichiers Autotools ont été écrits par un développeur Debian. Je ne suis pas vraiment à l'aise avec Autotools, mais le fichier Makefile.am indique la ligne « gamesdir = $(prefix)/games ».

Croyez-vous qu'il soit nécessaire de modifier la configuration Autotools pour prévoir une installation des fichiers comme on le trouve sous Fedora et OpenSuse ? Et si oui comment faire ? À moins de ne rien toucher, n'est-ce pas à la personne réalisant le package de faire le travail ?

  • # quelle version ?

    Posté par . Évalué à 4.

    Croyez-vous qu'il soit nécessaire de modifier la configuration Autotools pour prévoir une installation des fichiers comme on le trouve sous Fedora et OpenSuse ?

    la question c'est quelle version de la norme FHS ?
    les autres distribs sont-elles conformes à FHS ou à LSB ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.