The switch has been flipped
Well, after ~1.5 months of work, testing, overlaying, etc., I’ve flipped the switch and moved my personal laptop (my main development machine) to 32bit-userland. It was both easier than I thought, and harder: easier in that it’s possible at all, and with very little work; harder in that there are 19 packages that need to be patched, and 3 (kernel, gcc, kvm) that I have not been able to fix yet.
One thing that surprised me was how many different packages have assembler and attempt to detect the arch and bitness. Just about every media package, okay that kinda makes sense: they all optimize for media playback etc.; but bind-tools? xulrunner? WTF? Anyway, for now, I’ve just patched them all in an overlay for now; many of them seem to use a similar detection method, so maybe I can do something in the profile to make most of them work.
On the plus side, Gnome has done a great job of hiding all the arch-specific code in glib. None of the Gnome apps had any problems with 32bit-userland.
So far: less memory consumed. This is a very good thing, as I was constantly running out before.
Oh, and what, you ask, do I do about those three unfixable packages? I have a 64bit-userland chroot that I build them in, and binpkg them, and then just install the binpkgs. Works fine. Hopefully, I’ll be able to fix those three in the future. The kernel, in particular, has to work for sparc/mips, so it should be fixable for x86 as well.
