Make sure the script alwyas downloads Chromium
if there's no current download. This case can happen
if a user is removing the 'src' folder but doesn't know
to remove the .last_sync_chromium file.
BUG=
TESTED=Renamed chromium/src and ran a sync keeping the .last_sync_chromium file, verified it started downloading.
TBR=iannucci@chromium.org
Review URL: https://webrtc-codereview.appspot.com/27099004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7738 4adac7df-926f-26a2-2b94-8c16560cd09d
This changes sync_chromium.py to download a full Chromium
checkout instead of one with no history. It has been noticed
that the download of the no-history checkout is very slow, even
when on high-speed internet connections, due to current limitations
in the Git backend serving these clones.
Switching to a full checkout is faster, but requires more bandwidth
and disk space.
To keep the old behavior, users must set the CHROMIUM_NO_HISTORY
environment variable to 1.
Using a full checkout also enables the use of the Chromium
infrastructure teams' Git cache functionality, that speeds up
the initial download and also heavily reduces the traffic when
setting up multiple checkouts on the same machine.
This is not enabled by default, but is supported if the user is
setting the cache_dir variable in his checkout's .gclient file to
point at a directory on local disk.
BUG=3882
TESTED=
* Ran gclient sync and verified chromium/src now contained a Git
repo with full history.
* Tested rolling chromium_revision in DEPS forward + sync.
* Tested rolling it back again + sync.
* Tested with an existing no-history checkout:
CHROMIUM_NO_HISTORY=1 gclient sync
No change was performed.
* Tested with a .gclient that had cache_dir configured.
* Verified error message is displayed when .gclient has cache_dir
configured and CHROMIUM_NO_HISTORY=1.
R=iannucci@chromium.org
Review URL: https://webrtc-codereview.appspot.com/22869004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7506 4adac7df-926f-26a2-2b94-8c16560cd09d
The .gclient_entries file is written after a successful
gclient sync operation and contains paths mapped to URLs for
all DEPS entries that have been synced.
This has been causing problems for users when switching from
the legacy Subversion based checkouts to the new DEPS approach
using a Chromium Git checkout combined with symlinks.
Also it has been discovered that when entries have been
removed from the Chromium DEPS file, subsequent gclient sync
operations fail when it's trying to process those directories.
This CL changes so that .gclient_entries is wiped for the WebRTC
checkout when moving from the legacy SVN to Git.
It also wipes the chromium/.gclient_entries file when a new Chromium
revision is about to be synced, to avoid problems when DEPS entries
have been removed.
BUG=415219
R=agable@chromium.org
Review URL: https://webrtc-codereview.appspot.com/28509004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@7222 4adac7df-926f-26a2-2b94-8c16560cd09d
This should save several gigabytes of traffic and disk space.
On Linux this is about 2.6 GB:
346M src/chrome/tools/test/reference_build
340M src/native_client
170M src/third_party/ffmpeg
1.5G src/third_party/WebKit
196M src/v8
BUG=2863
TESTED=Removed the directories locally, ran a sync and verified they didn't reappear (or fail because of platform-specific ones).
R=iannucci@chromium.org, niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/22189004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6984 4adac7df-926f-26a2-2b94-8c16560cd09d
Adds a SCRIPT_VERSION and the target_os_list to the flag file content. The
script version is so that we can arbitrarially make all slaves/devs re-sync (in
case we change the implementation but don't want to roll chromium), and the
target_os_list is so that devs who change the target_os_list in their .gclient
file don't mysteriously fail to get the new deps.
R=kjellander@webrtc.org, agable@chromium.org, szager@chromium.org
BUG=2863, chromium:339647
Review URL: https://webrtc-codereview.appspot.com/17189004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6952 4adac7df-926f-26a2-2b94-8c16560cd09d
In r6939 the --verbose flag was passed to the problematic
(approx 2.2GB large) gclient sync of Chromium's src.git repo.
However the bots are still hitting killed sync jobs due to
lack of output. This is a speculative attempt to provoke
even more logging, in order to trigger buffer flushing for
the buildbot execution.
BUG=2863, chromium:339647
TEST=Ran gclient runhooks locally with CHROME_HEADLESS=1 set.
TBR=phoglund@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/21269004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6940 4adac7df-926f-26a2-2b94-8c16560cd09d
In r6938 the switch to using Chromium's Git repo was
deployed. However this fails on the bots since their timeout
for steps without output is 1200 seconds, which is not enough
to checkout the large Chromium Git repo.
Adding --verbose will print more output, thus getting a longer
timeout that should be enough for the runhooks step to complete.
BUG=2863, chromium:339647
TEST=None
TBR=phoglund@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/15209004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6939 4adac7df-926f-26a2-2b94-8c16560cd09d
WebRTC standalone shares a lot of dependencies and build
tools with Chromium. To make the build work, many of the
paths of a Chromium checkout is now emulated by creating
symlinks to files and directories.
All DEPS entries that previously used Var("chromium_trunk")
to reference a Chromium checkout or From("chromium_deps"..)
to reference the Chromium DEPS file are now removed and
replaced by symlink entries in setup_links.py.
The script also handles cleanup of the legacy
Subversion-based dependencies that's needed for the
transition.
Windows: One Windows-specific important change is that
gclient sync|runhooks must now be run from a shell
with Administrator privileges in order to be able to create
symlinks. This also means that Windows XP is no longer
supported.
To transition a previously created checkout:
Run "python setup_links.py --force" to cleanup the old
SVN-based dependencies that have been synced by gclient sync.
For Buildbots, the --force flag is automatically enabled for
their syncs.
BUG=2863, chromium:339647
TEST=Manual testing on Linux, Mac and Windows.
R=andrew@webrtc.org, iannucci@chromium.org, phoglund@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/18379005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@6938 4adac7df-926f-26a2-2b94-8c16560cd09d