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
signature.asc
Description: This is a digitally signed message part
