Revert "[roll] Roll Rust toolchain"

This reverts commit 4bc48a5cbca952a8d865c1455b5c9aab07604e76.

Reason for revert: This version of Rust toolchain is broken because of ICE caused by LLVM regression as well as TLS issue affecting AArch64.

Original change's description:
> [roll] Roll Rust toolchain
> 
> Roll to revision 866a713258915e6cbb212d135f751a6a8c9e1c0a.
> 
> This changes rustc to use shorter target triples for Fuchsia, omitting
> the vendor component which also requires build configuration update.
> 
> Change-Id: Ia38f4de06f137003a3499e52166fb1f2ea3fc0aa

TBR=phosek@google.com,mcgrathr@google.com,cramertj@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: Id43dc80652ab9355cee9ace26785e3d505c1c8f3
1 file changed
tree: 8d27f99ba91cbff34ece4647a4c233d7165a929f
  1. manifest/
  2. .cipd_version
  3. .gitignore
  4. AUTHORS
  5. cipd
  6. download.sh
  7. exec_tool.sh
  8. fuchsia.ensure
  9. gn
  10. go
  11. godepfile
  12. LICENSE
  13. MAINTAINERS
  14. ninja
  15. PATENTS
  16. README.md
  17. update.sh
  18. vars.sh
README.md

Fuchsia Build Tools

This repository contains the hashes of a number of prebuilt tools that are used to build Fuchsia-related projects. The actual tools themselves are located in Google Storage.

In most cases, the jiri tool will download the build tools automatically during its update step. To download the tools manually, run update.sh.

Uploading a tool

NOTE: These instructions are for Googlers only.

Installing gsutil

The tarballs are uploaded with the “gsutil” program. See https://cloud.google.com/storage/docs/gsutil

There's a link there to download and install the Google Cloud SDK: https://cloud.google.com/sdk/docs/

After installing the SDK you need to initialize/authenticate: https://cloud.google.com/storage/docs/gsutil_install#authenticate

One of the steps will ask you for a cloud project. Choose loas-fuchsia-team.

At this point you can use gsutil to upload/download tarballs, view cloud directory contents, and so on.

Tarballs

Tarballs must have the tool name as the top level directory. E.g.,

bash$ tar tvf qemu.tar.bz2
drwxr-xr-x ... qemu/
drwxr-xr-x ... qemu/libexec/
...

The uploaded file name is the sha1 hash of the tarball. It could also be a sha1 hash of the tarball contents, avoiding unnecessary spurious differences in uploads.

To compute the latter, one can do something like:

bash$ LC_ALL=POSIX cat $(find qemu/ -type f | sort) | shasum -a1

The sha1 hash is checked into the buildtools repo and supports adding new tarballs or rolling back to a previous one. See the *.sha1 files in buildtools/{mac,linux64}.

There are separate directories for mac and linux tarballs. E.g.,

bash$ ./bin/gsutil ls gs://fuchsia-build/fuchsia/qemu/mac
gs://fuchsia-build/fuchsia/qemu/mac/
gs://fuchsia-build/fuchsia/qemu/mac/10d77d7df5b39440148ac3aab1a401ff42337a76
...
bash$ ./bin/gsutil ls gs://fuchsia-build/fuchsia/qemu/linux64
gs://fuchsia-build/fuchsia/qemu/linux64/
gs://fuchsia-build/fuchsia/qemu/linux64/10d77d7df5b39440148ac3aab1a401ff42337a76
...