[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Setting a default path with autoconf



Will Newton <will@misconception.org.uk> writes:

> On Thursday 19 Sep 2002 11:00 pm, Roger Leigh wrote:
> 
> > The "average user" shouldn't be running configure with a prefix of /
> > or /usr, and so the default is what they want.  /etc and /usr are
> > "owned" by dpkg, so nothing should be installed manually there.
> > Running ./configure without arguments will default to /usr/local,
> > and hence /usr/local/etc, which is entirely correct.
> 
> The "average user" does run with a prefix of /usr. That is why I am in this 
> situation. I am not saying it is necessarily right, but the majority of users 
> seem to expect this (i.e. bug reports on the upstream mailing list). If I 
> can't find a way to make this default then /etc will simply be hardcoded all 
> over the source.

If they do this on a Debian system, they are going to have problems
when dpkg stomps all over their install.  Locally built software goes
in /usr/local.  The users who expect this behaviour need to discover
the --sysconfdir option, which is the correct solution.  It is not a
package bug.  Hardcoding /etc will annoy those who want their
conffiles elsewhere (and IME some people use some really bizarre
configure options).  Use @sysconfdir@ or @pkgsysconfdir@, where
pkgsysconfdir="$sysconfdir/$PACKAGE".

Still, a solution is here:

[configure.ac]
if test "$prefix" = "/usr"; then
  sysconfdir="/etc"
fi

Please note that I would consider this to be buggy, since /usr/etc is
the proper place for the config files to go.  I would hate a configure
script that hobbles itself like this--it's meant to be flexible, after
all.

> > You should create a local "config.site" which tells configure what
> > your local defaults/preferences are.  autoconf.info documents this.
> 
> I'm not sure that that will really be acceptable to upstream.

This is the mechanism that all users should be using to define their
defaults.  Putting assumptions into configure scripts is the worse
alternative, since then whilst you might cater for the "average"
person's wishes, you completely break it for the minority who want to
do something different.  This needs to be done just once, and is used
by all configure scripts.


-- 
Roger Leigh

"Liberty and Livelihood"
Support the Countryside Alliance
www.march-info.org



Reply to: