Skip to content
This repository has been archived by the owner on Jul 4, 2023. It is now read-only.

brew-info: specify whether poured or built. #18475

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
7 changes: 7 additions & 0 deletions Library/Homebrew/cmd/info.rb
Expand Up @@ -103,6 +103,13 @@ def info_formula f
print " *" if keg.linked?
puts
tab = Tab.for_keg keg

# Intentionally print no message if this is nil because it's unknown.
case tab.poured_from_bottle
when true then puts "Poured from bottle"
when false then puts "Built from source"
end

unless tab.used_options.empty?
puts " Installed with: #{tab.used_options*', '}"
end
Expand Down
3 changes: 2 additions & 1 deletion Library/Homebrew/formula.rb
Expand Up @@ -504,7 +504,8 @@ def to_hash
hsh["installed"] << {
"version" => keg.basename.to_s,
"used_options" => tab.used_options.map(&:flag),
"built_as_bottle" => tab.built_bottle
"built_as_bottle" => tab.built_bottle,
"poured_from_bottle" => tab.poured_from_bottle
}
end
end
Expand Down
4 changes: 4 additions & 0 deletions Library/Homebrew/formula_installer.rb
Expand Up @@ -97,6 +97,10 @@ def install
if pour_bottle?
pour
@poured_bottle = true
tab = Tab.for_keg f.prefix
tab.poured_from_bottle = true
tab.tabfile.delete rescue nil
tab.write
end
rescue
opoo "Bottle installation failed: building from source."
Expand Down
3 changes: 3 additions & 0 deletions Library/Homebrew/tab.rb
Expand Up @@ -21,6 +21,7 @@ def self.create f, args
:unused_options => f.build.unused_options,
:tabfile => f.prefix.join(FILENAME),
:built_as_bottle => !!ARGV.build_bottle?,
:poured_from_bottle => false,
:tapped_from => f.tap,
:time => Time.now.to_i, # to_s would be better but Ruby has no from_s function :P
:HEAD => sha
Expand Down Expand Up @@ -53,6 +54,7 @@ def self.dummy_tab f=nil
Tab.new :used_options => [],
:unused_options => (f.build.as_flags rescue []),
:built_as_bottle => false,
:poured_from_bottle => false,
:tapped_from => "",
:time => nil,
:HEAD => nil
Expand Down Expand Up @@ -93,6 +95,7 @@ def to_json
:used_options => used_options.to_a,
:unused_options => unused_options.to_a,
:built_as_bottle => built_as_bottle,
:poured_from_bottle => poured_from_bottle,
:tapped_from => tapped_from,
:time => time,
:HEAD => send("HEAD")})
Expand Down