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 265255f501 [bootstrap/win] Replace "python.bat" only on downgrade.
We're implementing a bootstrap downgrade for potential revert of
https://chromium-review.googlesource.com/c/563036

Currently, the downgrade sees the presence of the landed patch
as a sign to completely reinstall Python. However, this causes
the "python276_bin" directory to be deleted, which both ruins
any running process (notably "service manager" and BuildBot)
and fails due to those running processes, leaving the system in
a broken state.

Instead, we'll view the revert path as a signal to swap in the
old "python.bat" specifically, then fall through to standard
installation detection. Since the upgrade will not actually
delete "python276_bin", the expected revert case will leave it
alone, preserving existing execution environments.

BUG=chromium:740966, chromium:740171
TEST=local
  - Ran simulation of revert path with this change, observed
    better outcome.

Change-Id: I0dfa5924a27bcaba49134272a344f7b9f1d475c5
Reviewed-on: https://chromium-review.googlesource.com/567167
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Daniel Jacques <dnj@chromium.org>
8 years ago
..
README.md
get_file.js
git-bash.template.sh
git.template.bat
git_bootstrap.py [git_bootstrap] Support new Git bundles. 8 years ago
git_version.txt
git_version_bleeding_edge.txt [git_bootstrap] Support new Git bundles. 8 years ago
profile.d.python.sh
pylint.new.bat
python276.new.bat
unzip.js
win_tools.bat [bootstrap/win] Replace "python.bat" only on downgrade. 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.