From 78dc567226be38491dad23c4de42ed841bc46bef Mon Sep 17 00:00:00 2001 From: Ned Wolpert Date: Sun, 7 Jan 2024 18:40:01 -0700 Subject: [PATCH] Added an Audit step for FreeBSD and DragonFly packagees. (#640) * Added an Audit step for FreeBSD and DragonFly. Allows for auditing the packages to be disabled since they are breaking steps. Current behaivor is the default, where if the audit fails topgrade stops. Can be disabled in the [misc] section independenly from other sections --- src/config.rs | 1 + src/main.rs | 4 ++-- src/steps/os/dragonfly.rs | 4 +++- src/steps/os/freebsd.rs | 4 +++- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/config.rs b/src/config.rs index 2be9f2d0..b5992ddb 100644 --- a/src/config.rs +++ b/src/config.rs @@ -53,6 +53,7 @@ pub enum Step { AppMan, Asdf, Atom, + Audit, Bin, Bob, BrewCask, diff --git a/src/main.rs b/src/main.rs index 20bbf0d1..8153a32e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -264,14 +264,14 @@ fn run() -> Result<()> { runner.execute(Step::Pkg, "DragonFly BSD Packages", || { dragonfly::upgrade_packages(&ctx) })?; - dragonfly::audit_packages(&ctx)?; + runner.execute(Step::Audit, "DragonFly Audit", || dragonfly::audit_packages(&ctx))?; } #[cfg(target_os = "freebsd")] { runner.execute(Step::Pkg, "FreeBSD Packages", || freebsd::upgrade_packages(&ctx))?; runner.execute(Step::System, "FreeBSD Upgrade", || freebsd::upgrade_freebsd(&ctx))?; - freebsd::audit_packages(&ctx)?; + runner.execute(Step::Audit, "FreeBSD Audit", || freebsd::audit_packages(&ctx))?; } #[cfg(target_os = "openbsd")] diff --git a/src/steps/os/dragonfly.rs b/src/steps/os/dragonfly.rs index b2d45a7a..527a86f9 100644 --- a/src/steps/os/dragonfly.rs +++ b/src/steps/os/dragonfly.rs @@ -19,7 +19,9 @@ pub fn upgrade_packages(ctx: &ExecutionContext) -> Result<()> { pub fn audit_packages(ctx: &ExecutionContext) -> Result<()> { let sudo = require_option(ctx.sudo().as_ref(), REQUIRE_SUDO.to_string())?; - println!(); + + print_separator("DragonFly BSD Audit"); + #[allow(clippy::disallowed_methods)] if !Command::new(sudo) .args(["/usr/local/sbin/pkg", "audit", "-Fr"]) diff --git a/src/steps/os/freebsd.rs b/src/steps/os/freebsd.rs index 3f0b13b2..60e9275e 100644 --- a/src/steps/os/freebsd.rs +++ b/src/steps/os/freebsd.rs @@ -30,7 +30,9 @@ pub fn upgrade_packages(ctx: &ExecutionContext) -> Result<()> { pub fn audit_packages(ctx: &ExecutionContext) -> Result<()> { let sudo = require_option(ctx.sudo().as_ref(), REQUIRE_SUDO.to_string())?; - println!(); + + print_separator("FreeBSD Audit"); + Command::new(sudo) .args(["/usr/sbin/pkg", "audit", "-Fr"]) .status_checked()?;