[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