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:53 +0100
commitb36cbd3f2bd2096129d14311f6f17f2c64482704 (patch)
treebfc854f06c3b00c14a503e75e75409257f1abbba
parentc2e094ddfd185f0fe2d2957ff89b9a4fde794942 (diff)
downloadpoky-b36cbd3f2bd2096129d14311f6f17f2c64482704.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] (From OE-Core rev: 6ae62259afbbe861ed74211dab18a27b8c8d8b7a) 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
16import datetime 16import datetime
17 17
18exclude_packages = [ 18exclude_packages = [
19 'rust',
20 'rust-dbg'
21 ] 19 ]
22 20
23def is_excluded(package): 21def 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() {
130 # [rust] 130 # [rust]
131 config.add_section("rust") 131 config.add_section("rust")
132 config.set("rust", "rpath", e(True)) 132 config.set("rust", "rpath", e(True))
133 config.set("rust", "remap-debuginfo", e(True))
133 config.set("rust", "channel", e(d.expand("${RUST_CHANNEL}"))) 134 config.set("rust", "channel", e(d.expand("${RUST_CHANNEL}")))
134 135
135 # Whether or not to optimize the compiler and standard library 136 # Whether or not to optimize the compiler and standard library