summaryrefslogtreecommitdiffstats
path: root/tools/scripts/patch_upstream.py
diff options
context:
space:
mode:
Diffstat (limited to 'tools/scripts/patch_upstream.py')
-rwxr-xr-xtools/scripts/patch_upstream.py57
1 files changed, 7 insertions, 50 deletions
diff --git a/tools/scripts/patch_upstream.py b/tools/scripts/patch_upstream.py
index e347d0e2..081a2452 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):