From 79d247d682785850ee97d3064d97191705f3bd6d Mon Sep 17 00:00:00 2001 From: Ciaran Gultnieks Date: Tue, 12 Feb 2013 15:20:30 +0000 Subject: [PATCH 1/4] Log buildserver setup --- buildserver/.gitignore | 1 + makebuildserver.py | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/buildserver/.gitignore b/buildserver/.gitignore index 8000dd9d..4de7cdb2 100644 --- a/buildserver/.gitignore +++ b/buildserver/.gitignore @@ -1 +1,2 @@ .vagrant +up.log diff --git a/makebuildserver.py b/makebuildserver.py index fbfeef87..0c23c588 100755 --- a/makebuildserver.py +++ b/makebuildserver.py @@ -24,10 +24,11 @@ if os.path.exists(boxfile): vagrant(['halt'], serverdir) print "Configuring build server VM" returncode, out, err = vagrant(['up'], serverdir) +with open(os.path.join(serverdir, 'up.log'), 'w') as log: + log.write('==stdout==\n' + out + '\n\n') + log.write('==stderr==\n' + err + '\n\n') if returncode != 0: print "Failed to configure server" - print out - print err print "Stopping build server VM" vagrant(['halt'], serverdir) From 7e9d46d427f49df4f373c004e1f00f72fa72c6d2 Mon Sep 17 00:00:00 2001 From: Simon Josefsson Date: Tue, 5 Mar 2013 13:36:15 +0100 Subject: [PATCH 2/4] Discover apk filename from maven builds. --- fdroidserver/build.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fdroidserver/build.py b/fdroidserver/build.py index bfe35446..bc7d6b4e 100644 --- a/fdroidserver/build.py +++ b/fdroidserver/build.py @@ -351,6 +351,10 @@ def build_local(app, thisbuild, vcs, build_dir, output_dir, extlib_dir, tmp_dir, # This format is found in com.github.mobile for example... m = re.match(r".*^\[INFO\] [^$]*aapt \[package,[^$]*" + app['id'] + "/app/target/([^$]+)\.ap_\]", output, re.S|re.M) + if not m: + # This format is found in com.yubico.yubitotp for example... + m = re.match(r".*^\[INFO\] [^$]*aapt \[package,[^$]*" + app['id'] + "/" + thisbuild['bindir'] + "/([^$]+)\.ap_,", + output, re.S|re.M) if not m: print output raise BuildException('Failed to find output') From a3e0e082c377dc13426abff5ccaf81fee66a6b73 Mon Sep 17 00:00:00 2001 From: Ciaran Gultnieks Date: Tue, 5 Mar 2013 19:47:52 +0000 Subject: [PATCH 3/4] Handle multiple uses of extlib subdirectory --- fdroidserver/build.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/fdroidserver/build.py b/fdroidserver/build.py index bfe35446..1a2aa293 100644 --- a/fdroidserver/build.py +++ b/fdroidserver/build.py @@ -87,8 +87,9 @@ def build_server(app, thisbuild, vcs, build_dir, output_dir, sdk_path, force): # Open SSH connection to make sure it's working and ready... print "Connecting to virtual machine..." - subprocess.call('vagrant ssh-config >sshconfig', - cwd='builder', shell=True) + if subprocess.call('vagrant ssh-config >sshconfig', + cwd='builder', shell=True) != 0: + raise BuildException("Error getting ssh config") vagranthost = 'default' # Host in ssh config file sshconfig = ssh.SSHConfig() sshf = open('builder/sshconfig', 'r') @@ -191,7 +192,8 @@ def build_server(app, thisbuild, vcs, build_dir, output_dir, sdk_path, force): for lib in thisbuild['extlibs'].split(';'): lp = lib.split('/') for d in lp[:-1]: - ftp.mkdir(d) + if d not in ftp.listdir(): + ftp.mkdir(d) ftp.chdir(d) ftp.put(os.path.join('build/extlib', lib), lp[-1]) for _ in lp[:-1]: From 242707602b5359a2687227cbc7ced5776d78e6f1 Mon Sep 17 00:00:00 2001 From: Ciaran Gultnieks Date: Wed, 6 Mar 2013 18:16:43 +0000 Subject: [PATCH 4/4] Extra maven target matching --- fdroidserver/build.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/fdroidserver/build.py b/fdroidserver/build.py index 1a2aa293..03b519a7 100644 --- a/fdroidserver/build.py +++ b/fdroidserver/build.py @@ -353,6 +353,10 @@ def build_local(app, thisbuild, vcs, build_dir, output_dir, extlib_dir, tmp_dir, # This format is found in com.github.mobile for example... m = re.match(r".*^\[INFO\] [^$]*aapt \[package,[^$]*" + app['id'] + "/app/target/([^$]+)\.ap_\]", output, re.S|re.M) + if not m: + # This format is found in com.botbrew.basil for example... + m = re.match(r".*^\[INFO\] [^$]*aapt \[package,[^$]*" + app['id'] + "/target/([^$]+)\.ap_\]", + output, re.S|re.M) if not m: print output raise BuildException('Failed to find output')