diff options
| author | ilovezfs | 2017-01-06 02:03:39 -0800 |
|---|---|---|
| committer | GitHub | 2017-01-06 02:03:39 -0800 |
| commit | 1a394aa7e5b7bf4f6281826248345be0308b30a4 (patch) | |
| tree | 5053624b695594c604a2a2c509339a8b6e622bea /Library/Homebrew/formula.rb | |
| parent | 3fde8624b3aec788248c652dff84a62fd051da98 (diff) | |
| parent | 1a4ff22447f73ddfda069453571bd91f8ebd367a (diff) | |
| download | brew-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.rb | 29 |
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 |
