Snapcraft clean, why Error: no such option: -s

Simply following the advice given by snapcraft CLI (version 3.2 under Ubuntu 18.04), I am getting an error “Error: no such option: -s” even though this is the command being suggested by the snapcraft CLI itself !?

Skipping pull desktop-gtk3 (already ran)
Failed to reuse files from previous run: The 'pull' step of 'testsnap-py' is out of date:
The 'python-packages' part property appears to have changed.
To continue, clean that part's 'pull' step by running `snapcraft clean testsnap-py -s pull`.
Run the same command again with --debug to shell into the environment if you wish to introspect this failure.
An error occurred when trying to execute 'sudo -i env SNAPCRAFT_HAS_TTY=True snapcraft snap' with 'multipass': returned exit code 2.

So I ran

$ snapcraft clean testsnap-py -s pull
Error: no such option: -s

The snapcraft CLI should not be advising me to run commands that don’t work. Presumably this is due to the fact that “specifying parts or a step name is not yet supported.” by the CLI? Till that is implemented, perhaps the message should be changed from:

To continue, clean that part's 'pull' step by running `snapcraft clean testsnap-py -s pull`.

to

To continue, clean that part's 'pull' step by running `snapcraft clean`.

in order to prevent confusion.

But what is even more confusing is that apparently snapcraft CLI 3 is supposed to support these more nuanced operations - according to https://kyrofa.com/posts/develop-your-snaps-faster, and I am running snapcraft version 3.2 under Ubuntu 18.04 - not sure what is going one here. And certainly snapcraft clean followed by snapcraft takes many hours - downloading everything from scratch - I wish I didn’t have to do it. Is it because I’m using core18 based builds?

1 Like