Why are some KDE snaps large

I have no idea if this is the right way to go about it, or helpful in any way, but…

I tried looking at the differences between the snapcraft.yaml files of a small KDE snap (picked ktimer), and of a big KDE snap (picked knavalbattle), and I’m wondering if the “stage-packages” are contributing somehow?

ktimer has no stage-packages in the parts section, while knavalbattle has libasound2-data and libasound2-plugins listed under stage-packages:

Neither of those packages are enormous on their own…but libasound2-plugins looks like it has a pretty gnarly dependency tree, especially once it hits libavcodec60:

$ apt show libavcodec60
...
Installed-Size: 15.2 MB
Depends: libaom3 (>= 3.2.0), libavutil58 (= 7:6.0-6ubuntu1), libc6 (>= 2.35), libcairo2 (>= 1.2.4), libcodec2-1.2 (>= 1.2.0), libdav1d6 (>= 0.9.0), libglib2.0-0 (>= 2.12.0), libgsm1 (>= 1.0.18), libjxl0.7 (>= 0.7.0), liblzma5 (>= 5.1.1alpha+20120614), libmp3lame0 (>= 3.100), libopenjp2-7 (>= 2.0.0), libopus0 (>= 1.1), librav1e0 (>= 0.5.1), librsvg2-2 (>= 2.14.4), libshine3 (>= 3.1.0), libsnappy1v5 (>= 1.1.10), libspeex1 (>= 1.2~), libsvtav1enc1 (>= 1.6.0+dfsg), libswresample4 (>= 7:6.0), libtheora0 (>= 1.0), libtwolame0 (>= 0.3.10), libva2 (>= 2.9.0), libvorbis0a (>= 1.1.2), libvorbisenc2 (>= 1.1.2), libvpl2 (>= 2023.3.0), libvpx7 (>= 1.12.0), libwebp7 (>= 1.2.4), libwebpmux3 (>= 1.2.4), libx264-164 (>= 2:0.164.3095+gitbaee400), libx265-199 (>= 3.5), libxvidcore4 (>= 1.2.2), libzvbi0 (>= 0.2.35), zlib1g (>= 1:1.2.0)

And when I look at my system after installing both, sure enough, knavalbattle has a much larger /snap/-snap name-/current/usr/lib directory than chromium, even though I would assume chromium “should” be a much larger package? Now, I don’t know if all those A/V libraries are critical to knavalbattle - that might be unavoidable for how the app works and for what’s included in

Now, kcolorchooser didn’t have stage-packages specified in its snapcraft.yaml file, however, in comparing it to ktimer I did notice that kcolorchooser didn’t have kde-neon listed in the `cleanup section:

From the reading I’ve done, it sounds like that might be contributing to the size of kcolorchooser by leaving behind the majority of the “framework”-type packages in the final snap itself?

Sorry if all this is a waste of space on here, hopefully it might be useful to someone?

4 Likes