Subject: Re: quirks from packages when installing with LOCALBASE=/usr
To: Greg A. Woods <woods@most.weird.com>
From: Alistair G. Crooks <agc@westley.demon.co.uk>
List: tech-pkg
Date: 01/18/1999 22:56:30
> As most of you no doubt know I've been building and installing packages
> with LOCALBASE=/usr lately.  Here are a few of the quirks I see.
> 
> Note that initially I've found the following symlinks to be necessary:
> 
> 	/usr/etc -> ../etc
> 	/usr/info -> share/info
> 	/usr/man -> share/man
> 	/usr/var -> ../var
> 
> Things seem to be working OK so far, though I've not done a lot of
> testing of applications yet (only development tools!  ;-).
> 
> The following errant symlink was created by tcl80:
> 
> 	/usr/tclsh -> tclsh8.0
> 
> I'm not really sure what these two messages mean, though they don't seem
> to have caused any problems (I suspect the pkg_* tools are
> misunderstanding when relative symlinks should be used, which is almost
> *ALWAYS*).

No. What happens is that the pkgtools look for absolute symlinks, and
attempts to convert them to symlinks relative to PREFIX (this is what's
needed to make binary packages function). Obviously, there are some
symlinks which may have to remain absolute - these are the ones that
do not begin with "${PREFIX}/". However, the ones which do have their
symlinks recreated to be relative to ${PREFIX}. When this happens, you
get the 'adjusting' message, as shown below.

> ===>  Registering installation for tcl-8.0p2
> Full pathname symlink `/usr/include/tcl8.0/generic/tcl.h' is target of `/usr/include/tcl8.0/tcl.h' - adjusting to `../../include/tcl8.0/generic/tcl.h'
> 
> ===>  Registering installation for tk-8.0p2
> Full pathname symlink `/usr/include/tk8.0/generic/tk.h' is target of `/usr/include/tk8.0/tk.h' - adjusting to `../../include/tk8.0/generic/tk.h'

However, it seems there may be some bugs therein (although yours is the
first bug report I've seen). I'll look at it as soon as circumstances
allow.

Alistair