[Pkg-rust-maintainers] Bug#1021711: rustc: Bootstrapping process only seems to work for amd64
Christopher Obbard
chris.obbard at collabora.com
Thu Oct 13 12:42:59 BST 2022
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.
More information about the Pkg-rust-maintainers
mailing list