[prev in list] [next in list] [prev in thread] [next in thread] 

List:       opensolaris-smf-discuss
Subject:    Re: [smf-discuss] [pkg-discuss] Code review for
From:       Darren Reed <Darren.Reed () Sun ! COM>
Date:       2009-06-15 23:14:01
Message-ID: 4A36D5B9.5030303 () Sun ! COM
[Download RAW message or body]

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

_______________________________________________
smf-discuss mailing list
smf-discuss@opensolaris.org

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic