Open dilyn-corner opened 1 year ago
Thank you for reporting us your feedback!
The internal ticket has been created: https://warthogs.atlassian.net/browse/CRAFT-3264.
This message was autogenerated
When we implement #4892, we should implement this as well.
it would be Very Nice™️ if we also supported multi-arch snaps in a neat way. For instance, Canonical reference gadgets for core2{2,4} build for either amd64 or arm64, and copy the correct gadget yaml to the $CRAFT_PROJECT_DIR
-- snapcraft shouldn't really dirty the project directory (even with --use-lxd
the host is dirtied as project/
is actually the $CRAFT_PROJECT_DIR
on the host, so you touch the host even without --destructive-mode
) and while this behaviour is intended by the maintainer, it's only to work around a lacking feature in snapcraft.
Something like if snap/gadget-a{md,rm}64.yaml
exist, check $CRAFT_ARCH_BUILD_FOR
against gadget-$CRAFT_ARCH_BUILD_FOR.yaml
and copy the right one to meta/gadget.yaml
.
What needs to get done
The
gadget.yaml
should be required to be located insnap/gadget.yaml
of the snap project directory instead of in the root of the project directory. This should not interfere with thegadget.yaml
being migrated to its final location in${SNAP}/meta/gadget.yaml
.Why it needs to get done
Currently, the
gadget.yaml
for a gadget snap must be located in the root of the project directory.The
snapcraft.yaml
was previously also located in the root of the project directory, but was migrated tosnap/snapcraft.yaml
. Likewise, hooks are insnap/hooks/
, and are moved (in some relevant way) to${SNAP}/meta/hooks/
at the end of the build.For continuity, it would be make sense to require that the
gadget.yaml
be located insnap/gadget.yaml
. This would ensure uniformity in the waysnapcraft
treats all snap-related meta information.