[bug-notifications] [alternatives 0004538]: Symbolic links not created in new sparse-root zone

Mantis Bug Tracker noreply at opencsw.org
Thu Sep 2 23:30:49 CEST 2010

A NOTE has been added to this issue. 
Reported By:                gadavis
Assigned To:                phil
Project:                    alternatives
Issue ID:                   4538
Category:                   regular use
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     assigned
Date Submitted:             2010-08-31 22:19 CEST
Last Modified:              2010-09-02 23:30 CEST
Summary:                    Symbolic links not created in new sparse-root zone
There appears to be a bug in the alternatives mechanism when creating a new
sparse-root zone on Solaris 10 systems.

I have a global zone with CSW alternatives, CSWneon, CSWsudo, and
CSWsudo-common installed. The alternatives mechanism has registered the
symlinks in the right locations and alternatives --display neon and
alternatives --display sudo work as expected.

If I then create a new non-global zone with the default inherited paths
(your typical sparse-root zone), alternatives --display whatever shows the
correct paths listed, but the symlinks are not there.

After zone creation, I have to manually force the alternatives mechanism
to install the needed symlinks by running a shell loop:

for d in `ls /opt/csw/share/alternatives`; do 
	alt=`basename $d`; 
	alternatives --auto $alt; 

Note that if I uninstall CSWsudo inside the zone and then re-install it,
the alternatives mechanism works as expected. It's only upon initial zone
creation that the alternatives symlinks do not get created.

 (0008245) gadavis (developer) - 2010-09-02 23:30
Phil, I'm confused what you mean by "or you should have it installed as a
fully local package." Can you suggest what changes I would need to make to
my zonecfg commands, or elaborate further?

I'm not sharing any files from in the /opt/csw/ tree with the global zone.
There are no loopback mounts anywhere for /opt/csw in the zone manifest
that I pasted above. So therefore, a newly created sparse-root zone has
it's own full copies of whatever CSW packages were installed in the global
zone. The only exception to this rule is CSWclassutils, which has to put
it's class action scripts in /usr.

>From the section on "Sparse Root Zones" in zonecfg(1M):
     Packages that do not deliver content into read-only loopback mount
file systems are fully installed.

More information about the bug-notifications mailing list