Commit Graph

36 Commits (bf23eff330c788eb099bc6b5b7a2bd555f08346b)

Author SHA1 Message Date
sebmarchand@chromium.org 493ae64c3e Improve the toolchains-hash calculation.
I often ends up with a corrupt toolchain because I've used Windbg and there's now a bunch of PDB files in win_sdk/Debuggers/sym/... , I think that it's safe to ignore these files (the original package doesn't contain any of these files).

It's also useful to have more details about which files are missing and or which ones shouldn't be here when we get an invalid toolchain hash.

Finally, if you the hash of a toolchain doesn't correspond to the name of its root directory then it should be removed.

Review-Url: https://codereview.chromium.org/1974453003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@300557 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
brucedawson@chromium.org ff3af2c1e5 Enable crash dump collection on builders
Toolchain crashes on build machines are an ongoing problem, particularly
with the VC++ 2015 migration. Setting this registry key tells Windows
Error Reporting to record minidumps (a few MB typically) to a local
directory, up to a maximum of ten. This should help with investigations.

This change also suppresses Windows Error Reporting dialogs with the
DontShowUI registry value, to avoid builder hangs on crashes.

See also crrev.com/1816333002

BUG=440500

Review URL: https://codereview.chromium.org/1825163003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@299426 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
scottmg@chromium.org 0471355374 Make get_toolchain_if_necessary.py work on Mac again
R=thakis@chromium.org, sebmarchand@chromium.org
BUG=495204,585829

Review URL: https://codereview.chromium.org/1689723002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298720 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
brucedawson@chromium.org c4eb24a907 Skip installation of UCRT
The UCRT is now optional and it failed to install on one builder.
Making optional to fix build break

If this doesn't fix the break on the waterfall then the switch
to VS 2015 will need to be reverted (crrev.com/1598493004).

TBR=scottmg@chromium.org
BUG=440500

Review URL: https://codereview.chromium.org/1680433002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298634 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
scottmg@chromium.org 96ed03d55b Fix 'Calculating hash...' message
Right now I get

Calculating hash of toolchain in vs2013_files. Please wait...
Calculating hash of toolchain in vs2013_files. Please wait...
Calculating hash of toolchain in vs2013_files. Please wait...
Calculating hash of toolchain in vs2013_files. Please wait...
Calculating hash of toolchain in vs2013_files. Please wait...
Calculating hash of toolchain in vs2013_files. Please wait...

which isn't very informative (or at least a bit confusing as to why it's
doing the same thing 6 times).

R=brucedawson@chromium.org

Review URL: https://codereview.chromium.org/1671433002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298593 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
sebmarchand@chromium.org a1798215d0 Add the possibility to keep several version of the VS toolchain.
BUG=

Review URL: https://codereview.chromium.org/1634923002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298557 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
brucedawson@chromium.org b1f0581df4 Updates to package VS 2015 to not require UCRT
This change packages the api-ms-* DLLs and the VS 2015 CRT DLLs in all
of the VS package directories that we add to the path, so that they can
run without having the UCRT installed.

The Common7\IDE path was removed because it isn't actually packaged, in
VS 2013 or VS 2015, so adding it to the path is purely confusing.

In addition to changing the packaging script the installation script has
to change in order to continue if the UCRT cannot be installed. It
still makes sense to try to install it, and print a message saying where
the installer is, for the convenience of Google developers who may want
more flexibility in running VS 2015 binaries.

A 'calculating hash' message was added to make the mysterious hashing
hangs (which can be several minutes long) less mysterious.

BUG=440500

Review URL: https://codereview.chromium.org/1660723002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298541 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
scottmg@chromium.org 10b89e3fa6 win_toolchain: Ignore ReportQueue entries in calculating toolchain hash
Without this, we'd cause unnecessary toolchain redownloads if vctip.exe
crashed.

R=brucedawson@chromium.org
BUG=440500

Review URL: https://codereview.chromium.org/1639623002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298393 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
bcwhite@chromium.org c0ff2f64e0 Locate appropriate "winreg" module under both native Win32 and CygWin.
BUG=

