lib/serverspec/backend/exec.rb in serverspec-0.11.1 vs lib/serverspec/backend/exec.rb in serverspec-0.11.2
- old
+ new
@@ -166,36 +166,40 @@
end
def check_os
return RSpec.configuration.os if RSpec.configuration.os
if run_command('ls /etc/redhat-release')[:exit_status] == 0
- 'RedHat'
+ line = run_command('cat /etc/redhat-release')[:stdout]
+ if line =~ /release (\d[\d.]*)/
+ release = $1
+ end
+ { :family => 'RedHat', :release => release }
elsif run_command('ls /etc/system-release')[:exit_status] == 0
- 'RedHat' # Amazon Linux
+ { :family => 'RedHat', :release => nil } # Amazon Linux
elsif run_command('ls /etc/debian_version')[:exit_status] == 0
- 'Debian'
+ { :family => 'Debian', :release => nil }
elsif run_command('ls /etc/gentoo-release')[:exit_status] == 0
- 'Gentoo'
+ { :family => 'Gentoo', :release => nil }
elsif run_command('ls /usr/lib/setup/Plamo-*')[:exit_status] == 0
- 'Plamo'
+ { :family => 'Plamo', :release => nil }
elsif run_command('uname -s')[:stdout] =~ /AIX/i
- 'AIX'
+ { :family => 'AIX', :release => nil }
elsif (os = run_command('uname -sr')[:stdout]) && os =~ /SunOS/i
if os =~ /5.10/
- 'Solaris10'
+ { :family => 'Solaris10', :release => nil }
elsif run_command('grep -q "Oracle Solaris 11" /etc/release')[:exit_status] == 0
- 'Solaris11'
+ { :family => 'Solaris11', :release => nil }
elsif run_command('grep -q SmartOS /etc/release')[:exit_status] == 0
- 'SmartOS'
+ { :family => 'SmartOS', :release => nil }
else
- 'Solaris'
+ { :family => 'Solaris', :release => nil }
end
elsif run_command('uname -s')[:stdout] =~ /Darwin/i
- 'Darwin'
+ { :family => 'Darwin', :release => nil }
elsif run_command('uname -s')[:stdout] =~ /FreeBSD/i
- 'FreeBSD'
+ { :family => 'FreeBSD', :release => nil }
else
- 'Base'
+ { :family => 'Base', :release => nil }
end
end
end
end
end