[OE-core] [PATCH][v2] perf: fix the install-python_ext

Saul Wold sgw at linux.intel.com
Mon Sep 14 14:43:04 UTC 2015


On 08/25/2015 10:58 PM, rongqing.li at windriver.com wrote:
> From: Roy Li <rongqing.li at windriver.com>
>
> 1. $(grep xxx xxx) never returns 0, it maybe return empty or string, and
> can not compare with 0, this fixes that python module never are installed.
>
> 2. python library is installed into /usr/lib/ by default, but we expect
> it is installed into ${libdir}, so add --install-lib parameter for python
> setup.py to set the library dir;
> this fixes not shipped warning, since python modules are installed into
> /usr/lib/, but FILE_${PN}-python expects it is under ${libdir}, which is
> /usr/lib64/ for 64bit machine
>
> 3. the makefile target install-python_ext is moved from Makefile to
> Makefile.perf from linux v3.13, so match install-python_ext in Makefile.*
> and --root='/\$(DESTDIR_SQ)' before linux v3.13 will install the target
> python library to native sysroot, so replace it with --prefix as after linux
> 3.13;
> this fixes not shipped warning, and install target files to native dir, like
> below:
> ERROR: QA Issue: perf: Files/directories were installed but not shipped in any package:
>    /home
>    /home/pokybuild
>    /home/pokybuild/yocto-autobuilder
>    /home/pokybuild/yocto-autobuilder/yocto-worker
>    /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-fsl-ppc-lsb
>    /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-fsl-ppc-lsb/build
>    /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-fsl-ppc-lsb/build/build
>    /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-fsl-ppc-lsb/build/build/tmp
>    /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-fsl-ppc-lsb/build/build/tmp/sysroots
>    /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-fsl-ppc-lsb/build/build/tmp/sysroots/x86_64-linux
>    /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-fsl-ppc-lsb/build/build/tmp/sysroots/x86_64-linux/usr
>    /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-fsl-ppc-lsb/build/build/tmp/sysroots/x86_64-linux/usr/lib
>    /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-fsl-ppc-lsb/build/build/tmp/sysroots/x86_64-linux/usr/lib/python2.7
>    /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-fsl-ppc-lsb/build/build/tmp/sysroots/x86_64-linux/usr/lib/python2.7/site-packages
>    /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-fsl-ppc-lsb/build/build/tmp/sysroots/x86_64-linux/usr/lib/python2.7/site-packages/perf.so
>    /home/pokybuild/yocto-autobuilder/yocto-worker/nightly-fsl-ppc-lsb/build/build/tmp/sysroots/x86_64-linux/usr/lib/python2.7/site-packages/perf-0.1-py2.7.egg-info
>

This patch actually seems to introduce this failure,

https://autobuilder.yoctoproject.org/main/builders/nightly-fsl-arm/builds/494/steps/BuildImages/logs/stdio

This needs to be addressed.

Sau!

> Signed-off-by: Roy Li <rongqing.li at windriver.com>
> ---
>   meta/recipes-kernel/perf/perf.bb | 8 +++++++-
>   1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/meta/recipes-kernel/perf/perf.bb b/meta/recipes-kernel/perf/perf.bb
> index b18e474..adb3a2c 100644
> --- a/meta/recipes-kernel/perf/perf.bb
> +++ b/meta/recipes-kernel/perf/perf.bb
> @@ -44,6 +44,7 @@ export STAGING_INCDIR
>   export STAGING_LIBDIR
>   export BUILD_SYS
>   export HOST_SYS
> +export PYTHON_SITEPACKAGES_DIR
>
>   #kernel 3.1+ supports WERROR to disable warnings as errors
>   export WERROR = "0"
> @@ -111,7 +112,7 @@ do_install() {
>   	unset CFLAGS
>   	oe_runmake DESTDIR=${D} install
>   	# we are checking for this make target to be compatible with older perf versions
> -	if [ "${@perf_feature_enabled('perf-scripting', 1, 0, d)}" = "1" -a $(grep install-python_ext ${S}/tools/perf/Makefile) = "0" ]; then
> +	if [ "${@perf_feature_enabled('perf-scripting', 1, 0, d)}" = "1" ] && grep -q install-python_ext ${S}/tools/perf/Makefile*; then
>   		oe_runmake DESTDIR=${D} install-python_ext
>   	fi
>   }
> @@ -143,7 +144,12 @@ do_configure_prepend () {
>       if [ -e "${S}/tools/perf/Makefile.perf" ]; then
>           sed -i -e 's,\ .config-detected, $(OUTPUT)/config-detected,g' \
>               ${S}/tools/perf/Makefile.perf
> +        sed -i -e "s,prefix='\$(DESTDIR_SQ)/usr'$,prefix='\$(DESTDIR_SQ)/usr' --install-lib='\$(DESTDIR)\$(PYTHON_SITEPACKAGES_DIR)',g" \
> +            ${S}/tools/perf/Makefile.perf
>       fi
> +    sed -i -e "s,--root='/\$(DESTDIR_SQ)',--prefix='\$(DESTDIR_SQ)/usr' --install-lib='\$(DESTDIR)\$(PYTHON_SITEPACKAGES_DIR)',g" \
> +        ${S}/tools/perf/Makefile
> +
>       if [ -e "${S}/tools/build/Makefile.build" ]; then
>           sed -i -e 's,\ .config-detected, $(OUTPUT)/config-detected,g' \
>               ${S}/tools/build/Makefile.build
>



More information about the Openembedded-core mailing list