|
- # -*- coding: utf-8 -*-
- # vim: ft=ruby
-
- # Global source defined as https://rubygems.org
- source 'https://rubygems.org'
-
- # Attempt to fingerprint OS from /etc/os-release where available
- if File.file?("/etc/os-release")
-
- os_family = ''
- os_version = ''
- os_version_full = ''
-
- # Strip necessary granularity from os-release
- File.open("/etc/os-release").grep(/(^ID=(.*)$|^VERSION="(.*)"$|^VERSION_ID="(.*)")/) do |line|
-
- # OS family (Debian/CentOS/Ubuntu)
- if ( line =~ /^ID=\S/ )
- os_family = line.split('=')[1]
- puts "IDENTIFIED os_family = " + os_family
- end
-
- # Major revision
- if ( line =~ /^VERSION_ID="(.*)"$/ )
- os_version = line.split('=')[1].tr('"','')
- puts "IDENTIFIED os_version = " + os_version
- end
-
- # Vanity name
- if ( line =~ /^VERSION="(.*)"$/ )
- os_version_full = line.split('=')[1]
- puts "IDENTIFIED os_version_full = " + os_version_full
- end
-
- end
-
- # Pinning is broken into os_family and then os_version
- # to try and avoid conflict.
- case os_family
-
- when /debian/
- # os_family: Debian os_version dependent pins
- case os_version
- when /7/
- puts "busser-serverspec is no longer natively supported on: " + os_version_full
- when /8/
- gem 'net-ssh', '~> 4.2.0'
- else
- puts "Your distribution is either too old, or supported without pins: " + os_version_full
- end
-
- when /centos/
- # os_family: centos os_version dependent pins
- print "Switching on " + os_version
- case os_version
- when /6/
- puts "busser-serverspec has no native supported on: " + os_version_full
- when /7/
- gem 'net-ssh', '~> 4.2.0'
- else
- puts "Your distribution is either too old, or supported without pins: " + os_version_full
- end
-
- when /ubuntu/
- # os_family: ubuntu os_version dependent pins
- case os_version
- when /14.04/
- puts "busser-serverspec is no longer natively supported on: " + os_version_full
- when /16.04/
- puts "busser-serverspec is currently supported natively on: " + os_version_full
- else
- puts "Your distribution is either too old, or supported without pins: " + os_version_full
- end
-
- # No helper support provided
- else
- puts "No Gemfile helper support exists for os_family: " + os_family
- end
- else
- puts "No Gemfile helper support provided for this suite."
- end
|