Adding support for Archlinux and Slackware in fallback
In some cases Archlinux and Slackware is not detected by platform.dist(). This should solve the issue.
This commit is contained in:
parent
0441a7a217
commit
6f24e6f994
1 changed files with 17 additions and 1 deletions
|
@ -97,6 +97,7 @@ class Facts(object):
|
|||
# For the most part, we assume that platform.dist() will tell the truth.
|
||||
# This is the fallback to handle unknowns or exceptions
|
||||
OSDIST_LIST = ( ('/etc/oracle-release', 'OracleLinux'),
|
||||
('/etc/slackware-version', 'Slackware'),
|
||||
('/etc/redhat-release', 'RedHat'),
|
||||
('/etc/vmware-release', 'VMwareESX'),
|
||||
('/etc/openwrt_release', 'OpenWrt'),
|
||||
|
@ -255,7 +256,7 @@ class Facts(object):
|
|||
RedHat = 'RedHat', Fedora = 'RedHat', CentOS = 'RedHat', Scientific = 'RedHat',
|
||||
SLC = 'RedHat', Ascendos = 'RedHat', CloudLinux = 'RedHat', PSBM = 'RedHat',
|
||||
OracleLinux = 'RedHat', OVS = 'RedHat', OEL = 'RedHat', Amazon = 'RedHat',
|
||||
XenServer = 'RedHat', Ubuntu = 'Debian', Debian = 'Debian', Raspbian = 'Debian', SLES = 'Suse',
|
||||
XenServer = 'RedHat', Ubuntu = 'Debian', Debian = 'Debian', Raspbian = 'Debian', Slackware = 'Slackware', SLES = 'Suse',
|
||||
SLED = 'Suse', openSUSE = 'Suse', SuSE = 'Suse', Gentoo = 'Gentoo', Funtoo = 'Gentoo',
|
||||
Archlinux = 'Archlinux', Mandriva = 'Mandrake', Mandrake = 'Mandrake',
|
||||
Solaris = 'Solaris', Nexenta = 'Solaris', OmniOS = 'Solaris', OpenIndiana = 'Solaris',
|
||||
|
@ -314,6 +315,21 @@ class Facts(object):
|
|||
# Once we determine the value is one of these distros
|
||||
# we trust the values are always correct
|
||||
break
|
||||
elif name == 'Archlinux':
|
||||
data = get_file_content(path)
|
||||
if 'Arch Linux' in data:
|
||||
self.facts['distribution'] = name
|
||||
else:
|
||||
self.facts['distribution'] = data.split()[0]
|
||||
break
|
||||
elif name == 'Slackware':
|
||||
data = get_file_content(path)
|
||||
if 'Slackware' in data:
|
||||
self.facts['distribution'] = name
|
||||
version = re.findall('\w+[.]\w+', data)
|
||||
if version:
|
||||
self.facts['distribution_version'] = version[0]
|
||||
break
|
||||
elif name == 'OracleLinux':
|
||||
data = get_file_content(path)
|
||||
if 'Oracle Linux' in data:
|
||||
|
|
Loading…
Reference in a new issue