From d6a1c1a97d04a0367a3b34d3a7fa83fbf1865c85 Mon Sep 17 00:00:00 2001 From: Dawei Yang Date: Mon, 4 Jun 2012 13:08:27 +0800 Subject: [PATCH] report the error when parsing an invalid specfile --- gitbuildsys/cmd_build.py | 6 +++++- gitbuildsys/cmd_export.py | 6 +++++- gitbuildsys/cmd_remotebuild.py | 7 ++++++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/gitbuildsys/cmd_build.py b/gitbuildsys/cmd_build.py index 500d730..17e6cb3 100644 --- a/gitbuildsys/cmd_build.py +++ b/gitbuildsys/cmd_build.py @@ -136,7 +136,11 @@ def do(opts, args): except errors.QemuError, exc: msger.error('%s' % exc) - spec = rpm.parse_spec(specfile) + try: + spec = rpm.parse_spec(specfile) + except GbpError, err: + msger.error('%s' % err) + if not spec.name or not spec.version: msger.error('can\'t get correct name or version from spec file.') diff --git a/gitbuildsys/cmd_export.py b/gitbuildsys/cmd_export.py index 5468afc..c08321b 100644 --- a/gitbuildsys/cmd_export.py +++ b/gitbuildsys/cmd_export.py @@ -68,7 +68,11 @@ def do(opts, args): outdir = opts.outdir specfile = utils.guess_spec(workdir, opts.spec) - spec = rpm.parse_spec(specfile) + try: + spec = rpm.parse_spec(specfile) + except GbpError, err: + msger.error('%s' % err) + if not spec.name or not spec.version: msger.error('can\'t get correct name or version from spec file.') else: diff --git a/gitbuildsys/cmd_remotebuild.py b/gitbuildsys/cmd_remotebuild.py index fdeeff6..fc5b0fb 100644 --- a/gitbuildsys/cmd_remotebuild.py +++ b/gitbuildsys/cmd_remotebuild.py @@ -32,6 +32,7 @@ import utils import gbp.rpm from gbp.scripts.buildpackage_rpm import main as gbp_build from gbp.git import repository +from gbp.errors import GbpError OSCRC_TEMPLATE = """[general] apiurl = %(apiurl)s @@ -85,7 +86,11 @@ def do(opts, args): specfile = utils.guess_spec(workdir, opts.spec) # get 'name' and 'version' from spec file - spec = gbp.rpm.parse_spec(specfile) + try: + spec = gbp.rpm.parse_spec(specfile) + except GbpError, err: + msger.error('%s' % err) + if not spec.name or not spec.version: msger.error('can\'t get correct name or version from spec file.') -- 2.7.4