mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-05-07 05:10:20 +00:00
python3-pykickstart: upgrade 3.34 -> 3.43
0001-support-authentication-for-kickstart.patch 0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch 0004-load.py-retry-to-invoke-request-with-timeout.patch refreshed for new version. Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
+18
-17
@@ -12,15 +12,14 @@ which the invoker could parse this specific error.
|
|||||||
Upstream-Status: inappropriate [oe specific]
|
Upstream-Status: inappropriate [oe specific]
|
||||||
|
|
||||||
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
||||||
|
|
||||||
---
|
---
|
||||||
pykickstart/errors.py | 17 +++++++++++++++++
|
pykickstart/errors.py | 17 +++++++++++++++++
|
||||||
pykickstart/load.py | 34 ++++++++++++++++++++++++++++------
|
pykickstart/load.py | 32 +++++++++++++++++++++++++++-----
|
||||||
pykickstart/parser.py | 4 ++--
|
pykickstart/parser.py | 4 ++--
|
||||||
3 files changed, 47 insertions(+), 8 deletions(-)
|
3 files changed, 46 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
diff --git a/pykickstart/errors.py b/pykickstart/errors.py
|
diff --git a/pykickstart/errors.py b/pykickstart/errors.py
|
||||||
index 8294f59a..3d20bf82 100644
|
index 8294f59..3d20bf8 100644
|
||||||
--- a/pykickstart/errors.py
|
--- a/pykickstart/errors.py
|
||||||
+++ b/pykickstart/errors.py
|
+++ b/pykickstart/errors.py
|
||||||
@@ -32,6 +32,9 @@ This module exports several exception classes:
|
@@ -32,6 +32,9 @@ This module exports several exception classes:
|
||||||
@@ -52,16 +51,15 @@ index 8294f59a..3d20bf82 100644
|
|||||||
+ def __str__(self):
|
+ def __str__(self):
|
||||||
+ return self.value
|
+ return self.value
|
||||||
diff --git a/pykickstart/load.py b/pykickstart/load.py
|
diff --git a/pykickstart/load.py b/pykickstart/load.py
|
||||||
index 30e2fcfa..b984876d 100644
|
index eb76b65..f51cf08 100644
|
||||||
--- a/pykickstart/load.py
|
--- a/pykickstart/load.py
|
||||||
+++ b/pykickstart/load.py
|
+++ b/pykickstart/load.py
|
||||||
@@ -18,9 +18,12 @@
|
@@ -18,9 +18,11 @@
|
||||||
# with the express permission of Red Hat, Inc.
|
# with the express permission of Red Hat, Inc.
|
||||||
#
|
#
|
||||||
import requests
|
import requests
|
||||||
+from requests.auth import HTTPDigestAuth
|
+from requests.auth import HTTPDigestAuth
|
||||||
+from requests.auth import HTTPBasicAuth
|
+from requests.auth import HTTPBasicAuth
|
||||||
+
|
|
||||||
import shutil
|
import shutil
|
||||||
|
|
||||||
-from pykickstart.errors import KickstartError
|
-from pykickstart.errors import KickstartError
|
||||||
@@ -69,7 +67,7 @@ index 30e2fcfa..b984876d 100644
|
|||||||
from pykickstart.i18n import _
|
from pykickstart.i18n import _
|
||||||
from requests.exceptions import SSLError, RequestException
|
from requests.exceptions import SSLError, RequestException
|
||||||
|
|
||||||
@@ -28,7 +31,7 @@ _is_url = lambda location: '://' in location # RFC 3986
|
@@ -28,7 +30,7 @@ is_url = lambda location: '://' in location # RFC 3986
|
||||||
|
|
||||||
SSL_VERIFY = True
|
SSL_VERIFY = True
|
||||||
|
|
||||||
@@ -78,21 +76,20 @@ index 30e2fcfa..b984876d 100644
|
|||||||
'''Load a destination URL or file into a string.
|
'''Load a destination URL or file into a string.
|
||||||
Type of input is inferred automatically.
|
Type of input is inferred automatically.
|
||||||
|
|
||||||
@@ -39,7 +42,7 @@ def load_to_str(location):
|
@@ -39,7 +41,7 @@ def load_to_str(location):
|
||||||
Raises: KickstartError on error reading'''
|
Raises: KickstartError on error reading'''
|
||||||
|
|
||||||
if _is_url(location):
|
if is_url(location):
|
||||||
- return _load_url(location)
|
- return _load_url(location)
|
||||||
+ return _load_url(location, user=user, passwd=passwd)
|
+ return _load_url(location, user=user, passwd=passwd)
|
||||||
else:
|
else:
|
||||||
return _load_file(location)
|
return _load_file(location)
|
||||||
|
|
||||||
@@ -69,11 +72,30 @@ def load_to_file(location, destination):
|
@@ -69,11 +71,31 @@ def load_to_file(location, destination):
|
||||||
_copy_file(location, destination)
|
_copy_file(location, destination)
|
||||||
return destination
|
return destination
|
||||||
|
|
||||||
-def _load_url(location):
|
-def _load_url(location):
|
||||||
- '''Load a location (URL or filename) and return contents as string'''
|
|
||||||
+def _get_auth(location, user=None, passwd=None):
|
+def _get_auth(location, user=None, passwd=None):
|
||||||
+
|
+
|
||||||
+ auth = None
|
+ auth = None
|
||||||
@@ -101,7 +98,7 @@ index 30e2fcfa..b984876d 100644
|
|||||||
+ if user is None or passwd is None:
|
+ if user is None or passwd is None:
|
||||||
+ log.info("Require Authentication")
|
+ log.info("Require Authentication")
|
||||||
+ raise KickstartAuthError("Require Authentication.\nAppend 'ksuser=<username> kspasswd=<password>' to boot command")
|
+ raise KickstartAuthError("Require Authentication.\nAppend 'ksuser=<username> kspasswd=<password>' to boot command")
|
||||||
|
+
|
||||||
+ reasons = request.headers.get("WWW-Authenticate", "").split()
|
+ reasons = request.headers.get("WWW-Authenticate", "").split()
|
||||||
+ if reasons:
|
+ if reasons:
|
||||||
+ auth_type = reasons[0]
|
+ auth_type = reasons[0]
|
||||||
@@ -113,8 +110,9 @@ index 30e2fcfa..b984876d 100644
|
|||||||
+ return auth
|
+ return auth
|
||||||
+
|
+
|
||||||
+def _load_url(location, user=None, passwd=None):
|
+def _load_url(location, user=None, passwd=None):
|
||||||
+ '''Load a location (URL or filename) and return contents as string'''
|
'''Load a location (URL or filename) and return contents as string'''
|
||||||
+ auth = _get_auth(location, user=user, passwd=passwd)
|
+ auth = _get_auth(location, user=user, passwd=passwd)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
- request = requests.get(location, verify=SSL_VERIFY)
|
- request = requests.get(location, verify=SSL_VERIFY)
|
||||||
+ request = requests.get(location, verify=SSL_VERIFY, auth=auth)
|
+ request = requests.get(location, verify=SSL_VERIFY, auth=auth)
|
||||||
@@ -122,10 +120,10 @@ index 30e2fcfa..b984876d 100644
|
|||||||
raise KickstartError(_('Error securely accessing URL "%s"') % location + ': {e}'.format(e=str(e)))
|
raise KickstartError(_('Error securely accessing URL "%s"') % location + ': {e}'.format(e=str(e)))
|
||||||
except RequestException as e:
|
except RequestException as e:
|
||||||
diff --git a/pykickstart/parser.py b/pykickstart/parser.py
|
diff --git a/pykickstart/parser.py b/pykickstart/parser.py
|
||||||
index b23e54f1..e10f06b5 100644
|
index 7edf8aa..46c5299 100644
|
||||||
--- a/pykickstart/parser.py
|
--- a/pykickstart/parser.py
|
||||||
+++ b/pykickstart/parser.py
|
+++ b/pykickstart/parser.py
|
||||||
@@ -796,7 +796,7 @@ class KickstartParser(object):
|
@@ -790,7 +790,7 @@ class KickstartParser(object):
|
||||||
i = PutBackIterator(s.splitlines(True) + [""])
|
i = PutBackIterator(s.splitlines(True) + [""])
|
||||||
self._stateMachine(i)
|
self._stateMachine(i)
|
||||||
|
|
||||||
@@ -134,7 +132,7 @@ index b23e54f1..e10f06b5 100644
|
|||||||
"""Process a kickstart file, given by the filename f."""
|
"""Process a kickstart file, given by the filename f."""
|
||||||
if reset:
|
if reset:
|
||||||
self._reset()
|
self._reset()
|
||||||
@@ -817,7 +817,7 @@ class KickstartParser(object):
|
@@ -811,7 +811,7 @@ class KickstartParser(object):
|
||||||
self.currentdir[self._includeDepth] = cd
|
self.currentdir[self._includeDepth] = cd
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@@ -143,3 +141,6 @@ index b23e54f1..e10f06b5 100644
|
|||||||
except KickstartError as e:
|
except KickstartError as e:
|
||||||
raise KickstartError(_("Unable to open input kickstart file: %s") % str(e), lineno=0)
|
raise KickstartError(_("Unable to open input kickstart file: %s") % str(e), lineno=0)
|
||||||
|
|
||||||
|
--
|
||||||
|
2.34.1
|
||||||
|
|
||||||
|
|||||||
+9
-8
@@ -1,7 +1,7 @@
|
|||||||
From 62fdead139edb0f29b2f222efcb8f39be15b057e Mon Sep 17 00:00:00 2001
|
From 62fdead139edb0f29b2f222efcb8f39be15b057e Mon Sep 17 00:00:00 2001
|
||||||
From: Hongxu Jia <hongxu.jia@windriver.com>
|
From: Hongxu Jia <hongxu.jia@windriver.com>
|
||||||
Date: Mon, 30 Jul 2018 15:47:13 +0800
|
Date: Mon, 30 Jul 2018 15:47:13 +0800
|
||||||
Subject: [PATCH 2/4] pykickstart/parser.py: add lock for readKickstart and
|
Subject: [PATCH 2/4] pykickstart/parser.py: add lock for readKickstart and
|
||||||
support https without certification
|
support https without certification
|
||||||
|
|
||||||
- Add lock for readKickstart to fix race issue
|
- Add lock for readKickstart to fix race issue
|
||||||
@@ -9,18 +9,19 @@ Subject: [PATCH 2/4] pykickstart/parser.py: add lock for readKickstart and
|
|||||||
- Support to download kickstart file through https without certification
|
- Support to download kickstart file through https without certification
|
||||||
|
|
||||||
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
||||||
|
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
|
||||||
---
|
---
|
||||||
pykickstart/load.py | 2 +-
|
pykickstart/load.py | 2 +-
|
||||||
pykickstart/parser.py | 18 ++++++++++++++++++
|
pykickstart/parser.py | 18 ++++++++++++++++++
|
||||||
2 files changed, 19 insertions(+), 1 deletion(-)
|
2 files changed, 19 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/pykickstart/load.py b/pykickstart/load.py
|
diff --git a/pykickstart/load.py b/pykickstart/load.py
|
||||||
index c6f013f..7adb751 100644
|
index 8da8051..e856c8d 100644
|
||||||
--- a/pykickstart/load.py
|
--- a/pykickstart/load.py
|
||||||
+++ b/pykickstart/load.py
|
+++ b/pykickstart/load.py
|
||||||
@@ -30,7 +30,7 @@ from requests.exceptions import SSLError, RequestException
|
@@ -32,7 +32,7 @@ log = logging.getLogger("anaconda.main")
|
||||||
|
|
||||||
_is_url = lambda location: '://' in location # RFC 3986
|
is_url = lambda location: '://' in location # RFC 3986
|
||||||
|
|
||||||
-SSL_VERIFY = True
|
-SSL_VERIFY = True
|
||||||
+SSL_VERIFY = False
|
+SSL_VERIFY = False
|
||||||
@@ -28,10 +29,10 @@ index c6f013f..7adb751 100644
|
|||||||
def load_to_str(location, user=None, passwd=None):
|
def load_to_str(location, user=None, passwd=None):
|
||||||
'''Load a destination URL or file into a string.
|
'''Load a destination URL or file into a string.
|
||||||
diff --git a/pykickstart/parser.py b/pykickstart/parser.py
|
diff --git a/pykickstart/parser.py b/pykickstart/parser.py
|
||||||
index e44099b..e68174d 100644
|
index b95ba90..a55a9a3 100644
|
||||||
--- a/pykickstart/parser.py
|
--- a/pykickstart/parser.py
|
||||||
+++ b/pykickstart/parser.py
|
+++ b/pykickstart/parser.py
|
||||||
@@ -55,6 +55,20 @@ from pykickstart.i18n import _
|
@@ -51,6 +51,20 @@ from pykickstart.i18n import _
|
||||||
STATE_END = "end"
|
STATE_END = "end"
|
||||||
STATE_COMMANDS = "commands"
|
STATE_COMMANDS = "commands"
|
||||||
|
|
||||||
@@ -52,7 +53,7 @@ index e44099b..e68174d 100644
|
|||||||
def _preprocessStateMachine(lineIter):
|
def _preprocessStateMachine(lineIter):
|
||||||
l = None
|
l = None
|
||||||
lineno = 0
|
lineno = 0
|
||||||
@@ -788,6 +802,10 @@ class KickstartParser(object):
|
@@ -791,6 +805,10 @@ class KickstartParser(object):
|
||||||
self._stateMachine(i)
|
self._stateMachine(i)
|
||||||
|
|
||||||
def readKickstart(self, f, reset=True, username=None, password=None):
|
def readKickstart(self, f, reset=True, username=None, password=None):
|
||||||
@@ -64,5 +65,5 @@ index e44099b..e68174d 100644
|
|||||||
if reset:
|
if reset:
|
||||||
self._reset()
|
self._reset()
|
||||||
--
|
--
|
||||||
2.7.4
|
2.34.1
|
||||||
|
|
||||||
|
|||||||
+10
-8
@@ -11,19 +11,18 @@ network is up, the fetch works.
|
|||||||
Upstream-Status: inappropriate [oe specific]
|
Upstream-Status: inappropriate [oe specific]
|
||||||
|
|
||||||
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
||||||
|
|
||||||
---
|
---
|
||||||
pykickstart/load.py | 31 +++++++++++++++++++++++++++++++
|
pykickstart/load.py | 31 +++++++++++++++++++++++++++++++
|
||||||
1 file changed, 31 insertions(+)
|
1 file changed, 31 insertions(+)
|
||||||
|
|
||||||
diff --git a/pykickstart/load.py b/pykickstart/load.py
|
diff --git a/pykickstart/load.py b/pykickstart/load.py
|
||||||
index f75fe5d3..a8f3ed1d 100644
|
index 58faba6..e856c8d 100644
|
||||||
--- a/pykickstart/load.py
|
--- a/pykickstart/load.py
|
||||||
+++ b/pykickstart/load.py
|
+++ b/pykickstart/load.py
|
||||||
@@ -21,12 +21,16 @@ import requests
|
@@ -20,12 +20,16 @@
|
||||||
|
import requests
|
||||||
from requests.auth import HTTPDigestAuth
|
from requests.auth import HTTPDigestAuth
|
||||||
from requests.auth import HTTPBasicAuth
|
from requests.auth import HTTPBasicAuth
|
||||||
|
|
||||||
+import time
|
+import time
|
||||||
import shutil
|
import shutil
|
||||||
|
|
||||||
@@ -34,10 +33,10 @@ index f75fe5d3..a8f3ed1d 100644
|
|||||||
+import logging
|
+import logging
|
||||||
+log = logging.getLogger("anaconda.main")
|
+log = logging.getLogger("anaconda.main")
|
||||||
+
|
+
|
||||||
_is_url = lambda location: '://' in location # RFC 3986
|
is_url = lambda location: '://' in location # RFC 3986
|
||||||
|
|
||||||
SSL_VERIFY = False
|
SSL_VERIFY = False
|
||||||
@@ -72,6 +76,29 @@ def load_to_file(location, destination):
|
@@ -71,6 +75,29 @@ def load_to_file(location, destination):
|
||||||
_copy_file(location, destination)
|
_copy_file(location, destination)
|
||||||
return destination
|
return destination
|
||||||
|
|
||||||
@@ -67,7 +66,7 @@ index f75fe5d3..a8f3ed1d 100644
|
|||||||
def _get_auth(location, user=None, passwd=None):
|
def _get_auth(location, user=None, passwd=None):
|
||||||
|
|
||||||
auth = None
|
auth = None
|
||||||
@@ -93,6 +120,10 @@ def _get_auth(location, user=None, passwd=None):
|
@@ -92,6 +119,10 @@ def _get_auth(location, user=None, passwd=None):
|
||||||
|
|
||||||
def _load_url(location, user=None, passwd=None):
|
def _load_url(location, user=None, passwd=None):
|
||||||
'''Load a location (URL or filename) and return contents as string'''
|
'''Load a location (URL or filename) and return contents as string'''
|
||||||
@@ -76,5 +75,8 @@ index f75fe5d3..a8f3ed1d 100644
|
|||||||
+ raise KickstartError(_("Connection %s failed" % location))
|
+ raise KickstartError(_("Connection %s failed" % location))
|
||||||
+
|
+
|
||||||
auth = _get_auth(location, user=user, passwd=passwd)
|
auth = _get_auth(location, user=user, passwd=passwd)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
request = requests.get(location, verify=SSL_VERIFY, auth=auth)
|
--
|
||||||
|
2.34.1
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -18,7 +18,7 @@ SRC_URI = "git://github.com/rhinstaller/pykickstart.git;protocol=https;branch=ma
|
|||||||
file://0003-comment-out-sections-shutdown-and-environment-in-gen.patch \
|
file://0003-comment-out-sections-shutdown-and-environment-in-gen.patch \
|
||||||
file://0004-load.py-retry-to-invoke-request-with-timeout.patch \
|
file://0004-load.py-retry-to-invoke-request-with-timeout.patch \
|
||||||
"
|
"
|
||||||
SRCREV = "bfd836cfdd8439d984595aca015811ed5c6be733"
|
SRCREV = "6d488a0120f4da40aa0b04e29f37d7bb3297247f"
|
||||||
|
|
||||||
UPSTREAM_CHECK_GITTAGREGEX = "r(?P<pver>\d+(\.\d+)+(-\d+)*)"
|
UPSTREAM_CHECK_GITTAGREGEX = "r(?P<pver>\d+(\.\d+)+(-\d+)*)"
|
||||||
|
|
||||||
Reference in New Issue
Block a user