| Index: bootstrap/win/README.md
|
| diff --git a/bootstrap/win/README.md b/bootstrap/win/README.md
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..02d5a59cedc7672e676535b24fd42c41a657b558
|
| --- /dev/null
|
| +++ b/bootstrap/win/README.md
|
| @@ -0,0 +1,66 @@
|
| +# Windows binary tool bootstrap
|
| +
|
| +This directory has the 'magic' for the `depot_tools` windows binary update
|
| +mechanisms.
|
| +
|
| +## Software bootstrapped
|
| + * Python (https://www.python.org/)
|
| + * Git for Windows (https://git-for-windows.github.io/)
|
| + * Subversion (https://subversion.apache.org/)
|
| +
|
| +## Mechanism
|
| +
|
| +Any time a user runs `gclient` on windows, it will invoke the `depot_tools`
|
| +autoupdate script [depot_tools.bat](../../update_depot_tools.bat). This, in
|
| +turn, will run [win_tools.bat](./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](./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 offical 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.
|
| + 1. 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).
|
| + 1. Edit the `set GIT_VERSION=X.Y.Z` line in `win_tools.bat` to be the new
|
| + version.
|
| + 1. At the time of writing, the first version is the default version, and
|
| + the second is the 'bleeding edge' version. You can use the bleeding edge
|
| + version to get early feedback/stage a rollout/etc.
|
| + 1. 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 https://src.chromium.org/viewvc/chrome/trunk/tools/ .
|
| +
|
| +The process to create them is sort-of-documented in the README of the python
|
| +zip file.
|
| +
|
| +### Subversion
|
| +
|
| +Subversion installs are sourced from https://src.chromium.org/viewvc/chrome/trunk/tools/ .
|
| +
|
| +There will likely never be an update to SVN in `depot_tools` from the current
|
| +version.
|
|
|