summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Goll <cgoll@suse.de>2022-06-20 22:20:31 +0200
committerMassimiliano Culpo <massimiliano.culpo@gmail.com>2022-07-20 08:10:41 +0200
commit488a513109ffda96e9b334f84e2c1a177e79b088 (patch)
treeac8bb68d91a321fe1c3841e445b25faeffb0af13
parent53cb6312a84c3e310adcdaa4c531b5b86db88819 (diff)
downloadspack-488a513109ffda96e9b334f84e2c1a177e79b088.tar.gz
spack-488a513109ffda96e9b334f84e2c1a177e79b088.tar.bz2
spack-488a513109ffda96e9b334f84e2c1a177e79b088.tar.xz
spack-488a513109ffda96e9b334f84e2c1a177e79b088.zip
OpenSUSE Tumbleweed: use GLIBC version as distro version (#19895)
Tumbleweed is a rolling release that would have used a date as a version instead.
-rw-r--r--lib/spack/spack/operating_systems/linux_distro.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/spack/spack/operating_systems/linux_distro.py b/lib/spack/spack/operating_systems/linux_distro.py
index a1721d0623..70ea6a22b5 100644
--- a/lib/spack/spack/operating_systems/linux_distro.py
+++ b/lib/spack/spack/operating_systems/linux_distro.py
@@ -4,6 +4,7 @@
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
import platform as py_platform
import re
+from subprocess import check_output
from spack.version import Version
@@ -51,6 +52,17 @@ class LinuxDistro(OperatingSystem):
if 'ubuntu' in distname:
version = '.'.join(version[0:2])
+ # openSUSE Tumbleweed is a rolling release which can change
+ # more than once in a week, so set version to tumbleweed$GLIBVERS
+ elif 'opensuse-tumbleweed' in distname or 'opensusetumbleweed' in distname:
+ distname = 'opensuse'
+ output = check_output(["ldd", "--version"]).decode()
+ libcvers = re.findall(r'ldd \(GNU libc\) (.*)', output)
+ if len(libcvers) == 1:
+ version = 'tumbleweed' + libcvers[0]
+ else:
+ version = 'tumbleweed' + version[0]
+
else:
version = version[0]