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 :)
--
Jan Hnatek
jan.hnatek at sun.com