On Wed, Mar 16, 2022 at 02:11:23PM -0400, Josh Boyer wrote:
On Wed, Mar 16, 2022 at 1:37 PM Zbigniew Jędrzejewski-Szmek
<zbyszek(a)in.waw.pl> wrote:
>
> On Wed, Mar 16, 2022 at 12:54:23PM -0400, Josh Boyer wrote:
> > On Wed, Mar 16, 2022 at 11:55 AM Zbigniew Jędrzejewski-Szmek
> > <zbyszek(a)in.waw.pl> wrote:
> > >
> > > On Wed, Mar 16, 2022 at 09:54:12AM -0400, David Cantrell wrote:
> > > > If you use i686 packages for something now, please respond to this
thread.
> > >
> > > I use i686 versions of libraries to do local 32-bit builds of C
> > > software I'm developing. (Something like 'sudo dnf install
lib{one,two}-devel.i686 &&
> > > meson build-32 -Dc_args=-m32 -Dc_link_args=-m32 -Dcpp_args=-m32
-Dcpp_link_args=-m32
> > > --pkg-config-path=/usr/lib/pkgconfig && ninja -C build-32' .)
> > >
> > > So I'd be interesting in keeping 32-bit versions of all BuildRequires
for
> > > systemd.
> >
> > Who uses those builds and what do they use them for?
>
> They are purely local. I use them to compile and run tests locally so
> I know that the code works correctly on 32-bit. I'll also do test
> builds on arm/arm64/ppc64/riscv/anything-else-that-I-can-lay my hand on.
Are you aware of any upstream users of 32-bit systemd? Or some other
distro that requires it?
I ask because I see several responses along the same lines (I use it
to build 32-bit packages), but unless *Fedora* uses those resulting
32-bit builds it seems like an odd reason to keep i686 around. Yes,
being able to build for i686 means you need i686 but the root of the
question is why do you need to build for i686?
To build for 32 bits, I need not just the code, but a hefty set of libraries.
I *could* build all of this myself, or use another distro, but that's
not very appealing. Fedora gives me up-to-date dependencies in a very
convenient fashion. It is also very useful to have the 32-bit deps in
the same versions that I have the 64-bit ones, so I can compile and
compare builds with the architecture being the only difference. I also
don't want to use a container or a special environment, but I want to
build and run the code "natively" as much as possible. (Or more precisely:
I want to *also* run code "natively". For low-level software, running things
directly on the local hardware can be quite useful for debugging of
certain problems. Container and mock and VMs are useful at other times.)
So the short version is that this is for convenience and "native"
development.
If there are other distros that still support 32-bit systemd, could
you do your 32-bit build and test against those instead?
The code is portable to 32-bit and 32-bit builds are still supported,
and as upstream developer, I need to make sure that the code works
on a large set of architectures, even those not supported by Fedora
(riscv, mips, x32, etc.).
I consider Fedora superior to other distros. If I can't use Fedora,
I'd probably use Debian or Ubuntu or something else, but I'd prefer
not to. Fedora is a great developer environment, and development for
32-bit architectures is still relevant.
Zbyszek