[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