On Tue, 2009-06-09 at 00:08 +0100, Amanda waite wrote:
> > The bug doesn't manifest itself if the package dependencies are in 
> > core.  See this bug for more information:   
> > http://defect.opensolaris.org/bz/show_bug.cgi?id=9104
> >
> > "If the dependency is on a package that's a core package (e.g., 
> > SUNWzlib), the
> > resulting manifest correctly includes the "depend 
> > fmri=SUNWzlib at 1.2.3-0.101 <mailto:fmri=SUNWzlib at 1.2.3-0.101>
> > type=require" clause."
> 
> But that's evidently not the case, look at the Ploticus package:
> 
> http://jucr.opensolaris.org/pending/manifest/0/ploticus%402.41%
> 2C5.11-0.101%3A20090601T230557Z 

Okay, so thanks to Brian and Luis for identifying that this
is a difference between building on OpenSolaris vs building
on Nevada, I now understand why this is happening.

Jucr's build zones are based on Nevada (SVr4) but additional
packages listed as BuildRequires are installed from IPS.
pkgbuild creates both SVr4 and IPS packages.  First it
creates the SVr4 packages and they include all dependencies
listed with Requires statements.  Then it tries to translate
those dependencies to IPS package names.  In the case of the
base packages installed using SVr4 packages, it will not be
able to do so, because the local IPS instance won't know
about those packages.  I will be able to translate all the
extra packages and depend actions for those will be added
to manifest.

I don't think this is something I should fix in pkgbuild.
It's basically doing the right thing: if it included a
dependency on an IPS package that is not installed on the
system, it would create a package that is not safe to
install on the system that built it.  That seems wrong.
The right way to fix this is to stop using a mix of
SVr4 and IPS packages and to use purely IPS-based build
zones, and I know Christian is planning to do that, not
sure what the time frame is.

Laca


Reply via email to