Blob Blame History Raw
From 073cf0bdeef141241f2b2310e410e60afaa23405 Mon Sep 17 00:00:00 2001
From: Nicolas Vigier <boklm@torproject.org>
Date: Thu, 3 Nov 2016 18:22:55 +0100
Subject: [PATCH] Use dnf on recent Fedora and Centos releases
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Use dnf on Fedora and Centos, except on Fedora 20, 21 and Centos 5, 6
where yum is still used.

This closes #3.

Signed-off-by: Petr Písař <ppisar@redhat.com>
---
 lib/RBM/DefaultConfig.pm | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/lib/RBM/DefaultConfig.pm b/lib/RBM/DefaultConfig.pm
index 5a47c84..0fcf846 100644
--- a/lib/RBM/DefaultConfig.pm
+++ b/lib/RBM/DefaultConfig.pm
@@ -494,18 +494,24 @@ OPT_END
     install_package => sub {
         my ($project, $options) = @_;
         my $distro = RBM::project_config($project, 'lsb_release/id', $options);
+        my $release = RBM::project_config($project, 'lsb_release/release', $options);
         my $yum = 'rpm -q [% c("pkg_name") %] > /dev/null || yum install -y [% c("pkg_name") %]';
+        my $dnf = 'rpm -q [% c("pkg_name") %] > /dev/null || dnf install -y [% c("pkg_name") %]';
         my $zypper = 'rpm -q [% c("pkg_name") %] > /dev/null || zypper install [% c("pkg_name") %]';
         my $urpmi = 'rpm -q [% c("pkg_name") %] > /dev/null || urpmi [% c("pkg_name") %]';
         my $apt = 'dpkg -s [% c("pkg_name") %] > /dev/null 2>&1 || apt-get install -y [% c("pkg_name") %]';
         my %install = (
-            Fedora   => $yum,
-            CentOS   => $yum,
-            Mageia   => $urpmi,
-            openSuSe => $zypper,
-            Debian   => $apt,
-            Ubuntu   => $apt,
+            Fedora      => $dnf,
+            'Fedora-20' => $yum,
+            'Fedora-21' => $yum,
+            CentOS      => $dnf,
+            Mageia      => $urpmi,
+            openSuSe    => $zypper,
+            Debian      => $apt,
+            Ubuntu      => $apt,
         );
+        return $yum if "$distro-$release" =~ m/^Centos-[56]\./;
+        return $install{"$distro-$release"} if $install{"$distro-$release"};
         return $install{$distro};
     },
     urlget => 'wget -O[% shell_quote(dest_dir _ "/" _ c("filename")) %] [% shell_quote(c("URL")) %]',
-- 
2.7.4