From ef7d1c7a54a3ae7f1c9f292f0c83f47708fe7965 Mon Sep 17 00:00:00 2001 From: Ken Tobias Date: Thu, 21 Mar 2019 10:36:40 -0700 Subject: [PATCH 1/2] 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")?; From 7872a71f9c49186e19a82fc4e1b64d10ae7c3482 Mon Sep 17 00:00:00 2001 From: Ken Tobias Date: Thu, 21 Mar 2019 13:10:54 -0700 Subject: [PATCH 2/2] Passed through rustfmt --- src/steps/os/linux.rs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/steps/os/linux.rs b/src/steps/os/linux.rs index e0a1c3ba..136bfff8 100644 --- a/src/steps/os/linux.rs +++ b/src/steps/os/linux.rs @@ -241,7 +241,10 @@ fn upgrade_debian(sudo: &Option, cleanup: bool, run_type: RunType) -> R 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()?; + run_type + .execute(&sudo) + .args(&["/usr/bin/eopkg", "upgrade"]) + .check_run()?; } else { print_warning("No sudo detected. Skipping system upgrade"); }