From ef7d1c7a54a3ae7f1c9f292f0c83f47708fe7965 Mon Sep 17 00:00:00 2001 From: Ken Tobias Date: Thu, 21 Mar 2019 10:36:40 -0700 Subject: [PATCH] Added support for Solus Linux distro --- src/steps/os/linux.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/steps/os/linux.rs b/src/steps/os/linux.rs index 660b2dd1..e0a1c3ba 100644 --- a/src/steps/os/linux.rs +++ b/src/steps/os/linux.rs @@ -17,6 +17,7 @@ pub enum Distribution { Gentoo, OpenSuse, Void, + Solus, } impl Distribution { @@ -51,6 +52,10 @@ impl Distribution { return Ok(Distribution::Void); } + if content.contains("Solus") { + return Ok(Distribution::Solus); + } + if PathBuf::from("/etc/gentoo-release").exists() { return Ok(Distribution::Gentoo); } @@ -70,6 +75,7 @@ impl Distribution { Distribution::Gentoo => upgrade_gentoo(&sudo, run_type), Distribution::OpenSuse => upgrade_opensuse(&sudo, run_type), Distribution::Void => upgrade_void(&sudo, run_type), + Distribution::Solus => upgrade_solus(&sudo, run_type), } } @@ -233,6 +239,16 @@ fn upgrade_debian(sudo: &Option, cleanup: bool, run_type: RunType) -> R Ok(()) } +fn upgrade_solus(sudo: &Option, run_type: RunType) -> Result<(), Error> { + if let Some(sudo) = &sudo { + run_type.execute(&sudo).args(&["/usr/bin/eopkg", "upgrade"]).check_run()?; + } else { + print_warning("No sudo detected. Skipping system upgrade"); + } + + Ok(()) +} + pub fn run_needrestart(sudo: Option<&PathBuf>, run_type: RunType) -> Result<(), Error> { let sudo = require_option(sudo)?; let needrestart = require("needrestart")?;