mbox series

[v4,00/11] Add rust runtime tests

Message ID 20221225215921.12868-1-alex.kiernan@gmail.com
Headers show
Series Add rust runtime tests | expand

Message

Alex Kiernan Dec. 25, 2022, 9:59 p.m. UTC
This series adds runtime tests for rust and cargo, merges (most of) the
include files into the base recipes and fixes target cargo builds.

Also add SDK_TOOLCHAIN_LANGS for selection of target toolchains as part
of packagegroup-core-sdk.

Changes in v4:
- Fixup `__stack_chk_fail_local` in musl-x86
- Add crossbeam atomics fixes for ppc/mips

Changes in v3:
- Switch to packagegroup-core-sdk driven from TARGET_TOOLCHAIN_LANGS
  (which defaults to SDK_TOOLCHAIN_LANGS)

Changes in v2:
- Drop rust.inc/rust.bb merge, not actually made use of in the change
  set
- Reorder so cargo test goes after build fixes

Alex Kiernan (11):
  rust-llvm: Merge .inc into .bb
  rust-llvm: Update LLVM_VERSION to match embedded version
  packagegroup-rust-sdk-target: Add Rust SDK target packagegroup
  packagegroup-core-sdk: Add SDK toolchain language selection support
  cargo: Merge .inc into .bb
  cargo: Extend DEBUG_PREFIX_MAP to cover vendor
  rust: Merge .inc into .bb
  rust: Move musl-x86 fix for `__stack_chk_fail_local` to rust-source
  cargo: Override crossbeam-utils with 0.8.14
  packagegroup-rust-sdk-target: Add cargo
  oeqa/runtime/rust: Add cargo test

 meta/lib/oeqa/runtime/cases/rust.py           |  17 ++
 .../packagegroups/packagegroup-core-sdk.bb    |  10 +-
 .../packagegroup-rust-sdk-target.bb           |  14 ++
 meta/recipes-devtools/cargo/cargo.inc         |  69 ------
 meta/recipes-devtools/cargo/cargo_1.66.0.bb   |  80 ++++++-
 meta/recipes-devtools/rust/rust-llvm.inc      |  78 ------
 .../recipes-devtools/rust/rust-llvm_1.66.0.bb |  82 ++++++-
 meta/recipes-devtools/rust/rust-source.inc    |   5 +
 meta/recipes-devtools/rust/rust-target.inc    |  10 -
 meta/recipes-devtools/rust/rust.inc           | 223 ------------------
 meta/recipes-devtools/rust/rust_1.66.0.bb     | 223 +++++++++++++++++-
 11 files changed, 420 insertions(+), 391 deletions(-)
 create mode 100644 meta/recipes-core/packagegroups/packagegroup-rust-sdk-target.bb
 delete mode 100644 meta/recipes-devtools/cargo/cargo.inc
 delete mode 100644 meta/recipes-devtools/rust/rust-llvm.inc
 delete mode 100644 meta/recipes-devtools/rust/rust-target.inc
 delete mode 100644 meta/recipes-devtools/rust/rust.inc

Comments

Richard Purdie Dec. 26, 2022, 6:33 p.m. UTC | #1
On Sun, 2022-12-25 at 21:59 +0000, Alex Kiernan wrote:
> This series adds runtime tests for rust and cargo, merges (most of) the
> include files into the base recipes and fixes target cargo builds.
> 
> Also add SDK_TOOLCHAIN_LANGS for selection of target toolchains as part
> of packagegroup-core-sdk.
> 
> Changes in v4:
> - Fixup `__stack_chk_fail_local` in musl-x86
> - Add crossbeam atomics fixes for ppc/mips
> 
> Changes in v3:
> - Switch to packagegroup-core-sdk driven from TARGET_TOOLCHAIN_LANGS
>   (which defaults to SDK_TOOLCHAIN_LANGS)
> 
> Changes in v2:
> - Drop rust.inc/rust.bb merge, not actually made use of in the change
>   set
> - Reorder so cargo test goes after build fixes
> 
> Alex Kiernan (11):
>   rust-llvm: Merge .inc into .bb
>   rust-llvm: Update LLVM_VERSION to match embedded version
>   packagegroup-rust-sdk-target: Add Rust SDK target packagegroup
>   packagegroup-core-sdk: Add SDK toolchain language selection support
>   cargo: Merge .inc into .bb
>   cargo: Extend DEBUG_PREFIX_MAP to cover vendor
>   rust: Merge .inc into .bb
>   rust: Move musl-x86 fix for `__stack_chk_fail_local` to rust-source
>   cargo: Override crossbeam-utils with 0.8.14
>   packagegroup-rust-sdk-target: Add cargo
>   oeqa/runtime/rust: Add cargo test