Review URL: https://codereview.chromium.org/1614663003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298362 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
brucedawson@chromium.org 98202df75c Package/Install the Windows 10 Universal C Runtime for VS 2015
The VS 2015 tools require the Windows 10 Universal C Runtime, either
installed in C:\Windows or in every directory containing tools, or
dynamically linked executables created with VS 2015. Installing to
C:\Windows seems less error prone.

This is only applicable for Google developers and build machines that
don't have VS 2015 installed.

This updates the packaging script so that it packages the three
installers, and no longer packages the installed files (which vary
between operating systems anyway).

The installer is updated to check for the existence of one of the
Universal C Runtime files. If it isn't found then it detects the
version of Windows in order to select and run the correct installer.

I manually confirmed that, for instance, the installers for Windows 7
and Windows 2008 R2, were identical despite coming from different
download URLs.

If the installation fails because gclient runhooks is run non-elevated
then the developer will have to do a one-time manual install of the
update. A message will be printed indicating this.

BUG=440500

Review URL: https://codereview.chromium.org/1588673004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@298286 0039d316-1c4b-4281-b951-d872f2087c98
9 years ago
scottmg@chromium.org ffa2240d63 win_toolchain: Update packaging script to package win10 sdk
R=brucedawson@chromium.org
BUG=491424

Review URL: https://codereview.chromium.org/1382873003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@297019 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
thakis@chromium.org 062acf8862 Add a --force flag to get_toolchain_if_necessary.py to let it run on non-Windows.
BUG=495204

Review URL: https://codereview.chromium.org/1284723006

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@296272 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
thakis@chromium.org b5bbc5a6e5 Make `python build/vs_toolchain.py update` mostly work on non-Windows.
1. GetFileList() returns a list of path\names on Windows but of path/names on
   non-Windows. To not perturb existing hashes, I guess the hashing code should do
   path.replace('/', '\\') before hashing.

2. GetFileList() returns a sorted list of filenames, and \ compares pretty
   different than / (the former is less than all numbers while the latter
   is greater, for example).  So replace / with \\ for sorting too.

With this change, OS X produces the same file hash as Windows.

The script still early-exits on non-Windows, so no visible change yet.

BUG=495204

Review URL: https://codereview.chromium.org/1287543005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@296271 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
thakis@chromium.org 40b53b7477 make `python build/vs_toolchain.py update` work a bit better on non-windows
It still early-exits on non-Windows, so no visible change yet.

BUG=495204

Review URL: https://codereview.chromium.org/1181943003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295807 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
thakis@chromium.org b4ec15f2f1 win toolchain downloader: Don't omit hidden or system files.
Hashes for both the 2013 and 2015 toolchain don't change for me locally with
this change, looks like there are no hidden or system files in the toolchain.
(I tried with the "you are a googler" flow.)

No intended behavior change.

BUG=495204

Review URL: https://codereview.chromium.org/1200113004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295804 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
scottmg@chromium.org 701337b19f win: Another attempted fix for toolchain/src skew
TBR=dpranke@chromium.org
R=sebmarchand@chromium.org,davidben@chromium.org

