From 397bf24142fa8c9dfc9d8c8fdbda3f4ae509182d Mon Sep 17 00:00:00 2001 From: Brendan <2bndy5@gmail.com> Date: Mon, 8 Jun 2026 19:22:26 -0700 Subject: [PATCH 1/2] add some debug logs --- .../src/downloader/native_packages/unix.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/clang-tools-manager/src/downloader/native_packages/unix.rs b/clang-tools-manager/src/downloader/native_packages/unix.rs index ae01ff49..4aa9becd 100644 --- a/clang-tools-manager/src/downloader/native_packages/unix.rs +++ b/clang-tools-manager/src/downloader/native_packages/unix.rs @@ -127,12 +127,22 @@ impl PackageManager for UnixPackageManager { } } let output = if Self::has_sudo() && !matches!(self, UnixPackageManager::Homebrew) { + log::debug!( + "Running `sudo {} {} {package_id}`", + self.as_str(), + args.join(" ") + ); Command::new("sudo") .arg(self.as_str()) .args(args) .arg(package_id.as_str()) .output()? } else { + log::debug!( + "Running `{} {} {package_id}`", + self.as_str(), + args.join(" ") + ); Command::new(self.as_str()) .args(args) .arg(package_id.as_str()) @@ -145,6 +155,10 @@ impl PackageManager for UnixPackageManager { if matches!(self, UnixPackageManager::Apt) && let Some(version) = version { + log::error!( + "Failed to install {package_id} via apt: {}", + String::from_utf8_lossy(&output.stderr) + ); log::info!( "trying to install from official LLVM PPA repository (for Debian-based `apt` package manager)" ); From e35dca39f512c344e29fbdd87f3e5d06f2aa7b54 Mon Sep 17 00:00:00 2001 From: Brendan <2bndy5@gmail.com> Date: Tue, 9 Jun 2026 15:58:02 -0700 Subject: [PATCH 2/2] do not fail on check for tool presence package managers may not have any version of the desired tool installed --- .../src/downloader/native_packages/mod.rs | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/clang-tools-manager/src/downloader/native_packages/mod.rs b/clang-tools-manager/src/downloader/native_packages/mod.rs index 8d73d38b..db3c15c2 100644 --- a/clang-tools-manager/src/downloader/native_packages/mod.rs +++ b/clang-tools-manager/src/downloader/native_packages/mod.rs @@ -83,16 +83,16 @@ pub async fn try_install_package( for mgr in os_pkg_managers { log::info!("Trying to install {tool} v{min_version} using {mgr} package manager."); let pkg_name = mgr.get_package_name(tool); - if mgr.is_installed_package(&pkg_name, Some(min_version)) { - let path = - tool.get_exe_path(&RequestedVersion::Requirement(version_req.clone()))?; - let version = tool.capture_version(&path)?; - if version_req.matches(&version) { - log::info!( - "Found {tool} version matching {version_req} installed via {mgr} package manager." - ); - return Ok(Some(ClangVersion { version, path })); - } + if mgr.is_installed_package(&pkg_name, Some(min_version)) + && let Ok(path) = + tool.get_exe_path(&RequestedVersion::Requirement(version_req.clone())) + && let Ok(version) = tool.capture_version(&path) + && version_req.matches(&version) + { + log::info!( + "Found {tool} version matching {version_req} installed via {mgr} package manager." + ); + return Ok(Some(ClangVersion { version, path })); } else { log::info!( "{mgr} package manager does not have a version of {tool} matching {version_req} installed."