From 7f7e28134d33c714d34e0aba813ae9cbb0c357bf Mon Sep 17 00:00:00 2001 From: Artur Sinila Date: Fri, 13 Nov 2020 11:08:47 +0300 Subject: [PATCH] s3cmd: backport Python 3.9 compatibility fix --- .../patches/python-3.9-compatibility.patch | 36 +++++++++++++++++++ srcpkgs/s3cmd/template | 4 +-- 2 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 srcpkgs/s3cmd/patches/python-3.9-compatibility.patch diff --git a/srcpkgs/s3cmd/patches/python-3.9-compatibility.patch b/srcpkgs/s3cmd/patches/python-3.9-compatibility.patch new file mode 100644 index 00000000000..292d979aa29 --- /dev/null +++ b/srcpkgs/s3cmd/patches/python-3.9-compatibility.patch @@ -0,0 +1,36 @@ +--- S3/Exceptions.py ++++ S3/Exceptions.py +@@ -126,7 +126,7 @@ class S3Error (S3Exception): + if not error_node.tag == "Error": + error_node = tree.find(".//Error") + if error_node is not None: +- for child in error_node.getchildren(): ++ for child in error_node: + if child.text != "": + debug("ErrorXML: " + child.tag + ": " + repr(child.text)) + info[child.tag] = child.text +--- S3/Utils.py ++++ S3/Utils.py +@@ -64,9 +64,9 @@ def parseNodes(nodes): + retval = [] + for node in nodes: + retval_item = {} +- for child in node.getchildren(): ++ for child in node: + name = decode_from_s3(child.tag) +- if child.getchildren(): ++ if list(child): + retval_item[name] = parseNodes([child]) + else: + found_text = node.findtext(".//%s" % child.tag) +@@ -122,8 +122,8 @@ __all__.append("getListFromXml") + + def getDictFromTree(tree): + ret_dict = {} +- for child in tree.getchildren(): +- if child.getchildren(): ++ for child in tree: ++ if list(child): + ## Complex-type child. Recurse + content = getDictFromTree(child) + else: diff --git a/srcpkgs/s3cmd/template b/srcpkgs/s3cmd/template index 4ec5cf053a8..40cd669dc97 100644 --- a/srcpkgs/s3cmd/template +++ b/srcpkgs/s3cmd/template @@ -1,14 +1,14 @@ # Template file for 's3cmd' pkgname=s3cmd version=2.1.0 -revision=2 +revision=3 build_style=python3-module hostmakedepends="python3-setuptools" depends="python3-dateutil" short_desc="Command line tool for Amazon S3" maintainer="Duncaen " license="GPL-2.0-or-later" -#changelog="https://github.com/s3tools/s3cmd/raw/master/NEWS" +changelog="https://github.com/s3tools/s3cmd/raw/master/NEWS" homepage="http://s3tools.org/s3cmd" distfiles="https://github.com/s3tools/${pkgname}/archive/v${version}.tar.gz" checksum=2293f775fde77201bf8e489f20516fd594168c77897168f129e5c1a2b33b7e37