Hi Edna,

Enda O'Connor wrote:
Hi
PKG_INSTALL_ROOT is equivalent to the -R arg to pkgadd, ie it's the root of the system where the package is being installed. BASEDIR is where any relocatable files get installed with respect to the root of the system being worked on

ie say a pkgmap has
1 f none sbin/ls 0555 root sys 3541 12322 1002918510
1 f none /sbin/ls2 0555 root sys 3541 12322 2342423332

with pkginfo BASEDIR=/opt
and we call pkgadd -R /a
then ls will install in /a/opt/sbin/ls and ls2 will install in /a/sbin/ls2, that is PKG_INSTALL_ROOT will be set to /a, and BASEDIR will get set to /opt, but as second file is absolute ( ie an absolute path was specified ), the basedir is ignored in case of ls2.

So, in $SRC/pkgdefs/SUNWcsr/postinstall, I can see this:

...
cat >> $BASEDIR/var/svc/profile/upgrade <<\_DEL_BIND8
...
       cat >> ${PKG_INSTALL_ROOT}/var/svc/profile/upgrade <<\_IPSECUPGRD
...

i.e. even within the very same script file, in the inner
most package, people are not sure about how BASEDIR and
PKG_INSTALL_ROOT should be used. I imagine this ambiguity
is one of the many pet hates being fixed by IPS...

Your output suggests that in many places, the two should be
used together like this:
$PKG_INSTALL_ROOT/$BASEDIR

but...

$ pwd
$SRC/pkgdefs
$ grep PKG_INSTALL_ROOT */* | grep BASEDIR | wc -l
      0

so either there are a lot of very buggy install scripts
or the way you're describing it isn't quite right.

Darren

_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to