[roll] Roll fuchsia [build] Fix copy() command to handle symlinks properly.

Use a shell script to handle all conditions gracefully.

When a symlink is found whose target begins with ../
then rewrite it to a correct path relative to the
destination directory instead.

+ Passing the path to the Python interpreter, in order for
  the OS X fallback script in //build/toolchain/copy.py to
  be invoked with the right executable. Before that, whatever
  was in the PATH would be picked up, which was different
  between 'fx build' (which massages the environment) and
  calling 'fx ninja' directly.

Measurements show no large impact on clean build performance:
For: `fx clean && time fx build`

BEFORE:

    [229641/229641] STAMP obj/default.stamp

    real    26m57.803s
    user    529m25.939s
    sys     94m17.939s

AFTER:

    [229641/229641] STAMP obj/default.stamp

    real    27m9.392s
    user    527m23.244s
    sys     95m57.729s

Original-Fixed: 89982
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/620261
Original-Revision: 590c56b2b698ff39cda11f65c9ce7925f92aee7e
GitOrigin-RevId: c70ac3ab3408c2f6d41e2f1488816db373cdf2b7
Change-Id: I490b9eac8e6eaa907b22e7b8e829b9fa6c829bff
1 file changed
tree: 3f13e83b001bd44663a8b743afa23e2fc36bceda
  1. infra/
  2. third_party/
  3. cts
  4. firmware
  5. flower
  6. jiri.lock
  7. minimal
  8. prebuilts
  9. README.md
  10. stem
  11. test_durations
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance via the IRC channel #fuchsia on Freenode.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.