fix: fix Linux and DragonFlyBSD yes option (#513)

This commit is contained in:
SteveLauC
2023-07-25 08:37:03 +08:00
committed by GitHub
parent 635bfce198
commit 1ec0ac50a5
2 changed files with 64 additions and 65 deletions

View File

@@ -8,10 +8,12 @@ use std::process::Command;
pub fn upgrade_packages(ctx: &ExecutionContext) -> Result<()> { pub fn upgrade_packages(ctx: &ExecutionContext) -> Result<()> {
let sudo = require_option(ctx.sudo().as_ref(), REQUIRE_SUDO.to_string())?; let sudo = require_option(ctx.sudo().as_ref(), REQUIRE_SUDO.to_string())?;
print_separator("DragonFly BSD Packages"); print_separator("DragonFly BSD Packages");
ctx.execute(sudo) let mut cmd = ctx.execute(sudo);
.args(["/usr/local/sbin/pkg", "upgrade"]) cmd.args(["/usr/local/sbin/pkg", "upgrade"]);
.arg(if ctx.config().yes(Step::System) { "-y" } else { "" }) if ctx.config().yes(Step::System) {
.status_checked() cmd.arg("-y");
}
cmd.status_checked()
} }
pub fn audit_packages(ctx: &ExecutionContext) -> Result<()> { pub fn audit_packages(ctx: &ExecutionContext) -> Result<()> {

View File

@@ -252,16 +252,18 @@ fn upgrade_suse(ctx: &ExecutionContext) -> Result<()> {
.args(["zypper", "refresh"]) .args(["zypper", "refresh"])
.status_checked()?; .status_checked()?;
ctx.run_type() let mut cmd = ctx.run_type().execute(sudo);
.execute(sudo) cmd.arg("zypper");
.arg("zypper") cmd.arg(if ctx.config().suse_dup() {
.arg(if ctx.config().suse_dup() {
"dist-upgrade" "dist-upgrade"
} else { } else {
"update" "update"
}) });
.arg(if ctx.config().yes(Step::System) { "-y" } else { "" }) if ctx.config().yes(Step::System) {
.status_checked()?; cmd.arg("-y");
}
cmd.status_checked()?;
Ok(()) Ok(())
} }
@@ -273,24 +275,26 @@ fn upgrade_opensuse_tumbleweed(ctx: &ExecutionContext) -> Result<()> {
.args(["zypper", "refresh"]) .args(["zypper", "refresh"])
.status_checked()?; .status_checked()?;
ctx.run_type() let mut cmd = ctx.run_type().execute(sudo);
.execute(sudo) cmd.args(["zypper", "dist-upgrade"]);
.arg("zypper") if ctx.config().yes(Step::System) {
.arg("dist-upgrade") cmd.arg("-y");
.arg(if ctx.config().yes(Step::System) { "-y" } else { "" }) }
.status_checked()?;
cmd.status_checked()?;
Ok(()) Ok(())
} }
fn upgrade_suse_micro(ctx: &ExecutionContext) -> Result<()> { fn upgrade_suse_micro(ctx: &ExecutionContext) -> Result<()> {
let sudo = require_option(ctx.sudo().as_ref(), REQUIRE_SUDO.to_string())?; let sudo = require_option(ctx.sudo().as_ref(), REQUIRE_SUDO.to_string())?;
ctx.run_type() let mut cmd = ctx.run_type().execute(sudo);
.execute(sudo) cmd.arg("transactional-update");
.arg("transactional-update") if ctx.config().yes(Step::System) {
.arg(if ctx.config().yes(Step::System) { "-n" } else { "" }) cmd.arg("-n");
.arg("dup") }
.status_checked()?;
cmd.arg("dup").status_checked()?;
Ok(()) Ok(())
} }
@@ -329,12 +333,13 @@ fn upgrade_pclinuxos(ctx: &ExecutionContext) -> Result<()> {
command_update.status_checked()?; command_update.status_checked()?;
ctx.run_type() let mut cmd = ctx.run_type().execute(sudo);
.execute(sudo) cmd.arg(&which("apt-get").unwrap());
.arg(&which("apt-get").unwrap()) cmd.arg("dist-upgrade");
.arg("dist-upgrade") if ctx.config().yes(Step::System) {
.arg(if ctx.config().yes(Step::System) { "-y" } else { "" }) cmd.arg("-y");
.status_checked()?; }
cmd.status_checked()?;
Ok(()) Ok(())
} }
@@ -506,12 +511,12 @@ pub fn run_deb_get(ctx: &ExecutionContext) -> Result<()> {
fn upgrade_solus(ctx: &ExecutionContext) -> Result<()> { fn upgrade_solus(ctx: &ExecutionContext) -> Result<()> {
let sudo = require_option(ctx.sudo().as_ref(), REQUIRE_SUDO.to_string())?; let sudo = require_option(ctx.sudo().as_ref(), REQUIRE_SUDO.to_string())?;
ctx.run_type() let mut cmd = ctx.run_type().execute(sudo);
.execute(sudo) cmd.arg("eopkg");
.arg("eopkg") if ctx.config().yes(Step::System) {
.arg(if ctx.config().yes(Step::System) { "-y" } else { "" }) cmd.arg("-y");
.arg("upgrade") }
.status_checked()?; cmd.arg("upgrade").status_checked()?;
Ok(()) Ok(())
} }
@@ -550,15 +555,12 @@ pub fn run_pacdef(ctx: &ExecutionContext) -> Result<()> {
let new_version = string.contains("version: 1"); let new_version = string.contains("version: 1");
if new_version { if new_version {
ctx.run_type() let mut cmd = ctx.run_type().execute(&pacdef);
.execute(&pacdef) cmd.args(["package", "sync"]);
.args(["package", "sync"]) if ctx.config().yes(Step::System) {
.arg(if ctx.config().yes(Step::System) { cmd.arg("--noconfirm");
"--noconfirm" }
} else { cmd.status_checked()?;
""
})
.status_checked()?;
println!(); println!();
ctx.run_type() ctx.run_type()
@@ -566,15 +568,13 @@ pub fn run_pacdef(ctx: &ExecutionContext) -> Result<()> {
.args(["package", "review"]) .args(["package", "review"])
.status_checked()?; .status_checked()?;
} else { } else {
ctx.run_type() let mut cmd = ctx.run_type().execute(&pacdef);
.execute(&pacdef) cmd.arg("sync");
.arg("sync") if ctx.config().yes(Step::System) {
.arg(if ctx.config().yes(Step::System) { cmd.arg("--noconfirm");
"--noconfirm" }
} else {
"" cmd.status_checked()?;
})
.status_checked()?;
println!(); println!();
ctx.run_type().execute(&pacdef).arg("review").status_checked()?; ctx.run_type().execute(&pacdef).arg("review").status_checked()?;
@@ -620,15 +620,12 @@ pub fn run_packer_nu(ctx: &ExecutionContext) -> Result<()> {
fn upgrade_clearlinux(ctx: &ExecutionContext) -> Result<()> { fn upgrade_clearlinux(ctx: &ExecutionContext) -> Result<()> {
let sudo = require_option(ctx.sudo().as_ref(), REQUIRE_SUDO.to_string())?; let sudo = require_option(ctx.sudo().as_ref(), REQUIRE_SUDO.to_string())?;
ctx.run_type() let mut cmd = ctx.run_type().execute(sudo);
.execute(sudo) cmd.args(["swupd", "update"]);
.args(["swupd", "update"]) if ctx.config().yes(Step::System) {
.arg(if ctx.config().yes(Step::System) { cmd.arg("--assume=yes");
"--assume=yes" }
} else { cmd.status_checked()?;
""
})
.status_checked()?;
Ok(()) Ok(())
} }