[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