From a5d4a1946bf63071b21eff0750a715171313819e Mon Sep 17 00:00:00 2001 From: Huang Hao Date: Wed, 24 Oct 2012 15:32:45 +0800 Subject: [PATCH] guess_spec() should return a spec belonging to given project Fix #483 Change-Id: I29810b0ae6aa11598793cd7dc3fcf29616330a97 --- gitbuildsys/utils.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gitbuildsys/utils.py b/gitbuildsys/utils.py index 57e1fbe..48860f4 100644 --- a/gitbuildsys/utils.py +++ b/gitbuildsys/utils.py @@ -44,14 +44,18 @@ class Workdir(object): os.chdir(self._cwd) def guess_spec(workdir, default_spec): + workdir = os.path.abspath(workdir) + git_project = os.path.basename(workdir) + if default_spec: default_spec = os.path.abspath(default_spec) + if not default_spec.startswith(workdir): + msger.error("spec file doesn't belong to the project %s: " + "%s" % (git_project, default_spec)) if not os.path.exists(default_spec): msger.error('%s does not exit' % default_spec) return default_spec - workdir = os.path.abspath(workdir) - git_project = os.path.basename(workdir) specfile = os.path.join(workdir, 'packaging', '%s.spec' % git_project) if not os.path.exists(specfile): specs = glob.glob(os.path.join(workdir, 'packaging', '*.spec')) -- 2.7.4