aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/formula.rb
diff options
context:
space:
mode:
authorilovezfs2017-01-06 02:03:39 -0800
committerGitHub2017-01-06 02:03:39 -0800
commit1a394aa7e5b7bf4f6281826248345be0308b30a4 (patch)
tree5053624b695594c604a2a2c509339a8b6e622bea /Library/Homebrew/formula.rb
parent3fde8624b3aec788248c652dff84a62fd051da98 (diff)
parent1a4ff22447f73ddfda069453571bd91f8ebd367a (diff)
downloadbrew-1a394aa7e5b7bf4f6281826248345be0308b30a4.tar.bz2
Merge pull request #1782 from ilovezfs/prefix-fixups
Fix abv and prefix_linked?
Diffstat (limited to 'Library/Homebrew/formula.rb')
-rw-r--r--Library/Homebrew/formula.rb29
1 files changed, 18 insertions, 11 deletions
diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb
index 2d20a1a38..e6312ccdb 100644
--- a/Library/Homebrew/formula.rb
+++ b/Library/Homebrew/formula.rb
@@ -198,7 +198,7 @@ class Formula
@build = active_spec.build
@pin = FormulaPin.new(self)
@follow_installed_alias = true
- @versioned_prefix = false
+ @prefix_returns_versioned_prefix = false
end
# @private
@@ -553,11 +553,12 @@ class Formula
# called from within the same formula's {#install} or {#post_install} methods.
# Otherwise, return the full path to the formula's versioned cellar.
def prefix(v = pkg_version)
- prefix = rack/v
- if !@versioned_prefix && prefix.directory? && Keg.new(prefix).optlinked?
+ versioned_prefix = versioned_prefix(v)
+ if !@prefix_returns_versioned_prefix && v == pkg_version &&
+ versioned_prefix.directory? && Keg.new(versioned_prefix).optlinked?
opt_prefix
else
- prefix
+ versioned_prefix
end
end
@@ -574,7 +575,7 @@ class Formula
# Is formula's linked keg points to the prefix.
def prefix_linked?(v = pkg_version)
return false unless linked?
- linked_keg.resolved_path == prefix(v)
+ linked_keg.resolved_path == versioned_prefix(v)
end
# {PkgVersion} of the linked keg for the formula.
@@ -1002,7 +1003,7 @@ class Formula
# @private
def run_post_install
- @versioned_prefix = true
+ @prefix_returns_versioned_prefix = true
build = self.build
self.build = Tab.for_formula(self)
old_tmpdir = ENV["TMPDIR"]
@@ -1017,7 +1018,7 @@ class Formula
ENV["TMPDIR"] = old_tmpdir
ENV["TEMP"] = old_temp
ENV["TMP"] = old_tmp
- @versioned_prefix = false
+ @prefix_returns_versioned_prefix = false
end
# Tell the user about any caveats regarding this package.
@@ -1120,7 +1121,7 @@ class Formula
# where staging is a Mktemp staging context
# @private
def brew
- @versioned_prefix = true
+ @prefix_returns_versioned_prefix = true
stage do |staging|
staging.retain! if ARGV.keep_tmp?
prepare_patches
@@ -1135,7 +1136,7 @@ class Formula
end
end
ensure
- @versioned_prefix = false
+ @prefix_returns_versioned_prefix = false
end
# @private
@@ -1637,7 +1638,7 @@ class Formula
# @private
def run_test
- @versioned_prefix = true
+ @prefix_returns_versioned_prefix = true
old_home = ENV["HOME"]
old_curl_home = ENV["CURL_HOME"]
old_tmpdir = ENV["TMPDIR"]
@@ -1669,7 +1670,7 @@ class Formula
ENV["TEMP"] = old_temp
ENV["TMP"] = old_tmp
ENV["TERM"] = old_term
- @versioned_prefix = false
+ @prefix_returns_versioned_prefix = false
end
# @private
@@ -1854,6 +1855,12 @@ class Formula
private
+ # Returns the prefix for a given formula version number.
+ # @private
+ def versioned_prefix(v)
+ rack/v
+ end
+
def exec_cmd(cmd, args, out, logfn)
ENV["HOMEBREW_CC_LOG_PATH"] = logfn