I prepared the script, however, several things turned ugly and/or way more complicated than anticipated. Who would have guessed, right? :)
TL;DR: repo: https://codeberg.org/Faramos/fedora-i686-analysis See the analysis matrix in other branches. This result is likely closest to reality: https://codeberg.org/Faramos/fedora-i686-analysis/src/branch/rawhide/steam-only/analyze-i686-for-removal.log The good news is that I still have similar results. Slightly better, actually. Longer version: I'm sorry the script grew 850 lines long :( but I *tried* to at least keep it friendly to read / audit. Reproducibility: - The Rawhide repository data changes daily (and the F45 Mass Rebuild is currently in progress) - The SPEC tarball is too large to include in the repo. - the analysis matrix grew so I can't put the sources into the repository. I logged checksums, but since there is no archive of the repo files, and no SPECfile tarball for non-rawhide, so reproducibility is on the "trust me, bro" basis. The best you can do is re-run the script and check how close the result is to what I got. :( Originally, I did not account for 'BuildRequires', when evaluating whether a package is a leaf package. Turns out >100 packages has to stay. But we are still at >3,400 ready to go. Computation strategy got tricky, see "Forward pass" and "Backward pass" comments in code. Originally, I used the old F35 era FESCo list of "protected" packages. I should have re-generated i myself. Fabio's list is up-to-date, though it was still generated with DNF 3: https://forge.fedoraproject.org/packaging/i686-leafdrop And also since F43 reportedly 'wine' no longer pull i686. https://forge.fedoraproject.org/packaging/i686-leafdrop/commit/0f4bed90f5779179988ec9ccb3715727cb5f3390 To be extra sure, I compared my script's run against the F35 FESCo list, the current Rawhide Steam + Wine list and the current Rawhide Steam only list and also against F44 - these are the branches in my repo. It turns out that while the baselines differ, the resulting set ready for removal stays exactly the same. In other words, all of the wine or old (F35 list) packages are either multi-lib or non-leaf, thus not affecting the set for removal. With the up-to-date Rawhide FESCo "protected" list, and after tuning my methodology (mostly thanks to summing up all removal iterations together), the set of packages ready for removal grew to 3586. The analysis also found: 4200 source packages should build for i686, but no corresponding binary RPMs exist. 'rust-*' (3,138), 'golang-*' (502) - Spec has no top-level 'BuildArch: noarch' but all produce only noarch '-devel' subpackages '*-fonts' (198) 'ExclusiveArch: %{go_arches}' (24) The rest (351) likely consist of a mix of FTBFS and other corner cases 477 packages exist that have both 'ExcludeArch: %{ix86}' and 'BuildArch: noarch', meaning the 'ExcludeArch' has no effect. 'ExclusiveArch: %{java_arches}' + 'BuildArch: noarch' (355) - ant, maven, Java ecosystem 'ExcludeArch: %{ix86} / i686' + 'BuildArch: noarch' (62) - ansible-collection-*, VulkanMemoryAllocator 'ExclusiveArch: x86_64' + 'BuildArch: noarch' (20) - ROCm, PyTorch, HIP packages 'ExclusiveArch: %{nodejs_arches}' + 'BuildArch: noarch' (18) - nodejs-*, typescript 'ExclusiveArch: %{rust_arches}' + 'BuildArch: noarch' (2) - obs-service-rust2rpm, stratis-cli 'ExclusiveArch: %{golang_arches}' +'BuildArch: noarch' (1) containers-common Michal -- Michal Schorm Senior Software Engineer Databases Team Red Hat -- On Sat, Jul 18, 2026 at 6:34 PM Michal Schorm <[email protected]> wrote: > > On Sat, Jul 18, 2026 at 1:22 PM Miro Hrončok <[email protected]> wrote: > > I am unable to check your list right now (would rather like to review the > > script that generated it -- the methodology mentioned in the comment seems > > OK > > at a quick glance). > > ACK, I will try to create a reproducible script. > > > On Sat, Jul 18, 2026 at 4:02 PM Gary Buhrmaster > <[email protected]> wrote: > > If you ExcludeArch'ed the leaf packages > > do you have any thoughts about how > > many additional packages would become > > a leaf package, and be able to be > > ExcludeArch'ed in follow-on rounds of > > the work? > > Yes, roughly: > 2nd round: ~ 187 src pkgs > 3rd round: ~ 9 src pkgs > 4rd round: none > > I'll try to present reproducible evidence so we can apply this change > to those extra 187 + 9 packages too, right away. > > > Michal > > -- > > Michal Schorm > Senior Software Engineer > Databases Team > Red Hat > > -- -- _______________________________________________ devel mailing list -- [email protected] To unsubscribe send an email to [email protected] Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/[email protected] Do not reply to spam, report it: https://forge.fedoraproject.org/infra/tickets/issues/new
