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