Hi,
I’d like to know if it’s now possible to use core18 in the build system.
If not if the build can be created with travis/launchpad to use core18.
I noticed that the gimp snap in snapcrafters has core18, so I was wondering how to use it.
Thanks
You can target core18 by using launchpad.net buildd directly. You need to get your snap code into launchpad. Once the code is uploaded you need to navigate to the code repository in the browser and find the link that reads “Create snap package”. Select the series “Ubuntu Bionix, for Ubuntu Core 16”. Despite the name this will build a snap that is compatible with core18, so you need to include base: core18
in the snapcraft.yaml
.
Thanks! Good to know.
So the snap in question is on launchpad at the moment,
it’s the ubuntu-make snap
at the moment it says ubuntu xenial.
If I just add core18 will it work? Or do I have to change to bionic as well?
You’ll need to switch the build to “Ubuntu Bionic, for Ubuntu Core 16” if you want to use the core18
base snap so that it builds against the correct library versions. As I said you need to ensure you also include the base: core18
stanza in the snapcraft.yaml
.
I didn’t find any settings to do that on build.snapcraft.io?
That’s why I said you need to use launchpad.
Because support for targetting core18 in snapcraft will only be properly supported when 3.0 comes out. The components of what makes up core18 has only recently been frozen as well.
@sergiusens now that snapcraft 3.0 has been released, is there any ETA for this?
It is currently being worked on, the ETA can be provided by @cjwatson
Yeah, I’m working on this at the moment: the main work consists of explicitly modelling some aspects of base snaps in Launchpad so that we can make appropriate decisions about how to dispatch builds of snaps that specify them, and then making the recipes that BSI creates stop specifying xenial. I can’t give an ETA yet, but I’m hoping it shouldn’t take longer than a few weeks to get it all assembled.
base: core18
is now supported by build.snapcraft.io. Let us know if you have any problems!
I’ve just started to get familiar with Launchpad because of this LMAO. Thanks a bunch!
Great news!! What will happen to a user with a non core18 based snap if I update the snap?
Will it refresh automatically pulling the new base?
If you update it to using core18
then your snap and its users will be migrated when you do new builds. If you just update your application without changing anything in the yaml to state core18
then your snap will carry-on building against core
and your users will continue as they were before this change to the build service.
Thanks for clarifying! This should ideally be documented somewhere more prominent. We have a number of devices running core(16)-based snaps, and have spent some time trying to understand what would happen to these devices if we released new versions of the respective snaps that are core18-based. I figured I’d scroll through all the core18-related posts on here before posting this as a new forum question.
Snapd will automatically download the core18
snap as part of refreshing those application snaps. Note that this won’t change the root file system your devices run against: just the environment those particular apps run in. There’s not even a need to upgrade all the apps at once: each application will use the base it was built against.