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
