diff options
Diffstat (limited to 'meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch')
-rw-r--r-- | meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch | 36 |
1 files changed, 14 insertions, 22 deletions
diff --git a/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch b/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch index cb2123546..4a001f338 100644 --- a/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch +++ b/meta-openembedded/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch @@ -1,28 +1,26 @@ -From e6e747b883114bfad51ad93f823e65f5a4d6438a Mon Sep 17 00:00:00 2001 +From 62fdead139edb0f29b2f222efcb8f39be15b057e Mon Sep 17 00:00:00 2001 From: Hongxu Jia <hongxu.jia@windriver.com> -Date: Thu, 1 Jun 2017 15:12:29 +0800 -Subject: [PATCH 2/4] pykickstart/parser.py: add lock for readKickstart and +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 -Upstream-Status: Inappropriate[oe specific] - Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> --- pykickstart/load.py | 2 +- - pykickstart/parser.py | 24 ++++++++++++++++++++++++ - 2 files changed, 25 insertions(+), 1 deletion(-) + pykickstart/parser.py | 18 ++++++++++++++++++ + 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/pykickstart/load.py b/pykickstart/load.py -index 0f5741b..48c8276 100644 +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 + _is_url = lambda location: '://' in location # RFC 3986 -SSL_VERIFY = True +SSL_VERIFY = False @@ -30,38 +28,32 @@ index 0f5741b..48c8276 100644 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 26b5de9..264ba05 100644 +index e44099b..e68174d 100644 --- a/pykickstart/parser.py +++ b/pykickstart/parser.py -@@ -57,6 +57,26 @@ STATE_COMMANDS = "commands" - - ver = version.DEVEL +@@ -55,6 +55,20 @@ from pykickstart.i18n import _ + STATE_END = "end" + STATE_COMMANDS = "commands" -+import logging -+log = logging.getLogger("anaconda") -+ -+import inspect +import threading +_private_ks_lock = threading.RLock() + +class KsLock(object): + def __enter__(self): -+ log.info("%s %s" % (self.__class__.__name__, inspect.stack()[0][3])) + _private_ks_lock.acquire() + return _private_ks_lock + + def __exit__(self, exc_type, exc_val, exc_tb): -+ log.info("%s %s" % (self.__class__.__name__, inspect.stack()[0][3])) + _private_ks_lock.release() + + +_ks_lock = KsLock() + - def _preprocessStateMachine (lineIter): + def _preprocessStateMachine(lineIter): l = None lineno = 0 -@@ -774,6 +794,10 @@ class KickstartParser(object): - self._stateMachine (i) +@@ -788,6 +802,10 @@ class KickstartParser(object): + self._stateMachine(i) def readKickstart(self, f, reset=True, username=None, password=None): + with _ks_lock: |