I’m using snapcraft, version 3.8. As you see when clicking on the Github link, I already have this in the snapcraft.yaml
:
apps:
wavbreaker:
command: usr/bin/wavbreaker
extensions: [gnome-3-28]
How does build-packages
and stage-packages
change in this case, do I need to list the GTK3-related packages? I tried adding gnome-3-28-1804
to the build-snaps:
list, but that made the snap even bigger (~ 130 MiB or something like that?).
Also, multipass doesn’t work for me at the moment again (me mumbling something about reinventing the wheel), so I can’t really verify it…
(after reboot)
The package is now 27 MiB, I removed libgtk-3-dev
and gettext
from the build-packages:
list, and all libs except libao4
and libmpg123-0
from the stage-packages:
list. Snapcraft still complains about these libs (“The ‘wavbreaker’ package is missing libraries that are not included in the snap or base. They can be satisfied by adding the following entries to the existing stage-packages for this part”):
- libatk-bridge2.0-0
- libatk1.0-0
- libatspi2.0-0
- libcairo-gobject2
- libcairo2
- libdatrie1
- libepoxy0
- libfontconfig1
- libfreetype6
- libgdk-pixbuf2.0-0
- libgraphite2-3
- libgtk-3-0
- libharfbuzz0b
- libpango-1.0-0
- libpangocairo-1.0-0
- libpangoft2-1.0-0
- libpixman-1-0
- libpng16-16
- libthai0
- libwayland-client0
- libwayland-cursor0
- libwayland-egl1
- libx11-6
- libxau6
- libxcb-render0
- libxcb-shm0
- libxcb1
- libxcomposite1
- libxcursor1
- libxdamage1
- libxdmcp6
- libxext6
- libxfixes3
- libxi6
- libxinerama1
- libxkbcommon0
- libxrandr2
- libxrender1
My application doesn’t link to these libs (apart from GTK, of course) directly, they seem like indirect dependencies via the GTK libs, so why are these not in the gnome-3-28-1804
snap? (they probably are, but snapcraft might fail to recognize this?). It definitely isn’t intended that my snap depends on GTK from the GNOME snap, but ships the dependencies of GTK in its own package(??).
Looking at the snap contents (this is super easy with unsquashfs -l
, so kudos for making that part super easy), I see that my snap ships the Humanity, Humanity-Dark and Adwaita icon themes (WHY?), so that’s probably where the size increase comes from.
The “gnome-3-28 extension” documentation you linked also says that it should drag in “gtk-common-themes”, which is cleary not the case, as Humanity and Adwaita still ship stuff in my snap.
Help?