I posted this primarily on the email list but realized more new people are looking here. My entire goal here was to look at one way that the problem could be dealt by getting an idea of the number of packages which would need to build for i686 to allow steam to work. I ran into some problems which I list below and would need help to progress.
I took a stab at it and got a pull request together for the two workloads being talked about. Try to add a base set of Fedora rawhide packages used for i686 by smooge ¡ Pull Request #1439 ¡ minimization/content-resolver-input ¡ GitHub
Yaakov Selkowitz was kind enough to look over the PR, make some suggestions and then try to run the workload on his home system. He then uploaded the results (it takes multiple hours to run this) to
These are a bit complicated to read if you havenât done this for years, but it generally tries to walk through each RPM backwards to see what was needed to build it so it could exist. This works well in trying to figure out the package âloadâ a group of engineers is taking on when adding something, but it isnât currently built to deal with multi-arch support (i686 and x86_64 being in the same repository). This means that the number of packages seen is currently inflated by an unknown amount. However it also means that have a good upper limit on what is needed for i686 support.
There are currently 3 levels of buildroot that the system finds:
Buildroot Only
10963 RPMs
4491 SRPMs
Base Buildroot
83 RPMs
58 SRPMs
Buildroot level 1
2267 RPMs
947 SRPMs
Buildroot level 2+
8613 RPMs
3486 SRPMs
The initial package needs around 83rpms to build, but to build those you need at most 4408 others. I will include Mr Selkowitzâs additional comment Try to add a base set of Fedora rawhide packages used for i686 by smooge ¡ Pull Request #1439 ¡ minimization/content-resolver-input ¡ GitHub
After my review above, I noticed more things that I didn't cover in my initial tweaks, so I reran this locally (which took ~3.5 hours on my machine) and have synced the results out to https://yselkowitz.fedorapeople.org/steam-i686/view--view-fedora-rawhide-i686.html, but the difference is minimal.
CR would need some improvements in order to get more accurate results wrt a limited multilib tag and the packages that would need to be therein (as the buildroot here is clearly inflated). Nevertheless, I think the results show that a limited opt-in multilib approach would still be far larger than otherwise necessary. Furthermore, that would still force some degree of multilib support, which contradicts some of the goals of the original proposal. Therefore, I would suggest further investigation into alternatives instead (e.g. -m32 variants or mingw-style cross-compiling).