meta: 4 fixes
cover meta: 4 fixes
Hello,
I had sent the patch "cpan-base.bbclass: avoid using xxx" before, now send it again. The other 3 are new.
// Robert
The following changes since commit eaea05c88661a88a89fa6b139f7e6b243155d492:
depmodwrapper-cross: Update to use STAGING_KERNEL_BUILDDIR (2015-01-17 17:05:25 +0000)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib rbt/4fixes
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rbt/4fixes
Robert Yang (4):
cpan-base.bbclass: avoid using immmediate assignment for PERLLIBDIRS
python3: fix for cross compiling
gnutls: fix sed command
perf: fix for rebuilding
meta/classes/cpan-base.bbclass | 4 +- .../python/python3-native_3.3.3.bb | 2 + ...p.py-check-cross_compiling-when-get-FLAGS.patch | 50 ++++++++++++++++++ .../sysconfig.py-add-_PYTHON_PROJECT_SRC.patch | 54 ++++++++++++++++++++ meta/recipes-devtools/python/python3_3.3.3.bb | 10 ++-- meta/recipes-kernel/perf/perf.bb | 3 ++ .../gnutls/configure.ac-fix-sed-command.patch | 31 +++++++++++ meta/recipes-support/gnutls/gnutls_3.3.11.bb | 1 + 8 files changed, 149 insertions(+), 6 deletions(-) create mode 100644 meta/recipes-devtools/python/python3/setup.py-check-cross_compiling-when-get-FLAGS.patch create mode 100644 meta/recipes-devtools/python/python3/sysconfig.py-add-_PYTHON_PROJECT_SRC.patch create mode 100644 meta/recipes-support/gnutls/gnutls/configure.ac-fix-sed-command.patch
Signature · 1 line
1.7.9.5
PATCH 1/4 cpan-base.bbclass: avoid using immmediate assignment for PERLLIBDIRS
The immediate assignment:
PERLLIBDIRS := "${@perl_get_libdirs(d)}"
may cause PERLLIBDIRS get wrong values when multilib, for example, when the default target arch is x86_64 (/usr/lib64), and mutilib is lib32 (/usr/lib), the ":=" would cause lib32-BPN's PERLLIBDIRS to be /usr/lib64, and lead to build errors.
--- meta/classes/cpan-base.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
meta/classes/cpan-base.bbclass +2 -2
@@ -42,8 +42,8 @@ def is_target(d): return "yes" return "no" -PERLLIBDIRS := "${@perl_get_libdirs(d)}" -PERLVERSION := "${@get_perl_version(d)}" +PERLLIBDIRS = "${@perl_get_libdirs(d)}" +PERLVERSION = "${@get_perl_version(d)}" PERLVERSION[vardepvalue] = "" FILES_${PN}-dbg += "${PERLLIBDIRS}/auto/*/.debug \
Signature · 1 line
1.7.9.5
PATCH 2/4 python3: fix for cross compiling
In reply to Robert YangFixed:
* python3 has introduced _PYTHON_PROJECT_BASE which is used for separate B and S, but it doesn't work when compile Modules, the target python3 runs python3-native's sysconfig to get srcdir which is the native's, there would be errors when native's srcdir has been removed, add _PYTHON_PROJECT_SRC to fix the problem.
* Check cross_compiling when get FLAGS
--- .../python/python3-native_3.3.3.bb | 2 + ...p.py-check-cross_compiling-when-get-FLAGS.patch | 50 ++++++++++++++++++ .../sysconfig.py-add-_PYTHON_PROJECT_SRC.patch | 54 ++++++++++++++++++++ meta/recipes-devtools/python/python3_3.3.3.bb | 10 ++-- 4 files changed, 112 insertions(+), 4 deletions(-) create mode 100644 meta/recipes-devtools/python/python3/setup.py-check-cross_compiling-when-get-FLAGS.patch create mode 100644 meta/recipes-devtools/python/python3/sysconfig.py-add-_PYTHON_PROJECT_SRC.patch
meta/recipes-devtools/python/python3-native_3.3.3.bb +2 -0
@@ -27,6 +27,8 @@ file://fix-ast.h-dependency.patch \ file://makerace.patch \ ${DISTRO_SRC_URI} \ file://python3-fix-build-error-with-Readline-6.3.patch \ +file://sysconfig.py-add-_PYTHON_PROJECT_SRC.patch \ +file://setup.py-check-cross_compiling-when-get-FLAGS.patch \ " SRC_URI[md5sum] = "f3ebe34d4d8695bf889279b54673e10c" SRC_URI[sha256sum] = "e526e9b612f623888364d30cc9f3dfc34dcef39065c713bdbcddf47df84d8dcb"
meta/recipes-devtools/python/python3/setup.py-check-cross_compiling-when-get-FLAGS.patch new file +50 -0
50 lines not on this page · raw message
meta/recipes-devtools/python/python3/sysconfig.py-add-_PYTHON_PROJECT_SRC.patch new file +54 -0
54 lines not on this page · raw message
meta/recipes-devtools/python/python3_3.3.3.bb +6 -4
@@ -39,6 +39,8 @@ SRC_URI += "\ file://avoid-ncursesw-include-path.patch \ file://python3-use-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch \ file://python3-setup.py-no-host-headers-libs.patch \ + file://sysconfig.py-add-_PYTHON_PROJECT_SRC.patch \ + file://setup.py-check-cross_compiling-when-get-FLAGS.patch \ " SRC_URI[md5sum] = "f3ebe34d4d8695bf889279b54673e10c" SRC_URI[sha256sum] = "e526e9b612f623888364d30cc9f3dfc34dcef39065c713bdbcddf47df84d8dcb"
@@ -66,6 +68,10 @@ TARGET_CC_ARCH += "-DNDEBUG -fno-inline" EXTRA_OEMAKE += "CROSS_COMPILE=yes" EXTRA_OECONF += "CROSSPYTHONPATH=${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/" +export CROSS_COMPILE = "${TARGET_PREFIX}" +export _PYTHON_PROJECT_BASE = "${B}" +export _PYTHON_PROJECT_SRC = "${S}" + # No ctypes option for python 3 PYTHONLSBOPTS = ""
@@ -107,8 +113,6 @@ do_compile() { # then call do_install twice we get Makefile.orig == Makefile.sysroot install -m 0644 Makefile Makefile.sysroot - export CROSS_COMPILE="${TARGET_PREFIX}" - export PYTHONBUILDDIR="${B}" oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python3-native/pgen \ HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python3-native/python3 \ STAGING_LIBDIR=${STAGING_LIBDIR} \
@@ -135,8 +139,6 @@ do_install() { # go to ${D}${STAGING...}/... install -m 0644 Makefile.orig Makefile - export CROSS_COMPILE="${TARGET_PREFIX}" - export PYTHONBUILDDIR="${B}" install -d ${D}${libdir}/pkgconfig install -d ${D}${libdir}/python${PYTHON_MAJMIN}/config
Signature · 1 line
1.7.9.5
PATCH 3/4 gnutls: fix sed command
In reply to Robert YangThe "sed 's/.bak//g'" matchs "bitbake", which would cause strange errors when the S contains "bitbake", fix to "sed 's/\.bak$//'`"
--- .../gnutls/configure.ac-fix-sed-command.patch | 31 ++++++++++++++++++++ meta/recipes-support/gnutls/gnutls_3.3.11.bb | 1 + 2 files changed, 32 insertions(+) create mode 100644 meta/recipes-support/gnutls/gnutls/configure.ac-fix-sed-command.patch
meta/recipes-support/gnutls/gnutls/configure.ac-fix-sed-command.patch new file +31 -0
@@ -0,0 +1,31 @@ +From eb93aa7b986c84da60a3db40afb29d1a70c50223 Mon Sep 17 00:00:00 2001 +From: Robert Yang <[email protected]> +Date: Sat, 17 Jan 2015 17:02:15 +0000 +Subject: [PATCH] configure.ac: fix sed command + +The "sed 's/.bak//g'" matchs "bitbake", which would cause strange errors +when the S contains "bitbake", fix to "sed 's/\.bak$//'`" + +Upstream-Status: Pending + +Signed-off-by: Robert Yang <[email protected]> +--- + configure.ac | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure.ac b/configure.ac +index c6818a0..1c4582d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -466,7 +466,7 @@ if test "$NEED_LIBOPTS_DIR" = "true";then + dnl replace libopts-generated files with distributed backups, if present + missing_baks= + for i in ${srcdir}/src/*-args.c.bak ${srcdir}/src/*-args.h.bak; do +- nam=`echo $i|sed 's/.bak//g'` ++ nam=`echo $i|sed 's/\.bak$//'` + if test -f $i;then + cp -f $i $nam + else +-- +2.0.1 +
meta/recipes-support/gnutls/gnutls_3.3.11.bb +1 -0
@@ -3,6 +3,7 @@ require gnutls.inc PR = "r1" SRC_URI += "file://correct_rpl_gettimeofday_signature.patch \ + file://configure.ac-fix-sed-command.patch \ " SRC_URI[md5sum] = "b657e3010c10cae2244e7ce79ee3d446" SRC_URI[sha256sum] = "aef28d629b6ba824bd435f9b23506525e657e3746d4aa021296b13cbaaa6ae71"
Signature · 1 line
1.7.9.5
PATCH 4/4 perf: fix for rebuilding
In reply to Robert YangFix for rebuilding error:
make[3]: *** No rule to make target /path/to/sysroots/qemuarm64/usr/src/kernel/tools/lib/traceevent//trace-seq.c', needed by .trace-seq.d'. Stop.
make[2]: *** [sub-make] Error 2
--- meta/recipes-kernel/perf/perf.bb | 3 +++ 1 file changed, 3 insertions(+)
meta/recipes-kernel/perf/perf.bb +3 -0
@@ -115,6 +115,9 @@ do_install() { } do_configure_prepend () { + # Fix for rebuilding + rm -rf ${B}/.*.d + #kernels before 3.1 do not support WERROR env variable sed -i 's,-Werror ,,' ${S}/tools/perf/Makefile if [ -e "${S}/tools/perf/config/Makefile" ]; then
Signature · 1 line
1.7.9.5
Re: [PATCH 4/4] perf: fix for rebuilding
meta/recipes-kernel/perf/perf.bb do_install() { · line 119
Quoted 4 lines · Robert Yang
do_configure_prepend() {meta/recipes-kernel/perf/perf.bb +2
-0+ # Fix for rebuilding + rm -rf ${B}/.*.d
As $B != $S, could you not just delete $B entirely and re-create it (as autotools.bbclass does) in do_configure()?
Ross
Re: [PATCH 4/4] perf: fix for rebuilding
In reply to Robert YangQuoted 2 lines · Robert Yang
Fix for rebuilding error:
make[3]: *** No rule to make target `/path/to/sysroots/qemuarm64/usr/src/kernel/tools/lib/traceevent//trace-seq.c',
The kernel source is no longer in this location .. so at a minimum the header needs to be updated to log the work-shared directory .. and better, make sure that this is still happening with the latest master changes.
Bruce
Quoted 30 lines
needed by `.trace-seq.d'. Stop.
make[2]: *** [sub-make] Error 2Signed-off-by Robert Yang <[email protected]>--- meta/recipes-kernel/perf/perf.bb | 3 +++ 1 file changed, 3 insertions(+)meta/recipes-kernel/perf/perf.bb +3
-1@@ -115,6 +115,9 @@ do_install() { } do_configure_prepend () { + # Fix for rebuilding + rm -rf ${B}/.*.d + #kernels before 3.1 do not support WERROR env variable sed -i 's,-Werror ,,' ${S}/tools/perf/Makefile if [ -e "${S}/tools/perf/config/Makefile" ]; then --1.7.9.5
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Signature · 2 lines
"Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end"
Re: [PATCH 4/4] perf: fix for rebuilding
Quoted 6 lines · Bruce Ashfield
The kernel source is no longer in this location .. so at a minimum the header
needs to be updated to log the work-shared directory .. and better, make sure
that this is still happening with the latest master changes.
As I understand it the bug is stale .d files being used to add dependencies, which refer to stale paths instead of being re-generated. This is why we encourage S!=B with deletion of B when starting builds.
Ross
Re: [PATCH 4/4] perf: fix for rebuilding
Quoted 4 lines · Ross
On 20 January 2015 at 16:01, Bruce Ashfield <[email protected] <mailto:[email protected]>> wrote:
Quoted 8 lines
The kernel source is no longer in this location .. so at a minimum the header needs to be updated to log the work-shared directory .. and better, make sure that this is still happening with the latest master changes.
As I understand it the bug is stale .d files being used to add dependencies, which refer to stale paths instead of being re-generated. This is why we encourage S!=B with deletion of B when starting builds.
Yes, you are right, sounds good, I will update the patch about 2 hours later.
// Robert
Quoted 2 lines
Ross
Re: [PATCH 4/4] perf: fix for rebuilding
In reply to Burton, RossQuoted 4 lines · Ross
On 20 January 2015 at 16:01, Bruce Ashfield <[email protected] <mailto:[email protected]>> wrote:
Quoted 8 lines
The kernel source is no longer in this location .. so at a minimum the header needs to be updated to log the work-shared directory .. and better, make sure that this is still happening with the latest master changes.
As I understand it the bug is stale .d files being used to add dependencies, which refer to stale paths instead of being re-generated. This is why we encourage S!=B with deletion of B when starting builds.
Updated in the repo:
git://git.openembedded.org/openembedded-core-contrib rbt/4fixes
meta/recipes-kernel/perf/perf.bb +4 -0
@@ -115,6 +115,10 @@ do_install() { } do_configure_prepend () { + # Fix for rebuilding + rm -rf ${B}/ + mkdir ${B}/ + #kernels before 3.1 do not support WERROR env variable sed -i 's,-Werror ,,' ${S}/tools/perf/Makefile if [ -e "${S}/tools/perf/config/Makefile" ]; then
// Robert
Quoted 2 lines
Ross