From 5c5badc890fbbaef8c447720a5da63875149d8aa Mon Sep 17 00:00:00 2001 From: Marshall Greenblatt Date: Tue, 11 Feb 2014 17:24:25 +0000 Subject: [PATCH] Avoid GN-related build errors on Debian 7 by not calling `gclient sync` from automate.py. git-svn-id: https://chromiumembedded.googlecode.com/svn/branches/1750@1618 5089003a-bbd8-11dd-ad1f-f1f9622dbc98 --- tools/automate/automate.py | 8 ++++---- tools/gclient_hook.py | 15 +++++++++++++++ 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/tools/automate/automate.py b/tools/automate/automate.py index 75588334f..f7773a0c9 100644 --- a/tools/automate/automate.py +++ b/tools/automate/automate.py @@ -524,12 +524,12 @@ if options.forceclean: if release_url is None: if chromium_url_changed or chromium_rev_changed or options.forceupdate: - # download/update the Chromium source code - run('gclient sync --revision src@'+chromium_rev+' --jobs 8 --force', \ + # download/update the Chromium source code without running hooks + run('gclient sync --revision src@'+chromium_rev+' --jobs 8 --force -n', \ chromium_dir, depot_tools_dir) elif release_url_changed or options.forceupdate: - # download/update the release source code - run('gclient sync --jobs 8 --force', chromium_dir, depot_tools_dir) + # download/update the release source code without running hooks + run('gclient sync --jobs 8 --force -n', chromium_dir, depot_tools_dir) if not os.path.exists(cef_src_dir) or cef_url_changed: if not options.dryrun and cef_url_changed and os.path.exists(cef_src_dir): diff --git a/tools/gclient_hook.py b/tools/gclient_hook.py index c4be02cc4..01dcdcaa2 100644 --- a/tools/gclient_hook.py +++ b/tools/gclient_hook.py @@ -26,6 +26,21 @@ patcher = [ 'python', 'tools/patcher.py', '--patch-config', 'patch/patch.cfg' ]; RunAction(cef_dir, patcher) +# The DEPS file contains hooks that perform necessary actions for various +# platforms. Due to broken GN binaries on Debian 7 (https://crbug.com/329649) +# we don't want to run hooks when executing `gclient sync`. So instead we've +# added the `-n` (no-hooks) switch to `gclient sync` in automate.py and moved +# the few necessary actions here. + +print "\nPulling clang (Mac only)..." +patcher = [ 'python', '../tools/clang/scripts/update.py', '--mac-only' ]; +RunAction(cef_dir, patcher) + +print "\nUpdating cygwin mount (Windows only)..." +patcher = [ 'python', '../build/win/setup_cygwin_mount.py', + '--win-only' ]; +RunAction(cef_dir, patcher) + print "\nGenerating CEF project files..." os.environ['CEF_DIRECTORY'] = os.path.basename(cef_dir); gyper = [ 'python', 'tools/gyp_cef', 'cef.gyp', '-I', 'cef.gypi' ]