From a3182a6386cdb3d5d581cc300ef27e55a388865d Mon Sep 17 00:00:00 2001 From: Markus Reiter Date: Sun, 6 Dec 2020 07:56:43 +0100 Subject: [PATCH] Extract package into new temporary directory. --- .../dev-cmd/bump-unversioned-casks.rb | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/Library/Homebrew/dev-cmd/bump-unversioned-casks.rb b/Library/Homebrew/dev-cmd/bump-unversioned-casks.rb index 514d937baf..877eea4bf5 100644 --- a/Library/Homebrew/dev-cmd/bump-unversioned-casks.rb +++ b/Library/Homebrew/dev-cmd/bump-unversioned-casks.rb @@ -198,19 +198,22 @@ module Homebrew .uniq if packages.count == 1 - extract_dir = dir/pkg_path.stem - system_command! "pkgutil", args: ["--expand-full", pkg_path, extract_dir] + Dir.mktmpdir do |extract_dir| + extract_dir = Pathname(extract_dir) + FileUtils.rmdir extract_dir - package_info_path = extract_dir/"PackageInfo" - if package_info_path.exist? - if (version = version_from_package_info(cask, package_info_path)) - return version + system_command! "pkgutil", args: ["--expand-full", pkg_path, extract_dir] + + package_info_path = extract_dir/"PackageInfo" + if package_info_path.exist? + if (version = version_from_package_info(cask, package_info_path)) + return version + end + else + onoe "#{pkg_path.basename} does not contain a `PackageInfo` file." + next end - else - onoe "#{pkg_path.basename} does not contain a `PackageInfo` file." - next end - else opoo "Skipping, #{pkg_path.basename} contains multiple packages." next