Fix unattended package upgrades on FreeBSD (#181)

* Fix unattended package upgrades on FreeBSD

* Fix unattended package upgrades on FreeBSD

Co-authored-by: Thomas Schönauer <37108907+DottoDev@users.noreply.github.com>
This commit is contained in:
Yonas Yanfa
2022-11-15 10:32:50 -05:00
committed by GitHub
parent 039d0c765a
commit a0ad83a58b
2 changed files with 13 additions and 6 deletions

View File

@@ -210,7 +210,7 @@ fn run() -> Result<()> {
#[cfg(target_os = "freebsd")] #[cfg(target_os = "freebsd")]
runner.execute(Step::Pkg, "FreeBSD Packages", || { 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")] #[cfg(target_os = "openbsd")]

View File

@@ -5,6 +5,8 @@ use crate::utils::require_option;
use color_eyre::eyre::Result; use color_eyre::eyre::Result;
use std::path::PathBuf; use std::path::PathBuf;
use std::process::Command; use std::process::Command;
use crate::config::{Step};
use crate::execution_context::ExecutionContext;
pub fn upgrade_freebsd(sudo: Option<&PathBuf>, run_type: RunType) -> Result<()> { pub fn upgrade_freebsd(sudo: Option<&PathBuf>, run_type: RunType) -> Result<()> {
let sudo = require_option(sudo, String::from("No sudo detected"))?; let sudo = require_option(sudo, String::from("No sudo detected"))?;
@@ -15,13 +17,18 @@ pub fn upgrade_freebsd(sudo: Option<&PathBuf>, run_type: RunType) -> Result<()>
.status_checked() .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"))?; let sudo = require_option(sudo, String::from("No sudo detected"))?;
print_separator("FreeBSD Packages"); print_separator("FreeBSD Packages");
run_type let mut command = run_type.execute(sudo);
.execute(sudo)
.args(["/usr/sbin/pkg", "upgrade"]) command.args(&["/usr/sbin/pkg", "upgrade"]);
.status_checked()
if ctx.config().yes(Step::System) {
command.arg("-y");
}
command.check_run()
} }
pub fn audit_packages(sudo: &Option<PathBuf>) -> Result<()> { pub fn audit_packages(sudo: &Option<PathBuf>) -> Result<()> {