summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xinit-repository.py12
m---------src/3rdparty0
-rwxr-xr-xtools/scripts/patch_upstream.py126
-rw-r--r--tools/scripts/version_resolver.py2
4 files changed, 130 insertions, 10 deletions
diff --git a/init-repository.py b/init-repository.py
index 7870515e..5ab0c9e7 100755
--- a/init-repository.py
+++ b/init-repository.py
@@ -130,16 +130,10 @@ def installGitHooks():
os.chdir(qtwebengine_root)
subprocess.call(['scp', '-p', '-P', '29418', 'codereview.qt-project.org:hooks/commit-msg', '.git/hooks'])
-def applyPatches():
- if use_external_chromium:
- return
- os.chdir(qtwebengine_root)
- subprocess.call(['sh', './patches/patch-chromium.sh'])
-
def initUpstreamSubmodules():
ninja_url = 'https://github.com/martine/ninja.git'
chromium_url = 'https://chromium.googlesource.com/chromium/src.git'
- ninja_shasum = '84986af6fdeae3f649f2bf884b20f644bc370e48'
+ ninja_shasum = '7103c32646df958b0287c65b1c660bf528a191d6'
chromium_ref = 'refs/branch-heads/' + resolver.currentBranch()
os.chdir(qtwebengine_root)
@@ -184,7 +178,7 @@ subprocess.call(['git', 'update-index', '--assume-unchanged', '.gitmodules'])
if args.upstream:
initUpstreamSubmodules()
updateLastChange()
- if not args.baseline_upstream:
- applyPatches()
+ if not args.baseline_upstream and not use_external_chromium:
+ subprocess.call([os.path.join(qtwebengine_root, 'tools', 'scripts', 'patch_upstream.py')])
if args.snapshot:
initSnapshot()
diff --git a/src/3rdparty b/src/3rdparty
-Subproject 1b5dc494c6547be044ab5fed57dc0419bba3f95
+Subproject 91bc2da61f6ea5617bf0161f65a9b36de93783f
diff --git a/tools/scripts/patch_upstream.py b/tools/scripts/patch_upstream.py
new file mode 100755
index 00000000..e3af0ce5
--- /dev/null
+++ b/tools/scripts/patch_upstream.py
@@ -0,0 +1,126 @@
+#!/usr/bin/env python
+
+#############################################################################
+#
+# Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
+# Contact: http://www.qt-project.org/legal
+#
+# This file is part of the QtWebEngine module of the Qt Toolkit.
+#
+# $QT_BEGIN_LICENSE:LGPL$
+# Commercial License Usage
+# Licensees holding valid commercial Qt licenses may use this file in
+# accordance with the commercial license agreement provided with the
+# Software or, alternatively, in accordance with the terms contained in
+# a written agreement between you and Digia. For licensing terms and
+# conditions see http://qt.digia.com/licensing. For further information
+# use the contact form at http://qt.digia.com/contact-us.
+#
+# GNU Lesser General Public License Usage
+# Alternatively, this file may be used under the terms of the GNU Lesser
+# General Public License version 2.1 as published by the Free Software
+# Foundation and appearing in the file LICENSE.LGPL included in the
+# packaging of this file. Please review the following information to
+# ensure the GNU Lesser General Public License version 2.1 requirements
+# will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+#
+# In addition, as a special exception, Digia gives you certain additional
+# rights. These rights are described in the Digia Qt LGPL Exception
+# version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+#
+# GNU General Public License Usage
+# Alternatively, this file may be used under the terms of the GNU
+# General Public License version 3.0 as published by the Free Software
+# Foundation and appearing in the file LICENSE.GPL included in the
+# packaging of this file. Please review the following information to
+# ensure the GNU General Public License version 3.0 requirements will be
+# met: http://www.gnu.org/copyleft/gpl.html.
+#
+#
+# $QT_END_LICENSE$
+#
+#############################################################################
+
+import glob
+import os
+import re
+import shutil
+import subprocess
+import sys
+
+qtwebengine_root = os.path.abspath(os.path.join(os.path.dirname(__file__), '..', '..'))
+snapshot_src_dir = os.path.abspath(os.path.join(qtwebengine_root, 'src/3rdparty'))
+upstream_src_dir = os.path.abspath(snapshot_src_dir + '_upstream')
+
+sys.path.append(os.path.join(qtwebengine_root, 'tools', 'scripts'))
+import version_resolver as resolver
+
+def preparePatchesFromSnapshot():
+ oldCwd = os.getcwd()
+ base_sha1 = findSnapshotBaselineSha1()
+ if not base_sha1:
+ sys.exit('-- base sha1 not found in ' + os.getcwd() + ' --')
+
+ patches_dir = os.path.join(upstream_src_dir, 'patches')
+ if os.path.isdir(patches_dir):
+ shutil.rmtree(patches_dir)
+ os.mkdir(patches_dir)
+
+ os.chdir(snapshot_src_dir)
+ subprocess.call(['git', 'format-patch', '-o', patches_dir, base_sha1])
+
+ os.chdir(patches_dir)
+ patches = glob.glob('00*.patch')
+
+ # We'll collect the patches for submodules in corresponding lists
+ patches_dict = {}
+ for patch in patches:
+ patch_path = os.path.abspath(patch)
+ with open(patch, 'r') as pfile:
+ for line in pfile:
+ if 'Subject:' in line:
+ match = re.search('<(.+)>', line)
+ if match:
+ submodule = match.group(1)
+ if submodule not in patches_dict:
+ patches_dict[submodule] = []
+ patches_dict[submodule].append(patch_path)
+
+ os.chdir(oldCwd)
+ return patches_dict
+
+def findSnapshotBaselineSha1():
+ if not os.path.isdir(snapshot_src_dir):
+ return ''
+ oldCwd = os.getcwd()
+ os.chdir(snapshot_src_dir)
+ line = subprocess.check_output(['git', 'log', '-n1', '--pretty=oneline', '--grep=' + resolver.currentVersion()])
+ os.chdir(oldCwd)
+ return line.split(' ')[0]
+
+os.chdir(os.path.join(upstream_src_dir, 'chromium'))
+
+if not len(findSnapshotBaselineSha1()):
+ sys.exit('\n-- missing chromium snapshot patches, try running init-repository.py w/o options first --')
+
+patches = preparePatchesFromSnapshot()
+for path in patches:
+ leading = path.count('/') + 2
+
+ if path.startswith('chromium'):
+ os.chdir(os.path.join(upstream_src_dir, path))
+ else:
+ os.chdir(os.path.join(upstream_src_dir, 'chromium', path))
+ leading += 1
+
+ print('\n-- entering '+ os.getcwd() + ' --')
+
+ # Sort the patches to be able to apply them in order
+ patch_list = sorted(patches[path])
+ for patch in patch_list:
+ error = subprocess.call(['git', 'am', '-p' + str(leading), patch])
+ if error != 0:
+ sys.exit('-- git am ' + patch + ' failed in ' + os.getcwd() + ' --')
+
+print('\n-- done --')
+
diff --git a/tools/scripts/version_resolver.py b/tools/scripts/version_resolver.py
index 5c625472..738798e4 100644
--- a/tools/scripts/version_resolver.py
+++ b/tools/scripts/version_resolver.py
@@ -48,7 +48,7 @@ import json
import urllib2
import git_submodule as GitSubmodule
-chromium_version = '33.0.1750.149'
+chromium_version = '33.0.1750.170'
chromium_branch = '1750'
json_url = 'http://omahaproxy.appspot.com/all.json'