[OE-core] [PATCH][v2] perf: fix the install-python_ext
From: Roy Li 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 Signed-off-by: Roy Li --- 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 -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH][v2] perf: fix the install-python_ext
On 26 August 2015 at 06:58, wrote: > +export PYTHON_SITEPACKAGES_DIR > Why do you export this and then use \$(PYTHON_SITEPACKAGES_DIR), isn't just using ${PYTHON_SITEPACKAGES_DIR} directly so the expansion is performed by bitbake neater? Ross -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH][v2] perf: fix the install-python_ext
On 2015年08月26日 18:16, Burton, Ross wrote: On 26 August 2015 at 06:58, mailto:rongqing...@windriver.com>> wrote: +export PYTHON_SITEPACKAGES_DIR Why do you export this and then use \$(PYTHON_SITEPACKAGES_DIR), isn't just using ${PYTHON_SITEPACKAGES_DIR} directly so the expansion is performed by bitbake neater? Ross keep it same as original codes. other reason is that this change is under work-shared dir, it will see puzzle if see the source code from other package, like linux kernel, -- Best Reagrds, Roy | RongQing Li -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH][v2] perf: fix the install-python_ext
ping -Roy On 2015年08月27日 09:18, Rongqing Li wrote: On 2015年08月26日 18:16, Burton, Ross wrote: On 26 August 2015 at 06:58, mailto:rongqing...@windriver.com>> wrote: +export PYTHON_SITEPACKAGES_DIR Why do you export this and then use \$(PYTHON_SITEPACKAGES_DIR), isn't just using ${PYTHON_SITEPACKAGES_DIR} directly so the expansion is performed by bitbake neater? Ross keep it same as original codes. other reason is that this change is under work-shared dir, it will see puzzle if see the source code from other package, like linux kernel, -- Best Reagrds, Roy | RongQing Li -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH][v2] perf: fix the install-python_ext
On 08/25/2015 10:58 PM, rongqing...@windriver.com wrote: From: Roy Li 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 --- 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 Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH][v2] perf: fix the install-python_ext
On 2015年09月14日 22:43, Saul Wold wrote: On 08/25/2015 10:58 PM, rongqing...@windriver.com wrote: From: Roy Li 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! Ok, I will see it -Roy Signed-off-by: Roy Li --- 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 -- Best Reagrds, Roy | RongQing Li -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core