summaryrefslogtreecommitdiffstats
path: root/lib/puppet
diff options
context:
space:
mode:
authorluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-03-11 21:48:15 +0000
committerluke <luke@980ebf18-57e1-0310-9a29-db15c13687c0>2006-03-11 21:48:15 +0000
commit414d364a6f337cc8e542dc107d8e51f625375db4 (patch)
tree576f7d87c4b83c7bed322711793ea6b9a2fde30d /lib/puppet
parent872892036ca8ca1b2ed503dbedd6b18f33f52abd (diff)
downloadpuppet-414d364a6f337cc8e542dc107d8e51f625375db4.tar.gz
puppet-414d364a6f337cc8e542dc107d8e51f625375db4.tar.xz
puppet-414d364a6f337cc8e542dc107d8e51f625375db4.zip
Supporting rpm installs when a package source is specified
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1004 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib/puppet')
-rwxr-xr-xlib/puppet/type/package/rpm.rb17
1 files changed, 12 insertions, 5 deletions
diff --git a/lib/puppet/type/package/rpm.rb b/lib/puppet/type/package/rpm.rb
index 06ae3c51f..e0fa9d467 100755
--- a/lib/puppet/type/package/rpm.rb
+++ b/lib/puppet/type/package/rpm.rb
@@ -68,11 +68,18 @@ module Puppet
return packages
end
- # we need package retrieval mechanisms before we can have package
- # installation mechanisms...
- #type.install = proc { |pkg|
- # raise "installation not implemented yet"
- #}
+ def install
+ source = nil
+ unless source = self[:source]
+ self.fail "RPMs must specify a package source"
+ end
+
+ output = %x{rpm -i #{source} 2>&1}
+
+ unless $? == 0
+ raise Puppet::PackageError.new(output)
+ end
+ end
def uninstall
cmd = "rpm -e %s" % self[:name]