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?