Ability to include a link to the source in stores


As suggested by https://github.com/canonical-websites/snapcraft.io/issues/1322#issuecomment-451651522

It would be nice if a publisher could provide a link for both the marketing site, and the source.



There’s nothing stopping publishers from putting these links in their description.

I guess the real question is do we want to make this a first class field, and if we do we need to consider how it appears in the CLI, snapcraft.io and GNOME Software.


It’s true you can add a link in the description, but having a specific field would, in my opinion, prompt more publishers to add a link to the source (based on no evidence :smiley:)


Given snapcraft can now incorporate manifest.yaml and snapcraft.yaml inside the published snap, which contains some if not all the data you’re after, could we expose some of that, or link to it if available?

Here’s a sample manifest.yaml and snapcraft.yaml that are inside the shattered-pixel-dungeon snap.


@popey so while the source location could be determined from the files you linked, it’s hidden in the override-build value and looks to be meant for machine consumption.

What we’re after is something that would fit more in the initial section of snapcraft.yaml along with metadata like software name, version, summary, description, etc. and point to:

  • software home page - where any marketing, docs, etc. can be found for the piece of software, like Homepage field in Debian package metadata or URL in RPM package metadata
  • source site - where the sources are hosted (this would only apply to FOSS), so I’d expect e.g. a GitHub project URL here; could be omitted if same as above
  • snap source site - where sources of the snap itself live, i.e. the snapcraft.yaml

It would make a lot of sense to me if such fields were actually in appropriate source manifest, similar to how it is in Deb or RPM packages. So in fact, maybe it’s more appropriate to open a ticket in Snappy to get such fields included in there first?

In fact while we’re at it I’d also suggest adding a License field to the list, it’s also quite an important bit of information about software that could use better visibility in Snap store.

Funnily enough, my involvement with this started when I found shattered-pixel-dungeon on snapcraft-io and since it wasn’t the latest version at the time I thought it may be a good opportunity to learn more about snap packaging and contribute a patch to update it to latest version. Since store has no links I googled, rummaged through your (@popey) repositories on GitHub and LaunchPad, and only managed to find where Shattered’s LibGDX port lives, but eventually gave up on snap sources and just commented on the snapcraft.io ticket in hopes this could be improved in the future :grin:


Actually I think the discussion here is the right place to have it. The architects of these tools and services are all here, and can be summoned to wade in. @sparkiegeek @Lukewh who would be the best to comment on this from the backend / store side (and @sergiusens for tools)? We have had this request numerous times over the last years, and while we can suggest people just put links in their description, it would (to me) feel better to have specific metadata fields for some of the data highlighted by @mig4.




I’ve now updated the store page for Shattered Pixel Dungeon to link to the yaml and upstream. I’ll also take some time to check and update any other snaps I own to make sure they’re updated as well. Thanks!