Between F38 and F39 the compressed size of the x86_64 Flatpak increased from 797 MiB to 1290 MiB.
I haven't done a full analysis, but the major factor is definitely that the number of hardlinks in /usr/lib64/dri/ increased dramatically to include symlinks like exynos_dri.so and ostree has an (existing) bug where exported tarballs included hardlinks files separately. The amount of uncompressed space wasted for this just for /usr/lib64/dri went up from 347 MiB to 1620 MiB with the mesa change, which seems about similar to the compressed increase above.
exynos_dri.so
Because this is a tarball bug, it doesn't affect a) installed size b) delta-size for updates to the F39 runtime or c) the silverblue iso size. But it will affect every Fedora user with at least one Fedora Flatpak installed when we push the F39 Flatpaks to stable - they'll all download and install the F39 runtime from scratch.
A minimally disruptive approach would be:
Create a src/ostree PR in https://src.fedoraproject.org/rpms/ostree/pull-request/36
Note that in the above proposal the direct tag into f39-flatpak-container-build would be a temporary final-freeze measure; it would be untagged in favor of a normal update after the freeze.
There's now a f39 ostree build with the appropriate fix at:
https://koji.fedoraproject.org/koji/buildinfo?buildID=2302675
Please tag that into f39-flatpak-container-build. I don't think this qualifies as a freeze break, since it only affects Flatpak builds, which we've generally considered to be outside the scope of freezes, but if it does, please consider this as a freeze break request.
% koji tag-pkg f39-flatpak-container-build ostree-2023.6-2.fc39 Created task 107157278 Watching tasks (this may be safely interrupted)... 107157278 tagBuild (noarch): free 107157278 tagBuild (noarch): free -> closed 0 free 0 open 1 done 0 failed
107157278 tagBuild (noarch) completed successfully
Thanks! Rebuilt the f39 flatpak-runtime and verified a) still works b) the size of the tarball decreased from 1290 MB to 685 MB.
Metadata Update from @otaylor: - Issue close_status updated to: Fixed - Issue status updated to: Closed (was: Open)