On Wed, Dec 15, 2010 at 6:06 AM, justin <j...@gentoo.org> wrote:
> Hi,
>
> after testing this, and I have to say it mostly works smooth and fine, I
> hit a huge problem.
>
> I wanted to emerge a package which just depends on glibc provided libs
> for the oposite ABI my main ABI is. This specific package has an
> optional support for python which would require to have a second python
> installation, so I disabled it. Nevertheless the package inherits the
> python.eclass which DEPENDS on eselect-python, which DEPENDS on python.
> Resulting in the need of a two ABI python installation although I don't
> want python support.
>
> To solve this there are two options:
>
> 1. Eclasses shouldn't be allowed to depend unconditionally on packages.
> In case of python where there is PYTHON_DEPEND="python? X" it should be
> doable.
> 2. USE dependend inherit of eclasses
>
>
> justin

I played with the multilib overlay today and hit a similar problem.

Say I want to install 32-bit Mesa, so that I can better control what's
installed compared to app-emulation/emul-linux-x86-opengl.

I set per-package USE of multilib_abi_amd64 multilib_abi_x86 for mesa.
Clearly it makes sense that 32-bit mesa would require 32-bit x11
libraries and other runtime-dependencies, but with the current
multilib-portage it also requires things that are totally
ABI-independent like dri2proto to be reinstalled with
MULTILIB_ABI="amd64 x86". This extends to all packages eventually, so
gcc, binutils, and glibc (which are already totally capable of
producing or supporting 32-bit x86 code as-is) need to be reinstalled
with new MULTILIB_ABI flags. Other helper programs like autoconf and
automake have to be reinstalled with MULTILIB_ABI="amd64 x86" just to
be able to support 32-bit mesa, even though a 64-bit automake would
work just fine.

For this problem, I think some kind of per-ebuild ABI_DEPENDENT flag
should be used to recognize which packages ABI dependencies should
apply to. Without thinking about it too hard, it seems like perhaps
only packages in RDEPEND should be considered for ABI USE
dependencies.

Comments?

It'd be great to get some more man-power behind this project. I think
almost everyone wants to see the emul- packages replaced by something
more flexible, and architectures that support multiple ABIs like ARM
and MIPS would benefit greatly as well.

Matt

Reply via email to