summaryrefslogtreecommitdiff
path: root/lib/chef/provider/package/zypper.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chef/provider/package/zypper.rb')
-rw-r--r--lib/chef/provider/package/zypper.rb35
1 files changed, 17 insertions, 18 deletions
diff --git a/lib/chef/provider/package/zypper.rb b/lib/chef/provider/package/zypper.rb
index b00bef0f92..2cd321660b 100644
--- a/lib/chef/provider/package/zypper.rb
+++ b/lib/chef/provider/package/zypper.rb
@@ -38,24 +38,23 @@ class Chef
version=''
oud_version=''
Chef::Log.debug("#{@new_resource} checking zypper")
- status = popen4("zypper --non-interactive info #{@new_resource.package_name}") do |pid, stdin, stdout, stderr|
- stdout.each do |line|
- case line
- when /^Version: (.+)$/
- version = $1
- Chef::Log.debug("#{@new_resource} version #{$1}")
- when /^Installed: Yes$/
- is_installed=true
- Chef::Log.debug("#{@new_resource} is installed")
-
- when /^Installed: No$/
- is_installed=false
- Chef::Log.debug("#{@new_resource} is not installed")
- when /^Status: out-of-date \(version (.+) installed\)$/
- is_out_of_date=true
- oud_version=$1
- Chef::Log.debug("#{@new_resource} out of date version #{$1}")
- end
+ status = shell_out("zypper --non-interactive info #{@new_resource.package_name}")
+ status.stdout.each_line do |line|
+ case line
+ when /^Version: (.+)$/
+ version = $1
+ Chef::Log.debug("#{@new_resource} version #{$1}")
+ when /^Installed: Yes$/
+ is_installed=true
+ Chef::Log.debug("#{@new_resource} is installed")
+
+ when /^Installed: No$/
+ is_installed=false
+ Chef::Log.debug("#{@new_resource} is not installed")
+ when /^Status: out-of-date \(version (.+) installed\)$/
+ is_out_of_date=true
+ oud_version=$1
+ Chef::Log.debug("#{@new_resource} out of date version #{$1}")
end
end