Something I found when messing around today with a test snap and changing base from core18 to core20.
For this snapcraft snippet:
apps:
glmark2:
command: bin/wayland-launch $SNAP/usr/bin/glmark2-wayland --fullscreen
With core18 you get these warning:
The command 'wayland-launch' for 'wayland-launch $SNAP/usr/bin/glmark2-wayland --fullscreen' was resolved to 'bin/wayland-launch'.
The command 'wayland-launch $SNAP/usr/bin/glmark2-wayland --fullscreen' has been changed to 'bin/wayland-launch $SNAP/usr/bin/glmark2-wayland --fullscreen'.
With core20. you actually get a hard failure:
Failed to generate snap metadata: The specified command 'wayland-launch $SNAP/usr/bin/glmark2-wayland --fullscreen' defined in the app 'glmark2' is not executable.
If I change the snapcraft config to include the automatically fixed suggestsion when using core18:
apps:
glmark2:
command: bin/wayland-launch $SNAP/usr/bin/glmark2-wayland --fullscreen
…then re-build with core20, everything works fine, no errors.
Questions are:
Why does building with core20 produce the hard errors, and not the warnings ? Is the configurable, or am I missing something more fundamental ?
The error message for the hard failure with core20 is not great - not executable
feels misleading [ the file is there and executable ] , perhaps not in expected location
or some such might be better ?
Cheers,
Just