Issue #2382 has been updated by Luke Kanies. Status changed from Needs design decision to Code Insufficient Target version set to 0.26.0
Before this can be merged, some more work needs to be done to make sure the other package providers still work as expected. ---------------------------------------- Feature #2382: package provider ports: portupgrade does not work http://projects.reductivelabs.com/issues/2382 Author: Ryan Hutchison Status: Code Insufficient Priority: Normal Assigned to: Ryan Hutchison Category: package Target version: 0.26.0 Complexity: Trivial Affected version: 0.24.8 Keywords: In puppet/provider/package/ports.rb the command passes argument -N which prevents installed ports from being upgraded. * Modified type 'packages.rb'. > * latest now calls install when port is absent and update when port exists, > but is not the latest version. * Modified package provider 'ports.rb'. > * update now runs portupgrade with -M BATCH=yes instead of calling install. > * install runs as normal. Patch: <pre> --- puppet/provider/package/ports.rb 2009-07-01 14:22:00.000000000 -0400 +++ puppet-patched/provider/package/ports.rb 2009-07-01 14:25:45.000000000 -0400 @@ -91,7 +91,13 @@ Puppet::Type.type(:package).provide :por end def update - install() + # -M: yes, we're a batch, so don't ask any questions + cmd = %w{-M BATCH=yes} << @resource[:name] + + output = portupgrade(*cmd) + if output =~ /\*\* No such / + raise Puppet::ExecutionFailure, "Could not find package %s" % @resource[:name] + end end end --- puppet/type/package.rb 2009-07-01 14:22:01.000000000 -0400 +++ puppet-patched/type/package.rb 2009-07-01 14:25:22.000000000 -0400 @@ -68,15 +68,20 @@ module Puppet # in the "install" method. So, check the current state now, # to compare against later. current = self.retrieve - begin - provider.update - rescue => detail - self.fail "Could not update: %s" % detail - end if current == :absent + begin + provider.install + rescue => detail + self.fail "Could not install: %s" % detail + end :package_installed else + begin + provider.update + rescue => detail + self.fail "Could not update: %s" % detail + end :package_changed end end </pre>> -- You have received this notification because you have either subscribed to it, or are involved in it. To change your notification preferences, please click here: http://reductivelabs.com/redmine/my/account --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Puppet Bugs" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/puppet-bugs?hl=en -~----------~----~----~----~------~----~------~--~---
