On Tue, 2023-10-10 at 21:05 -0700, Sundeep KOKKONDA via lists.openembedded.org wrote: > [Yocto#14875] > 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'. > > Signed-off-by: Sundeep KOKKONDA <sundeep.kokko...@windriver.com> > --- > meta/lib/oeqa/selftest/cases/reproducible.py | 2 -- > meta/recipes-devtools/rust/rust_1.70.0.bb | 1 + > 2 files changed, 1 insertion(+), 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
Unfortunately I have some less good news, the rust reproducibility tests do still have some kind of failure: https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/3736/steps/12/logs/stdio http://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20231011-7wbq1syl/packages/diff-html/ This is a bit different to the previous issue since the rlib files are not changing and this is rustdoc. At a quick glance, it looks like the symbols are changing order in the file, which can sometimes be caused by the link command not being in the same order on all builds. This could be for example something doing: $LD *.so and hence the order of the linked objects depends on the order of the files on disk and which order glob found them in. It could also be something else. So we've made great progress and this will help our SPDX issues as the filenames are now consistent but we're not quite there yet I'm afraid. Unless we can find it quickly we'll have to put rust back on the exclusion list for the release. Cheers, Richard
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#188988): https://lists.openembedded.org/g/openembedded-core/message/188988 Mute This Topic: https://lists.openembedded.org/mt/101890610/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-