gclient runs (and fails on) the 'libyuv/cleanup_links.py' prehook but is not suppsoed to recurse into that |
||||||
Issue descriptionTL;DR I think that there is a bug in gclient which makes mistakenly run the prehooks for a nested DEPS file (third_party/libyuv/DEPS) which is NOT reachable by the toplevel DEPS recursedeps section. Today I found three colleagues affected by this while running gclient sync: ________ running '/usr/bin/python libyuv/cleanup_links.py' in '/usr/local/google/code3/chromium' /usr/bin/python: can't open file 'libyuv/cleanup_links.py': [Errno 2] No such file or directory Error: Command '/usr/bin/python libyuv/cleanup_links.py' returned non-zero exit status 2 in /usr/local/google/code3/chromium libyuv/cleanup_links.py is a prehook in third_party/libyuv/DEPS which was added recently by https://chromium-review.googlesource.com/436264 . If I am reading everything correctly, the libyuv DEPS file is supposed to be used only in standalone libyuv checkouts. In fact, nothing in chromium is mentioning libyuv recursedeps. In other words: it doesn't seem to me that libyuv is doing anything bad here. Still, when syncing chrome, gclient seems to still recurse into the libyuv deps even if that is not mentioned by recursedeps in src/DEPS. I followed manually all the current recursedeps and none of them seem to reach into libyuv's. So, unless I am missing something macroscopic, this seems to me a bug in gclient. Maybe due to the fact that libyuv's DEPS uses a prehooks section, which is used very rarely, so a bug might have slipped in there. Also, not sure if this is related, but all three of us have a target_os=['android'] in our .gclient config. I manually inspected the .gclient files of all three and there is nothing unconventional (no other projects being pulled in)
,
Feb 27 2017
I'm seeing this as well. I also have target_os=android, though removing it from my .gclient config does not seem to fix the issue.
,
Feb 27 2017
Yup, I saw this too. I'll take a look.
,
Feb 27 2017
,
Feb 27 2017
I filed bug 696714 related to this. Feel free to dupe it against this.
,
Feb 27 2017
,
Feb 28 2017
,
Feb 28 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/tools/depot_tools/+/da3a29e13e816459234b0b08ed1059300bae46dd commit da3a29e13e816459234b0b08ed1059300bae46dd Author: Dirk Pranke <dpranke@chromium.org> Date: Tue Feb 28 23:24:21 2017 Do not run unconditionally run pre_deps_hooks for dependencies. Currently if you set `pre_deps_hooks` in your gclient DEPS file, they will be executed regardless of whether your repo was supposed to be recursed into (via recursionlimit or recursedeps) or not. This change fixes that so that we only run the hooks that were explicitly configured to be run. R=kjellander@chromium.org, agable@chromium.org BUG= 696495 Change-Id: Ic0ef641903cf3f56d7c2e119d8b0db862258d995 Reviewed-on: https://chromium-review.googlesource.com/447318 Reviewed-by: Aaron Gable <agable@chromium.org> Reviewed-by: Henrik Kjellander <kjellander@chromium.org> Commit-Queue: Dirk Pranke <dpranke@chromium.org> [modify] https://crrev.com/da3a29e13e816459234b0b08ed1059300bae46dd/gclient.py
,
Feb 28 2017
|
||||||
►
Sign in to add a comment |
||||||
Comment 1 by thakis@chromium.org
, Feb 27 2017