From: Daniel Martí Date: Tue, 6 Jan 2015 18:41:55 +0000 (+0100) Subject: Set up the ndk in $PATH before each build X-Git-Tag: 0.4.0~164 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=6819e3c30e517d7494215bb964d7ebe4e29adf80;p=fdroidserver.git Set up the ndk in $PATH before each build --- diff --git a/fdroidserver/build.py b/fdroidserver/build.py index f83ab430..e5efc46f 100644 --- a/fdroidserver/build.py +++ b/fdroidserver/build.py @@ -468,6 +468,10 @@ def build_local(app, thisbuild, vcs, build_dir, output_dir, srclib_dir, extlib_d for n in ['ANDROID_NDK', 'NDK']: common.env[n] = thisbuild['ndk_path'] + common.reset_env_path() + # Set up the current NDK to the PATH + common.add_to_env_path(thisbuild['ndk_path']) + # Prepare the source code... root_dir, srclibpaths = common.prepare_source(vcs, app, thisbuild, build_dir, srclib_dir, diff --git a/fdroidserver/common.py b/fdroidserver/common.py index 0a92131c..61b81ed2 100644 --- a/fdroidserver/common.py +++ b/fdroidserver/common.py @@ -37,6 +37,7 @@ import metadata config = None options = None env = None +orig_path = None default_config = { @@ -118,7 +119,7 @@ def read_config(opts, config_file='config.py'): The config is read from config_file, which is in the current directory when any of the repo management commands are used. """ - global config, options, env + global config, options, env, orig_path if config is not None: return config @@ -153,6 +154,7 @@ def read_config(opts, config_file='config.py'): # There is no standard, so just set up the most common environment # variables env = os.environ + orig_path = env['PATH'] for n in ['ANDROID_HOME', 'ANDROID_SDK']: env[n] = config['sdk_path'] @@ -1816,6 +1818,20 @@ def remove_signing_keys(build_dir): logging.info("Cleaned %s of keysigning configs at %s" % (propfile, path)) +def reset_env_path(): + global env, orig_path + env['PATH'] = orig_path + + +def add_to_env_path(path): + global env + paths = env['PATH'].split(os.pathsep) + if path in paths: + return + paths += path + env['PATH'] = os.pathsep.join(paths) + + def replace_config_vars(cmd): global env cmd = cmd.replace('$$SDK$$', config['sdk_path'])