From ae9faa2726017fb75ae7715619387a23deecf9a5 Mon Sep 17 00:00:00 2001 From: Anders Montonen Date: Mon, 27 Apr 2020 22:15:27 +0300 Subject: sb/linux.py: Workaround for Python >= 3.8 The platform.dist() interface has been deprecated since Python 3.5, and has been removed in Python 3.8. Fixes: Traceback (most recent call last): File "/home/anders/work/rtems/rsb/source-builder/sb/options.py", line 682, in load overrides = linux.load() File "/home/anders/work/rtems/rsb/source-builder/sb/linux.py", line 60, in load distro = platform.dist()[0] AttributeError: module 'platform' has no attribute 'dist' Signed-off-by: Anders Montonen --- source-builder/sb/linux.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'source-builder') diff --git a/source-builder/sb/linux.py b/source-builder/sb/linux.py index c3059a9..791bbd6 100644 --- a/source-builder/sb/linux.py +++ b/source-builder/sb/linux.py @@ -55,13 +55,17 @@ def load(): '__tar': ('exe', 'required', '/bin/tar') } - # Works for LSB distros - try: - distro = platform.dist()[0] - distro_ver = float(platform.dist()[1]) - except ValueError: - # Non LSB distro found, use failover" - pass + # platform.dist() was removed in Python 3.8 + if hasattr(platform, 'dist'): + # Works for LSB distros + try: + distro = platform.dist()[0] + distro_ver = float(platform.dist()[1]) + except ValueError: + # Non LSB distro found, use failover" + pass + else: + distro = '' # Non LSB - fail over to issue if distro == '': -- cgit v1.2.3