Fix duplicate 'unix' OS and latest-revision deps

* The 'deps_os' list processed 'unix' twice. The former is likely meant
  to process 'linux' instead.
* The roller skips dependencies that do not an '@' to split on. However,
  it is valid to specify a DEPS that has no specific revision. In this
  case, gclient assumes to pull HEAD.

Bug: webrtc:15215
Change-Id: Idf2f51ebd55f00a96b7b7f4a1935cd69881cabd8
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/307240
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Prashanth Swaminathan <prashanthsw@google.com>
Cr-Commit-Position: refs/heads/main@{#40189}
This commit is contained in:
Prashanth Swaminathan 2023-05-31 07:23:48 -07:00 committed by WebRTC LUCI CQ
parent 2197300977
commit cb85143f93

View File

@ -275,8 +275,9 @@ def BuildDepsentryDict(deps_dict):
result[path] = CipdDepsEntry(path, dep['packages'])
else:
if '@' not in dep['url']:
continue
url, revision = dep['url'].split('@')
url, revision = dep['url'], 'HEAD'
else:
url, revision = dep['url'].split('@')
result[path] = DepsEntry(path, url, revision)
def AddVersionEntry(vars_subdict):
@ -289,7 +290,7 @@ def BuildDepsentryDict(deps_dict):
result[key] = VersionEntry(value)
AddDepsEntries(deps_dict['deps'])
for deps_os in ['win', 'mac', 'unix', 'android', 'ios', 'unix']:
for deps_os in ['win', 'mac', 'linux', 'android', 'ios', 'unix']:
AddDepsEntries(deps_dict.get('deps_os', {}).get(deps_os, {}))
AddVersionEntry(deps_dict.get('vars', {}))
return result