Looks much better thanks. There was one remaining issue which showed up
in testing with a reproducibility issue:

https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/2119/steps/12/logs/stdio

We did already have an open bug for a rust reproducibility issue and we
excluded it from the tests until we could get to the bottom of it, I
suspect cargo may have the same issue. It frustrates me a bit as it is
the one reproducibility exclusion for core.

Ideally we would fix it but excluding it from the tests and noting it
in the bug may be an option if it is the same issue. It may be simpler
to reproduce and fix the issue with cargo too.

Cc: Sundeep who as been looking at it.

Cheers,

Richard
Alex Kiernan Dec. 27, 2022, 6:09 p.m. UTC | #2
On Mon, Dec 26, 2022 at 6:33 PM Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
>
> On Sun, 2022-12-25 at 21:59 +0000, Alex Kiernan wrote:
> > This series adds runtime tests for rust and cargo, merges (most of) the
> > include files into the base recipes and fixes target cargo builds.
> >
> > Also add SDK_TOOLCHAIN_LANGS for selection of target toolchains as part
> > of packagegroup-core-sdk.
> >
> > Changes in v4:
> > - Fixup `__stack_chk_fail_local` in musl-x86
> > - Add crossbeam atomics fixes for ppc/mips
> >
> > Changes in v3:
> > - Switch to packagegroup-core-sdk driven from TARGET_TOOLCHAIN_LANGS
> >   (which defaults to SDK_TOOLCHAIN_LANGS)
> >
> > Changes in v2:
> > - Drop rust.inc/rust.bb merge, not actually made use of in the change
> >   set
> > - Reorder so cargo test goes after build fixes
> >
> > Alex Kiernan (11):
> >   rust-llvm: Merge .inc into .bb
> >   rust-llvm: Update LLVM_VERSION to match embedded version
> >   packagegroup-rust-sdk-target: Add Rust SDK target packagegroup
> >   packagegroup-core-sdk: Add SDK toolchain language selection support
> >   cargo: Merge .inc into .bb
> >   cargo: Extend DEBUG_PREFIX_MAP to cover vendor
> >   rust: Merge .inc into .bb
> >   rust: Move musl-x86 fix for `__stack_chk_fail_local` to rust-source
> >   cargo: Override crossbeam-utils with 0.8.14
> >   packagegroup-rust-sdk-target: Add cargo
> >   oeqa/runtime/rust: Add cargo test
>
> Looks much better thanks. There was one remaining issue which showed up
> in testing with a reproducibility issue:
>
> https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/2119/steps/12/logs/stdio
>
> We did already have an open bug for a rust reproducibility issue and we
> excluded it from the tests until we could get to the bottom of it, I
> suspect cargo may have the same issue. It frustrates me a bit as it is
> the one reproducibility exclusion for core.
>
> Ideally we would fix it but excluding it from the tests and noting it
> in the bug may be an option if it is the same issue. It may be simpler
> to reproduce and fix the issue with cargo too.
>
> Cc: Sundeep who as been looking at it.
>

