Comparing your local version with the on-line versions
Before upgrading a Tumbleweed system, it makes sense to check which is your local and which is the on-line version. This is actually a tad more complicated than it sounds.
There are three versions involved:
- the local release version on your system
- the on-line release version from for instance
aarch64used on https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/repodata/ file*-primary.xml.gzand http://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/aarch64/ in filesopenSUSE-release-*-1.1.aarch64.rpm - the on-line build version used on https://openqa.opensuse.org/ and needs to be bound to the corresponding architecture in the https://download.opensuse.org tree
There is a mismatch between the last two as a side effect of decoupling the arm port a bit from the high checkin frequency of openSUSE:Factory; ARM simply has not enough power to build the snapshot in the same time Intel and PowerPC can do.
[WayBack] Dominique a.k.a. DimStar (Dim*) – A passionate openSUSE user thinks the last two are mismatched is a side effect off [WayBack] osc service remoterun operates on outdated sources (product builder) · Issue #4768 · openSUSE/open-build-service · GitHub.
He also tech-reviewed this post.
Your local release version
There are various ways to get your local version:
The easiest is to inspect the file /etc/os-release, for instance 20180208 in the file content:
NAME="openSUSE Tumbleweed" # VERSION="20180208 " ID=opensuse ID_LIKE="suse" VERSION_ID="20180208" PRETTY_NAME="openSUSE Tumbleweed" ANSI_COLOR="0;32" CPE_NAME="cpe:/o:opensuse:tumbleweed:20180208" BUG_REPORT_URL="https://bugs.opensuse.org" HOME_URL="https://www.opensuse.org/"
You can also perform rpm --query --provides openSUSE-release | grep "product(openSUSE)" which for the same install returned this product(openSUSE) = 20180208-0.
Finally, you can use zypper to query the installed product which also includes the version:
$ zypper search --installed-only --type product --details Loading repository data... Reading installed packages... S | Name | Type | Version | Arch | Repository ---+----------+---------+------------+---------+------------------ i+ | openSUSE | product | 20180228-0 | aarch64 | (System Packages)
The on-line release version
I will explain this for the aarch64 architecture, but the mechanism holds for all architectures, it is just that the directory names vary.
Architectures and base directories you can use this mechanism with:
- https://download.opensuse.org/tumbleweed/repo/oss/repodata/ for
i586,i686andx86_64 - https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/repodata/ for
aarch64 - https://download.opensuse.org/ports/armv6hl/tumbleweed/repo/oss/suse/repodata/ for
armv6hl - https://download.opensuse.org/ports/armv7hl/tumbleweed/repo/oss/suse/repodata/ for
armv7hl - https://download.opensuse.org/ports/ppc/tumbleweed/repo/oss/repodata/ for
ppc,ppc64andppc64le - https://download.opensuse.org/ports/zsystems/tumbleweed/repo/oss/suse/repodata/ for
s390x
Each architecture contains the version number in two kinds of places:
- The content of the repository meta data in a file named
*-primary.xml.gzreferenced fromrepomd.xmlin therepodatasubdirectory - The filename of a package named
?P=openSUSE-release-2*
Back to the aarch64 architecture:
-
Getting the version through
repomd.xmlis whatzypperdoes based on a slight adoption of https://en.opensuse.org/openSUSE:Standards_Rpm_Metadata#Repository_layout resulting in release version20180324:-
Inspect https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/repodata/repomd.xml for the name of
*-primary.xml.gz(in this case https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/repodata/d701c298b21d0b995c9560f9cfcc84685cb916deacc4f4c4a613a9b9d8f5aa57-primary.xml.gz -
Download that
.gzfile and uncompress it -
Inspect the
*-primary.xmlfrom it, look inside themetatadataroot element for apackagehaving anameelement with valueopenSUSE-release: thatpackageelement now has aversionelement having averattribute containing the release version text.Example file content:
<?xml version="1.0" encoding="UTF-8"?> <metadata xmlns="http://linux.duke.edu/metadata/common" xmlns:rpm="http://linux.duke.edu/metadata/rpm" packages="35006"> <!-- ... --> <package type="rpm"> <name>openSUSE-release</name> <arch>aarch64</arch> <version epoch="0" ver="20180324" rel="1.1"/> <!-- ... --> </package> <!-- ... --> </metadata>
-
-
Getting the version through the name of the
openSUSE-release-2*package:- Search for a matching filename at https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/aarch64/?P=openSUSE-release-2*
- The list contains
openSUSE-release-20180324-1.1.aarch64.rpmindicating release version20180324
The on-line build version
I will explain this for the aarch64 architecture, but the mechanism holds for all architectures that build on openQA, it is just that the directory names vary and not all architectures are running on openQA.
Architectures and base directories you can use this mechanism with:
- https://download.opensuse.org/tumbleweed/repo/oss/media.1/ for
i586,i686andx86_64(let’s call this platform Intel)- https://download.opensuse.org/tumbleweed/repo/oss/media.1/media
- https://download.opensuse.org/tumbleweed/repo/oss/media.1/products
- https://openqa.opensuse.org/group_overview/1 openSUSE Tumbleweed (covering
x86_64and somei586) - https://openqa.opensuse.org/group_overview/32 openSUSE Tumbleweed Kernel (covering
x86_64)
- https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/media.1/ for
aarch64(let’s call this platform ARM) - https://download.opensuse.org/ports/ppc/tumbleweed/repo/oss/media.1/ for
ppc,ppc64andppc64le(let’s call this platform PowerPC)- https://download.opensuse.org/ports/ppc/tumbleweed/repo/oss/media.1/media
- https://download.opensuse.org/ports/ppc/tumbleweed/repo/oss/media.1/products
- https://openqa.opensuse.org/group_overview/4 openSUSE Tumbleweed PowerPC (covering both
ppc64andppc64le)
- https://download.opensuse.org/ports/zsystems/tumbleweed/repo/oss/media.1/ for
s390x(let’s call this platform System Z)
Architectures not on openQA:
armv6hlarmv7hl
Each platform contains the version number in two kinds of places:
- The content of the repository meta data in the file named
media.1/mediaandmedia.1/products - Names used in the openQA links
Back to the aarch64 architecture on the ARM platform:
-
https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/media.1/media
openSUSE - openSUSE-20180322-aarch64-Build46.1-Media openSUSE-20180322-aarch64-Build46.1 1 -
https://download.opensuse.org/ports/aarch64/tumbleweed/repo/oss/media.1/products
/ openSUSE 20180322-0 -
https://openqa.opensuse.org/group_overview/3 openSUSE Tumbleweed AArch64
... Build20180322 (10 days ago) testing ...- The above text points to Overall Summary of openSUSE Tumbleweed AArch64 build 20180322
–jeroen





