From 2ed06691e2d04d9f93b16499d75e91140d834a46 Mon Sep 17 00:00:00 2001 From: Cat Core <34719527+arthurbambou@users.noreply.github.com> Date: Fri, 30 Dec 2022 23:52:12 +0100 Subject: [PATCH] Add Devkitpro Pacman support (#291) --- src/config.rs | 1 + src/main.rs | 1 + src/steps/os/linux.rs | 23 +++++++++++++++++++++++ 3 files changed, 25 insertions(+) diff --git a/src/config.rs b/src/config.rs index 62cad407..110e4055 100644 --- a/src/config.rs +++ b/src/config.rs @@ -89,6 +89,7 @@ pub enum Step { DebGet, Deno, Distrobox, + DkpPacman, Dotnet, Emacs, Firmware, diff --git a/src/main.rs b/src/main.rs index fa9416be..a0f81f5e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -405,6 +405,7 @@ fn run() -> Result<()> { runner.execute(Step::Pacdef, "pacdef", || linux::run_pacdef(&ctx))?; runner.execute(Step::Protonup, "protonup", || linux::run_protonup_update(&ctx))?; runner.execute(Step::Distrobox, "distrobox", || linux::run_distrobox_update(&ctx))?; + runner.execute(Step::DkpPacman, "dkp-pacman", || linux::run_dkp_pacman_update(&ctx))?; } if let Some(commands) = config.commands() { diff --git a/src/steps/os/linux.rs b/src/steps/os/linux.rs index 2db06683..1c6fc723 100644 --- a/src/steps/os/linux.rs +++ b/src/steps/os/linux.rs @@ -690,6 +690,29 @@ pub fn run_distrobox_update(ctx: &ExecutionContext) -> Result<()> { .status_checked() } +pub fn run_dkp_pacman_update(ctx: &ExecutionContext) -> Result<()> { + let sudo = require_option(ctx.sudo().as_ref(), String::from("sudo is not installed"))?; + let dkp_pacman = require("dkp-pacman")?; + + print_separator("Devkitpro pacman"); + + ctx.run_type() + .execute(sudo) + .arg(&dkp_pacman) + .arg("-Syu") + .status_checked()?; + + if ctx.config().cleanup() { + ctx.run_type() + .execute(sudo) + .arg(&dkp_pacman) + .arg("-Scc") + .status_checked()?; + } + + Ok(()) +} + pub fn run_config_update(ctx: &ExecutionContext) -> Result<()> { let sudo = require_option(ctx.sudo().as_ref(), String::from("sudo is not installed"))?; if ctx.config().yes(Step::ConfigUpdate) {