[Feature]add MT2731_MP2_MR2_SVN388 baseline version

Change-Id: Ief04314834b31e27effab435d3ca8ba33b499059
diff --git a/meta/poky/scripts/gen-lockedsig-cache b/meta/poky/scripts/gen-lockedsig-cache
new file mode 100755
index 0000000..6765891
--- /dev/null
+++ b/meta/poky/scripts/gen-lockedsig-cache
@@ -0,0 +1,74 @@
+#!/usr/bin/env python3
+
+import os
+import sys
+import glob
+import shutil
+import errno
+
+def mkdir(d):
+    try:
+        os.makedirs(d)
+    except OSError as e:
+        if e.errno != errno.EEXIST:
+            raise e
+
+if len(sys.argv) < 5:
+    print("Incorrect number of arguments specified")
+    print("syntax: gen-lockedsig-cache <locked-sigs.inc> <input-cachedir> <output-cachedir> <nativelsbstring> [filterfile]")
+    sys.exit(1)
+
+filterlist = []
+if len(sys.argv) > 5:
+    print('Reading filter file %s' % sys.argv[5])
+    with open(sys.argv[5]) as f:
+        for l in f.readlines():
+            if ":" in l:
+                filterlist.append(l.rstrip())
+
+print('Reading %s' % sys.argv[1])
+sigs = []
+with open(sys.argv[1]) as f:
+    for l in f.readlines():
+        if ":" in l:
+            task, sig = l.split()[0].rsplit(':', 1)
+            if filterlist and not task in filterlist:
+                print('Filtering out %s' % task)
+            else:
+                sigs.append(sig)
+
+print('Gathering file list')
+files = set()
+for s in sigs:
+    p = sys.argv[2] + "/" + s[:2] + "/*" + s + "*"
+    files |= set(glob.glob(p))
+    p = sys.argv[2] + "/%s/" % sys.argv[4] + s[:2] + "/*" + s + "*"
+    files |= set(glob.glob(p))
+
+print('Processing files')
+for f in files:
+    sys.stdout.write('Processing %s... ' % f)
+    _, ext = os.path.splitext(f)
+    if not ext in ['.tgz', '.siginfo', '.sig']:
+        # Most likely a temp file, skip it
+        print('skipping')
+        continue
+    dst = os.path.join(sys.argv[3], os.path.relpath(f, sys.argv[2]))
+    destdir = os.path.dirname(dst)
+    mkdir(destdir)
+
+    src = os.path.realpath(f)
+    if os.path.exists(dst):
+        os.remove(dst)
+    if (os.stat(src).st_dev == os.stat(destdir).st_dev):
+        print('linking')
+        try:
+            os.link(src, dst)
+        except OSError as e:
+            print('hard linking failed, copying')
+            shutil.copyfile(src, dst)
+    else:
+        print('copying')
+        shutil.copyfile(src, dst)
+
+print('Done!')