From a2b435916d1b13507ee33d51e6f30763f23737e1 Mon Sep 17 00:00:00 2001 From: "mergify[bot]" <37929162+mergify[bot]@users.noreply.github.com> Date: Mon, 6 Sep 2021 22:23:40 +0000 Subject: [PATCH] Fix handling of stale links to bpf-tools in cargo-build-bpf (#17772) (#19667) (cherry picked from commit 910ac94a8cab99ed3f0fa490f8ca3528557aac4e) Co-authored-by: Dmitri Makarov --- sdk/cargo-build-bpf/src/main.rs | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/sdk/cargo-build-bpf/src/main.rs b/sdk/cargo-build-bpf/src/main.rs index 07ebabb948..3e177422b0 100644 --- a/sdk/cargo-build-bpf/src/main.rs +++ b/sdk/cargo-build-bpf/src/main.rs @@ -130,20 +130,17 @@ fn install_if_missing( } let source_path = source_base.join(package); // Check whether the correct symbolic link exists. - let missing_source = if source_path.exists() { - let invalid_link = if let Ok(link_target) = source_path.read_link() { - link_target != target_path - } else { - true - }; - if invalid_link { + let invalid_link = if let Ok(link_target) = source_path.read_link() { + if link_target != target_path { fs::remove_file(&source_path).map_err(|err| err.to_string())?; + true + } else { + false } - invalid_link } else { true }; - if missing_source { + if invalid_link { #[cfg(unix)] std::os::unix::fs::symlink(target_path, source_path).map_err(|err| err.to_string())?; #[cfg(windows)]