Possible to create snap without core dependency?

Being deliberately vague here I know, but, is it currently possible to create a snap without the core dependency? I know base snaps aren’t yet a thing - but I’m thinking of a snap that has no core dependency and is entirely self contained …

I think the base snap ‘bare’ is what you’re looking for here?

See the release announcement for 2.28:

1 Like

No, and it likely will never be. As the core splits into a new core and a base snap, the core snap will be required for snapd itself and any bootable Snappy system.

The current core is basically the snapd exec core and ubuntu-16.04 base fused together. These will be split, but the core snap will always be required.

That said, there is a bare base snap that would serve your purposes… mostly…

This seems to conflict heavily with what @Conan_Kudo is saying.

If it is legit bare, i.e has absolutely no content or OS, then that’s absolutely perfect for what I need. Basically I need to stuff parts of Solus into a baseless snap and remangle it to deploy … something. :slight_smile:

That’s … not quite what I’ve been hearing. The roadmap itself speaks of new types of base snaps, with core being a base snap conceptually. I need to nuke this part of the chain. :slight_smile: (I’m pretty good with bootstrapping bare OS images though s’all good :P)

They appear to be answering different interpretations of your question.

As @Conan_Kudo says, you’ll need to have the core snap on the system to support snapd itself. That snap will likely get smaller in future though.

However, from the point of view of an application snap, base snaps can mean that the current core snap is effectively invisible: you can pick another snap to act as the root of the file system namespace. The bare snap is one such base snap that provides nothing but a set of empty directories to be used as mount points. This should already be usable if you’ve upgraded to snapd 2.28.

I’m not sure whether it is possible yet for an application snap to ship its own set of libraries/binaries to appear in /usr. I guess it might be interesting for a snap to specify itself as a base, but I don’t think that is intended with the current design.