Hi Jan, You uncovered a number of bugs. I assume you are using --autodeps?
The problem seems to be that you are trying to build a package that depends on FOSSreadline, so autodeps tries to locate a spec file that defines it, but FOSSreadline.spec defines a package called "readline", not "FOSSreadline". Defining SUNW_Pkg should fix it, but like you discovered, pkgtool doesn't check if SUNW_Pkg is defined when it records the package names defined in the spec file. So your fix looks correct. I also fixed the assertion error below. These will be in the next version of pkgbuild. Thanks, Laca On Sat, 2009-04-11 at 19:48 +0200, Jan Hnatek wrote: > Hi Adriaan, > > is there any reason not to start using pkgbuild 1.3.98 with this repo? > (http://solaris.bionicmutton.org/hg/kde4-specs-42/) > > In fact, I prepared myself a build environment based on osol-111, > cbe 1.6.2 and pkgbuild 1.3.98 and tried to build kde-42 repo. > This is probably what sourcejuicer uses. > I also added --ips to Makefile.config. > > Then found this mess in dependency resolution: > $ make FOSSunixodbc > === > INFO: Processing spec file FOSSreadline.spec > INFO: Unfortunately, > /export/home/test/src/kde4-specs-42/specs/FOSSreadline.spec does not define > FOSSreadline > ERROR: Assertion failed: check_dependency: return 0 > WARNING: unixodbc won't be built as it requires FOSSreadline > INFO: Trying to find spec file for FOSSreadline > INFO: Looking for FOSSreadline.spec > INFO: ... in /export/home/test/src/kde4-specs-42/specs > INFO: Found /export/home/test/src/kde4-specs-42/specs/FOSSreadline.spec > INFO: /export/home/test/src/kde4-specs-42/specs/FOSSreadline.spec was already > loaded > WARNING: unixodbc won't be built as it requires FOSSreadline > === > FOSSreadline was added to deps, built, installed and failed to be recognized. > > pkgbuild new features lists: > * IPS dependencies are determined from the SVr4 package names by translating > the legacy actions to IPS FMRIs. This means that spec files can continue to > use > SVr4 package names in the Requires/BuildRequires lines and pkgbuild will > convert > them to IPS dependencies on the fly when publishing to IPS. > > I tried adding: > SUNW_Pkg: FOSSreadline > to FOSSreadline.spec, but it didn't help :( > > Same thing happened with FOSSspro-libraries as FOSSqt dep. > > Funny thing that pkgtool.pl states along with this error msg: > # should not happen > msg_error("Assertion failed: check_dependency: return 0"); > so this looks like pkgtool has a problem with --autodeps / legacy actions / > SUNW_Pkg feature. > > .. > > After digging a bit further, pkgtool.pl is not aware of SUNW_Pkg tag at all. > Roughly fixed by: > $ diff /export/home/test/src/pkgbuild-1.3.98/pkgtool.pl > /opt/dtbld/lib/pkgbuild-1.3.98/pkgtool.pl > 2855c2855,2857 > < my $pkgname = $pkg->get_name(); > --- > > #my $pkgname = $pkg->get_name(); > > my $pkgname = $pkg->get_tag ('SUNW_Pkg'); > > $pkgname = "$pkg" unless $pkgname; > > (cc-ing Laca) > > Sorry for the length. > > hnhn > > Adriaan de Groot wrote: > > Hi Hajma, > > > > I see you've been working on Qt 4.5.0 some more. I did the same in the KDE > > 4.2.2 repo which I mentioned recently. I think I've finished :) >
