diff --git a/Cargo.lock b/Cargo.lock index 2352cbf0..587f552d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -228,9 +228,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.22" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfd4d1b31faaa3a89d7934dbded3111da0d2ef28e3ebccdb4f0179f5929d1ef1" +checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" dependencies = [ "iana-time-zone", "js-sys", @@ -842,9 +842,9 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.23.0" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d87c48c02e0dc5e3b849a2041db3029fd066650f8f717c07bf8ed78ccb895cac" +checksum = "59df7c4e19c950e6e0e868dcc0a300b09a9b88e9ec55bd879ca819087a77355d" dependencies = [ "http", "hyper", @@ -1481,9 +1481,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.12" +version = "0.11.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "431949c384f4e2ae07605ccaa56d1d9d2ecdb5cadd4f9577ccfab29f2e5149fc" +checksum = "68cc60575865c7831548863cc02356512e3f1dc2f3f82cb837d7fc4cc8f3c97c" dependencies = [ "base64", "bytes", @@ -2592,9 +2592,9 @@ dependencies = [ [[package]] name = "zbus_names" -version = "2.2.0" +version = "2.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41a408fd8a352695690f53906dc7fd036be924ec51ea5e05666ff42685ed0af5" +checksum = "d69bb79b44e1901ed8b217e485d0f01991aec574479b68cb03415f142bc7ae67" dependencies = [ "serde", "static_assertions", @@ -2616,9 +2616,9 @@ dependencies = [ [[package]] name = "zvariant" -version = "3.7.1" +version = "3.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b794fb7f59af4105697b0449ba31731ee5dbb3e773a17dbdf3d36206ea1b1644" +checksum = "5c817f416f05fcbc833902f1e6064b72b1778573978cfeac54731451ccc9e207" dependencies = [ "byteorder", "enumflags2", @@ -2630,9 +2630,9 @@ dependencies = [ [[package]] name = "zvariant_derive" -version = "3.7.1" +version = "3.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd58d4b6c8e26d3dd2149c8c40c6613ef6451b9885ff1296d1ac86c388351a54" +checksum = "fdd24fffd02794a76eb10109de463444064c88f5adb9e9d1a78488adc332bfef" dependencies = [ "proc-macro-crate", "proc-macro2", diff --git a/src/main.rs b/src/main.rs index 6eea93a7..b1ae4b9e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -202,7 +202,7 @@ fn run() -> Result<()> { #[cfg(target_os = "freebsd")] runner.execute(Step::Pkg, "FreeBSD Packages", || { - freebsd::upgrade_packages(sudo.as_ref(), run_type) + freebsd::upgrade_packages(&ctx, sudo.as_ref(), run_type) })?; #[cfg(target_os = "openbsd")] diff --git a/src/steps/os/freebsd.rs b/src/steps/os/freebsd.rs index 2c57b77c..8109057a 100644 --- a/src/steps/os/freebsd.rs +++ b/src/steps/os/freebsd.rs @@ -1,7 +1,9 @@ use crate::command::CommandExt; +use crate::execution_context::ExecutionContext; use crate::executor::RunType; use crate::terminal::print_separator; use crate::utils::require_option; +use crate::Step; use color_eyre::eyre::Result; use std::path::PathBuf; use std::process::Command; @@ -15,13 +17,17 @@ pub fn upgrade_freebsd(sudo: Option<&PathBuf>, run_type: RunType) -> Result<()> .status_checked() } -pub fn upgrade_packages(sudo: Option<&PathBuf>, run_type: RunType) -> Result<()> { +pub fn upgrade_packages(ctx: &ExecutionContext, sudo: Option<&PathBuf>, run_type: RunType) -> Result<()> { let sudo = require_option(sudo, String::from("No sudo detected"))?; print_separator("FreeBSD Packages"); - run_type - .execute(sudo) - .args(["/usr/sbin/pkg", "upgrade"]) - .status_checked() + + let mut command = run_type.execute(sudo); + + command.args(["/usr/sbin/pkg", "upgrade"]); + if ctx.config().yes(Step::System) { + command.arg("-y"); + } + command.status_checked() } pub fn audit_packages(sudo: &Option) -> Result<()> {