Call for testing: xkcdpass, my first snap!

Did I take the wrong approach here (with Corebird) then? I’m guessing I can still recommend they use but that instead they just use the master snapcraft.yaml and wait for a new stable release before releasing a stable Snap?

There is no wrong, as I said, all these tools are made flexible to fit any preference. But in corebird, I would have just started to push to edge until a new release is tagged.

I’ve edited the description accordingly, the only issue with that approach is that there may not be a stable Snap until a new release is made, which could be a while (or it might not be)!

I’m glad that there’s a stable Snap up for xkcdpass (only just noticed), good job @roxd!

Yes this would probably be the way to go then. I’ve already opened up an “issue” in github explaining the snapcraft situation and haven’t heard back. I can do this until if/when the developer decides to take over.

thank you @elopio and @Ads20000 for the input. as my first snap, I don’t know all these small details!

works fine here - did you move out of beta ?

1 Like

OK, I’m a newbie to snaps to pardon my ignorance.

I’m writing a snap that has a database and I’m wanting to generate a random db password as part of the install process.

I was hoping to just include this snap inside my snap or make my snap dependant on it.

I tried using
after: [xkcdpass]

but snapcraft says its not in the store (ubuntu)

So what is the correct method of using this snap within my own snap?

I’m not sure after is what you want here, that may be trying to pull Debs from Ubuntu? You should be depending on other snaps by using interfaces and I’ve asked @niemeyer for a syntax example for what he said here.

From the documentation about after:

Specifies any parts that should be built before this part, which Snapcraft then stages before trying to build this part. This is useful when a part needs a library or build tool built by another part. If the part defined in after is not defined locally, the part will be searched for in the parts repository.

That means your other snap does not qualify, because 1) it’s a snap, not a part; and 2) it’s not included in the remote parts repository.

To use another snap at runtime you need to use interfaces - plugs and sockets - to link the other snap into yours when your snap gets installed.

To use a snap at build-time there has been mention of a then-undefined build-snaps stanza, which was talked about as potentially working like build-packages. I don’t know whether that was settled-upon, included in any releases, or abandoned as a silly idea, so I might be sending you on a wild goose hunt by mentioning it :slight_smile:

1 Like