From 334932fffc2c9a98d1d32047c1de049c5a20c55e Mon Sep 17 00:00:00 2001 From: Mingli Yu Date: Thu, 20 Jan 2022 15:47:02 +0800 Subject: python3-lxml: check the return value Check the return value in subprocess to guarantee the subprocess execute successfully or not as after [1] introduced to limit the netowork, there some difference during do_compile phase as below. Before the change # python Python 3.8.10 (default, Nov 26 2021, 20:14:08) [GCC 9.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import subprocess >>> cmd = "pkg-config --modversion libxml-2.0" >>> p = subprocess.Popen(cmd, shell=True,stdout=subprocess.PIPE, stderr=subprocess.PIPE) >>> stdout_data, errors = p.communicate() >>> print(stdout_data) b'2.9.12\n' >>> print(errors) b'' >>> After the change # python Python 3.8.10 (default, Nov 26 2021, 20:14:08) [GCC 9.3.0] on linux Type "help", "copyright", "credits" or "license" for more information. >>> import subprocess >>> cmd = "pkg-config --modversion libxml-2.0" >>> p = subprocess.Popen(cmd, shell=True,stdout=subprocess.PIPE, stderr=subprocess.PIPE) >>> stdout_data, errors = p.communicate() >>> print(stdout_data) b'2.9.12\n' >>> print(errors) b'do_ypcall: clnt_call: RPC: Unable to send; errno = Network is unreachable\n' >>> [1] https://git.openembedded.org/bitbake/commit/?id=0746b6a2a32fec4c18bf1a52b1454ca4c04bf543 Signed-off-by: Mingli Yu Signed-off-by: Khem Raj Signed-off-by: Trevor Gamblin --- .../0001-setupinfo.py-check-the-return-value.patch | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 meta-python/recipes-devtools/python/python3-lxml/0001-setupinfo.py-check-the-return-value.patch (limited to 'meta-python/recipes-devtools/python/python3-lxml') diff --git a/meta-python/recipes-devtools/python/python3-lxml/0001-setupinfo.py-check-the-return-value.patch b/meta-python/recipes-devtools/python/python3-lxml/0001-setupinfo.py-check-the-return-value.patch new file mode 100644 index 0000000000..7d9121846f --- /dev/null +++ b/meta-python/recipes-devtools/python/python3-lxml/0001-setupinfo.py-check-the-return-value.patch @@ -0,0 +1,46 @@ +From 057872fa40e061100d61117cee5c3413ef2e40fc Mon Sep 17 00:00:00 2001 +From: Mingli Yu +Date: Thu, 20 Jan 2022 15:18:20 +0800 +Subject: [PATCH] setupinfo.py: check the return value + +Use the return value altogether to check the subprocess execute +successfully or not as in some case it will print some noise +message though run successfully as below. + + # python + Python 3.8.10 (default, Nov 26 2021, 20:14:08) + [GCC 9.3.0] on linux + Type "help", "copyright", "credits" or "license" for more information. + >>> import subprocess + >>> cmd = "pkg-config --modversion libxml-2.0" + >>> p = subprocess.Popen(cmd, shell=True,stdout=subprocess.PIPE, stderr=subprocess.PIPE) + >>> stdout_data, errors = p.communicate() + >>> print(stdout_data) + b'2.9.12\n' + >>> print(errors) + b'do_ypcall: clnt_call: RPC: Unable to send; errno = Network is unreachable\n' + >>> + +Upstream-Status: Submitted [https://github.com/lxml/lxml/pull/336] + +Signed-off-by: Mingli Yu +--- + setupinfo.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/setupinfo.py b/setupinfo.py +index 8c2a36fb..c1247c6d 100644 +--- a/setupinfo.py ++++ b/setupinfo.py +@@ -365,7 +365,7 @@ def run_command(cmd, *args): + stdout=subprocess.PIPE, stderr=subprocess.PIPE) + stdout_data, errors = p.communicate() + +- if errors: ++ if p.returncode != 0 and errors: + return '' + return decode_input(stdout_data).strip() + +-- +2.17.1 + -- cgit v1.2.3-54-g00ecf