You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
depot_tools/bootstrap/win
Dan Jacques 4cb9d7422d [bootstrap/win] Enable revert from upcoming patch.
The upcoming CL, https://chromium-review.googlesource.com/c/563036,
updates "bootstrap/win"'s mechanism. However, if that patch needs to be
reverted, its "python.bat" stub may still exist in the reverted
repository, and will continue to point to the reverted toolchain.

We don't have a good way to detect whether we should revert "python.bat".
Instead, we will look a file generated by the CL,
"//python_bin_reldir.txt". If we find it, we will assume that the updated
"python.bat" is in use, and reinstall.

Note that if that CL lands and does not require a revert, this logic
will be deleted. It's just there as a safety mechanism to allow a safe
revert.

BUG=chromium:740171
TEST=local

Change-Id: Ifc638cf0512d2a889c37fbf6b8e3f7a3269331b1
Reviewed-on: https://chromium-review.googlesource.com/566073
Commit-Queue: Daniel Jacques <dnj@chromium.org>
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
8 years ago
..
README.md Remove SVN bootstrapping and some tooling. 8 years ago
get_file.js Revert of Removed virtualenv from depot_tools (patchset #1 id:1 of https://codereview.chromium.org/1437483002/ ) 10 years ago
git-bash.template.sh Fix bash math for `git bash` alias. 10 years ago
git.template.bat Fix depot_tools\git.bat when depot_tools in not in PATH. 9 years ago
git_bootstrap.py [git_bootstrap] Support new Git bundles. 8 years ago
git_version.txt Updating git-for-windows to 2.10.0. 9 years ago
git_version_bleeding_edge.txt [git_bootstrap] Support new Git bundles. 8 years ago
profile.d.python.sh Add bash shell function to make python work like it should. 10 years ago
pylint.new.bat Revert of Removed virtualenv from depot_tools (patchset #1 id:1 of https://codereview.chromium.org/1437483002/ ) 10 years ago
python276.new.bat Revert of Removed virtualenv from depot_tools (patchset #1 id:1 of https://codereview.chromium.org/1437483002/ ) 10 years ago
unzip.js Revert of Removed virtualenv from depot_tools (patchset #1 id:1 of https://codereview.chromium.org/1437483002/ ) 10 years ago
win_tools.bat [bootstrap/win] Enable revert from upcoming patch. 8 years ago

README.md

Windows binary tool bootstrap

This directory has the 'magic' for the depot_tools windows binary update mechanisms.

Software bootstrapped

Mechanism

Any time a user runs gclient on windows, it will invoke the depot_tools autoupdate script depot_tools.bat. This, in turn, will run win_tools.bat, which does the bulk of the work.

win_tools.bat will successively look to see if the local version of the binary package is present, and if so, if it's the expected version. If either of those cases is not true, it will download and unpack the respective binary.

Downloading is done with get_file.js, which is a windows script host javascript utility to vaguely impersonate wget.

Through a comedy of history, each binary is stored and retrieved differently.

Git

Git installs are mirrored versions of the official Git-for-Windows Portable releases.

  • Original: https://github.com/git-for-windows/git/releases
  • Mirror: gs://chrome-infra/PortableGit*.7z.exe

Updating git version

  1. Download the new PortableGit-X.Y.Z-{32,64}.7z.exe from the git-for-windows release page.
  2. From either console.developers.google.com or the CLI, do: 1. Upload those to the gs://chrome-infra Google Storage bucket. 1. Set the allUsers Reader permission (click the "Public link" checkbox next to the binaries).
  3. Edit the git_version.txt or git_version_bleeding_edge.txt file to be the new version. 1. You can use the bleeding edge version to get early feedback/stage a rollout/etc. Users can select this version by 'touch'ing the .git_bleeding_edge file in the root depot_tools directory.
  4. Commit the CL.

Note that in order for the update to take effect, gclient currently needs to run twice. The first time it will update the depot_tools repo, and the second time it will see the new git version and update to it. This is a bug that should be fixed, in case you're reading this and this paragraph infuriates you more than the rest of this README.

Python

Python installs are sourced from gs://chrome-infra/python276_bin.zip .

The process to create them is sort-of-documented in the README of the python zip file.