Keyword for snapcraft to define the architectures it can build for.

Sergio Schvezov sergio.schvezov at
Wed Apr 6 13:24:34 UTC 2016

# History

Hi there, today we have an `architectures` key in `snapcraft.yaml` which
translates directly into an `architectures` key in `snap.yaml` which
defines the architectures the given snap was built for. The reason for
this is that originally most snaps were intended to be created as fat
snaps (aka, supporting multiple architectures).

# Current State

With snapcraft, the use of `architectures` is not really used at all,
but in the original design it was and I don't want to change the
semantic meaning of setting `architectures` there (which basically says,
I don't care what the snap has, fill in `snap.yaml` with what I tell you
to). Well I lie, some people do use it, but it is in the minority of cases.

Now let's introduce launchpad builders; traditionally debian source
packages have an `architecture` entry in `debian/control` which hints
the infra what target architectures to build (arch specific, subset of
arches, any, any except a subset, all) which is missing in snapcraft

# Proposal

I want a similar language, so the values used in debian/control can
still apply, but we need a keyword to specify that. I am not settled on
anything and this is just to define that keyword (unless someone
disagrees on the use of a list with what is used in debian packaging

Some keywords I can think of:

- supported-architectures
- build-architectures
- target-architectures

Input from anyone? I ask because I am feeling uncreative about this :-)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the snappy-app-devel mailing list