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.
|
# For the most part, we assume that platform.dist() will tell the truth.
|
||||||
# This is the fallback to handle unknowns or exceptions
|
# This is the fallback to handle unknowns or exceptions
|
||||||
OSDIST_LIST = ( ('/etc/oracle-release', 'OracleLinux'),
|
OSDIST_LIST = ( ('/etc/oracle-release', 'OracleLinux'),
|
||||||
|
('/etc/slackware-version', 'Slackware'),
|
||||||
('/etc/redhat-release', 'RedHat'),
|
('/etc/redhat-release', 'RedHat'),
|
||||||
('/etc/vmware-release', 'VMwareESX'),
|
('/etc/vmware-release', 'VMwareESX'),
|
||||||
('/etc/openwrt_release', 'OpenWrt'),
|
('/etc/openwrt_release', 'OpenWrt'),
|
||||||
|
@ -255,7 +256,7 @@ class Facts(object):
|
||||||
RedHat = 'RedHat', Fedora = 'RedHat', CentOS = 'RedHat', Scientific = 'RedHat',
|
RedHat = 'RedHat', Fedora = 'RedHat', CentOS = 'RedHat', Scientific = 'RedHat',
|
||||||
SLC = 'RedHat', Ascendos = 'RedHat', CloudLinux = 'RedHat', PSBM = 'RedHat',
|
SLC = 'RedHat', Ascendos = 'RedHat', CloudLinux = 'RedHat', PSBM = 'RedHat',
|
||||||
OracleLinux = 'RedHat', OVS = 'RedHat', OEL = 'RedHat', Amazon = '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',
|
SLED = 'Suse', openSUSE = 'Suse', SuSE = 'Suse', Gentoo = 'Gentoo', Funtoo = 'Gentoo',
|
||||||
Archlinux = 'Archlinux', Mandriva = 'Mandrake', Mandrake = 'Mandrake',
|
Archlinux = 'Archlinux', Mandriva = 'Mandrake', Mandrake = 'Mandrake',
|
||||||
Solaris = 'Solaris', Nexenta = 'Solaris', OmniOS = 'Solaris', OpenIndiana = 'Solaris',
|
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
|
# Once we determine the value is one of these distros
|
||||||
# we trust the values are always correct
|
# we trust the values are always correct
|
||||||
break
|
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':
|
elif name == 'OracleLinux':
|
||||||
data = get_file_content(path)
|
data = get_file_content(path)
|
||||||
if 'Oracle Linux' in data:
|
if 'Oracle Linux' in data:
|
||||||
|
|
Loading…
Reference in a new issue