Swupd most recent update different from what's on cdn

swupd check-update returns:

Current OS version: 30970
Latest server version: 30970
There are no updates available

Yet I can see there are a bunch of more updates on https://cdn.download.clearlinux.org/update/, as of this writing, to version 31020. Glancing over https://cdn.download.clearlinux.org/update/31020/ I can see there are plenty of deltas from 30970 for bundles I have installed (eg. https://cdn.download.clearlinux.org/update/31020/Manifest-desktop-apps-delta-from-30970)

Seems odd to me, though maybe I haven’t read far enough yet into how the bundle update works. Is this as it should be?

Releases are made on a almost daily basis (after some backend changes, they will go back to twice daily). Once a ‘release’ is cut, a number of QA tests are performed. If all goes well then the release is promoted to stable and swupd will then update to this new version.

If it fails QA, then the ‘release’ remains, but it is not promoted to stable. This is basically what tells you what the latest stable release is https://download.clearlinux.org/releases/current/clear/latest

The GNOME 3.34 update seems to be problematic, so it hasn’t been pushed to stable. Looking at the 30120 changes, they may even be reverting it back to 3.32

Aha, thank you. I wonder if the use of https://download.clearlinux.org/releases/current/clear/latest should be mentioned in the output of swupd info, which would make this a little clearer.

I’m not sure it checks that path specifically, it’s more a proxy that will reflect that latest version. There are other locations that show the same information i.e.
https://cdn.download.clearlinux.org/latest would be more likely and it should be pulling the value from your set mirror rather than a single path.

The canonical URL for checking is:

%s/version/format%s/latest

Where the first %s is the CDN url, and the second %s is the current format version number. This number can be reduced from the number in Manifest.MoM in /var/lib/swupd/<updatever>/Manifest.Mom. It’s at the top where it says MANIFEST <formatver>. And of course <updatever> is what shows in /usr/lib/os-release as VERSION_ID.

1 Like