OLD | NEW |
---|---|
(Empty) | |
1 # Windows binary tool bootstrap | |
2 | |
3 This directory has the 'magic' for the `depot_tools` windows binary update | |
4 mechanisms. | |
5 | |
6 ## Software bootstrapped | |
7 * Python (https://www.python.org/) | |
8 * Git for Windows (https://git-for-windows.github.io/) | |
9 * Subversion (https://subversion.apache.org/) | |
10 | |
11 ## Mechanism | |
12 | |
13 Any time a user runs `gclient` on windows, it will invoke the `depot_tools` | |
14 autoupdate script `../../update_depot_tools.bat`. This, in turn, will run | |
dnj
2016/04/01 03:00:41
Maybe actually link to these, since we know the fu
iannucci
2016/04/01 06:10:06
done
| |
15 `win_tools.bat` in this directory, which does the bulk of the work. | |
16 | |
17 `win_tools.bat` will successively look to see if the local version of the | |
18 binary package is present, and if so, if it's the expected version. If either | |
19 of those cases is not true, it will download and unpack the respective binary. | |
20 | |
21 Downloading is done with `get_file.js`, which is a windows script host | |
22 javascript utility to vaguely impersonate `wget`. | |
23 | |
24 Through a comedy of history, each binary is stored and retrieved differently. | |
25 | |
26 ### Git | |
27 | |
28 Git installs are mirrored versions of the offical Git-for-Windows Portable | |
29 releases. | |
30 * Original: `https://github.com/git-for-windows/git/releases` | |
31 * Mirror: `gs://chrome-infra/PortableGit*.7z.exe` | |
32 | |
33 #### Updating git version | |
34 1. Download the new `PortableGit-X.Y.Z-{32,64}.7z.exe` from the | |
35 git-for-windows release page. | |
36 1. From either console.developers.google.com or the CLI, do: | |
37 1. Upload those to the gs://chrome-infra Google Storage bucket. | |
38 1. Set the `allUsers Reader` permission (click the "Public link" checkbox | |
39 next to the binaries). | |
40 1. Edit the `set GIT_VERSION=X.Y.Z` line in `win_tools.bat` to be the new | |
41 version. | |
42 1. At the time of writing, the first version is the default version, and | |
43 the second is the 'bleeding edge' version. You can use the bleeding edge | |
44 version to get early feedback/stage a rollout/etc. | |
45 1. Commit the CL. | |
46 | |
47 Note that in order for the update to take effect, `gclient` currently needs to | |
48 run twice. The first time it will update the `depot_tools` repo, and the second | |
49 time it will see the new git version and update to it. This is a bug that should | |
50 be fixed, in case you're reading this and this paragraph infuriates you more | |
51 than the rest of this README. | |
52 | |
53 ### Python | |
54 | |
55 Python installs are sourced from https://src.chromium.org/viewvc/chrome/trunk/to ols/ . | |
56 | |
57 The process to create them is sort-of-documented in the README of the python | |
58 zip file. | |
59 | |
60 ### Subversion | |
61 | |
62 Python installs are sourced from https://src.chromium.org/viewvc/chrome/trunk/to ols/ . | |
dnj
2016/04/01 03:00:41
Python => Subversion?
iannucci
2016/04/01 06:10:06
done
| |
63 | |
64 There will likely never be an update to SVN in `depot_tools` from the current | |
65 version. | |
OLD | NEW |