diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:20:40 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:20:40 +0000 |
commit | b667bd04d7a0062c0e3fc07f480f5d66c55c0014 (patch) | |
tree | ae99acd0647b6bcb5fe608adaa66995139eb146e /debian/patches/u-fix-sysroot-detection-logic.patch | |
parent | Merging upstream version 1.70.0+dfsg1. (diff) | |
download | rustc-b667bd04d7a0062c0e3fc07f480f5d66c55c0014.tar.xz rustc-b667bd04d7a0062c0e3fc07f480f5d66c55c0014.zip |
Merging debian version 1.70.0+dfsg1-7.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/patches/u-fix-sysroot-detection-logic.patch')
-rw-r--r-- | debian/patches/u-fix-sysroot-detection-logic.patch | 46 |
1 files changed, 0 insertions, 46 deletions
diff --git a/debian/patches/u-fix-sysroot-detection-logic.patch b/debian/patches/u-fix-sysroot-detection-logic.patch deleted file mode 100644 index 64cc291f7..000000000 --- a/debian/patches/u-fix-sysroot-detection-logic.patch +++ /dev/null @@ -1,46 +0,0 @@ -Description: Fix sysroot detection which would result in /usr/lib/lib/rustlib - This patch is a mixture of two upstream fix attempts. The first from - https://github.com/rust-lang/rust/pull/108376 didn't actually solve the - problem in Debian's case. After reporting that in $Bug, a second attempt is - made at https://github.com/rust-lang/rust/pull/110281, which worked. -Bug: https://github.com/rust-lang/rust/issues/109994 ---- a/compiler/rustc_session/src/filesearch.rs -+++ b/compiler/rustc_session/src/filesearch.rs -@@ -179,7 +179,7 @@ - ))?; - - // if `dir` points target's dir, move up to the sysroot -- if dir.ends_with(crate::config::host_triple()) { -+ let mut sysroot_dir = if dir.ends_with(crate::config::host_triple()) { - dir.parent() // chop off `$target` - .and_then(|p| p.parent()) // chop off `rustlib` - .and_then(|p| { -@@ -194,13 +194,25 @@ - } - }) - .map(|s| s.to_owned()) -- .ok_or(format!( -+ .ok_or_else(|| format!( - "Could not move 3 levels upper using `parent()` on {}", - dir.display() -- )) -+ ))? - } else { -- Ok(dir.to_owned()) -+ dir.to_owned() -+ }; -+ -+ // On multiarch linux systems, there will be multiarch directory named -+ // with the architecture(e.g `x86_64-linux-gnu`) under the `lib` directory. -+ // Which cause us to mistakenly end up in the lib directory instead of the sysroot directory. -+ if sysroot_dir.ends_with("lib") { -+ sysroot_dir = -+ sysroot_dir.parent().map(|real_sysroot| real_sysroot.to_owned()).ok_or_else( -+ || format!("Could not move to parent path of {}", sysroot_dir.display()), -+ )? - } -+ -+ Ok(sysroot_dir) - } - - // Use env::args().next() to get the path of the executable without |