aboutsummaryrefslogtreecommitdiffstats
path: root/meta-python/recipes-extended/python-pykickstart
diff options
context:
space:
mode:
Diffstat (limited to 'meta-python/recipes-extended/python-pykickstart')
-rw-r--r--meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch46
-rw-r--r--meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch19
-rw-r--r--meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch12
-rw-r--r--meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch25
-rw-r--r--meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.48.bb (renamed from meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.18.bb)8
5 files changed, 55 insertions, 55 deletions
diff --git a/meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch b/meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch
index e7533f4769..309a00122a 100644
--- a/meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch
+++ b/meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch
@@ -1,7 +1,7 @@
-From f05f5fc363e2510f6943532f3e14a6423f6a2cf1 Mon Sep 17 00:00:00 2001
+From 3540ddcc7448dc784b65c74424c8a25132cb8534 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 31 Jul 2018 17:24:47 +0800
-Subject: [PATCH 1/4] support authentication for kickstart
+Subject: [PATCH] support authentication for kickstart
While download kickstart file from web server,
we support basic/digest authentication.
@@ -9,17 +9,17 @@ we support basic/digest authentication.
Add KickstartAuthError to report authentication failure,
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>
---
pykickstart/errors.py | 17 +++++++++++++++++
- pykickstart/load.py | 34 ++++++++++++++++++++++++++++------
+ pykickstart/load.py | 32 +++++++++++++++++++++++++++-----
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
-index bf08ac5..aada7aa 100644
+index 8294f59..3d20bf8 100644
--- a/pykickstart/errors.py
+++ b/pykickstart/errors.py
@@ -32,6 +32,9 @@ This module exports several exception classes:
@@ -32,10 +32,10 @@ index bf08ac5..aada7aa 100644
And some warning classes:
KickstartWarning - A generic warning class.
-@@ -131,3 +134,17 @@ class KickstartDeprecationWarning(KickstartParseWarning, DeprecationWarning):
+@@ -125,3 +128,17 @@ class KickstartDeprecationWarning(KickstartParseWarning, DeprecationWarning):
+ """A class for warnings occurring during parsing related to using deprecated
commands and options.
"""
- pass
+
+class KickstartAuthError(KickstartError):
+ """An exception for errors relating to authentication failed while
@@ -43,7 +43,7 @@ index bf08ac5..aada7aa 100644
+ """
+ def __init__(self, msg):
+ """Create a new KickstartAuthError exception instance with the
-+ descriptive message val. val should be the return value of
++ descriptive message val. val should be the return value of
+ formatErrorMsg.
+ """
+ KickstartError.__init__(self, msg)
@@ -51,25 +51,23 @@ index bf08ac5..aada7aa 100644
+ def __str__(self):
+ return self.value
diff --git a/pykickstart/load.py b/pykickstart/load.py
-index fb935f2..41a2e9e 100644
+index eb76b65..f51cf08 100644
--- a/pykickstart/load.py
+++ b/pykickstart/load.py
-@@ -18,10 +18,13 @@
+@@ -18,9 +18,11 @@
# with the express permission of Red Hat, Inc.
#
import requests
+from requests.auth import HTTPDigestAuth
+from requests.auth import HTTPBasicAuth
-+
import shutil
- import six
-from pykickstart.errors import KickstartError
+from pykickstart.errors import KickstartError, KickstartAuthError
from pykickstart.i18n import _
from requests.exceptions import SSLError, RequestException
-@@ -29,7 +32,7 @@ _is_url = lambda location: '://' in location # RFC 3986
+@@ -28,7 +30,7 @@ is_url = lambda location: '://' in location # RFC 3986
SSL_VERIFY = True
@@ -78,21 +76,20 @@ index fb935f2..41a2e9e 100644
'''Load a destination URL or file into a string.
Type of input is inferred automatically.
-@@ -40,7 +43,7 @@ def load_to_str(location):
+@@ -39,7 +41,7 @@ def load_to_str(location):
Raises: KickstartError on error reading'''
- if _is_url(location):
+ if is_url(location):
- return _load_url(location)
+ return _load_url(location, user=user, passwd=passwd)
else:
return _load_file(location)
-@@ -70,11 +73,30 @@ def load_to_file(location, destination):
+@@ -69,11 +71,31 @@ def load_to_file(location, destination):
_copy_file(location, destination)
return destination
-def _load_url(location):
-- '''Load a location (URL or filename) and return contents as string'''
+def _get_auth(location, user=None, passwd=None):
+
+ auth = None
@@ -101,7 +98,7 @@ index fb935f2..41a2e9e 100644
+ if user is None or passwd is None:
+ log.info("Require Authentication")
+ raise KickstartAuthError("Require Authentication.\nAppend 'ksuser=<username> kspasswd=<password>' to boot command")
-
++
+ reasons = request.headers.get("WWW-Authenticate", "").split()
+ if reasons:
+ auth_type = reasons[0]
@@ -113,8 +110,9 @@ index fb935f2..41a2e9e 100644
+ return auth
+
+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)
+
try:
- request = requests.get(location, verify=SSL_VERIFY)
+ request = requests.get(location, verify=SSL_VERIFY, auth=auth)
@@ -122,10 +120,10 @@ index fb935f2..41a2e9e 100644
raise KickstartError(_('Error securely accessing URL "%s"') % location + ': {e}'.format(e=str(e)))
except RequestException as e:
diff --git a/pykickstart/parser.py b/pykickstart/parser.py
-index d8880eb..22d14cb 100644
+index 7edf8aa..46c5299 100644
--- a/pykickstart/parser.py
+++ b/pykickstart/parser.py
-@@ -787,7 +787,7 @@ class KickstartParser(object):
+@@ -790,7 +790,7 @@ class KickstartParser(object):
i = PutBackIterator(s.splitlines(True) + [""])
self._stateMachine(i)
@@ -134,7 +132,7 @@ index d8880eb..22d14cb 100644
"""Process a kickstart file, given by the filename f."""
if reset:
self._reset()
-@@ -808,7 +808,7 @@ class KickstartParser(object):
+@@ -811,7 +811,7 @@ class KickstartParser(object):
self.currentdir[self._includeDepth] = cd
try:
@@ -144,5 +142,5 @@ index d8880eb..22d14cb 100644
raise KickstartError(_("Unable to open input kickstart file: %s") % str(e), lineno=0)
--
-2.7.4
+2.34.1
diff --git a/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch b/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch
index 4a001f3386..f5483db825 100644
--- a/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch
+++ b/meta-python/recipes-extended/python-pykickstart/files/0002-pykickstart-parser.py-add-lock-for-readKickstart-and.patch
@@ -1,7 +1,7 @@
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
+Subject: [PATCH 2/4] pykickstart/parser.py: add lock for readKickstart and
support https without certification
- Add lock for readKickstart to fix race issue
@@ -9,18 +9,21 @@ Subject: [PATCH 2/4] pykickstart/parser.py: add lock for readKickstart and
- Support to download kickstart file through https without certification
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
---
+Upstream-Status: Pending
+
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
+index 8da8051..e856c8d 100644
--- a/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 = False
@@ -28,10 +31,10 @@ index c6f013f..7adb751 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 e44099b..e68174d 100644
+index b95ba90..a55a9a3 100644
--- a/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_COMMANDS = "commands"
@@ -52,7 +55,7 @@ index e44099b..e68174d 100644
def _preprocessStateMachine(lineIter):
l = None
lineno = 0
-@@ -788,6 +802,10 @@ class KickstartParser(object):
+@@ -791,6 +805,10 @@ class KickstartParser(object):
self._stateMachine(i)
def readKickstart(self, f, reset=True, username=None, password=None):
@@ -64,5 +67,5 @@ index e44099b..e68174d 100644
if reset:
self._reset()
--
-2.7.4
+2.34.1
diff --git a/meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch b/meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch
index 81e351b11f..6242e23b9c 100644
--- a/meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch
+++ b/meta-python/recipes-extended/python-pykickstart/files/0003-comment-out-sections-shutdown-and-environment-in-gen.patch
@@ -6,7 +6,7 @@ Subject: [PATCH 3/4] comment out sections shutdown and environment in
Both of them is disabled by default.
-Upstream-Status: Inappropriate[oe specific]
+Upstream-Status: Inappropriate [oe specific]
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
@@ -17,7 +17,7 @@ fixup! add comments of shutdown for user
2 files changed, 4 insertions(+), 1 deletion(-)
diff --git a/pykickstart/commands/reboot.py b/pykickstart/commands/reboot.py
-index 2c1b1c0..b3ec717 100644
+index 75a6d916..edfe83ff 100644
--- a/pykickstart/commands/reboot.py
+++ b/pykickstart/commands/reboot.py
@@ -43,6 +43,9 @@ class FC3_Reboot(KickstartCommand):
@@ -31,18 +31,18 @@ index 2c1b1c0..b3ec717 100644
return retval
diff --git a/pykickstart/parser.py b/pykickstart/parser.py
-index e68174d..efd78a6 100644
+index bc59131b..b2d09d45 100644
--- a/pykickstart/parser.py
+++ b/pykickstart/parser.py
-@@ -385,7 +385,7 @@ class Packages(KickstartObject):
+@@ -428,7 +428,7 @@ class Packages(KickstartObject):
if not self.default:
if self.environment:
- pkgs += "@^%s\n" % self.environment
+ pkgs += "#@^%s\n" % self.environment
- grps = self.groupList
- grps.sort()
+ grps = self.groupList
+ grps.sort()
--
2.7.4
diff --git a/meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch b/meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch
index 6ed15ab09c..abe2c87e00 100644
--- a/meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch
+++ b/meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch
@@ -1,14 +1,14 @@
-From ffe06c6dd812b604d6482e4353d5564fad78bc90 Mon Sep 17 00:00:00 2001
+From 737e9a7c11233183f48ce6c83d38b504c8ffed12 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Mon, 30 Jul 2018 15:52:21 +0800
-Subject: [PATCH 4/4] load.py: retry to invoke request with timeout
+Subject: [PATCH] load.py: retry to invoke request with timeout
While networkless, use request to fetch kickstart file from
network, it failed and wait 300s to break, we should retry
to invoke request with timeout explicitly. So if it the
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>
---
@@ -16,28 +16,27 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
1 file changed, 31 insertions(+)
diff --git a/pykickstart/load.py b/pykickstart/load.py
-index ad3bad1..a5cbbc5 100644
+index 58faba6..e856c8d 100644
--- a/pykickstart/load.py
+++ b/pykickstart/load.py
-@@ -21,6 +21,7 @@ import requests
+@@ -20,12 +20,16 @@
+ import requests
from requests.auth import HTTPDigestAuth
from requests.auth import HTTPBasicAuth
-
+import time
import shutil
- import six
-@@ -28,6 +29,9 @@ from pykickstart.errors import KickstartError, KickstartAuthError
+ from pykickstart.errors import KickstartError, KickstartAuthError
from pykickstart.i18n import _
from requests.exceptions import SSLError, RequestException
+import logging
+log = logging.getLogger("anaconda.main")
+
- _is_url = lambda location: '://' in location # RFC 3986
+ is_url = lambda location: '://' in location # RFC 3986
SSL_VERIFY = False
-@@ -73,6 +77,29 @@ def load_to_file(location, destination):
+@@ -71,6 +75,29 @@ def load_to_file(location, destination):
_copy_file(location, destination)
return destination
@@ -67,7 +66,7 @@ index ad3bad1..a5cbbc5 100644
def _get_auth(location, user=None, passwd=None):
auth = None
-@@ -94,6 +121,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):
'''Load a location (URL or filename) and return contents as string'''
@@ -76,8 +75,8 @@ index ad3bad1..a5cbbc5 100644
+ raise KickstartError(_("Connection %s failed" % location))
+
auth = _get_auth(location, user=user, passwd=passwd)
+
try:
- request = requests.get(location, verify=SSL_VERIFY, auth=auth)
--
-2.7.4
+2.34.1
diff --git a/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.18.bb b/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.48.bb
index 1a038848c8..953068f7c3 100644
--- a/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.18.bb
+++ b/meta-python/recipes-extended/python-pykickstart/python3-pykickstart_3.48.bb
@@ -1,12 +1,12 @@
DESCRIPTION = "A python library for manipulating kickstart files"
HOMEPAGE = "http://fedoraproject.org/wiki/pykickstart"
-LICENSE = "GPLv2+"
+LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
+FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
DEPENDS = "python3"
-RDEPENDS_${PN} = "python3 \
+RDEPENDS:${PN} = "python3 \
python3-requests \
python3-six \
"
@@ -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://0004-load.py-retry-to-invoke-request-with-timeout.patch \
"
-SRCREV = "ad942f2644337c4672c7a22bd24a5b7268c1f5e9"
+SRCREV = "fa6c80c0e5c6bee29d089899a10d26e6f7f8afd8"
UPSTREAM_CHECK_GITTAGREGEX = "r(?P<pver>\d+(\.\d+)+(-\d+)*)"