From 59de02b8cf29af7c559ca480ae946db4d2a0f8ea Mon Sep 17 00:00:00 2001 From: Roey Darwish Dror Date: Sat, 9 Jun 2018 20:03:51 +0300 Subject: [PATCH] Use dnf in fedora (fixes #20) --- src/main.rs | 5 ++--- src/steps.rs | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/main.rs b/src/main.rs index 589eef5d..2b4b1461 100644 --- a/src/main.rs +++ b/src/main.rs @@ -147,9 +147,8 @@ fn main() -> Result<(), Error> { Ok(distribution) => { match distribution { linux::Distribution::Arch => upgrade_arch_linux(&sudo, &terminal), - linux::Distribution::CentOS | linux::Distribution::Fedora => { - upgrade_redhat(&sudo, &terminal) - } + linux::Distribution::CentOS => upgrade_redhat(&sudo, &terminal), + linux::Distribution::Fedora => upgrade_fedora(&sudo, &terminal), linux::Distribution::Ubuntu | linux::Distribution::Debian => { upgrade_debian(&sudo, &terminal) } diff --git a/src/steps.rs b/src/steps.rs index 569792b0..54e64db3 100644 --- a/src/steps.rs +++ b/src/steps.rs @@ -189,6 +189,23 @@ pub fn upgrade_redhat( Ok(()) } +pub fn upgrade_fedora( + sudo: &Result, + terminal: &Terminal, +) -> Result<(), failure::Error> { + if let Ok(sudo) = &sudo { + Command::new(&sudo) + .args(&["dnf", "upgrade"]) + .spawn()? + .wait()? + .check()?; + } else { + terminal.print_warning("No sudo detected. Skipping system upgrade"); + } + + Ok(()) +} + pub fn upgrade_debian( sudo: &Result, terminal: &Terminal,