[Pkg-rust-maintainers] Bug#1021711: rustc: Bootstrapping process only seems to work for amd64
Fabian Grünbichler
debian at fabian.gruenbichler.email
Thu Feb 8 07:38:09 GMT 2024
On Thu, 13 Oct 2022 12:42:59 +0100 Christopher Obbard <chris.obbard at collabora.com> wrote:
> Package: rustc
> Version: 1.61.0+dfsg1-2
> Severity: normal
>
> Dear Maintainer,
>
> When following the bootstrapping process in d/README.source, it only
> seems to generate a tarball with the amd64 binaries despite the variable
> upstream_bootstrap_arch set to include more bootstrap architectures.
>
> I am running:
>
> $ upstream_bootstrap_arch="amd64 arm64" debian/rules source_orig-stage0
> ...
> debian/make_orig-stage0_tarball.sh
> downloading https://static.rust-lang.org/dist/2022-04-07/rust-std-1.60.0-x86_64-unknown-linux-gnu.tar.xz
> ######################################################################## 100.0%
> extracting rustc/build/cache/2022-04-07/rust-std-1.60.0-x86_64-unknown-linux-gnu.tar.xz
> downloading https://static.rust-lang.org/dist/2022-04-07/rustc-1.60.0-x86_64-unknown-linux-gnu.tar.xz
> ######################################################################## 100.0%
> extracting rustc/build/cache/2022-04-07/rustc-1.60.0-x86_64-unknown-linux-gnu.tar.xz
> downloading https://static.rust-lang.org/dist/2022-04-07/cargo-1.60.0-x86_64-unknown-linux-gnu.tar.xz
> ######################################################################## 100.0%
> extracting rustc/build/cache/2022-04-07/cargo-1.60.0-x86_64-unknown-linux-gnu.tar.xz
> building stage0 tar file now, this will take a while...
> ================================================================================
> orig-stage0 bootstrapping tarball created in ../rustc_1.61.0+dfsg1.orig-stage0.tar.xz
> containing the upstream compilers for amd64 arm64
>
> You *probably* now want to do the following steps:
>
> 1. Add [!amd64 !arm64] to the rustc/cargo Build-Depends in d/control
> 2. Update d/changelog
> 3. Run `dpkg-source -b .` to generate a .dsc that includes this tarball.
> ================================================================================
>
> $ tar tvf ../rustc_1.61.0+dfsg1.orig-stage0.tar.xz
> drwxr-xr-x root/root 0 2022-10-13 11:34 2022-04-07/
> -rw------- root/root 57248964 2022-04-07 14:44 2022-04-07/rustc-1.60.0-x86_64-unknown-linux-gnu.tar.xz
> -rw------- root/root 6585328 2022-04-07 14:41 2022-04-07/cargo-1.60.0-x86_64-unknown-linux-gnu.tar.xz
> -rw------- root/root 27569116 2022-04-07 14:44 2022-04-07/rust-std-1.60.0-x86_64-unknown-linux-gnu.tar.xz
> -rw-r--r-- root/root 0 2022-10-13 11:34 dpkg-source-dont-rename-parent-directory
>
> As you can see, only the x86_64 binary is present inside the stage0 tarball.
>
> To workaround this locally, I manually called
> $ PYTHONPATH=src/bootstrap debian/get-stage0.py <triplet>
> then re-ran the source_orig-stage0 which packed the downloaded tarballs into
> the stage0 tarball.
since this came up in IRC a few times as well - I can reproduce the
problem, and I think it stems from the interaction between the two
architecture(-test).mk files and debian/rules, but I haven't had time to
investigate more (yet).
More information about the Pkg-rust-maintainers
mailing list