move check specfile to guess_spec function
authorZhang Qiang <qiang.z.zhang@intel.com>
Mon, 30 Jul 2012 08:41:20 +0000 (16:41 +0800)
committerZhang Qiang <qiang.z.zhang@intel.com>
Tue, 31 Jul 2012 07:58:05 +0000 (15:58 +0800)
guess_spec is used by build, remotebuild and export module, so it's
better to check that in guess_spec function.

gitbuildsys/cmd_export.py
gitbuildsys/utils.py

index b12efd3..da517b0 100644 (file)
@@ -107,7 +107,7 @@ def do(opts, args):
 
     # Only guess spec filename here, parse later when we have the correct
     # spec file at hand
-    specfile = utils.guess_spec(workdir, os.path.abspath(opts.spec))
+    specfile = utils.guess_spec(workdir, opts.spec)
     tempd = utils.Temp(prefix='gbs_export_', dirn=outdir, directory=True)
     export_dir = tempd.path
     with utils.Workdir(workdir):
index a28c13a..092b79b 100644 (file)
@@ -45,13 +45,16 @@ class Workdir(object):
 
 def guess_spec(workdir, default_spec):
     if default_spec:
+        default_spec = os.path.abspath(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 = '%s/packaging/%s.spec' % (workdir, git_project)
+    specfile = os.path.join(workdir, 'packaging', '%s.spec' % git_project)
     if not os.path.exists(specfile):
-        specs = glob.glob('%s/packaging/*.spec' % workdir)
+        specs = glob.glob(os.path.join(workdir, 'packaging', '*.spec'))
         if not specs:
             msger.error('no spec file found under %s/packaging' % workdir)