On Thu, Mar 17, 2022 at 09:07:50AM +0000, Richard W.M. Jones wrote:
On Wed, Mar 16, 2022 at 07:27:05PM -0400, Demi Marie Obenour wrote:
> On 3/16/22 10:35, Robbie Harwood wrote:
> > David Cantrell <dcantrell(a)redhat.com> writes:
> >> Why? Since the removal of the i686 kernel in Fedora, we want to
> >> reduce the number of i686 packages provided in the repo. As time
> >> marches on, the ability to build a lot of things for i686 becomes
> >> unrealistic or even impossible. Remember it goes beyond providing
> >> builds...providing support, bug fixes, and security fixes for those
> >> packages too. Maybe some things using i686 packages now can move to
> >> x86_64 packages. We do not know yet, but a goal is to figure out what
> >> packages, if anything, can drop their i686 builds.
> >> NOTE: Nothing is changing now. We are in an information gathering
> >> phase. ~~~~~~~~~~~~~~~~~~~~~~~~
> >> If you use i686 packages for something now, please respond to this thread.
> > Nothing that couldn't be cross-built and provided as an x86_64 package.
> > I use wine, which as I understand it, requires 32-bit libraries to run
> > 32-bit Windows binaries.
> > Given the weakness of x86 ASLR, it makes sense to ensure most of the
> > i686 packages aren't actually getting used (e.g., no browsers). At that
> > point, seems like we'd be better off not building for the arch at all,
> > and doing cross-builds from x86_64 for the packages that need it.
> +1 on cross-compilation. Native compilation on 32-bit is a dead end.
Cross-compilation isn't really practical for RPMs the way we do things
now. We would have to go all-in the way OpenSUSE has done, but that's
a huge change.
Yes, I wouldn't bother thinking about cross compilation using Fedora,
except for mingw. For Linux cross compilation it is easier to use
Debian in a container from your Fedora host.
You can install library / devel packages from any Debian architecture
no matter what the native arch this. This gives ability to get coverage
of pretty much every architecture that still matters, and several that
don't. Especially useful is that you can get big-endian build coverage.
It isn't worth special casing the i686 arch to use Fedora if you also
case about other archs IMHO.
Of course to actually run the unit tests, you would still need QEMU
usermode emulation, except in the x86_64:i686 combination case.
In libvirt/qemu upstream we Debian based containers to cross compile
for aarch64, armv6, armv7, i686, mips, mipsel, mips64el, ppc64el,
s390x. Some examples: