summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/puppet/provider/package/aptrpm.rb17
-rwxr-xr-xlib/puppet/provider/package/rpm.rb17
-rw-r--r--lib/puppet/provider/package/urpmi.rb10
-rwxr-xr-xlib/puppet/provider/package/yum.rb10
4 files changed, 38 insertions, 16 deletions
diff --git a/lib/puppet/provider/package/aptrpm.rb b/lib/puppet/provider/package/aptrpm.rb
index aa7d1d2cb..12dd7f378 100644
--- a/lib/puppet/provider/package/aptrpm.rb
+++ b/lib/puppet/provider/package/aptrpm.rb
@@ -10,14 +10,15 @@ Puppet::Type.type(:package).provide :aptrpm, :parent => :rpm, :source => :rpm do
commands :aptcache => "apt-cache"
commands :rpm => "rpm"
- confine :true => begin
- rpm('-ql', 'rpm')
- rescue Puppet::ExecutionFailure
- false
- else
- true
- end
-
+ if command('rpm')
+ confine :true => begin
+ rpm('-ql', 'rpm')
+ rescue Puppet::ExecutionFailure
+ false
+ else
+ true
+ end
+ end
# Install a package using 'apt-get'. This function needs to support
# installing a specific version.
diff --git a/lib/puppet/provider/package/rpm.rb b/lib/puppet/provider/package/rpm.rb
index 0787f7e8c..f7f3237e6 100755
--- a/lib/puppet/provider/package/rpm.rb
+++ b/lib/puppet/provider/package/rpm.rb
@@ -11,14 +11,15 @@ Puppet::Type.type(:package).provide :rpm, :source => :rpm, :parent => Puppet::Pr
commands :rpm => "rpm"
- confine :true => begin
- rpm('-ql', 'rpm')
- rescue Puppet::ExecutionFailure
- false
- else
- true
- end
-
+ if command('rpm')
+ confine :true => begin
+ rpm('-ql', 'rpm')
+ rescue Puppet::ExecutionFailure
+ false
+ else
+ true
+ end
+ end
def self.instances
packages = []
diff --git a/lib/puppet/provider/package/urpmi.rb b/lib/puppet/provider/package/urpmi.rb
index 4a7de233c..f19c6f41f 100644
--- a/lib/puppet/provider/package/urpmi.rb
+++ b/lib/puppet/provider/package/urpmi.rb
@@ -2,6 +2,16 @@ Puppet::Type.type(:package).provide :urpmi, :parent => :rpm, :source => :rpm do
desc "Support via ``urpmi``."
commands :urpmi => "urpmi", :rpm => "rpm"
+ if command('rpm')
+ confine :true => begin
+ rpm('-ql', 'rpm')
+ rescue Puppet::ExecutionFailure
+ false
+ else
+ true
+ end
+ end
+
defaultfor :operatingsystem => [:mandriva, :mandrake]
has_feature :versionable
diff --git a/lib/puppet/provider/package/yum.rb b/lib/puppet/provider/package/yum.rb
index f6c5ec401..9d4d4c8bb 100755
--- a/lib/puppet/provider/package/yum.rb
+++ b/lib/puppet/provider/package/yum.rb
@@ -5,6 +5,16 @@ Puppet::Type.type(:package).provide :yum, :parent => :rpm, :source => :rpm do
commands :yum => "yum", :rpm => "rpm"
+ if command('rpm')
+ confine :true => begin
+ rpm('-ql', 'rpm')
+ rescue Puppet::ExecutionFailure
+ false
+ else
+ true
+ end
+ end
+
defaultfor :operatingsystem => [:fedora, :centos, :redhat]
def install