Class: Specinfra::Helper::DetectOs::Suse

Inherits:
Specinfra::Helper::DetectOs show all
Defined in:
lib/specinfra/helper/detect_os/suse.rb

Instance Method Summary collapse

Methods inherited from Specinfra::Helper::DetectOs

detect, #initialize, #run_command

Constructor Details

This class inherits a constructor from Specinfra::Helper::DetectOs

Instance Method Details

#detectObject



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/specinfra/helper/detect_os/suse.rb', line 2

def detect
  if run_command('ls /etc/os-release').success? and run_command('zypper -V').success?
    line = run_command('cat /etc/os-release').stdout
    if line =~ /ID="?opensuse/
      family = 'opensuse'
    elsif line =~ /ID="sles"/
      family = 'sles'
    elsif line =~ /ID="sles_sap"/
      family = 'sles'
    end
    if line =~ /VERSION_ID=\"(\d+\.\d+|\d+)\"/
      release = $1
    end
    { :family => family, :release => release }
  elsif run_command('ls /etc/SuSE-release').success? and run_command('zypper -V').success?
    line = run_command('cat /etc/SuSE-release').stdout
    if line =~ /SUSE Linux Enterprise Server (\d+)/
      release = $1
      family = 'suse'
    elsif line =~ /openSUSE (\d+\.\d+|\d+)/
      release = $1
      family = 'opensuse'
    end
    { :family => family, :release => release }
  end
end