From 31533cff0561e8adf5bfafbcd237f8579c16b1db Mon Sep 17 00:00:00 2001 From: Michael Cho Date: Tue, 27 Feb 2024 10:40:42 -0500 Subject: [PATCH 1/2] utils/pypi: allow only updating `extra_packages` --- Library/Homebrew/utils/pypi.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/Library/Homebrew/utils/pypi.rb b/Library/Homebrew/utils/pypi.rb index 792b966458ade..073baee327c14 100644 --- a/Library/Homebrew/utils/pypi.rb +++ b/Library/Homebrew/utils/pypi.rb @@ -240,6 +240,8 @@ def self.update_python_resources!(formula, version: nil, package_name: nil, extr main_package = if package_name.present? Package.new(package_name, python_name: python_name) + elsif package_name == "" + nil else stable = T.must(formula.stable) url = if stable.specs[:tag].present? @@ -250,7 +252,9 @@ def self.update_python_resources!(formula, version: nil, package_name: nil, extr Package.new(url, is_url: true, python_name: python_name) end - if version.present? + if main_package.nil? + odie "The main package was skipped but no PyPI `extra_packages` were provided." if extra_packages.blank? + elsif version.present? if main_package.valid_pypi_package? main_package.version = version else @@ -270,7 +274,7 @@ def self.update_python_resources!(formula, version: nil, package_name: nil, extr # remove packages from the exclude list if we've explicitly requested them as an extra package exclude_packages.delete_if { |package| extra_packages.include?(package) } - input_packages = [main_package] + input_packages = main_package.nil? ? [] : [main_package] extra_packages.each do |extra_package| if !extra_package.valid_pypi_package? && !ignore_non_pypi_packages odie "\"#{extra_package}\" is not available on PyPI." @@ -302,7 +306,7 @@ def self.update_python_resources!(formula, version: nil, package_name: nil, extr exclude_packages.delete_if { |package| found_packages.exclude? package } ohai "Retrieving PyPI dependencies for excluded \"#{exclude_packages.join(" ")}\"..." if show_info exclude_packages = pip_report(exclude_packages, python_name: python_name, print_stderr: verbose && show_info) - exclude_packages += [Package.new(main_package.name)] + exclude_packages += [Package.new(main_package.name)] unless main_package.nil? new_resource_blocks = "" found_packages.sort.each do |package| From b59921d174aae6eeb28e5880e7bc4accd3dca488 Mon Sep 17 00:00:00 2001 From: Michael Cho Date: Tue, 27 Feb 2024 13:32:52 -0500 Subject: [PATCH 2/2] utils/pypi: improve style Co-authored-by: Mike McQuaid --- Library/Homebrew/utils/pypi.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Library/Homebrew/utils/pypi.rb b/Library/Homebrew/utils/pypi.rb index 073baee327c14..3899bc68bd65f 100644 --- a/Library/Homebrew/utils/pypi.rb +++ b/Library/Homebrew/utils/pypi.rb @@ -274,7 +274,7 @@ def self.update_python_resources!(formula, version: nil, package_name: nil, extr # remove packages from the exclude list if we've explicitly requested them as an extra package exclude_packages.delete_if { |package| extra_packages.include?(package) } - input_packages = main_package.nil? ? [] : [main_package] + input_packages = Array(main_package) extra_packages.each do |extra_package| if !extra_package.valid_pypi_package? && !ignore_non_pypi_packages odie "\"#{extra_package}\" is not available on PyPI."