fix gbs build error about path with'[]' 11/231911/10
authoryan11.meng <yan11.meng@samsung.com>
Sun, 26 Apr 2020 07:29:01 +0000 (15:29 +0800)
committeryan11.meng <yan11.meng@samsung.com>
Wed, 6 May 2020 06:22:58 +0000 (14:22 +0800)
Change-Id: I3c68124934850fd211b2b0de27f15fdc31405275
Signed-off-by: yan11.meng <yan11.meng@samsung.com>
gitbuildsys/utils.py

index 4982826d4e15162e9bc2c44119f464e8aefa8c37..8224290d01231748e497f7f85a6a8081e7e87e73 100644 (file)
@@ -68,8 +68,7 @@ def guess_spec(git_path, packaging_dir, given_spec, commit_id='WC.UNTRACKED'):
             packaging_dir = os.readlink(packaging_dir)
         check = lambda fname, dir_only=False: os.path.exists(os.path.join(
             git_path, fname))
-        glob_ = lambda pattern: [name.replace(git_path+'/', '') \
-            for name in reversed(glob.glob(os.path.join(git_path, pattern)))]
+        glob_ = lambda pattern: glob_in_inc(git_path, packaging_dir, pattern)
         msg = 'No such spec file %s'
     else:
         git_object = commit_id + ':' + packaging_dir
@@ -96,7 +95,10 @@ def guess_spec(git_path, packaging_dir, given_spec, commit_id='WC.UNTRACKED'):
         if not check(spec):
             raise GbsError(msg % spec)
 
-    specs = glob_(os.path.join(packaging_dir, '*.spec'))
+    if commit_id == 'WC.UNTRACKED':
+        specs=glob_('*.spec')
+    else:
+        specs = glob_(os.path.join(packaging_dir, '*.spec'))
     if not specs:
         raise GbsError("can't find any spec file under packaging dir: "
                        "%s" % packaging_dir)
@@ -778,6 +780,16 @@ def file_exists_in_rev(git_path, relative_path, commit_id, dir_only=False):
     return output != ''
 
 
+def glob_in_inc(git_path, packaging_dir, pattern):
+    f_path=os.path.join(git_path,packaging_dir)
+    specs = []
+    if(os.path.isdir(f_path)):
+        for filename in os.listdir(f_path):
+            if fnmatch.fnmatch(filename,pattern):
+                 specs.append(os.path.join(packaging_dir,filename))
+    return specs
+
+
 def glob_in_rev(git_path, pattern, commit_id):
     """Glob pattern in given revision."""