[OE-core] [PATCH 5/8] perf: change dependencies on python to python3
Mittal, Anuj
anuj.mittal at intel.com
Thu Aug 29 00:01:04 UTC 2019
This is causing failure for 5.0 kernels probably because the attr.py
python -> python3 changes are not there ...
ERROR: perf-1.0-r9 do_package_qa: QA Issue: /usr/libexec/perf-
core/tests/attr.py contained in package perf-tests requires
/usr/bin/python, but no providers found in RDEPENDS_perf-tests? [file-
rdeps]
ERROR: perf-1.0-r9 do_package_qa: QA run found fatal errors. Please
consider fixing them.
ERROR: Logfile of failure stored in: /home/pokybuild/yocto-
worker/genericx86/build/build/tmp/work/genericx86-poky-linux/perf/1.0-
r9/temp/log.do_package_qa.36284
NOTE: recipe perf-1.0-r9: task do_package_qa: Failed
https://autobuilder.yoctoproject.org/typhoon/#/builders/48/builds/975/steps/8/logs/step1b
Thanks,
Anuj
On Wed, 2019-08-28 at 15:28 -0400, bruce.ashfield at gmail.com wrote:
> From: Bruce Ashfield <bruce.ashfield at gmail.com>
>
> The upstream kernel can now handle python3 for the perf scripts,
> coupled
> with the impending EOL of python2, we switch the dependencies in perf
> (scripting) to python3.
>
> Outside of dependency changes, we also pass the following two
> variables
> to the perf build: PYTHON=python3 PYTHON_CONFIG=python3-config. To
> ensure that our python3 components are used.
>
> For configurations that disable perf scripting, there is no change in
> behaviour.
>
> [YOCTO #13358]
>
> Signed-off-by: Bruce Ashfield <bruce.ashfield at gmail.com>
> ---
> meta/recipes-kernel/perf/perf.bb | 16 +++++++++-------
> 1 file changed, 9 insertions(+), 7 deletions(-)
>
> diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-
> kernel/perf/perf.bb
> index 4e603f1a32..8ac8e7c308 100644
> --- a/meta/recipes-kernel/perf/perf.bb
> +++ b/meta/recipes-kernel/perf/perf.bb
> @@ -13,7 +13,7 @@ PR = "r9"
>
> PACKAGECONFIG ??= "scripting tui libunwind"
> PACKAGECONFIG[dwarf] = ",NO_DWARF=1"
> -PACKAGECONFIG[scripting] = ",NO_LIBPERL=1 NO_LIBPYTHON=1,perl
> python"
> +PACKAGECONFIG[scripting] = ",NO_LIBPERL=1 NO_LIBPYTHON=1,perl
> python3"
> # gui support was added with kernel 3.6.35
> # since 3.10 libnewt was replaced by slang
> # to cover a wide range of kernel we add both dependencies
> @@ -44,8 +44,8 @@ PROVIDES = "virtual/perf"
> inherit linux-kernel-base kernel-arch manpages
>
> # needed for building the tools/perf Python bindings
> -inherit ${@bb.utils.contains('PACKAGECONFIG', 'scripting',
> 'pythonnative', '', d)}
> -inherit python-dir
> +inherit ${@bb.utils.contains('PACKAGECONFIG', 'scripting',
> 'python3native', '', d)}
> +inherit python3-dir
> export PYTHON_SITEPACKAGES_DIR
>
> #kernel 3.1+ supports WERROR to disable warnings as errors
> @@ -94,6 +94,7 @@ EXTRA_OEMAKE += "\
> 'sharedir=${@os.path.relpath(datadir, prefix)}' \
> 'mandir=${@os.path.relpath(mandir, prefix)}' \
> 'infodir=${@os.path.relpath(infodir, prefix)}' \
> + ${@bb.utils.contains('PACKAGECONFIG', 'scripting',
> 'PYTHON=python3 PYTHON_CONFIG=python3-config', '', d)} \
> "
>
> # During do_configure, we might run a 'make clean'. That often
> breaks
> @@ -132,7 +133,7 @@ do_install() {
> oe_runmake install
> # we are checking for this make target to be compatible with
> older perf versions
> if ${@bb.utils.contains('PACKAGECONFIG', 'scripting', 'true',
> 'false', d)} && grep -q install-python_ext ${S}/tools/perf/Makefile*;
> then
> - oe_runmake DESTDIR=${D} install-python_ext
> + oe_runmake DESTDIR=${D} install-python_ext
> fi
> }
>
> @@ -233,7 +234,8 @@ do_configure_prepend () {
>
> # use /usr/bin/env instead of version specific python
> for s in `find ${S}/tools/perf/scripts/python/ -name '*.py'`; do
> - sed -i 's,/usr/bin/python2,/usr/bin/env python,' "${s}"
> + sed -i 's,/usr/bin/python2,/usr/bin/env python3,' "${s}"
> + sed -i 's,/usr/bin/env python2,/usr/bin/env python3,' "${s}"
> done
>
> # unistd.h can be out of sync between libc-headers and the
> captured version in the perf source
> @@ -252,9 +254,9 @@ PACKAGES =+ "${PN}-archive ${PN}-tests ${PN}-perl
> ${PN}-python"
>
> RDEPENDS_${PN} += "elfutils bash"
> RDEPENDS_${PN}-archive =+ "bash"
> -RDEPENDS_${PN}-python =+ "bash python python-modules
> ${@bb.utils.contains('PACKAGECONFIG', 'audit', 'audit-python', '',
> d)}"
> +RDEPENDS_${PN}-python =+ "bash python3 python3-modules
> ${@bb.utils.contains('PACKAGECONFIG', 'audit', 'audit-python3', '',
> d)}"
> RDEPENDS_${PN}-perl =+ "bash perl perl-modules"
> -RDEPENDS_${PN}-tests =+ "python"
> +RDEPENDS_${PN}-tests =+ "python3"
>
> RSUGGESTS_SCRIPTING = "${@bb.utils.contains('PACKAGECONFIG',
> 'scripting', '${PN}-perl ${PN}-python', '',d)}"
> RSUGGESTS_${PN} += "${PN}-archive ${PN}-tests
> ${RSUGGESTS_SCRIPTING}"
> --
> 2.19.1
>
More information about the Openembedded-core
mailing list