diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 00000000..1653d489 --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,14 @@ +{ + "version": "2.0.0", + "tasks": [ + { + "type": "cargo", + "command": "clippy", + "problemMatcher": [ + "$rustc" + ], + "group": "test", + "label": "rust: cargo clippy" + } + ] +} diff --git a/src/config.rs b/src/config.rs index 36e56055..844e4866 100644 --- a/src/config.rs +++ b/src/config.rs @@ -81,6 +81,7 @@ pub enum Step { ConfigUpdate, Containers, CustomCommands, + DebGet, Deno, Dotnet, Emacs, diff --git a/src/main.rs b/src/main.rs index 96d7d4d4..9db1d12a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -351,6 +351,7 @@ fn run() -> Result<()> { #[cfg(target_os = "linux")] { + runner.execute(Step::DebGet, "deb-get", || linux::run_deb_get(&ctx))?; runner.execute(Step::Toolbx, "toolbx", || toolbx::run_toolbx(&ctx))?; runner.execute(Step::Flatpak, "Flatpak", || linux::flatpak_update(&ctx))?; runner.execute(Step::Snap, "snap", || linux::run_snap(sudo.as_ref(), run_type))?; diff --git a/src/steps/os/linux.rs b/src/steps/os/linux.rs index 5d97072c..82dd462c 100644 --- a/src/steps/os/linux.rs +++ b/src/steps/os/linux.rs @@ -313,6 +313,20 @@ fn upgrade_debian(ctx: &ExecutionContext) -> Result<()> { Ok(()) } +pub fn run_deb_get(ctx: &ExecutionContext) -> Result<()> { + let deb_get = require("deb-get")?; + + print_separator("deb-get"); + + ctx.execute_elevated(&deb_get, false)?.arg("upgrade").check_run()?; + + if ctx.config().cleanup() { + ctx.execute_elevated(&deb_get, false)?.arg("clean").check_run()?; + } + + Ok(()) +} + fn upgrade_solus(ctx: &ExecutionContext) -> Result<()> { if let Some(sudo) = ctx.sudo() { ctx.run_type().execute(&sudo).args(&["eopkg", "upgrade"]).check_run()?;