aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorMike McQuaid2017-03-17 16:48:51 +0200
committerGitHub2017-03-17 16:48:51 +0200
commitff77013f48f8d3c7836c193163203b89af9cdabe (patch)
treebe625dfb49eef7d30e04a367f9dbf5800a6a54ba /Library
parenta9cd74de59f4825555efe0c161a62d6306a1b768 (diff)
parent0d5a53ba2cba0df3ce7fb4a10087c20aef94c3b6 (diff)
downloadbrew-ff77013f48f8d3c7836c193163203b89af9cdabe.tar.bz2
Merge pull request #2337 from sjackman/linux-system-config
Add extend/os/linux/system_config.rb
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/extend/os/linux/system_config.rb42
-rw-r--r--Library/Homebrew/extend/os/system_config.rb7
2 files changed, 48 insertions, 1 deletions
diff --git a/Library/Homebrew/extend/os/linux/system_config.rb b/Library/Homebrew/extend/os/linux/system_config.rb
new file mode 100644
index 000000000..e62b12e71
--- /dev/null
+++ b/Library/Homebrew/extend/os/linux/system_config.rb
@@ -0,0 +1,42 @@
+require "formula"
+
+class SystemConfig
+ class << self
+ def host_os_version
+ if which("lsb_release")
+ description = `lsb_release -d`.chomp.sub("Description:\t", "")
+ codename = `lsb_release -c`.chomp.sub("Codename:\t", "")
+ "#{description} (#{codename})"
+ elsif (redhat_release = Pathname.new("/etc/redhat-release")).readable?
+ redhat_release.read.chomp
+ else
+ "N/A"
+ end
+ end
+
+ def host_gcc_version
+ gcc = Pathname.new "/usr/bin/gcc"
+ return "N/A" unless gcc.executable?
+ `#{gcc} --version 2>/dev/null`[/ (\d+\.\d+\.\d+)/, 1]
+ end
+
+ def formula_version(formula)
+ return "N/A" unless CoreTap.instance.installed?
+ f = Formulary.factory formula
+ return "N/A" unless f.installed?
+ f.version
+ rescue FormulaUnavailableError
+ return "N/A"
+ end
+
+ def dump_verbose_config(out = $stdout)
+ dump_generic_verbose_config(out)
+ out.puts "Kernel: #{`uname -mors`.chomp}"
+ out.puts "OS: #{host_os_version}"
+ out.puts "/usr/bin/gcc: #{host_gcc_version}"
+ ["glibc", "gcc", "xorg"].each do |f|
+ out.puts "#{f}: #{formula_version f}"
+ end
+ end
+ end
+end
diff --git a/Library/Homebrew/extend/os/system_config.rb b/Library/Homebrew/extend/os/system_config.rb
index edc007166..fec31f1fa 100644
--- a/Library/Homebrew/extend/os/system_config.rb
+++ b/Library/Homebrew/extend/os/system_config.rb
@@ -1,2 +1,7 @@
require "system_config"
-require "extend/os/mac/system_config" if OS.mac?
+
+if OS.mac?
+ require "extend/os/mac/system_config"
+elsif OS.linux?
+ require "extend/os/linux/system_config"
+end