From 0575d7b6109b566c0eb324dbad19478eb8506d71 Mon Sep 17 00:00:00 2001 From: Shaun Jackman Date: Mon, 4 Dec 2017 17:46:52 -0800 Subject: [PATCH] config: Print host glibc version [Linux] --- Library/Homebrew/extend/os/linux/system_config.rb | 8 ++++++++ Library/Homebrew/os/linux/glibc.rb | 14 ++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 Library/Homebrew/os/linux/glibc.rb diff --git a/Library/Homebrew/extend/os/linux/system_config.rb b/Library/Homebrew/extend/os/linux/system_config.rb index edb70058f8..cf01765623 100644 --- a/Library/Homebrew/extend/os/linux/system_config.rb +++ b/Library/Homebrew/extend/os/linux/system_config.rb @@ -1,4 +1,5 @@ require "formula" +require "os/linux/glibc" class SystemConfig class << self @@ -14,6 +15,12 @@ class SystemConfig end end + def host_glibc_version + version = OS::Linux::Glibc.system_version + return "N/A" if version.null? + version + end + def host_gcc_version gcc = Pathname.new "/usr/bin/gcc" return "N/A" unless gcc.executable? @@ -31,6 +38,7 @@ class SystemConfig dump_generic_verbose_config(out) out.puts "Kernel: #{`uname -mors`.chomp}" out.puts "OS: #{host_os_version}" + out.puts "Host glibc: #{host_glibc_version}" out.puts "/usr/bin/gcc: #{host_gcc_version}" ["glibc", "gcc", "xorg"].each do |f| out.puts "#{f}: #{formula_linked_version f}" diff --git a/Library/Homebrew/os/linux/glibc.rb b/Library/Homebrew/os/linux/glibc.rb new file mode 100644 index 0000000000..710946bbc1 --- /dev/null +++ b/Library/Homebrew/os/linux/glibc.rb @@ -0,0 +1,14 @@ +module OS + module Linux + module Glibc + module_function + + def system_version + return @system_version if @system_version + version = Utils.popen_read("/usr/bin/ldd", "--version")[/ (\d+\.\d+)/, 1] + return Version::NULL unless version + @system_version = Version.new version + end + end + end +end