Merge pull request #16990 from Homebrew/dmg_permissions

unpack_strategy/dmg: fix permissions when needed.
This commit is contained in:
Mike McQuaid 2024-04-01 09:59:46 +01:00 committed by GitHub
commit 26200a9e9b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -147,8 +147,16 @@ module UnpackStrategy
verbose:
end
bomfile_path = T.must(bomfile.path)
# Ditto will try to write as the UID, not the EUID and the Tempfile has 0700 permissions.
if Process.euid != Process.uid
FileUtils.chown(nil, Process.gid, bomfile_path)
FileUtils.chmod "g+rw", bomfile_path
end
system_command!("ditto",
args: ["--bom", bomfile.path, "--", path, unpack_dir],
args: ["--bom", bomfile_path, "--", path, unpack_dir],
verbose:)
FileUtils.chmod "u+w", Pathname.glob(unpack_dir/"**/*", File::FNM_DOTMATCH).reject(&:symlink?)