summaryrefslogtreecommitdiff
path: root/lib/tasks/gitlab
diff options
context:
space:
mode:
authorRiyad Preukschas <riyad@informatik.uni-bremen.de>2013-01-12 01:24:51 +0100
committerRiyad Preukschas <riyad@informatik.uni-bremen.de>2013-01-12 01:24:51 +0100
commita213d4b9e80fed7a8ad38185d2a93e6def295e50 (patch)
tree4e65a9ac5a701a1912f8321ab90d785cd769cf27 /lib/tasks/gitlab
parentfd836f5490dbc05b84895f4d3736bfa572f80911 (diff)
downloadgitlab-ce-a213d4b9e80fed7a8ad38185d2a93e6def295e50.tar.gz
Move OS detection to task helpers and add detection of OS X
Diffstat (limited to 'lib/tasks/gitlab')
-rw-r--r--lib/tasks/gitlab/info.rake14
-rw-r--r--lib/tasks/gitlab/task_helpers.rake22
2 files changed, 22 insertions, 14 deletions
diff --git a/lib/tasks/gitlab/info.rake b/lib/tasks/gitlab/info.rake
index fd3e83e8338..4b906684dcd 100644
--- a/lib/tasks/gitlab/info.rake
+++ b/lib/tasks/gitlab/info.rake
@@ -3,20 +3,6 @@ namespace :gitlab do
desc "GITLAB | Show information about GitLab and its environment"
task info: :environment do
- # check which OS is running
- os_name = run("lsb_release -irs")
- os_name ||= if File.readable?('/etc/system-release')
- File.read('/etc/system-release')
- end
- os_name ||= if File.readable?('/etc/debian_version')
- debian_version = File.read('/etc/debian_version')
- "Debian #{debian_version}"
- end
- os_name ||= if File.readable?('/etc/SuSE-release')
- File.read('/etc/SuSE-release')
- end
- os_name.try(:squish!)
-
# check if there is an RVM environment
rvm_version = run_and_match("rvm --version", /[\d\.]+/).try(:to_s)
# check Ruby version
diff --git a/lib/tasks/gitlab/task_helpers.rake b/lib/tasks/gitlab/task_helpers.rake
index c9635f058ee..5b5c3c30ba2 100644
--- a/lib/tasks/gitlab/task_helpers.rake
+++ b/lib/tasks/gitlab/task_helpers.rake
@@ -1,5 +1,27 @@
namespace :gitlab do
+ # Check which OS is running
+ #
+ # It will primarily use lsb_relase to determine the OS.
+ # It has fallbacks to Debian, SuSE and OS X.
+ def os_name
+ os_name = run("lsb_release -irs")
+ os_name ||= if File.readable?('/etc/system-release')
+ File.read('/etc/system-release')
+ end
+ os_name ||= if File.readable?('/etc/debian_version')
+ debian_version = File.read('/etc/debian_version')
+ "Debian #{debian_version}"
+ end
+ os_name ||= if File.readable?('/etc/SuSE-release')
+ File.read('/etc/SuSE-release')
+ end
+ os_name ||= if os_x_version = run("sw_vers -productVersion")
+ "Mac OS X #{os_x_version}"
+ end
+ os_name.try(:squish!)
+ end
+
# Runs the given command and matches the output agains the given pattern
#
# Returns nil if nothing matched