diff --git a/Library/Homebrew/mktemp.rb b/Library/Homebrew/mktemp.rb index 0127327189..ea3e767bdd 100644 --- a/Library/Homebrew/mktemp.rb +++ b/Library/Homebrew/mktemp.rb @@ -47,13 +47,13 @@ class Mktemp def run prefix_name = @prefix.tr "@", "AT" - if retain_in_cache? - source_dir = "#{HOMEBREW_CACHE}/Sources/#{prefix_name}" - @tmpdir = Pathname.new(source_dir) - chmod_rm_rf(@tmpdir) # clear out previous (otherwise not sure what happens) - FileUtils.mkdir_p(source_dir) + @tmpdir = if retain_in_cache? + tmpdir = HOMEBREW_CACHE/"Sources/#{prefix_name}" + chmod_rm_rf(tmpdir) # clear out previous staging directory + tmpdir.parent.mkpath + tmpdir else - @tmpdir = Pathname.new(Dir.mktmpdir("#{prefix_name}-", HOMEBREW_TEMP)) + Pathname.new(Dir.mktmpdir("#{prefix_name}-", HOMEBREW_TEMP)) end # Make sure files inside the temporary directory have the same group as the