Mailing List Archive

Proper way to determine whether a profile is multilib?
OK. I'm looking at bug #173962[1] and bug #187683[2] currently and
encountering a problem which I thought I would bring to the group to try
to resolve. Both ATI and NVIDIA binary video drivers supply both 64-bit
and 32-bit libraries. Now, our default profiles are multilib for amd64,
but there is also a no-multilib sub-profile. The problem is that we
need to install app-emulation/emul-linux-x86-xlibs on a multilib
profile, but cannot install it on a no-multilib profile. The ebuilds
currently use USE=multilib, which has been deprecated for a while and is
masked on amd64, to determine whether to install this package. Of
course, this doesn't work out. I'm pretty sure we cannot do any
multilib profile checks prior to *DEPEND because they'll be done in the
global scope and will affect cache generation, as the check will get the
profile from the server doing cache generation.

Now, on to the question...

How do we *DEPEND on something that is only necessary for a multilib
profile without USE=multilib and without invalidating the cache?

My two "solutions" (neither of which are good) are as follows:

- Re-enable USE=multilib in the multilib profiles, and force it on in
the proper profiles while masking it in the others... this might be
feasible simply because we *can* force-enable USE flags in a profile
now, which we couldn't do back when this was deprecated
- Re-create app-emulation/emul-linux-x86-nvidia with the 32-bit parts of
nvidia-drivers in it and have 32-bit apps *DEPEND on this package on the
affected architectures... this is also a bit less ugly than it used to
be because NVIDIA is now shipping all of the required libraries so all
we would need to do is make the versions match

Can someone else come up with another idea, preferably a much better
one?

[1] http://bugs.gentoo.org/show_bug.cgi?id=173962
[2] http://bugs.gentoo.org/show_bug.cgi?id=187683

--
Chris Gianelloni
Release Engineering Strategic Lead
Alpha/AMD64/x86 Architecture Teams
Games Developer/Council Member/Foundation Trustee
Gentoo Foundation