Issue #2382 has been reported by Ryan Hutchison.
----------------------------------------
Feature #2382: package provider ports: portupgrade does not work
http://projects.reductivelabs.com/issues/2382
Author: Ryan Hutchison
Status: Unreviewed
Priority: Normal
Assigned to:
Category: package
Target version:
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
-~----------~----~----~----~------~----~------~--~---