diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2023-01-31 15:10:47 +0000 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2023-01-31 15:10:47 +0000 |
commit | 6f18a8d0b00eae84d262dff137fddd9639f3c52a (patch) | |
tree | f6297c5a843ee6096e996f58c768e80232e2b610 /app/services/packages | |
parent | c62dd5ae440db9ad4696000a863fbcb53fe83498 (diff) | |
download | gitlab-ce-6f18a8d0b00eae84d262dff137fddd9639f3c52a.tar.gz |
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/services/packages')
3 files changed, 18 insertions, 10 deletions
diff --git a/app/services/packages/debian/find_or_create_package_service.rb b/app/services/packages/debian/find_or_create_package_service.rb index 3b2be7b6874..cb765e956e7 100644 --- a/app/services/packages/debian/find_or_create_package_service.rb +++ b/app/services/packages/debian/find_or_create_package_service.rb @@ -10,7 +10,7 @@ module Packages .debian .with_name(params[:name]) .with_version(params[:version]) - .with_debian_codename(params[:distribution_name]) + .with_debian_codename_or_suite(params[:distribution_name]) .not_pending_destruction .first @@ -26,7 +26,10 @@ module Packages def distribution strong_memoize(:distribution) do - Packages::Debian::DistributionsFinder.new(project, codename: params[:distribution_name]).execute.last! + Packages::Debian::DistributionsFinder.new( + project, + codename_or_suite: params[:distribution_name] + ).execute.last! end end end diff --git a/app/services/packages/debian/process_changes_service.rb b/app/services/packages/debian/process_changes_service.rb index a29cbd3f65f..129f2e5c9bc 100644 --- a/app/services/packages/debian/process_changes_service.rb +++ b/app/services/packages/debian/process_changes_service.rb @@ -15,12 +15,12 @@ module Packages end def execute - try_obtain_lease do - # return if changes file has already been processed - break if package_file.debian_file_metadatum&.changes? + # return if changes file has already been processed + return if package_file.debian_file_metadatum&.changes? - validate! + validate! + try_obtain_lease do package_file.transaction do update_files_metadata update_changes_metadata @@ -38,6 +38,9 @@ module Packages raise ArgumentError, 'invalid package file' unless package_file.debian_file_metadatum raise ArgumentError, 'invalid package file' unless package_file.debian_file_metadatum.unknown? raise ArgumentError, 'invalid package file' unless metadata[:file_type] == :changes + raise ArgumentError, 'missing Source field' unless metadata.dig(:fields, 'Source').present? + raise ArgumentError, 'missing Version field' unless metadata.dig(:fields, 'Version').present? + raise ArgumentError, 'missing Distribution field' unless metadata.dig(:fields, 'Distribution').present? end def update_files_metadata diff --git a/app/services/packages/debian/process_package_file_service.rb b/app/services/packages/debian/process_package_file_service.rb index 2568085d303..7d2d71184e6 100644 --- a/app/services/packages/debian/process_package_file_service.rb +++ b/app/services/packages/debian/process_package_file_service.rb @@ -19,9 +19,9 @@ module Packages def execute return if @package_file.package.pending_destruction? - try_obtain_lease do - validate! + validate! + try_obtain_lease do package.transaction do rename_package_and_set_version update_package @@ -36,6 +36,8 @@ module Packages private def validate! + raise ArgumentError, 'missing distribution name' unless @distribution_name.present? + raise ArgumentError, 'missing component name' unless @component_name.present? raise ArgumentError, 'package file without Debian metadata' unless @package_file.debian_file_metadatum raise ArgumentError, 'already processed package file' unless @package_file.debian_file_metadatum.unknown? @@ -55,7 +57,7 @@ module Packages .debian .with_name(package_name) .with_version(package_version) - .with_debian_codename(@distribution_name) + .with_debian_codename_or_suite(@distribution_name) .not_pending_destruction .last package || temp_package @@ -113,7 +115,7 @@ module Packages def distribution Packages::Debian::DistributionsFinder.new( @package_file.package.project, - codename: @distribution_name + codename_or_suite: @distribution_name ).execute.last! end strong_memoize_attr :distribution |