summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSundeep KOKKONDA <sundeep.kokkonda@windriver.com>2023-10-10 21:05:50 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-10-11 09:36:02 +0100
commit6ae62259afbbe861ed74211dab18a27b8c8d8b7a (patch)
tree3af7e636896ced4719ee72dd73151d0be59371a1
parent1c35beb935d42e200370b54f9aa3848b940966dd (diff)
downloadopenembedded-core-6ae62259afbbe861ed74211dab18a27b8c8d8b7a.tar.gz
rust: reproducibility issue fix
The '--remap-path-prefix' option removes all references to build directory structure in the debug information within the compiled output for Cargo dependencies and the project's binary. However, some references to build directories remains in the final binary in .rustc section in the form of compressed metadata and this makes the build output dependent on the folder structure of the computer it's compiled on. So, for reproducible builds, use the configuration option 'remap-debuginfo = true' along with the '--remap-path-prefix'. [YOCTO# 14875] Signed-off-by: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/lib/oeqa/selftest/cases/reproducible.py2
-rw-r--r--meta/recipes-devtools/rust/rust_1.70.0.bb1
2 files changed, 1 insertions, 2 deletions
diff --git a/meta/lib/oeqa/selftest/cases/reproducible.py b/meta/lib/oeqa/selftest/cases/reproducible.py
index 84c6c3a05f..9b4a0887dd 100644
--- a/meta/lib/oeqa/selftest/cases/reproducible.py
+++ b/meta/lib/oeqa/selftest/cases/reproducible.py
@@ -16,8 +16,6 @@ import os
import datetime
exclude_packages = [
- 'rust',
- 'rust-dbg'
]
def is_excluded(package):
diff --git a/meta/recipes-devtools/rust/rust_1.70.0.bb b/meta/recipes-devtools/rust/rust_1.70.0.bb
index 3b9c05a19f..16d433910f 100644
--- a/meta/recipes-devtools/rust/rust_1.70.0.bb
+++ b/meta/recipes-devtools/rust/rust_1.70.0.bb
@@ -130,6 +130,7 @@ python do_configure() {
# [rust]
config.add_section("rust")
config.set("rust", "rpath", e(True))
+ config.set("rust", "remap-debuginfo", e(True))
config.set("rust", "channel", e(d.expand("${RUST_CHANNEL}")))
# Whether or not to optimize the compiler and standard library