[core22] gnome ext prevents use of configure hook
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Snapcraft |
New
|
Undecided
|
Unassigned |
Bug Description
When building a snap using the experimental core22 'gnome' extension in snapcraft 7, a command-chain is added to the configure hook which seems to prevent a snap-provided configure hook from running.
hooks:
configure:
plugs:
- desktop
- snap/command-
This command doesn't seem to chain properly, as it seems to prevent an actual configure hook from being called.
I've also provided a sample based on the Desktop team's workshops snap which can be found here:
https:/
To test, build the snap from my branch, install, and then run `snap set workshops foo=bar`. You'll see the following messages in the journal:
Started snap.workshops.
snap.workshops.
...but not the message logged by the configure hook, nor will the file $SNAP_COMMON/
snapcraft version: 7.1.3 8187 (amd64)
build environment: 22.04 Desktop
The extension adds:
hooks:
command- chain: chain/hooks- configure- fonts
configure:
plugs:
- desktop
- snap/command-
...which should lead to snapd calling snap/command- chain/hooks- configure- fonts, then `snap/hooks/ configure` . The the latter is never called in this case.
The bug is that the command-chain `hooks- configure- fonts` script that gets installed by the extension runs the command:
exec "${SNAP} /snap/command- chain/run" "${SNAP} /gnome- platform/ command- chain/hooks- configure- fonts" "$@"
The script run actually checks for the existence of `${SNAP} /gnome- platform/ command- chain/hooks- configure- fonts`, doesn't find it (because it's not available from the gnome-42-2204 snap), and silently exits using exit (v.s. exit 1 which would cause the hook to fail).