From e1c85dfc21a481c8b29d17b9dfa347cf9558782a Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Fri, 24 Feb 2012 03:21:00 +0200 Subject: [PATCH] Patch before running prebuild commands. Sometimes an application provides a script to initialize its build environment, and it may be required to patch such a script before running it (typical case is hardcoding developer's local paths). More generally, "declaritive" ways of changing code (e.g., forceversion, patch, etc.) should be preferred to prebuild, which should be used as the last resort (as it is too generic and thus verbose). So, it's right ordering in that respect either. --- common.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/common.py b/common.py index 48be88eb..b071470a 100644 --- a/common.py +++ b/common.py @@ -829,6 +829,15 @@ def prepare_source(vcs, app, build, build_dir, extlib_dir, sdk_path, ndk_path, j if os.path.exists(badpath): shutil.rmtree(badpath) + # Apply patches if any + if 'patch' in build: + for patch in build['patch'].split(';'): + print "Applying " + patch + patch_path = os.path.join('metadata', app['id'], patch) + if subprocess.call(['patch', '-p1', + '-i', os.path.abspath(patch_path)], cwd=build_dir) != 0: + raise BuildException("Failed to apply patch %s" % patch_path) + # Run a pre-build command if one is required... if build.has_key('prebuild'): prebuild = build['prebuild'] @@ -839,15 +848,6 @@ def prepare_source(vcs, app, build, build_dir, extlib_dir, sdk_path, ndk_path, j if subprocess.call(prebuild, cwd=root_dir, shell=True) != 0: raise BuildException("Error running pre-build command") - # Apply patches if any - if 'patch' in build: - for patch in build['patch'].split(';'): - print "Applying " + patch - patch_path = os.path.join('metadata', app['id'], patch) - if subprocess.call(['patch', '-p1', - '-i', os.path.abspath(patch_path)], cwd=build_dir) != 0: - raise BuildException("Failed to apply patch %s" % patch_path) - # Special case init functions for funambol... if build.get('initfun', 'no') == "yes": -- 2.30.2