In the course of https://patchwork.yoctoproject.org/project/oe-core/list/?series=11635 it has been found that the zvariant is not reproductible : - https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/2643/steps/12/logs/stdio - http://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20230331-65jkdy_c/packages/diff-html/ During discussion (see https://patchwork.yoctoproject.org/project/oe-core/patch/d0b6aff677d7e7a268b4c16a83ff3162e9c60dd1.1680238655.git.frederic.martinsons@gmail.com/#9704) it has been suggested to open a dedicated issue for this problem and set EXCLUDE_FROM_WORLD in the zvariant recipe.
Frederic, Can you work on this? There is another rust reproducibility issue that Sundeep is working so he's CCed.
Hello Randy, At least , I can try to ;) I know nothing of reproducibility issue and at first look, it may buried deep in rust guts. Anyway, feel free to assign me this problem and if Sundeep can share its progress too, it will be a great help.
Hello Frédéric, The reproducibility issue I am working is - https://bugzilla.yoctoproject.org/show_bug.cgi?id=14875 Initially we thought it was a bug in Yocto but later we found that this is an issue in upstream itself and now working to find a fix/workaround in rust. You can see the analysis in the issue comments.
Thanks sundeep, will take a look at this. I currently use reprotest (https://salsa.debian.org/reproducible-builds/reprotest) on zvariant by calling the following wrapper (that has been taken from https://github.com/kpcyrd/sniffglue/blob/main/ci/reprotest.sh) ``` #!/bin/bash set -xue [ $# -ne 1 ] && { echo "Waiting a binary name"; exit 1; } # by default, the build folder is located in /tmp, which is a tmpfs. The target/ folder # can become quite large, causing the build to fail if we don't have enough RAM. export TMPDIR="$HOME/tmp/repro-test" mkdir -p "$TMPDIR" if [ -d "./benches" ]; then patt="Cargo.* src/ benches/" else patt="Cargo.* src/" fi # rustc segfault when using faketime: # https://github.com/rust-secure-code/cargo-repro/issues/4 # https://github.com/rust-lang/rust/issues/60461 # reprotest -vv --vary=-time --source-pattern "$patt" ' CARGO_HOME="$PWD/.cargo" RUSTUP_HOME='"$HOME/.rustup"' \ RUSTFLAGS="--remap-path-prefix=$HOME=/remap-home --remap-path-prefix=$PWD=/remap-pwd" \ cargo build --release --verbose' \ target/release/${1} ``` I ran this towards zvariant recipe and I didn't have issues (beside the faketime ones). I'll look at what yocto reproducible tests do differently to have a better picture of it and understand if it is a false positive or not.
Very likely to be the same as https://bugzilla.yoctoproject.org/show_bug.cgi?id=14875 Closing this one as duplicate. *** This bug has been marked as a duplicate of bug 14875 ***