From 6819e3c30e517d7494215bb964d7ebe4e29adf80 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Daniel=20Mart=C3=AD?= Date: Tue, 6 Jan 2015 19:41:55 +0100 Subject: [PATCH] Set up the ndk in $PATH before each build --- fdroidserver/build.py | 4 ++++ fdroidserver/common.py | 18 +++++++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) 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']) -- 2.30.2