From cb4f56b633cfcae3c3204eb2e6f2a7e831a5d58e Mon Sep 17 00:00:00 2001 From: Vasilito Date: Fri, 8 May 2026 11:48:45 +0100 Subject: [PATCH] fix: TUI spawns current_exe() instead of hardcoded 'cub' in PATH --- local/recipes/system/cub/source/cub-tui/src/app.rs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/local/recipes/system/cub/source/cub-tui/src/app.rs b/local/recipes/system/cub/source/cub-tui/src/app.rs index 135aa2b99..ad5f40e0b 100644 --- a/local/recipes/system/cub/source/cub-tui/src/app.rs +++ b/local/recipes/system/cub/source/cub-tui/src/app.rs @@ -328,7 +328,7 @@ impl CubApp { self.status_message = format!("Installing {}...", package_name); self.spawn_action( ActionKind::Install, - "cub", + &self_exe(), vec!["install".into(), package_name], ); } @@ -391,7 +391,7 @@ impl CubApp { format!("Running command: cub build {}", display), ]; self.status_message = format!("Building {}...", display); - self.spawn_action(ActionKind::Build, "cub", vec!["build".into(), display]); + self.spawn_action(ActionKind::Build, &self_exe(), vec!["build".into(), display]); } pub fn open_selected_info(&mut self) { @@ -587,8 +587,14 @@ impl CubApp { } } +fn self_exe() -> String { + std::env::current_exe() + .map(|p| p.to_string_lossy().to_string()) + .unwrap_or_else(|_| "cub".to_string()) +} + fn terminal_error(error: io::Error) -> CubError { - CubError::Io(error) + CubError::BuildFailed(format!("terminal error: {error}")) } fn action_label(kind: ActionKind) -> &'static str {