summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndras Becsi <andras.becsi@digia.com>2014-07-02 11:19:54 +0200
committerAndras Becsi <andras.becsi@digia.com>2014-07-03 13:14:26 +0200
commit24532f29b6d215211a6d77ca867a08def3bec4ad (patch)
tree2ead117ee539db26b99e6686719df401e500d336
parentfc51c77ad138549344ffe1bfbb3b17cf44ccb294 (diff)
tools: move upstream repo utility functions to version_resolver.py
This makes it possible to use them in other scripts as well. Change-Id: I8aa76c1a9be91c56fd232a592ac41de5079eb3c7 Reviewed-by: Michael Bruning <michael.bruning@digia.com>
-rwxr-xr-xtools/scripts/patch_upstream.py57
-rw-r--r--tools/scripts/version_resolver.py54
2 files changed, 61 insertions, 50 deletions
diff --git a/tools/scripts/patch_upstream.py b/tools/scripts/patch_upstream.py
index e347d0e21..081a24523 100755
--- a/tools/scripts/patch_upstream.py
+++ b/tools/scripts/patch_upstream.py
@@ -49,69 +49,26 @@ 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
+import version_resolver as resolver
-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(resolver.upstream_src_dir, 'chromium'))
-os.chdir(os.path.join(upstream_src_dir, 'chromium'))
-if not len(findSnapshotBaselineSha1()):
+if not len(resolver.findSnapshotBaselineSha1()):
sys.exit('\n-- missing chromium snapshot patches, try running init-repository.py w/o options first --')
-patches = preparePatchesFromSnapshot()
+patches = resolver.preparePatchesFromSnapshot()
+
for path in patches:
leading = path.count('/') + 2
target_dir = ""
if path.startswith('chromium'):
- target_dir = os.path.join(upstream_src_dir, path)
+ target_dir = os.path.join(resolver.upstream_src_dir, path)
else:
- target_dir = os.path.join(upstream_src_dir, 'chromium', path)
+ target_dir = os.path.join(resolver.upstream_src_dir, 'chromium', path)
leading += 1
if not os.path.isdir(target_dir):
diff --git a/tools/scripts/version_resolver.py b/tools/scripts/version_resolver.py
index 738798e49..73a5c5c6b 100644
--- a/tools/scripts/version_resolver.py
+++ b/tools/scripts/version_resolver.py
@@ -41,7 +41,10 @@
#
#############################################################################
+import glob
import os
+import re
+import shutil
import subprocess
import sys
import json
@@ -55,6 +58,12 @@ json_url = 'http://omahaproxy.appspot.com/all.json'
git_deps_url = 'http://src.chromium.org/chrome/branches/' + chromium_branch + '/src/.DEPS.git'
base_deps_url = 'http://src.chromium.org/chrome/releases/'
+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'))
+
def currentVersion():
return chromium_version
@@ -143,3 +152,48 @@ def readSubmodules():
module.shasum = git.shasum
return sanityCheckModules(submodule_dict.values())
+
+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=' + currentVersion()])
+ os.chdir(oldCwd)
+ return line.split(' ')[0]
+
+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)
+ print('-- preparing patches to ' + patches_dir + ' --')
+ subprocess.call(['git', 'format-patch', '-q', '-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
+