On 08/25/2015 10:58 PM, [email protected] wrote:
From: Roy Li <[email protected]>

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 <[email protected]>
---
  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

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to