From: Ciaran Gultnieks Date: Thu, 23 Aug 2012 16:26:52 +0000 (+0100) Subject: Verify correct package ID in build output X-Git-Tag: 0.1~780 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=3477400b012e77131be63f015b63b92c5484793d;p=fdroidserver.git Verify correct package ID in build output --- diff --git a/fdroidserver/build.py b/fdroidserver/build.py index 71aca20a..99f057a9 100644 --- a/fdroidserver/build.py +++ b/fdroidserver/build.py @@ -237,14 +237,21 @@ def build_local(app, thisbuild, vcs, build_dir, output_dir, extlib_dir, tmp_dir, else: vercode = None version = None + foundid = None for line in output.splitlines(): if line.startswith("package:"): + pat = re.compile(".*name='([a-zA-Z0-9._]*)'.*") + foundid = re.match(pat, line).group(1) pat = re.compile(".*versionCode='([0-9]*)'.*") vercode = re.match(pat, line).group(1) pat = re.compile(".*versionName='([^']*)'.*") version = re.match(pat, line).group(1) - if version == None or vercode == None: + if not version or not vercode: raise BuildException("Could not find version information in build in output") + if not foundid: + raise BuildException("Could not find package ID in output") + if foundid != app['id']: + raise BuildException("Wrong package ID - build " + foundid + " but expected " + app['id']) # Some apps (e.g. Timeriffic) have had the bonkers idea of # including the entire changelog in the version number. Remove