Comment 2 for bug 2012405

Revision history for this message
Colin Watson (cjwatson) wrote (last edit ):

I created these new snap bases in Launchpad:

In [1]: lp.snap_bases.new(name='devel', display_name='devel', distro_series='/ubuntu/mantic', build_channels={'snapcraft': 'stable/launchpad-buildd'}, features={'allow_duplicate_build_on': True})
Out[1]: <snap_base at https://api.launchpad.net/devel/+snap-bases/devel>

In [2]: lp.snap_bases.new(name='core24', display_name='core24', distro_series='/ubuntu/mantic', build_channels={'snapcraft': 'stable/launchpad-buildd'}, features={'allow_duplicate_build_on': True})
Out[2]: <snap_base at https://api.launchpad.net/devel/+snap-bases/core24>

These will need to be updated when new Ubuntu series are opened; the linked ubuntu-release-tools MP documents the procedure there.

With the preparatory work we've done here, the Launchpad side of setting up core26 (etc.) should be much simpler. As it stands now, the procedure should be:

 * Ubuntu Core: get an initial version of coreXX (e.g. core26) into the store
 * Launchpad: run `lp.snap_bases.new(name='coreXX', display_name='coreXX', distro_series='/ubuntu/whatever-is-current-at-that-time', build_channels={'snapcraft': 'stable/launchpad-buildd'}, features={'allow_duplicate_build_on': True})` (copy `build_channels` and `features` from the previous core version)
 * Launchpad: add whichever coreXX it is to `lp.services.fields.SnapBuildChannelsField._core_snap_names`, to allow snap recipes that use coreXX to control which channel is used for it