Commit 6bd7dab6 authored by David Benjamin's avatar David Benjamin Committed by Commit Bot

Roll src/third_party/boringssl/src 13fd62744..ce00828c8

https://boringssl.googlesource.com/boringssl/+log/13fd627449cefbae7576d4b145cb24fac303fc7d..ce00828c89df3d4c40de7d715b1a032eb03c525c

The following commits have Chromium bugs associated:
  9e97c022e Bring Mac and iOS builders back to the CQ.
  7c3ce519e Actually disable RandTest.Fork on iOS.
  52483994c Mostly fix undefined casts around STACK_OF's comparator.
  fb4e2e0f0 Fix undefined casts in sk_*_pop_free and sk_*_deep_copy.
  cbc3e076f Take iOS builders out of the CQ rotation too.
  792c1dc43 Rewrite PEM_X509_INFO_read_bio.
  419144adc Fix undefined function pointer casts in {d2i,i2d}_Foo_{bio,fp}
  217bfd3c9 Fix undefined function pointer casts in IMPLEMENT_PEM_*.

I've also updated the roll_boringssl.py script to print the above message and
the below bug list, so we don't need to manually attach things to rolls.

Bug: 785442, 888687, 890115, 890351
Change-Id: If08496fcff132e71052a89c60aefb609d28ad3c7
Reviewed-on: https://chromium-review.googlesource.com/c/1257561
Commit-Queue: Steven Valdez <svaldez@chromium.org>
Reviewed-by: default avatarSteven Valdez <svaldez@chromium.org>
Cr-Commit-Position: refs/heads/master@{#595994}
parent f633990e
...@@ -137,7 +137,7 @@ vars = { ...@@ -137,7 +137,7 @@ vars = {
# Three lines of non-changing comments so that # Three lines of non-changing comments so that
# the commit queue can handle CLs rolling BoringSSL # the commit queue can handle CLs rolling BoringSSL
# and whatever else without interference from each other. # and whatever else without interference from each other.
'boringssl_revision': '13fd627449cefbae7576d4b145cb24fac303fc7d', 'boringssl_revision': 'ce00828c89df3d4c40de7d715b1a032eb03c525c',
# Three lines of non-changing comments so that # Three lines of non-changing comments so that
# the commit queue can handle CLs rolling google-toolbox-for-mac # the commit queue can handle CLs rolling google-toolbox-for-mac
# and whatever else without interference from each other. # and whatever else without interference from each other.
......
...@@ -56,6 +56,38 @@ def UpdateDEPS(deps, from_hash, to_hash): ...@@ -56,6 +56,38 @@ def UpdateDEPS(deps, from_hash, to_hash):
f.write(contents) f.write(contents)
def Log(repo, revspec):
"""Returns the commits in |repo| covered by |revspec|."""
data = subprocess.check_output(['git', 'log', '--pretty=raw', revspec],
cwd=repo)
commits = []
chunks = data.split('\n\n')
if len(chunks) % 2 != 0:
raise ValueError('Invalid log format')
for i in range(0, len(chunks), 2):
commit = {}
# Parse commit properties.
for line in chunks[i].split('\n'):
name, value = line.split(' ', 1)
commit[name] = value
if 'commit' not in commit:
raise ValueError('Missing commit line')
# Parse commit message.
message = ""
lines = chunks[i+1].split('\n')
# Removing the trailing empty entry.
if lines and not lines[-1]:
lines.pop()
for line in lines:
INDENT = ' '
if not line.startswith(INDENT):
raise ValueError('Missing indent')
message += line[len(INDENT):] + '\n'
commit['message'] = message
commits.append(commit)
return commits
def main(): def main():
if len(sys.argv) > 2: if len(sys.argv) > 2:
sys.stderr.write('Usage: %s [COMMIT]' % sys.argv[0]) sys.stderr.write('Usage: %s [COMMIT]' % sys.argv[0])
...@@ -69,22 +101,39 @@ def main(): ...@@ -69,22 +101,39 @@ def main():
return 0 return 0
if len(sys.argv) > 1: if len(sys.argv) > 1:
commit = RevParse(BORINGSSL_SRC_PATH, sys.argv[1]) new_head = RevParse(BORINGSSL_SRC_PATH, sys.argv[1])
else: else:
subprocess.check_call(['git', 'fetch', 'origin'], cwd=BORINGSSL_SRC_PATH) subprocess.check_call(['git', 'fetch', 'origin'], cwd=BORINGSSL_SRC_PATH)
commit = RevParse(BORINGSSL_SRC_PATH, 'origin/master') new_head = RevParse(BORINGSSL_SRC_PATH, 'origin/master')
head = RevParse(BORINGSSL_SRC_PATH, 'HEAD') old_head = RevParse(BORINGSSL_SRC_PATH, 'HEAD')
if head == commit: if old_head == new_head:
print 'BoringSSL already up to date.' print 'BoringSSL already up to date.'
return 0 return 0
print 'Rolling BoringSSL from %s to %s...' % (head, commit) print 'Rolling BoringSSL from %s to %s...' % (old_head, new_head)
UpdateDEPS(DEPS_PATH, head, commit) # Look for commits with associated Chromium bugs.
crbugs = set()
crbug_commits = []
log = Log(BORINGSSL_SRC_PATH, '%s..%s' % (old_head, new_head))
for commit in log:
has_bugs = False
for line in commit['message'].split('\n'):
lower = line.lower()
if lower.startswith('bug:') or lower.startswith('bug='):
for bug in lower[4:].split(','):
bug = bug.strip()
if bug.startswith('chromium:'):
crbugs.add(int(bug[len('chromium:'):]))
has_bugs = True
if has_bugs:
crbug_commits.append(commit)
UpdateDEPS(DEPS_PATH, old_head, new_head)
# Checkout third_party/boringssl/src to generate new files. # Checkout third_party/boringssl/src to generate new files.
subprocess.check_call(['git', 'checkout', commit], cwd=BORINGSSL_SRC_PATH) subprocess.check_call(['git', 'checkout', new_head], cwd=BORINGSSL_SRC_PATH)
# Clear the old generated files. # Clear the old generated files.
for (osname, arch, _, _, _) in generate_build_files.OS_ARCH_COMBOS: for (osname, arch, _, _, _) in generate_build_files.OS_ARCH_COMBOS:
...@@ -114,12 +163,23 @@ def main(): ...@@ -114,12 +163,23 @@ def main():
https://boringssl.googlesource.com/boringssl/+log/%s..%s https://boringssl.googlesource.com/boringssl/+log/%s..%s
BUG=none """ % (old_head[:9], new_head[:9], old_head, new_head)
""" % (head[:9], commit[:9], head, commit) if crbug_commits:
message += 'The following commits have Chromium bugs associated:\n'
for commit in crbug_commits:
rev = commit['commit'][:9]
line, _ = commit['message'].split('\n', 1)
message += ' %s %s\n' % (rev, line)
message += '\n'
if crbugs:
message += 'Bug: %s\n' % (', '.join(str(bug) for bug in sorted(crbugs)),)
else:
message += 'Bug: none\n'
subprocess.check_call(['git', 'commit', '-m', message], cwd=SRC_PATH) subprocess.check_call(['git', 'commit', '-m', message], cwd=SRC_PATH)
# Print update notes. # Print update notes.
notes = subprocess.check_output(['git', 'log', '--grep', '^Update-Note:', '-i', '%s..%s' % (head, commit)], cwd=BORINGSSL_SRC_PATH).strip() notes = subprocess.check_output(['git', 'log', '--grep', '^Update-Note:', '-i', '%s..%s' % (old_head, new_head)], cwd=BORINGSSL_SRC_PATH).strip()
if len(notes) > 0: if len(notes) > 0:
print "\x1b[1mThe following changes contain updating notes\x1b[0m:\n\n" print "\x1b[1mThe following changes contain updating notes\x1b[0m:\n\n"
print notes print notes
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment