summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-09-05 17:04:55 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-09-05 17:04:55 +0000
commitb36df181f4f2064b3dbbce861912262594044b14 (patch)
tree00dcedd7056780f108fd61bb5b0b04b393dc88a4 /lib
parent47c86e5571afe1ea68c68fd1353d71f7cb9bdb76 (diff)
downloadpuppet-b36df181f4f2064b3dbbce861912262594044b14.tar.gz
puppet-b36df181f4f2064b3dbbce861912262594044b14.tar.xz
puppet-b36df181f4f2064b3dbbce861912262594044b14.zip
A small fix to the install/update aspects of packaging.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1560 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib')
-rwxr-xr-xlib/puppet/provider/package/gem.rb6
-rw-r--r--lib/puppet/type/package.rb37
2 files changed, 14 insertions, 29 deletions
diff --git a/lib/puppet/provider/package/gem.rb b/lib/puppet/provider/package/gem.rb
index f6c84c23c..67d5e37c4 100755
--- a/lib/puppet/provider/package/gem.rb
+++ b/lib/puppet/provider/package/gem.rb
@@ -62,7 +62,7 @@ Puppet::Type.type(:package).provide :gem do
def install(useversion = true)
command = "#{command(:gem)} install "
if (! @model.should(:ensure).is_a? Symbol) and useversion
- command += "-v %s " % @model[:ensure]
+ command += "-v %s " % @model.should(:ensure)
end
if source = @model[:source]
command += source
@@ -101,6 +101,10 @@ Puppet::Type.type(:package).provide :gem do
def update
self.install(false)
end
+
+ def versionable?
+ true
+ end
end
# $Id$
diff --git a/lib/puppet/type/package.rb b/lib/puppet/type/package.rb
index b23ee2622..749c9e76a 100644
--- a/lib/puppet/type/package.rb
+++ b/lib/puppet/type/package.rb
@@ -59,9 +59,9 @@ module Puppet
end
if current == :absent
- return :package_installed
+ :package_installed
else
- return :package_changed
+ :package_changed
end
end
@@ -72,16 +72,17 @@ module Puppet
@parent[:provider]
)
end
- method = if self.is == :absent
- :install
- else
- :update
- end
begin
- provider.send(method)
+ provider.install
rescue => detail
self.fail "Could not update: %s" % detail
end
+
+ if self.is == :absent
+ :package_installed
+ else
+ :package_changed
+ end
end
@@ -154,26 +155,6 @@ module Puppet
def retrieve
@is = @parent.retrieve
end
-
- def sync
- value = self.should
- unless value.is_a?(Symbol)
- value = value.intern
- end
- # If we're a normal value, then just pass to the parent method
- if self.class.values.include?(value)
- #self.info "setting %s" % value
- super
- else
- #self.info "updating from %s" % value
- provider.update
- if self.is == :absent
- return :package_installed
- else
- return :package_updated
- end
- end
- end
end
newparam(:name) do