[OE-core] [PATCH V5 00/16] fix buildpaths QA issue
Hongxu Jia
hongxu.jia at windriver.com
Tue Mar 22 12:12:28 UTC 2016
Changed in V5:
- Fix dbg package not contain sources while -fdebug-prefix-map used;
- Tweak fix_buildpaths.bbclass to adapt the above fix;
- gconf: remove duplicated option;
Test case to verify patch 01/16:
1. Modify recipe service in meta-skeleton,
execute it caused segment fault
diff --git a/meta-skeleton/recipes-skeleton/service/service/skeleton_test.c b/meta-skeleton/recipes-skeleton/service/service/skeleton_test.c
index 96c67ac..0862882 100644
--- a/meta-skeleton/recipes-skeleton/service/service/skeleton_test.c
+++ b/meta-skeleton/recipes-skeleton/service/service/skeleton_test.c
@@ -1,12 +1,10 @@
-#include <unistd.h>
-
-/* This demo does nothing except for testing /etc/init.d/skeleton */
+#include <stdio.h>
int main(int argc, char *argv[])
{
- daemon(0, 0);
- while (1) {
- sleep(1);
- }
+ printf("hello world\n");
+
+ char *p = NULL;
+ *p = 1;
return 0;
}
diff --git a/meta-skeleton/recipes-skeleton/service/service_0.1.bb b/meta-skeleton/recipes-skeleton/service/service_0.1.bb
index c5cd7a9..c4b43f0 100644
--- a/meta-skeleton/recipes-skeleton/service/service_0.1.bb
+++ b/meta-skeleton/recipes-skeleton/service/service_0.1.bb
@@ -3,29 +3,16 @@ SECTION = "base"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://${WORKDIR}/COPYRIGHT;md5=349c872e0066155e1818b786938876a4"
-SRC_URI = "file://skeleton \
- file://skeleton_test.c \
+SRC_URI = "file://skeleton_test.c \
file://COPYRIGHT \
"
do_compile () {
- ${CC} ${WORKDIR}/skeleton_test.c -o ${WORKDIR}/skeleton-test
+ ${CC} ${WORKDIR}/skeleton_test.c ${DEBUG_FLAGS} -o ${WORKDIR}/skeleton-test
}
do_install () {
- install -d ${D}${sysconfdir}/init.d
- cat ${WORKDIR}/skeleton | \
- sed -e 's,/etc,${sysconfdir},g' \
- -e 's,/usr/sbin,${sbindir},g' \
- -e 's,/var,${localstatedir},g' \
- -e 's,/usr/bin,${bindir},g' \
- -e 's,/usr,${prefix},g' > ${D}${sysconfdir}/init.d/skeleton
- chmod a+x ${D}${sysconfdir}/init.d/skeleton
-
install -d ${D}${sbindir}
install -m 0755 ${WORKDIR}/skeleton-test ${D}${sbindir}/
}
-RDEPENDS_${PN} = "initscripts"
-
-CONFFILES_${PN} += "${sysconfdir}/init.d/skeleton"
2. Install service, gdb and *-dbg to core-image-minimal
vim local.conf
...
IMAGE_INSTALL_append = " service gdb"
EXTRA_IMAGE_FEATURES_append = " dbg-pkgs"
...
vim conf/bblayers.conf
...
BBLAYERS ?= " \
/buildarea/raid0/hjia/poky/meta \
/buildarea/raid0/hjia/poky/meta-poky \
/buildarea/raid0/hjia/poky/meta-skeleton \
/buildarea/raid0/hjia/poky/meta-yocto-bsp \
"
...
bitbake core-image-minimal
3. Run qemu and invoke gdb to execute skeleton-test,
while segment fault, the source printed correctly.
runqemu qemux86-64 slirp nographic
...
root at qemux86-64:~# gdb skeleton-test
(gdb) r
Starting program: /usr/sbin/skeleton-test
hello world
Program received signal SIGSEGV, Segmentation fault.
0x000000000040056b in main (argc=1, argv=0x7fffffffed08) at /usr/src/debug/skeleton_test.c:8
8 *p = 1;
(gdb) list
3 int main(int argc, char *argv[])
4 {
5 printf("hello world\n");
6
7 char *p = NULL;
8 *p = 1;
9 return 0;
10 }
...
//Hongxu
The following changes since commit 2f2f784727a1617c2b9ce0bb86730ba301238e06:
parselogs: add new whitelist entries to address 4.4.3 issues (2016-03-22 08:54:34 +0000)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib hongxu/fix-buildpath
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=hongxu/fix-buildpath
Hongxu Jia (16):
conf/bitbake.conf package.bbclass: fix dbg package not contain sources
while -fdebug-prefix-map used
kernel.bbclass: fix buildpath QA issue
dtc.inc: fix buildpaths QA issue
fix_buildpaths.bbclass: add bbclass to fix build path
icu: fix buildpaths QA issue
tcl: fix buildpath QA issue
python2/3: fix buildpath QA issue
bbclass distutils/distutils3: fix .pyc/.pyo buildpath
bbclass distutils/distutils3/setuptools/setuptools3: clean up
DISTUTILS_INSTALL_ARGS
python-setuptools/python3-setuptools: use old-style install
python3-pip: use old-style install
waf.bbclass: support do patch on extracted files
python-pycairo: fix buildpath QA issue
openssl: fix buildpath QA issue
epiphany: fix buildpaths QA issue
gconf: fix buildpaths QA issue
meta/classes/distutils.bbclass | 8 +--
meta/classes/distutils3.bbclass | 8 +--
meta/classes/fix_buildpaths.bbclass | 55 +++++++++++++++++++
meta/classes/kernel.bbclass | 4 +-
meta/classes/package.bbclass | 31 ++++++++---
meta/classes/setuptools.bbclass | 5 --
meta/classes/setuptools3.bbclass | 5 --
meta/classes/waf.bbclass | 11 +++-
meta/conf/bitbake.conf | 3 +-
.../openssl/remove-build-path-in-source-code.patch | 44 +++++++++++++++
.../recipes-connectivity/openssl/openssl_1.0.2g.bb | 7 +++
...trip-off-build-path-in-purported-filename.patch | 62 ++++++++++++++++++++++
.../python/python-pycairo_1.10.0.bb | 25 +++------
.../python/python-setuptools_19.4.bb | 2 -
meta/recipes-devtools/python/python3-pip_8.0.0.bb | 12 -----
.../python/python3-setuptools_19.4.bb | 8 +--
meta/recipes-devtools/python/python3_3.5.1.bb | 20 +++++--
meta/recipes-devtools/python/python_2.7.11.bb | 29 ++++++++--
meta/recipes-devtools/tcltk/tcl_8.6.4.bb | 9 +++-
meta/recipes-gnome/epiphany/epiphany_3.18.4.bb | 8 ++-
.../files/use-relative-path-for-build-dir.patch | 57 ++++++++++++++++++++
meta/recipes-gnome/gnome/gconf_3.2.6.bb | 3 +-
meta/recipes-kernel/dtc/dtc.inc | 3 ++
.../dtc/dtc/pass-DEBUG_FLAGS-to-CFLAGS.patch | 30 +++++++++++
.../icu/icu/add-variable-U_CC-and-U_CXX.patch | 61 +++++++++++++++++++++
meta/recipes-support/icu/icu_56.1.bb | 12 +++++
26 files changed, 442 insertions(+), 80 deletions(-)
create mode 100644 meta/classes/fix_buildpaths.bbclass
create mode 100644 meta/recipes-connectivity/openssl/openssl/remove-build-path-in-source-code.patch
create mode 100644 meta/recipes-devtools/python/python-pycairo/strip-off-build-path-in-purported-filename.patch
create mode 100644 meta/recipes-gnome/epiphany/files/use-relative-path-for-build-dir.patch
create mode 100644 meta/recipes-kernel/dtc/dtc/pass-DEBUG_FLAGS-to-CFLAGS.patch
create mode 100644 meta/recipes-support/icu/icu/add-variable-U_CC-and-U_CXX.patch
--
1.9.1
More information about the Openembedded-core
mailing list