Snap Title field

This has somewhat been discussed in other locations [1] but I’ll open a forum topic about it.

We have an issue where there is no suitable short human-readable title field for a snap. This field is present in the store, but is not passed through snapd to a client (e.g. GNOME Software). This means we only ever use the snap name which is limited in format, not translated and technical.

For example I have a snap of GHex in the store.

The package name is: ghex-udt
The package title as set in the store is: GHex
In GNOME Software this snap shows as ghex-udt, instead of GHex.

There’s a number of components that need to be fixed to make this work:

  1. Get snapd to pass this title value from the store to a client, so searches show this name. (snapd)
  2. Use this field in clients instead of the snap name. (gnome-software)
  3. Include the title field in the snap manifest so installed snaps are shown with this name. This field needs to be optional since existing snaps don’t have it and “techy” apps (e.g. command-line) probably don’t need to set a name like this. snapd needs to pass this field through to clients. (snap spec / documentation)
  4. Have Snapcraft provide a means of setting the title value in the snapcraft.yaml and put into the generated .snap. (snapcraft)
  5. Make the store should automatically pull out the title on snap upload, so you don’t have to manually enter it (as you do currently). (store)

[1] https://bugs.launchpad.net/bugs/1555569

1 Like

The timing on this is fortunate as @mpt just brought this up yesterday while we were reviewing something tangential to this. For number 4 I was thinking about adding a friendly-name attribute that could be used for this, this also brought back some thoughts on what the AppStream involvement to solve this could be.

Proposed snapd change to support this:
https://github.com/snapcore/snapd/pull/3532

Was discussed at the sprint today, @niemeyer wants to sleep on the name for the field. The PR uses “title”, a proposed alternative name is “display_name”.

1 Like

@niemeyer - have you had further thoughts on the field name?

The decided name was ‘label’

Are you going to get to the snapcraft counterpart for this or is this going to be store only metadata?

@kyrofa is going to do the snapcraft side.

1 Like

I think label is the wrong name for this. I’ll chase it down…

I also think “label” is not a good name, “title” or “visible_name” would
fit better.

after a nice discussion about this, we decided to stick with title: despite its drawbacks (amongst which the fact that it has 10 different meanings), it’s the only one that properly conveys our capitalisation expectations.

Heh, I was about to propose my preference for friendly_name or the originally proposed display_name.

2 Likes