Review URL: https://codereview.chromium.org/1155973003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295498 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
scottmg@chromium.org 996cfaca04 Revert of win: Fix current toolchain path with old packaging (patchset #1 id:1 of https://codereview.chromium.org/1159433006/)
Reason for revert:
Breaking chromium waterfall.

Original issue's description:
> win: Fix current toolchain path with old packaging
> 
> I broke boringssl's use of depot_tools toolchain as I changed the
> name of the sdk path key. This happened to work in Chrome because
> src/ has fallback behaviour.
> 
> Restore the 'win8sdk' name when unpacking a current/old-style
> toolchain package (i.e. what everyone is still using).
> 
> TBR=dpranke@chromium.org
> R=davidben@chromium.org
> 
> Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=295492

TBR=davidben@chromium.org,dpranke@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.chromium.org/1167753003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295493 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
scottmg@chromium.org 17f9065fee win: Fix current toolchain path with old packaging
I broke boringssl's use of depot_tools toolchain as I changed the
name of the sdk path key. This happened to work in Chrome because
src/ has fallback behaviour.

Restore the 'win8sdk' name when unpacking a current/old-style
toolchain package (i.e. what everyone is still using).

TBR=dpranke@chromium.org
R=davidben@chromium.org

Review URL: https://codereview.chromium.org/1159433006

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295492 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
scottmg@chromium.org 3f722d1f63 Rework/update toolchain script for vs2015
This is the other side of https://codereview.chromium.org/1163723003/

The changes here are to remove the use of 'vs2013_files' and 'win8sdk'
(as those will be different numbers soon enough) but still maintain
behaviour for the old "style" while in transition.

Secondarily, to remove the dependence of these two scripts on
'toolchain2013.py' as most of the script is now unused.

R=dpranke@chromium.org
BUG=440500, 492774

Review URL: https://codereview.chromium.org/1165563003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295485 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
thakis@chromium.org eda2c9b5bf Update toolchain setup instructions to match reality.
BUG=none
NOTRY=true
NOPRESUBMIT=true

Review URL: https://codereview.chromium.org/1131643003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@295155 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
scottmg@chromium.org 0c806a71c5 Disable Express path for Windows toolchain, and point to instructions
This could be simplified a bunch more, but this path was already
non-functional and tries to download Express which is a waste of
time and confusing for people.

R=dpranke@chromium.org
BUG=433551

Review URL: https://codereview.chromium.org/775733002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@293199 0039d316-1c4b-4281-b951-d872f2087c98
10 years ago
liamjm@chromium.org 16f2e08179 Add CanAccessToolchainBucket() to ways to use GStorage.
This allows Googlers who didn't pass existing checks to use G storage and
the Pro version of Visual studio.

BUG=
TBR=maruel

Review URL: https://codereview.chromium.org/382373002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@283250 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
wittman@chromium.org 9630aa2bd5 Run get_toolchain_if_necessary.py with depot_tools Python under Cygwin
get_toolchain_if_necessary.py contains a number of Windows-isms, including
computing hashes on Windows-style path names, so does not work under
Cygwin. This change reruns it under depot_tools' Windows Python if run
from Cygwin Python.

Review URL: https://codereview.chromium.org/233563003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@263301 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
scottmg@chromium.org 8b17df6f54 win_toolchain: Note that google.com credentials are required
TBR=iannucci@chromium.org

Review URL: https://codereview.chromium.org/213913002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@259915 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
scottmg@chromium.org afc32ce3b6 Less attempted magic in pulling toolchain
- Don't try to wrap download_from_google_storage --config, instead just
request that the user runs it manually. (This is annoying either way
but making it magically run makes it less clear what's going on, and so
harder to debug when something goes wrong, per linked bug).

- Check that SHA1s are passed as expected on the command line in case
the script is run directly, rather than from gyp_chromium.

R=scherkus@chromium.org
BUG=349596

Review URL: https://codereview.chromium.org/189093017

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@256049 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
scottmg@chromium.org 0d23d776e8 Move Googlers to gs:// based toolchain pull
The gs:// download path is much faster. Move anyone who could have
access to gs://chrome-wintoolchain/ over to that for less pain.

The downside is that we have to prompt them to run
download_from_google_storage --config which people are going to
complain about, but I think this is a better experience overall.

R=iannucci@chromium.org,hinoka@chromium.org
BUG=349964

Review URL: https://codereview.chromium.org/191373002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@255696 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
scottmg@chromium.org 71756329cb Add toolchain simple mirror option used for bots
I tried a git-ish tree/blob model, but way too slow for a ton of files.
This maps easily on to the current way the tree is mapped, saves
temp space on bots (because the full isos aren't downloaded), and is
a lot faster too. It means we can pull old revisions too now.

TBR=iannucci@chromium.org
BUG=348350

Review URL: https://codereview.chromium.org/185423004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@254421 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
scottmg@chromium.org bd4dafb963 Make git non-interactive when checking for src-internal access
git sometimes blocks asking for a password. On a random machine that
didn't know anything about google/chromium, it failed immediately with

"fatal: could not read Username for 'https://chrome-internal.googlesource.com': No such file or directory"

but on my real machine w/o _netrc it blocks and wants this:

Username for 'https://chrome-internal.googlesource.com':
Password for 'https://chrome-internal.googlesource.com':

There's no --non-interactive unfortunately, it's supposed to magically
decide if it's connected to a tty and behave appropriately. It does
not, perhaps because of being wrapped in depot_tools .bat files,
perhaps an msysgit-port bug, perhaps being called from python. Anyway
https://github.com/bower/bower/issues/1009 had a magic incantation
that works for this case: 'true' is available in the msys
distribution.

R=iannucci@chromium.org
BUG=323300

Review URL: https://codereview.chromium.org/182553004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@253844 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
scottmg@chromium.org b460ebe723 Don't have svn ls block waiting for password
If user is unauthenticated, svn ls would just hang waiting at
"Password for 'User':", now it'll correctly fail with
"svn: Can't get password".

R=iannucci@chromium.org
BUG=323300,346472

Review URL: https://codereview.chromium.org/178763003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@253004 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
scottmg@chromium.org 360f032356 Move data.json to win_toolchain to its abs paths aren't hashed
TBR=iannucci@chromium.org
BUG=323300

Review URL: https://codereview.chromium.org/173523005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@252737 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
scottmg@chromium.org 5d17b921db Move toolchain update control into src, but keep download logic in depot_tools
Moves the update functionality out of update_depot_tools into src/ in https://codereview.chromium.org/175573004 .

get_toolchain_if_required.py now expects a list of hashes on the
command line, and makes sure that it gets one of those.

toolchain2013.py saves a .json which contains information relevant to the
interests of the caller, so that it can set up the parent environment. This
is returned via the --output-json command line argument to get_...py

R=iannucci@chromium.org
BUG=323300

Review URL: https://codereview.chromium.org/168603004

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@252725 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
scottmg@chromium.org 69629867c9 win_toolchain: add timeout before nuke, hide taskkill output
It's somewhat annoying to have the script delete your toolchain
directory (at least during testing) and it necessitates downloading
3-4G to restore, so add a short timeout before doing so.

Also, hide the output of taskkill'ing mspdbsrv so that the first message
isn't '''ERROR: The process "..." not found.'''.

R=maruel@chromium.org
BUG=323300

Review URL: https://codereview.chromium.org/146583012

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@251084 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
scottmg@chromium.org b6cd920865 Automatic toolchain: Use src-internal as signal for Pro
R=iannucci@chromium.org
BUG=323300

Review URL: https://codereview.chromium.org/144823003

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@248786 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
scottmg@chromium.org 26cb836b5b Support VS2013 Express for automatic toolchain too
And for now, defaults to Express.

Main changes:
- Valid hash becomes a set of hashes one for Pro, one for Express
- Include WDK to get an old copy of ATL as that doesn't come
  with Express

BUG=323300
R=maruel@chromium.org

Review URL: https://codereview.chromium.org/148453008

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@248622 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
scottmg@chromium.org c07300306d win: taskkill mspdbsrv.exe before updating toolchain
It stays resident, so try to tidy up, otherwise removing the old
directory will fail.

TBR=maruel@chromium.org
BUG=323300

Review URL: https://codereview.chromium.org/140883005

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@245324 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago
scottmg@chromium.org 7cc7a1c5dc Automatic Windows toolchain
Per comments in linked bug, this is simply moved from chromium. The
only new thing is hooking it into update_depot_tools.bat, and
updating a few paths in the scripts.

This is currently opt-in via "set DEPOT_TOOLS_WIN_TOOLCHAIN=1" but
that will be removed once it's ready for deployment.

R=iannucci@chromium.org, maruel@chromium.org
BUG=323300

Review URL: https://codereview.chromium.org/135933002

git-svn-id: svn://svn.chromium.org/chrome/trunk/tools/depot_tools@244983 0039d316-1c4b-4281-b951-d872f2087c98
11 years ago