ubuntu / gnome-sdk

GNOME SDK/Platform snap
22 stars 24 forks source link

Fix building without lxcraft #44

Closed sergio-costas closed 2 years ago

sergio-costas commented 2 years ago

Due to a mistake, the snapcraft.yaml file had some hardcoded paths for lxcraft, so it didn't work directly with snapcraft.

This patch fixes this.

hellsworth commented 2 years ago

Here is the snap built from this PR you can unsquash and poke around. gnome-42-2204-sdk_0+git.bb3c428_amd64.snap.tar.gz

It looks like it is copying the svg files now to /usr/lib.. For example when we look at libpixbuf we see:

squashfs-root$ find . -iname "*libpixbufloader*"
./usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-tiff.so
./usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-bmp.so
./usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-qtif.so
./usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-icns.so
./usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xbm.so
./usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ico.so
./usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-gif.so
./usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-xpm.so
./usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-ani.so
./usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-tga.so
./usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-pnm.so
./usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so
./root/stage/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.a
./root/stage/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.la
./root/stage/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so

I believe this PR fixes the issue and am in favor of merging it.

sergio-costas commented 2 years ago

Yes, that's correct: the libpixbufloader-svg.so library is correctly copied in the right destination, and the loader cache is updated correctly. The other ones are leftovers, so another MR to remove them and shave some bytes from the snap is possible.

I rebuilt everything, GNOME-42-2204-SDK (only with snapcraft) and GNOME-42-2204 (this one needed lxcraft) using the previous SDK, and with both I built the SNAP-STORE (again needed lxcraft), and everything works fine.

Anyway, I have an idea to ensure that fixed paths to LXCRAFT directories are not possible.