Manual review due to store scan failure

If you upload a snap that uses x11 plug but does not have a .desktop file you get an email with this cryptic error message:

Launchpad uploaded this snap package to the store, but the store failed to
scan it:

desktop interfaces (x11) specified without meta/gui/.desktop. Please provide a desktop file via setup/gui/.desktop if using snapcraft or meta/gui/*.desktop otherwise. It should reference one of the ‘apps’ from your snapcraft/snap.yaml.

Based on this message I expect that it is enough to simply push a fixed snapcraft.yaml. However this will not work. The bad package will block the store queue waiting for a manual review and some time later you will get another cryptic email:

Manual review requested for v2 (1) upload of sigrok-ali1234.a-j-buxton.

To check review details, go to -link-

Upload status: Manual review pending

Visit the developer portal at -link- to find out more.
To view the package, go to -link-

It isn’t clear that these two emails are related, nor is it clear who requested the review or why, nor what I am supposed to do about it. If I do nothing then upon pushing a fixed snapcraft.yaml and waiting for it to build I get this:

Launchpad uploaded this snap package to the store, but the store failed to
scan it:

Waiting for previous upload(s) to complete their review process. If you want to prioritize this last one, go to the other upload(s) page in -link- and click on the ‘Reject and remove from review queue’ button.

At this point I finally figured out that I need to manually delete the failed package before I can upload any more. This was especially confusing since I didn’t just get three emails: I got several duplicates because snaps build for two architectures, and they dribbled in over the course of about half an hour, during which time I had no idea what was going on and attempted to push several snapcraft.yaml revisions to fetch it, which only caused me to get more of these emails later - a total of 12 error emails from the store dashboard.

Your snap is missing a desktop file and the message is trying to advise you how to fix the error. I’m happy to adjust the message. I’ve come up with this:

desktop interface (x11) specified for command 'foo' does not have a corresponding desktop file in meta/gui/*.desktop. Please provide a desktop file for this command in meta/gui/*.desktop. If using snapcraft, please add the desktop file to meta/gui/*.desktop otherwise.

Is this less cryptic?

No, because it:

  1. Does not specify where or what meta/gui and setup/gui are. Are they in the source or in the package?
  2. Does not explain how to unblock the review queue so I can actually upload a new package with those files, assuming that is what it wants me to do.

I would suggest something like:

The command ‘foo’ in package ‘bar’ uses the interface ‘X11’ but did not supply a .desktop file: ‘meta/gui/foo.desktop’.

If this is a snapcraft package you can put ‘setup/gui/foo.desktop’ in the source directory containing snapcraft.yaml, or manually install ‘meta/gui/foo.desktop’ into the package.

The package will be placed in manual review mode. If you would like to upload a fixed package you must cancel the review. Click here to do that (link).

Thanks for the feedback. I’ll get this fixed and queued in the next update for the tools.

A couple more problems with the error mails:

  1. They refer to setup/gui, but latest snapcraft tells you to use snap/gui instead:
    https://snapcraft.io/docs/deprecation-notices/dn3

  2. The “blocked by manual review” one points you to https://myapps.developer.ubuntu.com/ but that seems to have moved to https://dashboard.snapcraft.io.

Also there are some different ways of getting a .desktop into a snap now, see this other thread: Staging a .desktop and icon from a part repo into meta/gui

…but manually including meta/gui/foo.desktop seems to be the one thing that doesn’t work for snaps.

FYI, I’ve made these changes to trunk and they will be in the store after the next sync.

1 Like