@wgrant That’s exactly the sort of reason why we should be using containers for builds. The comments above talk about not using root inside the sandbox, and that’s what the quoted comment was about.
As a tangential comment, the plan is to use persistent containers per project for continuous development locally (hidden behind a feature flag today SNAPCRAFT_CONTAINER_BUILD
). Furthermore, specifically on build.snapcraft.io, support for build-snap
as an entry is forcing a move of launchpad to build in lxd containers.
Now that that is out of the way. Considering we are building in containers we can avoid user interaction for building with --allow-classic
transparently in the builders and regular users wouldn’t be surprised. I’d like to leave interface connection discussions for a phase 2 part of the implementation as 90% of the use cases for build snaps are based out of using snaps that are classic
confined.
Can this be used with a locally installed or provided snap?
Context is: I created a new snap X to serve as build-snaps
to another snap Y, but when I try to build the latter it wants to get it from the store:
2024-06-14 09:06:40.458 Installing build-snaps
2024-06-14 09:06:41.482 The http error when checking the store for llvm-chromium is 404 (retries left 5)
Ideally I’d test that X is really serving its purpose before requesting a name from the store, as if it turns out not to work I’d have wasted my and the reviewer’s time.