Just reading the ticket and the upstream ones... the upstream ticket
is closed as remap path fixes it (which it looks like it does to me),
there are build paths embedded in the build directory which don't get
caught by that, but they're in thing like bootstrap which isn't
packaged (which may or may not be an issue, but I'm suspecting not);
it kinda feels like we're missing something.

Can I get hold of the cargo packages generated here to have a poke at them?
Richard Purdie Dec. 28, 2022, midnight UTC | #3
On Tue, 2022-12-27 at 18:09 +0000, Alex Kiernan wrote:
> On Mon, Dec 26, 2022 at 6:33 PM Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> > 
> > On Sun, 2022-12-25 at 21:59 +0000, Alex Kiernan wrote:
> > > This series adds runtime tests for rust and cargo, merges (most of) the
> > > include files into the base recipes and fixes target cargo builds.
> > > 
> > > Also add SDK_TOOLCHAIN_LANGS for selection of target toolchains as part
> > > of packagegroup-core-sdk.
> > > 
> > > Changes in v4:
> > > - Fixup `__stack_chk_fail_local` in musl-x86
> > > - Add crossbeam atomics fixes for ppc/mips
> > > 
> > > Changes in v3:
> > > - Switch to packagegroup-core-sdk driven from TARGET_TOOLCHAIN_LANGS
> > >   (which defaults to SDK_TOOLCHAIN_LANGS)
> > > 
> > > Changes in v2:
> > > - Drop rust.inc/rust.bb merge, not actually made use of in the change
> > >   set
> > > - Reorder so cargo test goes after build fixes
> > > 
> > > Alex Kiernan (11):
> > >   rust-llvm: Merge .inc into .bb
> > >   rust-llvm: Update LLVM_VERSION to match embedded version
> > >   packagegroup-rust-sdk-target: Add Rust SDK target packagegroup
> > >   packagegroup-core-sdk: Add SDK toolchain language selection support
> > >   cargo: Merge .inc into .bb
> > >   cargo: Extend DEBUG_PREFIX_MAP to cover vendor
> > >   rust: Merge .inc into .bb
> > >   rust: Move musl-x86 fix for `__stack_chk_fail_local` to rust-source
> > >   cargo: Override crossbeam-utils with 0.8.14
> > >   packagegroup-rust-sdk-target: Add cargo
> > >   oeqa/runtime/rust: Add cargo test
> > 
> > Looks much better thanks. There was one remaining issue which showed up
> > in testing with a reproducibility issue:
> > 
> > https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/2119/steps/12/logs/stdio
> > 
> > We did already have an open bug for a rust reproducibility issue and we
> > excluded it from the tests until we could get to the bottom of it, I
> > suspect cargo may have the same issue. It frustrates me a bit as it is
> > the one reproducibility exclusion for core.
> > 
> > Ideally we would fix it but excluding it from the tests and noting it
> > in the bug may be an option if it is the same issue. It may be simpler
> > to reproduce and fix the issue with cargo too.
> > 
> > Cc: Sundeep who as been looking at it.
> > 
> 
> Just reading the ticket and the upstream ones... the upstream ticket
> is closed as remap path fixes it (which it looks like it does to me),
> there are build paths embedded in the build directory which don't get
> caught by that, but they're in thing like bootstrap which isn't
> packaged (which may or may not be an issue, but I'm suspecting not);
> it kinda feels like we're missing something.
> 
> Can I get hold of the cargo packages generated here to have a poke at them?

Yes. The key line in the log is:

022-12-26 11:56:30,555 - oe-selftest - INFO - Non-reproducible packages will be copied to /srv/autobuilder/autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20221226-0vk5efsk

i.e.

https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20221226-0vk5efsk

where you'll find both the package files and diffoscope output:

https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20221226-0vk5efsk/packages/diff-html/

which seems to be saying the symbol table changed size which is
unusual. I didn't look very deeply.

Cheers,

Richard
Alex Kiernan Dec. 28, 2022, 2:51 p.m. UTC | #4
On Wed, Dec 28, 2022 at 12:01 AM Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
>
> On Tue, 2022-12-27 at 18:09 +0000, Alex Kiernan wrote:
> > On Mon, Dec 26, 2022 at 6:33 PM Richard Purdie
> > <richard.purdie@linuxfoundation.org> wrote:
> > >
> > > On Sun, 2022-12-25 at 21:59 +0000, Alex Kiernan wrote:
> > > > This series adds runtime tests for rust and cargo, merges (most of) the
> > > > include files into the base recipes and fixes target cargo builds.
> > > >
> > > > Also add SDK_TOOLCHAIN_LANGS for selection of target toolchains as part
> > > > of packagegroup-core-sdk.
> > > >
> > > > Changes in v4:
> > > > - Fixup `__stack_chk_fail_local` in musl-x86
> > > > - Add crossbeam atomics fixes for ppc/mips
> > > >
> > > > Changes in v3:
> > > > - Switch to packagegroup-core-sdk driven from TARGET_TOOLCHAIN_LANGS
> > > >   (which defaults to SDK_TOOLCHAIN_LANGS)
> > > >
> > > > Changes in v2:
> > > > - Drop rust.inc/rust.bb merge, not actually made use of in the change
> > > >   set
> > > > - Reorder so cargo test goes after build fixes
> > > >
> > > > Alex Kiernan (11):
> > > >   rust-llvm: Merge .inc into .bb
> > > >   rust-llvm: Update LLVM_VERSION to match embedded version
> > > >   packagegroup-rust-sdk-target: Add Rust SDK target packagegroup
> > > >   packagegroup-core-sdk: Add SDK toolchain language selection support
> > > >   cargo: Merge .inc into .bb
> > > >   cargo: Extend DEBUG_PREFIX_MAP to cover vendor
> > > >   rust: Merge .inc into .bb
> > > >   rust: Move musl-x86 fix for `__stack_chk_fail_local` to rust-source
> > > >   cargo: Override crossbeam-utils with 0.8.14
> > > >   packagegroup-rust-sdk-target: Add cargo
> > > >   oeqa/runtime/rust: Add cargo test
> > >
> > > Looks much better thanks. There was one remaining issue which showed up
> > > in testing with a reproducibility issue:
> > >
> > > https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/2119/steps/12/logs/stdio
> > >
> > > We did already have an open bug for a rust reproducibility issue and we
> > > excluded it from the tests until we could get to the bottom of it, I
> > > suspect cargo may have the same issue. It frustrates me a bit as it is
> > > the one reproducibility exclusion for core.
> > >
> > > Ideally we would fix it but excluding it from the tests and noting it
> > > in the bug may be an option if it is the same issue. It may be simpler
> > > to reproduce and fix the issue with cargo too.
> > >
> > > Cc: Sundeep who as been looking at it.
> > >
> >
> > Just reading the ticket and the upstream ones... the upstream ticket
> > is closed as remap path fixes it (which it looks like it does to me),
> > there are build paths embedded in the build directory which don't get
> > caught by that, but they're in thing like bootstrap which isn't
> > packaged (which may or may not be an issue, but I'm suspecting not);
> > it kinda feels like we're missing something.
> >
> > Can I get hold of the cargo packages generated here to have a poke at them?
>
> Yes. The key line in the log is:
>
> 022-12-26 11:56:30,555 - oe-selftest - INFO - Non-reproducible packages will be copied to /srv/autobuilder/autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20221226-0vk5efsk
>
> i.e.
>
> https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20221226-0vk5efsk
>
> where you'll find both the package files and diffoscope output:
>
> https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20221226-0vk5efsk/packages/diff-html/
>
> which seems to be saying the symbol table changed size which is
> unusual. I didn't look very deeply.
>

Upstream has this ticket which, given how I did the patching for
cargo, feels like the right kind of thing (rust has something similar
out of the box):

https://github.com/rust-lang/rust/issues/98185

I've switched it around so that it uses local patching rather than
cargo patching, which if it is this, seems like it might resolve it.

--
Alex Kiernan
Richard Purdie Dec. 29, 2022, 12:53 p.m. UTC | #5
On Wed, 2022-12-28 at 14:51 +0000, Alex Kiernan wrote:
> On Wed, Dec 28, 2022 at 12:01 AM Richard Purdie
> <richard.purdie@linuxfoundation.org> wrote:
> > 
> > On Tue, 2022-12-27 at 18:09 +0000, Alex Kiernan wrote:
> > > On Mon, Dec 26, 2022 at 6:33 PM Richard Purdie
> > > <richard.purdie@linuxfoundation.org> wrote:
> > > > 
> > > > On Sun, 2022-12-25 at 21:59 +0000, Alex Kiernan wrote:
> > > > > This series adds runtime tests for rust and cargo, merges (most of) the
> > > > > include files into the base recipes and fixes target cargo builds.
> > > > > 
> > > > > Also add SDK_TOOLCHAIN_LANGS for selection of target toolchains as part
> > > > > of packagegroup-core-sdk.
> > > > > 
> > > > > Changes in v4:
> > > > > - Fixup `__stack_chk_fail_local` in musl-x86
> > > > > - Add crossbeam atomics fixes for ppc/mips
> > > > > 
> > > > > Changes in v3:
> > > > > - Switch to packagegroup-core-sdk driven from TARGET_TOOLCHAIN_LANGS
> > > > >   (which defaults to SDK_TOOLCHAIN_LANGS)
> > > > > 
> > > > > Changes in v2:
> > > > > - Drop rust.inc/rust.bb merge, not actually made use of in the change
> > > > >   set
> > > > > - Reorder so cargo test goes after build fixes
> > > > > 
> > > > > Alex Kiernan (11):
> > > > >   rust-llvm: Merge .inc into .bb
> > > > >   rust-llvm: Update LLVM_VERSION to match embedded version
> > > > >   packagegroup-rust-sdk-target: Add Rust SDK target packagegroup
> > > > >   packagegroup-core-sdk: Add SDK toolchain language selection support
> > > > >   cargo: Merge .inc into .bb
> > > > >   cargo: Extend DEBUG_PREFIX_MAP to cover vendor
> > > > >   rust: Merge .inc into .bb
> > > > >   rust: Move musl-x86 fix for `__stack_chk_fail_local` to rust-source
> > > > >   cargo: Override crossbeam-utils with 0.8.14
> > > > >   packagegroup-rust-sdk-target: Add cargo
> > > > >   oeqa/runtime/rust: Add cargo test
> > > > 
> > > > Looks much better thanks. There was one remaining issue which showed up
> > > > in testing with a reproducibility issue:
> > > > 
> > > > https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/2119/steps/12/logs/stdio
> > > > 
> > > > We did already have an open bug for a rust reproducibility issue and we
> > > > excluded it from the tests until we could get to the bottom of it, I
> > > > suspect cargo may have the same issue. It frustrates me a bit as it is
> > > > the one reproducibility exclusion for core.
> > > > 
> > > > Ideally we would fix it but excluding it from the tests and noting it
> > > > in the bug may be an option if it is the same issue. It may be simpler
> > > > to reproduce and fix the issue with cargo too.
> > > > 
> > > > Cc: Sundeep who as been looking at it.
> > > > 
> > > 
> > > Just reading the ticket and the upstream ones... the upstream ticket
> > > is closed as remap path fixes it (which it looks like it does to me),
> > > there are build paths embedded in the build directory which don't get
> > > caught by that, but they're in thing like bootstrap which isn't
> > > packaged (which may or may not be an issue, but I'm suspecting not);
> > > it kinda feels like we're missing something.
> > > 
> > > Can I get hold of the cargo packages generated here to have a poke at them?
> > 
> > Yes. The key line in the log is:
> > 
> > 022-12-26 11:56:30,555 - oe-selftest - INFO - Non-reproducible packages will be copied to /srv/autobuilder/autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20221226-0vk5efsk
> > 
> > i.e.
> > 
> > https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20221226-0vk5efsk
> > 
> > where you'll find both the package files and diffoscope output:
> > 
> > https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20221226-0vk5efsk/packages/diff-html/
> > 
> > which seems to be saying the symbol table changed size which is
> > unusual. I didn't look very deeply.
> > 
> 
> Upstream has this ticket which, given how I did the patching for
> cargo, feels like the right kind of thing (rust has something similar
> out of the box):
> 
> https://github.com/rust-lang/rust/issues/98185
> 
> I've switched it around so that it uses local patching rather than
> cargo patching, which if it is this, seems like it might resolve it.

It was a different issue, thanks for tracking that down and fixing it!

The tests all passed so I merged the v5 series. Thanks for working
through things, I think this makes our rust situation much more robust
and should help future proof it :)

Cheers,

Richard
Alex Kiernan Dec. 29, 2022, 7:25 p.m. UTC | #6
On Thu, Dec 29, 2022 at 12:53 PM Richard Purdie
<richard.purdie@linuxfoundation.org> wrote:
>
> On Wed, 2022-12-28 at 14:51 +0000, Alex Kiernan wrote:
> > On Wed, Dec 28, 2022 at 12:01 AM Richard Purdie
> > <richard.purdie@linuxfoundation.org> wrote:
> > >
> > > On Tue, 2022-12-27 at 18:09 +0000, Alex Kiernan wrote:
> > > > On Mon, Dec 26, 2022 at 6:33 PM Richard Purdie
> > > > <richard.purdie@linuxfoundation.org> wrote:
> > > > >
> > > > > On Sun, 2022-12-25 at 21:59 +0000, Alex Kiernan wrote:
> > > > > > This series adds runtime tests for rust and cargo, merges (most of) the
> > > > > > include files into the base recipes and fixes target cargo builds.
> > > > > >
> > > > > > Also add SDK_TOOLCHAIN_LANGS for selection of target toolchains as part
> > > > > > of packagegroup-core-sdk.
> > > > > >
> > > > > > Changes in v4:
> > > > > > - Fixup `__stack_chk_fail_local` in musl-x86
> > > > > > - Add crossbeam atomics fixes for ppc/mips
> > > > > >
> > > > > > Changes in v3:
> > > > > > - Switch to packagegroup-core-sdk driven from TARGET_TOOLCHAIN_LANGS
> > > > > >   (which defaults to SDK_TOOLCHAIN_LANGS)
> > > > > >
> > > > > > Changes in v2:
> > > > > > - Drop rust.inc/rust.bb merge, not actually made use of in the change
> > > > > >   set
> > > > > > - Reorder so cargo test goes after build fixes
> > > > > >
> > > > > > Alex Kiernan (11):
> > > > > >   rust-llvm: Merge .inc into .bb
> > > > > >   rust-llvm: Update LLVM_VERSION to match embedded version
> > > > > >   packagegroup-rust-sdk-target: Add Rust SDK target packagegroup
> > > > > >   packagegroup-core-sdk: Add SDK toolchain language selection support
> > > > > >   cargo: Merge .inc into .bb
> > > > > >   cargo: Extend DEBUG_PREFIX_MAP to cover vendor
> > > > > >   rust: Merge .inc into .bb
> > > > > >   rust: Move musl-x86 fix for `__stack_chk_fail_local` to rust-source
> > > > > >   cargo: Override crossbeam-utils with 0.8.14
> > > > > >   packagegroup-rust-sdk-target: Add cargo
> > > > > >   oeqa/runtime/rust: Add cargo test
> > > > >
> > > > > Looks much better thanks. There was one remaining issue which showed up
> > > > > in testing with a reproducibility issue:
> > > > >
> > > > > https://autobuilder.yoctoproject.org/typhoon/#/builders/117/builds/2119/steps/12/logs/stdio
> > > > >
> > > > > We did already have an open bug for a rust reproducibility issue and we
> > > > > excluded it from the tests until we could get to the bottom of it, I
> > > > > suspect cargo may have the same issue. It frustrates me a bit as it is
> > > > > the one reproducibility exclusion for core.
> > > > >
> > > > > Ideally we would fix it but excluding it from the tests and noting it
> > > > > in the bug may be an option if it is the same issue. It may be simpler
> > > > > to reproduce and fix the issue with cargo too.
> > > > >
> > > > > Cc: Sundeep who as been looking at it.
> > > > >
> > > >
> > > > Just reading the ticket and the upstream ones... the upstream ticket
> > > > is closed as remap path fixes it (which it looks like it does to me),
> > > > there are build paths embedded in the build directory which don't get
> > > > caught by that, but they're in thing like bootstrap which isn't
> > > > packaged (which may or may not be an issue, but I'm suspecting not);
> > > > it kinda feels like we're missing something.
> > > >
> > > > Can I get hold of the cargo packages generated here to have a poke at them?
> > >
> > > Yes. The key line in the log is:
> > >
> > > 022-12-26 11:56:30,555 - oe-selftest - INFO - Non-reproducible packages will be copied to /srv/autobuilder/autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20221226-0vk5efsk
> > >
> > > i.e.
> > >
> > > https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20221226-0vk5efsk
> > >
> > > where you'll find both the package files and diffoscope output:
> > >
> > > https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20221226-0vk5efsk/packages/diff-html/
> > >
> > > which seems to be saying the symbol table changed size which is
> > > unusual. I didn't look very deeply.
> > >
> >
> > Upstream has this ticket which, given how I did the patching for
> > cargo, feels like the right kind of thing (rust has something similar
> > out of the box):
> >
> > https://github.com/rust-lang/rust/issues/98185
> >
> > I've switched it around so that it uses local patching rather than
> > cargo patching, which if it is this, seems like it might resolve it.
>
> It was a different issue, thanks for tracking that down and fixing it!
>

I'm not so sure - there's a .cargo/config.toml in the vendored rustc
tarball which explicitly patches one of the vendored sources (it feels
odd, but hey...), so I think we'll trip over this issue (assuming
that's what the problem is).

> The tests all passed so I merged the v5 series. Thanks for working
> through things, I think this makes our rust situation much more robust
> and should help future proof it :)
>

:)