We've been doing this for the automatic dependency analysis when building
OpenSolaris.  This code is in solaris.py.

The problem I see with /platform is that finding dependencies that live
there requires that you know what platform you'll be linking against at
runtime, but there's nothing in the (platform-generic) kernel modules that
lets you know whether you should find bits in, say, /platform/i86pc or
/platform/i86xpv.

It's not clear to me that a package delivering an i86pc driver which
satisfies a dependency of a generic driver should necessarily fulfil that
dependency, since it's not actually the package you'd want to install on an
xvm instance (if I'm understanding the way xvm works, but I think the
argument is right regardless).

If I understand this correctly, I don't think there can be an answer to
this.  With pkg(5), we'll probably end up doing something for install-time
with facets -- depending on the platforms you want installed, you'll get
one or more of the platform-specific packages that could satisfy the
generic dependency.  We might be able to put something together that uses
the same mechanism to assist with the automatic dependency analysis.

I can point you at / send you a list of the ELF dependencies we can't
resolve.  Looking not terribly closely at your list, it looks like we get a
bunch that you're finding missing in the static depend files, can't find
the ones where you do your $ARCH trick, and then there are few where
neither one of us can find them.

Danek
_______________________________________________
opensolaris-code mailing list
opensolaris-code@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to