summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/lib/oe/lsb.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/meta/lib/oe/lsb.py b/meta/lib/oe/lsb.py
index fed1204e85..b53f361035 100644
--- a/meta/lib/oe/lsb.py
+++ b/meta/lib/oe/lsb.py
@@ -44,6 +44,14 @@ def release_dict_file():
44 if line.startswith('VERSION = '): 44 if line.startswith('VERSION = '):
45 data['DISTRIB_RELEASE'] = line[10:].rstrip() 45 data['DISTRIB_RELEASE'] = line[10:].rstrip()
46 break 46 break
47 elif os.path.exists('/etc/os-release'):
48 data = {}
49 with open('/etc/os-release') as f:
50 for line in f:
51 if line.startswith('NAME='):
52 data['DISTRIB_ID'] = line[5:].rstrip().strip('"')
53 if line.startswith('VERSION_ID='):
54 data['DISTRIB_RELEASE'] = line[11:].rstrip().strip('"')
47 except IOError: 55 except IOError:
48 return None 56 return None
49 return data 57 return data
@@ -58,7 +66,7 @@ def distro_identifier(adjust_hook=None):
58 else: 66 else:
59 lsb_data_file = release_dict_file() 67 lsb_data_file = release_dict_file()
60 if lsb_data_file: 68 if lsb_data_file:
61 distro_id, release = lsb_data_file['DISTRIB_ID'], lsb_data_file['DISTRIB_RELEASE'] 69 distro_id, release = lsb_data_file['DISTRIB_ID'], lsb_data_file.get('DISTRIB_RELEASE', None)
62 else: 70 else:
63 distro_id, release = None, None 71 distro_id, release = None, None
64 72
@@ -66,4 +74,8 @@ def distro_identifier(adjust_hook=None):
66 distro_id, release = adjust_hook(distro_id, release) 74 distro_id, release = adjust_hook(distro_id, release)
67 if not distro_id: 75 if not distro_id:
68 return "Unknown" 76 return "Unknown"
69 return '{0}-{1}'.format(distro_id, release).replace(' ','-').replace('/','-') 77 if release:
78 id_str = '{0}-{1}'.format(distro_id, release)
79 else:
80 id_str = distro_id
81 return id_str.replace(' ','-').replace('/','-')