Packaging log files

Hans de Goede j.w.r.degoede at hhs.nl
Sun Nov 12 00:52:29 UTC 2006



Aurelien Bompard wrote:
> Hey there,
> 
> I have made a package of Glest (http://www.glest.org). However, something 
> bothers me. I've made the following layout :
> /usr/libexec/glest/glest (game binary)
> /usr/share/glest/ (game directory, where the rest of the files are)
> /usr/share/glest/glest -> /usr/libexec/glest/glest (symlink)
> /usr/bin/glest (script to run the real binary after cd'ing in the proper 
> directory)
> 
> This works, but on startup, the executable logs its activity in a log file 
> located in the same directory as the executable (/usr/share/glest)
> This file has to be writable. Currently, my quick and drity fix was to 
> replace this file with a symlink to /tmp/glest.log.
> What would the proper fix be ? I could symlink it to a /var/games/glest 
> directory which would be chmod 1777, but how can I make sure that two users 
> on the same machine can play ?
> I think the proper fix would be to have glest look for a log file in 
> ~/.glest/glest.log instead, but I'm not a C coder (sadly)...
> Anyone has guidelines on how to do this ?
> 

The fact that this package wants to run from a single dir, and write
there too, means it clearly wasn't designed for Linux from scratch. I'm
sure I can fix the log file issue at C-code level for you, but I think
we then will see similar problems with for example saving settings like
resolutions video details, etc. A good solution for this would be to
create a bash wrapper which:
1) creates ~/.glest
2) populates it with symlinks to the files under /usr/share/glest and
   /usr/libexec/glest/glest
3) cd into that dir and run the real binary

Then you can also drop the symlinks to /usr/libexec/glest/glest from
/usr/share/glest

This has 2 advantages:
1) It will also work for any other files glest will try to write to disk
to its cwd, like settings
2) Since this can be done in bash you can do it yourself and thus also
effectivly maintain it
(and 3) then I don't have to write a patch for the C-code)

Very good to hear that someone is working on packaging glest BTW!

Regards,

Hans




More information about the Fedora-games-list mailing list