From 3c3ca99baae26ba93082fff639b9b5c3a702fdc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Sun, 31 Mar 2013 19:33:18 +0200 Subject: [PATCH] Remove incorrect newlines in AM.xml This fixes the all-popular ndk r8c or later wordlist error --- fdroidserver/build.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/fdroidserver/build.py b/fdroidserver/build.py index bb1f88b0..0a4c3e6a 100644 --- a/fdroidserver/build.py +++ b/fdroidserver/build.py @@ -318,6 +318,17 @@ def build_local(app, thisbuild, vcs, build_dir, output_dir, extlib_dir, tmp_dir, for d in jni_components: if options.verbose: print "Running ndk-build in " + root_dir + '/' + d + manifest = root_dir + '/' + d + '/AndroidManifest.xml' + if os.path.exists(manifest): + # Read and write the whole AM.xml to fix newlines and avoid + # the ndk r8c or later 'wordlist' errors. The outcome of this + # under gnu/linux is the same as when using tools like + # dos2unix, but the native python way is faster and will + # work in non-unix systems. + manifest_text = open(manifest, 'U').read() + open(manifest, 'w').write(manifest_text) + # In case the AM.xml read was big, free the memory + del manifest_text p = subprocess.Popen([ndkbuild], cwd=root_dir + '/' + d, stdout=subprocess.PIPE) output = p.communicate()[0]