diff options
author | Manick Vel <mkumaravel@msystechnologies.com> | 2022-01-31 21:04:46 +0530 |
---|---|---|
committer | pratixha <pratiksha.prajapati@msystechnologies.com> | 2022-05-25 12:13:23 +0530 |
commit | 0cf7c2a8a50902d3401ead52892d2989dd303ded (patch) | |
tree | b2afb9b7b42782a357fe7470c5b2277e2e0b53f0 | |
parent | 763c5cf942cc5c191226066c4518458ef2c15cb3 (diff) | |
download | chef-0cf7c2a8a50902d3401ead52892d2989dd303ded.tar.gz |
Added resolve source to version related changes
Signed-off-by: Manick Vel <mkumaravel@msystechnologies.com>
-rw-r--r-- | lib/chef/provider/package/zypper.rb | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/lib/chef/provider/package/zypper.rb b/lib/chef/provider/package/zypper.rb index 89aef8b9a6..f7663201c1 100644 --- a/lib/chef/provider/package/zypper.rb +++ b/lib/chef/provider/package/zypper.rb @@ -73,20 +73,22 @@ class Chef def candidate_version if new_resource.source logger.trace("#{new_resource} checking rpm status") - shell_out!("rpm", "-qp", "--queryformat", "%{NAME} %{VERSION}-%{RELEASE}\n", new_resource.source).stdout.each_line do |line| - case line - when /^(\S+)\s(\S+)$/ - current_resource.package_name($1) - new_resource.version($2) - @candidate_version = $2 - end - end + resolve_source_to_version else @candidate_version ||= package_name_array.each_with_index.map { |pkg, i| available_version(i) } end end + def resolve_source_to_version + shell_out!("rpm -qp --queryformat '%{NAME} %{EPOCH} %{VERSION} %{RELEASE} %{ARCH}\n' #{new_resource.source}").stdout.each_line do |line| + case line + when /^(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)$/ + return Version.new($1, "#{$2 == "(none)" ? "0" : $2}:#{$3}-#{$4}", $5) + end + end + end + def resolve_current_version(package_name) latest_version = current_version = nil is_installed = false @@ -155,7 +157,7 @@ class Chef end def zypper_package(command, global_options, *options, names, versions) - zipped_names = new_resource.source ? new_resource.source : zip(names, versions) + zipped_names = new_resource.source || zip(names, versions) if zypper_version < 1.0 shell_out!("zypper", global_options, gpg_checks, command, *options, "-y", names) else |