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
This commit is contained in:
Ned Wolpert
2024-01-07 18:40:01 -07:00
committed by GitHub
parent 362ce4f4f9
commit 78dc567226
4 changed files with 9 additions and 4 deletions

View File

@@ -53,6 +53,7 @@ pub enum Step {
AppMan, AppMan,
Asdf, Asdf,
Atom, Atom,
Audit,
Bin, Bin,
Bob, Bob,
BrewCask, BrewCask,

View File

@@ -264,14 +264,14 @@ fn run() -> Result<()> {
runner.execute(Step::Pkg, "DragonFly BSD Packages", || { runner.execute(Step::Pkg, "DragonFly BSD Packages", || {
dragonfly::upgrade_packages(&ctx) dragonfly::upgrade_packages(&ctx)
})?; })?;
dragonfly::audit_packages(&ctx)?; runner.execute(Step::Audit, "DragonFly Audit", || dragonfly::audit_packages(&ctx))?;
} }
#[cfg(target_os = "freebsd")] #[cfg(target_os = "freebsd")]
{ {
runner.execute(Step::Pkg, "FreeBSD Packages", || freebsd::upgrade_packages(&ctx))?; runner.execute(Step::Pkg, "FreeBSD Packages", || freebsd::upgrade_packages(&ctx))?;
runner.execute(Step::System, "FreeBSD Upgrade", || freebsd::upgrade_freebsd(&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")] #[cfg(target_os = "openbsd")]

View File

@@ -19,7 +19,9 @@ pub fn upgrade_packages(ctx: &ExecutionContext) -> Result<()> {
pub fn audit_packages(ctx: &ExecutionContext) -> Result<()> { pub fn audit_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())?;
println!();
print_separator("DragonFly BSD Audit");
#[allow(clippy::disallowed_methods)] #[allow(clippy::disallowed_methods)]
if !Command::new(sudo) if !Command::new(sudo)
.args(["/usr/local/sbin/pkg", "audit", "-Fr"]) .args(["/usr/local/sbin/pkg", "audit", "-Fr"])

View File

@@ -30,7 +30,9 @@ pub fn upgrade_packages(ctx: &ExecutionContext) -> Result<()> {
pub fn audit_packages(ctx: &ExecutionContext) -> Result<()> { pub fn audit_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())?;
println!();
print_separator("FreeBSD Audit");
Command::new(sudo) Command::new(sudo)
.args(["/usr/sbin/pkg", "audit", "-Fr"]) .args(["/usr/sbin/pkg", "audit", "-Fr"])
.status_checked()?; .status_checked()?;