aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Library/Homebrew/build.rb9
-rw-r--r--Library/Homebrew/config.rb5
-rw-r--r--Library/Homebrew/formula.rb14
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