Commit a213d4b9e80fed7a8ad38185d2a93e6def295e50

Authored by Riyad Preukschas
1 parent fd836f54

Move OS detection to task helpers and add detection of OS X

lib/tasks/gitlab/info.rake
@@ -3,20 +3,6 @@ namespace :gitlab do @@ -3,20 +3,6 @@ namespace :gitlab do
3 desc "GITLAB | Show information about GitLab and its environment" 3 desc "GITLAB | Show information about GitLab and its environment"
4 task info: :environment do 4 task info: :environment do
5 5
6 - # check which OS is running  
7 - os_name = run("lsb_release -irs")  
8 - os_name ||= if File.readable?('/etc/system-release')  
9 - File.read('/etc/system-release')  
10 - end  
11 - os_name ||= if File.readable?('/etc/debian_version')  
12 - debian_version = File.read('/etc/debian_version')  
13 - "Debian #{debian_version}"  
14 - end  
15 - os_name ||= if File.readable?('/etc/SuSE-release')  
16 - File.read('/etc/SuSE-release')  
17 - end  
18 - os_name.try(:squish!)  
19 -  
20 # check if there is an RVM environment 6 # check if there is an RVM environment
21 rvm_version = run_and_match("rvm --version", /[\d\.]+/).try(:to_s) 7 rvm_version = run_and_match("rvm --version", /[\d\.]+/).try(:to_s)
22 # check Ruby version 8 # check Ruby version
lib/tasks/gitlab/task_helpers.rake
1 namespace :gitlab do 1 namespace :gitlab do
2 2
  3 + # Check which OS is running
  4 + #
  5 + # It will primarily use lsb_relase to determine the OS.
  6 + # It has fallbacks to Debian, SuSE and OS X.
  7 + def os_name
  8 + os_name = run("lsb_release -irs")
  9 + os_name ||= if File.readable?('/etc/system-release')
  10 + File.read('/etc/system-release')
  11 + end
  12 + os_name ||= if File.readable?('/etc/debian_version')
  13 + debian_version = File.read('/etc/debian_version')
  14 + "Debian #{debian_version}"
  15 + end
  16 + os_name ||= if File.readable?('/etc/SuSE-release')
  17 + File.read('/etc/SuSE-release')
  18 + end
  19 + os_name ||= if os_x_version = run("sw_vers -productVersion")
  20 + "Mac OS X #{os_x_version}"
  21 + end
  22 + os_name.try(:squish!)
  23 + end
  24 +
3 # Runs the given command and matches the output agains the given pattern 25 # Runs the given command and matches the output agains the given pattern
4 # 26 #
5 # Returns nil if nothing matched 27 # Returns nil if nothing matched