Thread: Installation layout idea

Installation layout idea

From
Peter Eisentraut
Date:
It had occurred to me that it would be nice (if not necessary) that one
could use `configure --prefix=/usr/local', and good things would happen.
(replace /usr/local with any other shared prefix)

Currently, bad things will happen, in particular in the include dir, but
also under share, with severe cluttering. It is common in these cases to
create package-specific subdirectories (/usr/local/include/pgsql, etc.),
as indeed the binary packages do.

Now it might be awkward to unconditionally append "pgsql" to various
directory names; think `/usr/local/pgsql/include/pgsql'. Therefore I
propose the following scheme, stolen in its entirety from Apache:

The string "pgsql/" will automatically be appended to datadir (not the
same as PGDATA), sysconfdir, includedir, and docdir, unless one of the
following is true:

1) The user specified the particular directory manually (--sysconfdir,
etc.), or

2) The expanded directory name already contains the string "pgsql" or
"postgres" somewhere.

I'd say that most users currently fall under exception 2), so they would
not be affected. Those brave enough to try an install into /usr/local
would finally get reasonable behaviour.

One fine day we might also want to consider changing the default directory
names from "pgsql" to "postgresql". It's not nice to use two different
names, and the tarball is already named "postgresql". Is that a reasonable
possibility?


-- 
Peter Eisentraut                  Sernanders väg 10:115
peter_e@gmx.net                   75262 Uppsala
http://yi.org/peter-e/            Sweden



Re: Installation layout idea

From
The Hermit Hacker
Date:
On Fri, 4 Aug 2000, Peter Eisentraut wrote:

> It had occurred to me that it would be nice (if not necessary) that one
> could use `configure --prefix=/usr/local', and good things would happen.
> (replace /usr/local with any other shared prefix)
> 
> Currently, bad things will happen, in particular in the include dir, but
> also under share, with severe cluttering. It is common in these cases to
> create package-specific subdirectories (/usr/local/include/pgsql, etc.),
> as indeed the binary packages do.
> 
> Now it might be awkward to unconditionally append "pgsql" to various
> directory names; think `/usr/local/pgsql/include/pgsql'. Therefore I
> propose the following scheme, stolen in its entirety from Apache:
> 
> The string "pgsql/" will automatically be appended to datadir (not the
> same as PGDATA), sysconfdir, includedir, and docdir, unless one of the
> following is true:
> 
> 1) The user specified the particular directory manually (--sysconfdir,
> etc.), or
> 
> 2) The expanded directory name already contains the string "pgsql" or
> "postgres" somewhere.
> 
> I'd say that most users currently fall under exception 2), so they would
> not be affected. Those brave enough to try an install into /usr/local
> would finally get reasonable behaviour.
> 
> One fine day we might also want to consider changing the default directory
> names from "pgsql" to "postgresql". It's not nice to use two different
> names, and the tarball is already named "postgresql". Is that a reasonable
> possibility?

this one I have no problem with, specially since I would guess most
everyone's shells have tab-completion, and therefore it isn't as if they
have to type any more ...

I do have issues with the whole /usr/local/include/pgsql concept though
... that is one of the things that I *really* hate about FreeBSD ports
where they install qt 1.x in /usr/X11R6/include/qt and qt 2 in
/usr/X11R6/include/qt2, and ... *roll eyes*  I like the fact that
everything goes into one place ...



Re: Installation layout idea

From
Peter Eisentraut
Date:
The Hermit Hacker writes:

> I do have issues with the whole /usr/local/include/pgsql concept though
> ... that is one of the things that I *really* hate about FreeBSD ports
> where they install qt 1.x in /usr/X11R6/include/qt and qt 2 in
> /usr/X11R6/include/qt2, and ... *roll eyes*  I like the fact that
> everything goes into one place ...

Whether or not this is a good idea is not really on trial here, although
I'd certainly hate to have the 200 Qt include files cluttering
/usr/include or some such directory. The fact is that various file system
standards, including FHS and GNU (and apparently FreeBSD) request
(require) such behaviour.

As long as we install semi-internal files such as config.h we better put
them in a non-shared location. The current state is broken in my mind.


-- 
Peter Eisentraut                  Sernanders väg 10:115
peter_e@gmx.net                   75262 Uppsala
http://yi.org/peter-e/            Sweden