Fix tmpdir take 2

This commit is contained in:
Lukas Oberhuber 2022-08-05 17:00:54 -07:00
parent 683bcd92b0
commit d6067418c1

View File

@ -48,10 +48,10 @@ class Mktemp
def run def run
prefix_name = @prefix.tr "@", "AT" prefix_name = @prefix.tr "@", "AT"
@tmpdir = if retain_in_cache? @tmpdir = if retain_in_cache?
tmpdir = HOMEBREW_CACHE/"Sources/#{prefix_name}" tmp_dir = HOMEBREW_CACHE/"Sources/#{prefix_name}"
chmod_rm_rf(tmpdir) # clear out previous staging directory chmod_rm_rf(tmpdir) # clear out previous staging directory
tmpdir.mkpath tmp_dir.mkpath
tmpdir tmp_dir
else else
Pathname.new(Dir.mktmpdir("#{prefix_name}-", HOMEBREW_TEMP)) Pathname.new(Dir.mktmpdir("#{prefix_name}-", HOMEBREW_TEMP))
end end
@ -68,15 +68,15 @@ class Mktemp
Process.gid Process.gid
end end
begin begin
chown(nil, group_id, tmpdir) chown(nil, group_id, @tmpdir)
rescue Errno::EPERM rescue Errno::EPERM
opoo "Failed setting group \"#{Etc.getgrgid(group_id).name}\" on #{tmpdir}" opoo "Failed setting group \"#{Etc.getgrgid(group_id).name}\" on #{@tmpdir}"
end end
begin begin
Dir.chdir(tmpdir) { yield self } Dir.chdir(tmpdir) { yield self }
ensure ensure
ignore_interrupts { chmod_rm_rf(tmpdir) } unless retain? ignore_interrupts { chmod_rm_rf(@tmpdir) } unless retain?
end end
ensure ensure
if retain? && @tmpdir.present? && !@quiet if retain? && @tmpdir.present? && !@quiet