Hey! Welcome

Integrating snapd into solus software center can indeed wait as it depends on snapd and (perhaps) snapd-glib or equivalent being there in the first place. Snapd itself requires at least go 1.6 and a few golang dependencies. Part of snapd is written in C and requires the C toolchain and has optional toggles on some things (specifically you can disable apparmor if you don’t offer it in your distribution). We offer bundled taballs where dependencies are vendorized (CC @mvo for the 2.27 release) for easier integration. As I said on IRC we support all kinds of packaging, including online builds, offline vendorized and offline de-vendorized so you should be okay.

We love to keep a copy of the packaging in the snapd tree in the packaging/ directory so that we can test-build and test-run it on incoming pull requests. This is a topic for the future but I just wanted to let you know.

My suggestion is as follows:

clone the tree locally and just go build cmd/snap and cmd/snapd to see that it vaguely works

cmd/snap and to see that it vaguely works try to build cmd/snap-seccomp and cmd/snap-update-ns

and look at cmd/autogen.sh and please consider sending us a patch for what you’d like to see in solus.

and please consider sending us a patch for what you’d like to see in solus. run that and build the C parts.

Please come back with any errors you may run into.