aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorShaun Jackman2017-03-13 16:56:35 -0700
committerShaun Jackman2017-03-16 17:59:26 -0700
commit0d5a53ba2cba0df3ce7fb4a10087c20aef94c3b6 (patch)
tree7f58b9f1201307ff60e0d48b92d79f2387f0b6a8 /Library
parentbfb5bf1d7007821c74de4252fe1ade5047e0ca3c (diff)
downloadbrew-0d5a53ba2cba0df3ce7fb4a10087c20aef94c3b6.tar.bz2
Add extend/os/linux/system_config.rb
Report the Linux kernel, OS, and gcc versions.
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