Ulrich Mueller posted on Fri, 15 Nov 2013 08:13:47 +0100 as excerpted:

>>>>>> On Fri, 15 Nov 2013, Ben de Groot wrote:
> 
>> As I see it now, with respect to multilib, we have three competing
>> solutions, but not a clear direction which way we want to go as a
>> distro:
> 
>> 1: emul-* packages 2: multilib-portage 3: multilib.eclass
> 
>> I would like to vote for option 1, as it is the least intrusive and
>> does what we need. If it is really felt we need a more complete
>> solution, then my vote would be for 2, since 3 is too intrusive and
>> more likely to break or complicate stuff for normal users.
> 
> Option 1 is not a solution, but a workaround. It has served us,
> but IMHO its replacement is overdue. Just to give an example,
> stable emul-linux-x86-xlibs suffers from several security issues (bug
> 471098, A1/critical severity) since half a year.
> 
> Besides, distributing pre-compiled binary packages seems very
> un-Gentoo-ish.

Indeed.  From amd64's gentoo roots the gentoo/amd64 people considered 
emul-* a sort-of-embarrassing workaround for a distro such as gentoo, 
where for many the biggest /point/ is building from sources in ordered to 
enable more user-level customization.  Basically it was and remains a 
case of saying "Umm... we believe in building from source, except don't 
look too closely because in some cases we don't."

If people are willing to accept emul-* because it's "easier", why bother 
with gentoo at all, because binary distros that make all compile-time 
choices for the user are even /easier/?

So indeed, emul-* is a workaround, and quite a hacked up one for a distro 
such as gentoo at that, NOT a solution.

However, I'd replace it as a solution with the (32-bit) chroot solution, 
which I use here along with no-multilib for my main amd64 system, except 
that I extended the chroot to build the full image (including kernel, 
system daemons, grub, etc, that wouldn't need built on a simple 32-bit 
chroot) so as to be able to transfer it first via USB thumbdrive and 
eventually via SSH to my 32-bit netbook, which boots from it.  (I could 
thus make the 32-bit image on my main machine bootable as well, with 
trivial effort, letting me dual-boot it, but I've had no reason to do so.)

The 32-bit chroot solution is indeed a full gentoo-level solution, 
already documented, requiring no changes to the tree or to PMs, since it 
uses the existing x86 arch profiles just as they come.

So:

1: emul-* packages[1]
2: multilib-portage
3: multilib.eclass
4: chroot[2]

[1] hacked up workaround, not a proper gentoo level solution.
[2] 32-bit for amd64, but could be the reverse, 64-bit for x86, or either 
one for x86-32, or some other combination for other archs.

> Not sure why you think that option 3 is more intrusive than option 2.
> What can be more intrusive than requiring a modified package manager?

If the perspective is that of a "plain" no-multilib user (even one like 
me using the 32-bit chroot solution), or even a standard multilib user 
satisfied with the emul-* workaround, then option 3 is very intrusive 
indeed, since it has already triggered quite a few package updates with 
the only purpose being introduction of a feature these users aren't 
particularly interested in.  To these folks, options 2 and 4 are 
preferred, since for the most part the only folks affected are those who 
will actually be using the feature.

Indeed, while option 2 has required some mostly trivial patches and I 
think a whole EAPI, option 4 requires none of that, operating with the 
existing tree just as it is.  It'd be a rare bug indeed that affected a 
chroot solution but didn't affect other users of the target arch, 
especially since gentoo's installation model already involves chroots, so 
bugs involving chroots in @system at least, by /definition/ involve the 
affected arch, and should be caught and worked out by releng as a result.

-- 
Duncan - List replies preferred.   No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master."  Richard Stallman


Reply via email to