diff options
| -rw-r--r-- | Library/Homebrew/build.rb | 9 | ||||
| -rw-r--r-- | Library/Homebrew/config.rb | 5 | ||||
| -rw-r--r-- | Library/Homebrew/formula.rb | 14 |
3 files changed, 23 insertions, 5 deletions
diff --git a/Library/Homebrew/build.rb b/Library/Homebrew/build.rb index 8915e948c..a015f158c 100644 --- a/Library/Homebrew/build.rb +++ b/Library/Homebrew/build.rb @@ -103,6 +103,11 @@ class Build end end + old_tmpdir = ENV["TMPDIR"] + old_temp = ENV["TEMP"] + old_tmp = ENV["TMP"] + ENV["TMPDIR"] = ENV["TEMP"] = ENV["TMP"] = HOMEBREW_TEMP + formula.extend(Debrew::Formula) if ARGV.debug? formula.brew do |_formula, staging| @@ -139,6 +144,10 @@ class Build formula.prefix.install_metafiles formula.libexec if formula.libexec.exist? end end + ensure + ENV["TMPDIR"] = old_tmpdir + ENV["TEMP"] = old_temp + ENV["TMP"] = old_tmp end def detect_stdlibs(compiler) diff --git a/Library/Homebrew/config.rb b/Library/Homebrew/config.rb index 9a49eb4f4..cef615365 100644 --- a/Library/Homebrew/config.rb +++ b/Library/Homebrew/config.rb @@ -35,11 +35,6 @@ HOMEBREW_LOGS = Pathname.new(ENV["HOMEBREW_LOGS"] || "~/Library/Logs/Homebrew/") # Must use /tmp instead of $TMPDIR because long paths break Unix domain sockets HOMEBREW_TEMP = Pathname.new(ENV.fetch("HOMEBREW_TEMP", "/tmp")) -# Set common tmpdir environment variables to HOMEBREW_TEMP -ENV["TMPDIR"] = HOMEBREW_TEMP -ENV["TEMP"] = HOMEBREW_TEMP -ENV["TMP"] = HOMEBREW_TEMP - unless defined? HOMEBREW_LIBRARY_PATH # Root of the Homebrew code base HOMEBREW_LIBRARY_PATH = Pathname.new(__FILE__).realpath.parent diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index ac6093880..a57d51a01 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -888,11 +888,18 @@ class Formula def run_post_install build = self.build self.build = Tab.for_formula(self) + old_tmpdir = ENV["TMPDIR"] + old_temp = ENV["TEMP"] + old_tmp = ENV["TMP"] + ENV["TMPDIR"] = ENV["TEMP"] = ENV["TMP"] = HOMEBREW_TEMP with_logging("post_install") do post_install end ensure self.build = build + ENV["TMPDIR"] = old_tmpdir + ENV["TEMP"] = old_temp + ENV["TMP"] = old_tmp end # Tell the user about any caveats regarding this package. @@ -1411,7 +1418,11 @@ class Formula def run_test old_home = ENV["HOME"] old_curl_home = ENV["CURL_HOME"] + old_tmpdir = ENV["TMPDIR"] + old_temp = ENV["TEMP"] + old_tmp = ENV["TMP"] ENV["CURL_HOME"] = old_curl_home || old_home + ENV["TMPDIR"] = ENV["TEMP"] = ENV["TMP"] = HOMEBREW_TEMP mktemp("#{name}-test") do |staging| staging.retain! if ARGV.keep_tmp? @testpath = staging.tmpdir @@ -1430,6 +1441,9 @@ class Formula @testpath = nil ENV["HOME"] = old_home ENV["CURL_HOME"] = old_curl_home + ENV["TMPDIR"] = old_tmpdir + ENV["TEMP"] = old_temp + ENV["TMP"] = old_tmp end # @private |
