On Thu, 29 Mar 2018 15:32:06 +0200, Stephen Gallagher <sgallagh@redhat.com> wrote:



On Thu, Mar 29, 2018 at 9:16 AM Stephen Gallagher <sgallagh@redhat.com> wrote:
On Thu, Mar 29, 2018 at 8:43 AM Kevin Kofler <kevin.kofler@chello.at> wrote:
Hi,

on #fedora-kde, we discussed a huge increase to the size of the KDE live
image:
F27 KDE GA: 1656752111 bytes
F27 KDE Respin: 1744830464 bytes
F28 KDE Beta: 2069889024 bytes

It turns out the LXQt live image is also hit:
F27 LXQt GA: < 1 GiB
F28 LXQt Beta: 1.4 GiB
and I am pretty sure that this is a global issue affecting ALL the live
images.

While there is certainly more than one cause (e.g., the difference between
F27 KDE GA and the F27 KDE Respin must be caused by package updates and/or
added dependencies), it is striking that between a recent F27 KDE Respin
(which has several of the KDE package updates that are also in the F28 Beta)
and the F28 Beta, there is a size increase of more than 300 MB!

Therefore, my question:
Is this size increase caused by Annobin?

If not, then WHAT causes this size increase? And can the offending change(s)
be reverted in time for F28 Final?

If yes, then IMHO it is time to enact the contingency plan, i.e.:
1. drop the annobin requirement from redhat-rpm-config, AND
2. perform an emergency mass rebuild to actually get rid of the bloat.

A global live image size increase of 19%-40% is just not acceptable.

        Kevin Kofler


Have you done a comparison between individual package sizes and count? I wonder if the problem is that some subset of critical packages gained a whole lot of dependencies (intentionally or not) or if we're actually seeing that built binaries are suddenly carrying a huge additional amount of content. Or even if for some reason the binaries aren't being stripped properly. 

I just checked several packages that compiled the same sources on F26 and F28:
* sscg: 4.31% increase in size
* nodejs 8:  22% *decrease* in size
* libmodulemd: 12% *decrease* in size
* sssd-common: 2.58% increase in size
* boost-system: 1.00% increase in size

Granted, this is just a spot-check, but it seems to me like (on the whole) improvements in the compiler are at least balancing out the increase caused by annobin. It definitely doesn't indicate a 19-40% increase across the board. So I'd guess it's more likely to be dependency bloat or one or two core packages growing significantly.

Just for fun, I wrote a patch comparing only _unrebased_ (probably just rebuilt) packages between F27 and F28.
For compiled packages, the size difference is just a bunch of percent. Some packages grew considerably, but these are mostly fonts (google-noto-sans-fonts by 1012%).

The diff is attached. Order of data is: percentage, package name, f27 RPM size, f28 RPM size.

Martin