summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Dibowitz <phil@ipom.com>2017-08-28 11:17:09 -0700
committerGitHub <noreply@github.com>2017-08-28 11:17:09 -0700
commitfd2647b47cbc7266dae8b1eb55414f6415929a71 (patch)
tree5972136021ad47d910ceb917d51fa2708b5a972c
parent834150bc20647b05b32ad483b497ef309c284817 (diff)
downloadchef-fd2647b47cbc7266dae8b1eb55414f6415929a71.tar.gz
dnf_provider: be more specific when we provide `package` (#6351)
It is really bad to have Chef all of a sudden start using a different provider on the same OS because you happen to install DNF to play with it. For RHEL, we know 8 will default to DNF, and 7 defaults to yum, so we specify that. Signed-off-by: Phil Dibowitz <phil@ipom.com>
-rw-r--r--lib/chef/provider/package/dnf.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/chef/provider/package/dnf.rb b/lib/chef/provider/package/dnf.rb
index 42d679c940..31279e8312 100644
--- a/lib/chef/provider/package/dnf.rb
+++ b/lib/chef/provider/package/dnf.rb
@@ -35,10 +35,12 @@ class Chef
use_multipackage_api
use_package_name_for_source
- provides :package, platform_family: %w{rhel fedora amazon} do
+ provides :package, platform_family: %w{fedora amazon} do
which("dnf") && shell_out("rpm -q dnf").stdout =~ /^dnf-[1-9]/
end
+ provides :package, platform_family: %w{rhel}, platform_version: ">= 8"
+
provides :dnf_package, os: "linux"
#