Class: Specinfra::Helper::DetectOs::Debian
- Inherits:
-
Specinfra::Helper::DetectOs
- Object
- Specinfra::Helper::DetectOs
- Specinfra::Helper::DetectOs::Debian
- Defined in:
- lib/specinfra/helper/detect_os/debian.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
#detect ⇒ Object
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/specinfra/helper/detect_os/debian.rb', line 2 def detect if (debian_version = run_command('cat /etc/debian_version')) && debian_version.success? distro = nil release = nil if (lsb_release = run_command("lsb_release -ir")) && lsb_release.success? lsb_release.stdout.each_line do |line| distro = line.split(':').last.strip if line =~ /^Distributor ID:/ release = line.split(':').last.strip if line =~ /^Release:/ end elsif (lsb_release = run_command("cat /etc/lsb-release")) && lsb_release.success? lsb_release.stdout.each_line do |line| distro = line.split('=').last.strip if line =~ /^DISTRIB_ID=/ release = line.split('=').last.strip if line =~ /^DISTRIB_RELEASE=/ end else if debian_version.stdout.chomp =~ /^[[:digit:]]+\.[[:digit:]]+$/ release = debian_version.stdout.chomp end end distro ||= 'debian' release ||= nil { :family => distro.gsub(/[^[:alnum:]]/, '').downcase, :release => release } end end |