[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: packaging games
On Sat, Nov 23, 2002 at 08:39:40PM -0600, Steve Baker wrote:
> I have the 'configure' script generate that as a '#define' so the
> program can know where the files will go when you do a 'make install'.
Ok, that is what occurred to me as I was typing my post. I guess I
should just start reading up on autoconf and automake, and then have
that do a #define also.
> Additionally, I have the program check other 'likely' places where
> it's data files might have been abandoned.
>
> Check in this order:
>
> 1) getenv ( "FRED_DATADIR" )
> 2) The current working directory.
> 3) The place where the configure script will install it.
> 4) The place it was compiled from (as given by the 'configure'
> script.
> 5) /usr/local/games/fred
> 6) /usr/share/games/fred
> 7) /usr/games/fred
>
> I find the simplest thing is to try fopen'ing a file that I know
> exists in my data directory. If the file doesn't open - then I try
> the next likely location on my list. You could use 'stat' if you
> need more info.
This makes sense too. I never really thought about just falling back to
a bunch of the likely candidates.
> ...I don't think games should be putting stuff in /etc - configuration
> files belong in someplace like: ~/.fredrc
That is a good point. I guess I never really noticed that nearly every
game I've ever installed has worked this way. The one exception I did
notice on my system is nethack.
> >If so, is there a library I can use to get the path that checks /etc
> >and ~/ automatically...
>
> Why do you need a libray? It's only 3 lines of code:
>
> char s [ 1000 ] ;
> sprintf ( s, "%s/.fredrc", getenv("HOME") ) ;
> FILE *fd = fopen ( s, "r" ) ;
>
> ...easy. (Well, you'll be doing more error checks - but still)...
I know it is very easy. I just figured it is something that nearly
every program has to do, so maybe there exists some system library that
handles this and other things. I just wanted to make sure that however
I did it, I was doing it the standard way.
--
Jason Stechschulte
stech@enormousplow.com
http://www.enormousplow.com
Faith is under the left nipple.
-- Martin Luther