Error: no changes of type "auto-refresh" found

I’ve just tried building a new snap for the first time and the output includes a line suggesting there’s an error, but I don’t think it’s an error:

$ snapcraft
Launching a VM.
Launched: snapcraft-tabular                                                     
error: no changes of type "auto-refresh" found
(...and then a bunch of stuff about building...)

I don’t know exactly what this is doing, but I would guess the following:

  1. snapcraft is trying to auto-refresh some things and there currently aren’t any in need of it?
  2. this is being seen as an error, either because snapcraft is using the wrong command to auto-refresh things (so it is an error, but it’s snapcraft’s error, not mine) or because there not being any auto-refresh changes is being reported as an error when it isn’t
  3. this is at most a warning (since it doesn’t abort the process) and probably shouldn’t be shown at all because it’s some sort of snapcraft internal thing and not to do with my app

Since I’m not sure what causes it, I don’t know what to propose to fix it, but I do know that it’s worrying when the build process contains the word “error”, and it shouldn’t unless there actually is an error.

I’d guess it is being triggered by this code:

This appears to be an attempt to wait for the ensure that no snap is refreshed while the build proceeds (which would make it impossible to reproduce the build).

Looking at the documentation for snap watch, changing the last argument to --last=auto-refresh? would provide the desired behaviour: wait for an auto-refresh change to complete, but don’t print an error if no such change exists.

As this looked fairly simple, I’ve submitted a fix for it:

2 Likes

New to snapcraft and running through https://snapcraft.io/first-snap/java and https://ubuntu.com/tutorials/create-your-first-snap to learn how to create snaps.

Using an Ubuntu 18.04 VM running on Microsoft SCVMM with nested virtualization enabled.
snap version: 2.44.3
snapcraft version: 3.11
lxd version: 4.0.1
lxc proxy is set for http and https

I get to the steps where I have to run “snapcraft --use-lxd” and I get:

$ sudo snapcraft --use-lxd
Launching a container.
Waiting for a container to be ready…

status: done
error: no changes of type “auto-refresh” found

And then it just sits there for a long time before I cancel it or it times out.
This happens with both of the tutorials I have run through so far.

Mick