From: Daniel Martí Date: Sat, 2 Apr 2016 12:43:49 +0000 (+0100) Subject: common: never pass None to replace_config_vars X-Git-Tag: 0.7.0~70 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=7dfc1c0449ff989d99269a4bc544cf4d46eae675;p=fdroidserver.git common: never pass None to replace_config_vars This fixes fdroid build com.umang.dashnotifier:18: ERROR: Could not build app com.umang.dashnotifier due to unknown error: Traceback (most recent call last): File "/home/mvdan/git/fsr/fdroidserver/build.py", line 1121, in main options.onserver, options.refresh): File "/home/mvdan/git/fsr/fdroidserver/build.py", line 950, in trybuild build_local(app, build, vcs, build_dir, output_dir, srclib_dir, extlib_dir, tmp_dir, force, onserver, refresh) File "/home/mvdan/git/fsr/fdroidserver/build.py", line 480, in build_local extlib_dir, onserver, refresh) File "/home/mvdan/git/fsr/fdroidserver/common.py", line 1335, in prepare_source srclibpaths.append(getsrclib(lib, srclib_dir, build, preponly=onserver, refresh=refresh)) File "/home/mvdan/git/fsr/fdroidserver/common.py", line 1258, in getsrclib cmd = replace_config_vars(srclib["Prepare"], None) File "/home/mvdan/git/fsr/fdroidserver/common.py", line 1822, in replace_config_vars cmd = cmd.replace('$$NDK$$', build.ndk_path()) AttributeError: 'NoneType' object has no attribute 'ndk_path' --- diff --git a/fdroidserver/common.py b/fdroidserver/common.py index 6dd33713..67ef0c08 100644 --- a/fdroidserver/common.py +++ b/fdroidserver/common.py @@ -1206,7 +1206,8 @@ class BuildException(FDroidException): # it, which may be a subdirectory of the actual project. If you want the base # directory of the project, pass 'basepath=True'. def getsrclib(spec, srclib_dir, subdir=None, basepath=False, - raw=False, prepare=True, preponly=False, refresh=True): + raw=False, prepare=True, preponly=False, refresh=True, + build=None): number = None subdir = None @@ -1255,7 +1256,7 @@ def getsrclib(spec, srclib_dir, subdir=None, basepath=False, if prepare: if srclib["Prepare"]: - cmd = replace_config_vars(srclib["Prepare"], None) + cmd = replace_config_vars(srclib["Prepare"], build) p = FDroidPopen(['bash', '-x', '-c', cmd], cwd=libdir) if p.returncode != 0: @@ -1332,7 +1333,8 @@ def prepare_source(vcs, app, build, build_dir, srclib_dir, extlib_dir, onserver= if build.srclibs: logging.info("Collecting source libraries") for lib in build.srclibs: - srclibpaths.append(getsrclib(lib, srclib_dir, build, preponly=onserver, refresh=refresh)) + srclibpaths.append(getsrclib(lib, srclib_dir, build, preponly=onserver, + refresh=refresh, build=build)) for name, number, libpath in srclibpaths: place_srclib(root_dir, int(number) if number else None, libpath)