[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