Bug#783030: vcmi: lookup path is does not follow Filesystem Hierarchy Standard

Johannes Schauer josch at debian.org
Wed Apr 29 09:12:37 UTC 2015


Control: severity -1 minor

Quoting Alexandre Detiste (2015-04-20 23:11:40)
> Game data should be stored in /usr/share/games/<game name>,
> where <game name> must be engine-agnostic if there are
> multiple engines that can run that game (eg: Doom etc...),
> and can also be the name of the engine.
> 
> 
> vcmi and/or vcmilauncher should then look by default in
> /usr/share/games/heroes3 and/or /usr/share/games/vcmi
> for game data.
> 
> It doesn't seems to be actually the case:
> 
> https://github.com/vcmi/vcmi/blob/develop/lib/VCMIDirs.cpp#L502
> 
> http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html#USRSHAREARCHITECTUREINDEPENDENTDATA

correct, vcmi stores its static game data in /usr/share/vcmi.

Now here are some concerns:

1. The FHS never explicitly specifies /usr/share/games/ as the directory for
   static game data. It only explicitly does so for /usr/local/share/games.

2. The only mention of /usr/share/games is "Game data stored in
   /usr/share/games must be purely static data" but this does not say "static
   game data must be stored in /usr/share/games" but instead it says "the stuff
   in /usr/share/games must be static game data". So it does not exclude the
   option of storing static game data outside of /usr/share/games

3. vcmi tries to adhere to the XDG Base Dir. Spec. and in that spec and will
   look for static game data in $XDG_DATA_DIRS. But the XDG spec says that if
   unset, then the default value of $XDG_DATA_DIRS is
   /usr/local/share/:/usr/share/. There is no mentioning of a "games"
   subdirectory

4. Deviating from upstream in where static game data is stored would not be
   good

So the FHS spec is unclear about /usr/share/games and the XDG spec does not
mention it (but also does not explicitly forbid it).

Given this unclear situation, would deviating from upstream be worth it?

Given how the situation is so not-explicit in the FHS I even wonder how to
convince upstream to change to something the XDG doesn't even mention in the
first place...

Thus setting the severity to minor.

> By the way: I've added a rule to game-data-packager in git to let it repack
> HoMM3 data in ~/.local/share/vcmi in a .deb that can be installed
> system-wise.

This is awesome! Is there anything I can do from the vcmi side to integrate
this or make it nicer to use? Any examples I could follow of other packages
using game-data-packager in a similar way?

Thanks!

cheers, josch
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-games-devel/attachments/20150429/e0fa3015/attachment.sig>


More information about the Pkg-games-devel mailing list