On Jun 14, 2009, at 8:35 PM, Laszlo (Laca) Peter wrote: > On Thu, 2009-06-11 at 21:01 -0500, Shawn Walker wrote: >> Some packages provide this legacy information, and some do not. I >> don't >> know what the logic was behind that. >> >> Beyond that, pkg(5) has no knowledge of the SVR4 package database >> and is >> unable to extract SVR4 package information or manage SVR4 packages. > > Right. pkgbuild uses the legacy information to map svr4 package names > to pkg(5) package names. Since some packages don't include a legacy > action, it should probably always look for an IPS package, too, when > resolving dependencies. > > Jan, if you want to work on this, I think it should work as follows: > > - for each dependency (Requires) look for a legacy action, if not > found look for an svr4 package, if not found look for an IPS > package. The order is because pkginfo finds both SVr4 packages > and legacy actions and IPS is last because it's slow :/
How is pkgbuild checking for a package? If it is calling "pkg info X", yes, that's probably going to be "slow". Yet another reason to use the Python API instead (yes, I know that's not currently an option). If you were using the Python api, you could get that answer in a few hundred milliseconds. Another thing to ask is whether you are calling "pkg info X Y Z", or you are doing "pkg info X", "pkg info Y", "pkg info Z". If the latter, then the former will be faster, though you'll have to grep the output. Cheers, -- Shawn Walker
