[Feature]add MT2731_MP2_MR2_SVN388 baseline version
Change-Id: Ief04314834b31e27effab435d3ca8ba33b499059
diff --git a/meta/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch b/meta/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch
new file mode 100644
index 0000000..4a001f3
--- /dev/null
+++ b/meta/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch
@@ -0,0 +1,68 @@
+From 62fdead139edb0f29b2f222efcb8f39be15b057e Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 30 Jul 2018 15:47:13 +0800
+Subject: [PATCH 2/4] pykickstart/parser.py: add lock for readKickstart and
+ support https without certification
+
+- Add lock for readKickstart to fix race issue
+
+- Support to download kickstart file through https without certification
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ pykickstart/load.py | 2 +-
+ pykickstart/parser.py | 18 ++++++++++++++++++
+ 2 files changed, 19 insertions(+), 1 deletion(-)
+
+diff --git a/pykickstart/load.py b/pykickstart/load.py
+index c6f013f..7adb751 100644
+--- a/pykickstart/load.py
++++ b/pykickstart/load.py
+@@ -30,7 +30,7 @@ from requests.exceptions import SSLError, RequestException
+
+ _is_url = lambda location: '://' in location # RFC 3986
+
+-SSL_VERIFY = True
++SSL_VERIFY = False
+
+ def load_to_str(location, user=None, passwd=None):
+ '''Load a destination URL or file into a string.
+diff --git a/pykickstart/parser.py b/pykickstart/parser.py
+index e44099b..e68174d 100644
+--- a/pykickstart/parser.py
++++ b/pykickstart/parser.py
+@@ -55,6 +55,20 @@ from pykickstart.i18n import _
+ STATE_END = "end"
+ STATE_COMMANDS = "commands"
+
++import threading
++_private_ks_lock = threading.RLock()
++
++class KsLock(object):
++ def __enter__(self):
++ _private_ks_lock.acquire()
++ return _private_ks_lock
++
++ def __exit__(self, exc_type, exc_val, exc_tb):
++ _private_ks_lock.release()
++
++
++_ks_lock = KsLock()
++
+ def _preprocessStateMachine(lineIter):
+ l = None
+ lineno = 0
+@@ -788,6 +802,10 @@ class KickstartParser(object):
+ self._stateMachine(i)
+
+ def readKickstart(self, f, reset=True, username=None, password=None):
++ with _ks_lock:
++ self._readKickstart(f, reset=reset, username=username, password=password)
++
++ def _readKickstart(self, f, reset=True, username=None, password=None):
+ """Process a kickstart file, given by the filename f."""
+ if reset:
+ self._reset()
+--
+2.7.4
+