Skip to contentSkip to conversation

Various QA fixes

PATCH In review Richard Purdie 1 participant 10 messages Jul 4, 2011 – Jul 5, 2011

lore
Share & tools
lore
#0 lore raw

cover Various QA fixes

The following changes since commit 2b3bf5350861f62435e2fdf1c56c8a02f4b1b4ac fix a number of QA warnings/errors. There are a couple of RFC style commits in this mix:

A key change is that functionality is added to insane.bbclass to allow skipping of individual QA tests by name. It needs two existing users (elfutils and u-boot) to specify which QA tests they want to skip (I'm working on a patch). Any external layer using that variable would need to update and I can't decide if that is a drawback or a feature.

Also a gettext change I'm testing to see which approach performs best is included. A final decision on that will depend on the performance test results (thanks go to paul for hightlighting the impact of that git-native depenedency).

Also included is a gcc libiberty fix (yocto #1199).

They are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib rpurdie/master
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rpurdie/master

Richard Purdie (5):
gcc: Fix removal of libiberty.a
gettext: Disable both git and cvs for autopoint's archive format.
gcc: Remove unneeded module .la file and .so link insane.bbclass: Allow INSANE_SKIP to work on a per test basis
lttng-viewer: Fixup various QA warnings and a false positive

Richard Purdie (3):
oprofile: Fix QA warnings
libgsmd: Fix QA warnings
gcc-package-cross: Switch to using pattern matching to detect when to
stash libgcc into the sysroot

 meta/classes/insane.bbclass                        |   37 +++++++++++---------
 meta/recipes-connectivity/gsm/gsmd.inc             |   26 ++++++++++----
 meta/recipes-core/gettext/gettext_0.18.1.1.bb      |    7 ++--
 meta/recipes-devtools/gcc/gcc-4.6.inc              |    2 +-
 .../gcc/gcc-cross-intermediate.inc                 |    4 +-
 meta/recipes-devtools/gcc/gcc-package-cross.inc    |   30 ++++++++-------
 meta/recipes-devtools/gcc/gcc-package-target.inc   |    6 ++-
 meta/recipes-devtools/gcc/gcc_4.5.1.bb             |    2 +-
 meta/recipes-kernel/lttng/lttng-viewer_0.12.38.bb  |    6 ++-
 meta/recipes-kernel/oprofile/oprofile_0.9.6.bb     |    4 ++
 10 files changed, 75 insertions(+), 49 deletions(-)
Signature · 1 line
1.7.4.1
#1 lore raw

PATCH 1/8 oprofile: Fix QA warnings

---
 meta/recipes-kernel/oprofile/oprofile_0.9.6.bb |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)
meta/recipes-kernel/oprofile/oprofile_0.9.6.bb +4 -0
index eb707e0..603500d 100644
@@ -15,6 +15,10 @@ DEPENDS = "popt binutils"
 RDEPENDS_${PN} = "binutils-symlinks"
 RRECOMMENDS_${PN} = "kernel-vmlinux"
 
+FILES_${PN} = "${bindir} ${libdir}/${BPN}/lib*.so.* ${datadir}/${BPN}"
+FILES_${PN}-dev += "${libdir}/${BPN}/lib*.so ${libdir}/${BPN}/lib*.la"
+FILES_${PN}-staticdev += "${libdir}/${BPN}/lib*.a"
+
 PR = "r1"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/oprofile/oprofile-${PV}.tar.gz \
Signature · 1 line
1.7.4.1
#2 lore raw

PATCH 2/8 libgsmd: Fix QA warnings

---
 meta/recipes-connectivity/gsm/gsmd.inc |   26 +++++++++++++++++++-------
 1 files changed, 19 insertions(+), 7 deletions(-)
meta/recipes-connectivity/gsm/gsmd.inc +19 -7
index b2aebb1..682456b 100644
@@ -35,11 +35,13 @@ PACKAGES =+ "\
   ${PN}-tools \
   ${BASEPN}-plugins \
   ${BASEPN}-plugin-machine-generic \
+  ${BASEPN}-plugin-machine-telit \
   ${BASEPN}-plugin-machine-tihtc \
   ${BASEPN}-plugin-machine-gta01 \
   ${BASEPN}-plugin-vendor-bcm \
   ${BASEPN}-plugin-vendor-qc \
   ${BASEPN}-plugin-vendor-ti \
+  ${BASEPN}-plugin-vendor-telit \
   ${BASEPN}-plugin-vendor-tihtc \
 "
 
@@ -47,11 +49,13 @@ ALLOW_EMPTY_${BASEPN}-plugin-machine-gta01 = "1"
 
 RDEPENDS_${BASEPN}-plugins = "\
   ${BASEPN}-plugin-machine-generic \
+  ${BASEPN}-plugin-machine-telit \
   ${BASEPN}-plugin-machine-tihtc \
   ${BASEPN}-plugin-machine-gta01 \
   ${BASEPN}-plugin-vendor-bcm \
   ${BASEPN}-plugin-vendor-qc \
   ${BASEPN}-plugin-vendor-ti \
+  ${BASEPN}-plugin-vendor-telit \
   ${BASEPN}-plugin-vendor-tihtc \
 "
 
@@ -59,15 +63,19 @@ RDEPENDS_${PN} += "update-rc.d initscripts"
 RRECOMMENDS_${PN} += "${BASEPN}-plugins"
 
 FILES_${PN}-dbg += "${libdir}/gsmd/.debug/*"
+FILES_${PN}-dev += "${libdir}/gsmd/*.so ${libdir}/gsmd/*.la"
+FILES_${PN}-staticdev += "${libdir}/gsmd/*.a"
 FILES_${PN}-tools = "${bindir}/*"
 FILES_${BASEPN}-plugins = ""
-FILES_${BASEPN}-plugin-machine-generic = "${libdir}/gsmd/libgsmd-machine_generic.so*"
-FILES_${BASEPN}-plugin-machine-tihtc = "${libdir}/gsmd/libgsmd-machine_tihtc.so*"
-FILES_${BASEPN}-plugin-machine-gta01 = "${libdir}/gsmd/libgsmd-machine_gta01.so*"
-FILES_${BASEPN}-plugin-vendor-qc = "${libdir}/gsmd/libgsmd-vendor_qc.so*"
-FILES_${BASEPN}-plugin-vendor-bcm = "${libdir}/gsmd/libgsmd-vendor_bcm.so*"
-FILES_${BASEPN}-plugin-vendor-ti = "${libdir}/gsmd/libgsmd-vendor_ti.so*"
-FILES_${BASEPN}-plugin-vendor-tihtc = "${libdir}/gsmd/libgsmd-vendor_tihtc.so*"
+FILES_${BASEPN}-plugin-machine-generic = "${libdir}/gsmd/libgsmd-machine_generic.so.*"
+FILES_${BASEPN}-plugin-machine-tihtc = "${libdir}/gsmd/libgsmd-machine_tihtc.so.*"
+FILES_${BASEPN}-plugin-machine-telit = "${libdir}/gsmd/libgsmd-machine_telit.so.*"
+FILES_${BASEPN}-plugin-machine-gta01 = "${libdir}/gsmd/libgsmd-machine_gta01.so.*"
+FILES_${BASEPN}-plugin-vendor-qc = "${libdir}/gsmd/libgsmd-vendor_qc.so.*"
+FILES_${BASEPN}-plugin-vendor-bcm = "${libdir}/gsmd/libgsmd-vendor_bcm.so.*"
+FILES_${BASEPN}-plugin-vendor-ti = "${libdir}/gsmd/libgsmd-vendor_ti.so.*"
+FILES_${BASEPN}-plugin-vendor-telit = "${libdir}/gsmd/libgsmd-vendor_telit.so.*"
+FILES_${BASEPN}-plugin-vendor-tihtc = "${libdir}/gsmd/libgsmd-vendor_tihtc.so.*"
 
 PACKAGES_DYNAMIC = "lib${BASEPN}* ${BASEPN}"
 
@@ -77,20 +85,24 @@ RCONFLICTS_lib${BASEPN} = "lib${CONFLICTNAME}"
 RCONFLICTS_${BASEPN} = "${CONFLICTNAME}"
 RCONFLICTS_${BASEPN}-plugins = "${CONFLICTNAME}-plugins"
 RCONFLICTS_${BASEPN}-plugin-machine-generic = "${CONFLICTNAME}-plugin-machine-generic"
+RCONFLICTS_${BASEPN}-plugin-machine-telit = "${CONFLICTNAME}-plugin-machine-telit"
 RCONFLICTS_${BASEPN}-plugin-machine-tihtc = "${CONFLICTNAME}-plugin-machine-tihtc"
 RCONFLICTS_${BASEPN}-plugin-machine-gta01 = "${CONFLICTNAME}-plugin-machine-gta01"
 RCONFLICTS_${BASEPN}-plugin-vendor-qc = "${CONFLICTNAME}-plugin-vendor-qc"
 RCONFLICTS_${BASEPN}-plugin-vendor-bcm = "${CONFLICTNAME}-plugin-vendor-bcm"
 RCONFLICTS_${BASEPN}-plugin-vendor-ti = "${CONFLICTNAME}-plugin-vendor-ti"
+RCONFLICTS_${BASEPN}-plugin-vendor-telit = "${CONFLICTNAME}-plugin-vendor-telit"
 RCONFLICTS_${BASEPN}-plugin-vendor-tihtc = "${CONFLICTNAME}-plugin-vendor-tihtc"
 
 RPROVIDES_lib${BASEPN} += "lib${CONFLICTNAME}"
 RPROVIDES_${BASEPN} = "${CONFLICTNAME}"
 RPROVIDES_${BASEPN}-plugins = "${CONFLICTNAME}-plugins"
 RPROVIDES_${BASEPN}-plugin-machine-generic = "${CONFLICTNAME}-plugin-machine-generic"
+RPROVIDES_${BASEPN}-plugin-machine-telit = "${CONFLICTNAME}-plugin-machine-telit"
 RPROVIDES_${BASEPN}-plugin-machine-tihtc = "${CONFLICTNAME}-plugin-machine-tihtc"
 RPROVIDES_${BASEPN}-plugin-machine-gta01 = "${CONFLICTNAME}-plugin-machine-gta01"
 RPROVIDES_${BASEPN}-plugin-vendor-qc = "${CONFLICTNAME}-plugin-vendor-qc"
 RPROVIDES_${BASEPN}-plugin-vendor-bcm = "${CONFLICTNAME}-plugin-vendor-bcm"
 RPROVIDES_${BASEPN}-plugin-vendor-ti = "${CONFLICTNAME}-plugin-vendor-ti"
+RPROVIDES_${BASEPN}-plugin-vendor-telit = "${CONFLICTNAME}-plugin-vendor-telit"
 RPROVIDES_${BASEPN}-plugin-vendor-tihtc = "${CONFLICTNAME}-plugin-vendor-tihtc"
Signature · 1 line
1.7.4.1
#3 lore raw

PATCH 3/8 gcc: Fix removal of libiberty.a

In reply to Richard Purdie

From: Richard Purdie <[email protected]>

The changes in commit 553a92c442bc3a35d1520a22e640a3a0e377b8f7 were not applying correctly due to the error: "find: paths must precede expression"

This patch corrects the find syntax.

[YOCTO #1199]

---
 meta/recipes-devtools/gcc/gcc-4.6.inc              |    2 +-
 .../gcc/gcc-cross-intermediate.inc                 |    4 ++--
 meta/recipes-devtools/gcc/gcc-package-cross.inc    |    4 ++--
 meta/recipes-devtools/gcc/gcc-package-target.inc   |    4 ++--
 meta/recipes-devtools/gcc/gcc_4.5.1.bb             |    2 +-
 5 files changed, 8 insertions(+), 8 deletions(-)
meta/recipes-devtools/gcc/gcc-4.6.inc +1 -1
index a012049..6844995 100644
@@ -1,6 +1,6 @@
 require gcc-common.inc
 
-PR = "r4"
+PR = "r5"
 
 # Third digit in PV should be incremented after a minor release
 # happens from this branch on gcc e.g. currently its 4.6.0
meta/recipes-devtools/gcc/gcc-cross-intermediate.inc +2 -2
index 05b5dbc..df5958a 100644
@@ -40,8 +40,8 @@ do_install () {
 	rm -rf ${D}${datadir}/
 
 	# We use libiberty from binutils
-	find -name libiberty.a ${D}${exec_prefix}/lib | xargs rm -f
-	find -name libiberty.h ${D}${exec_prefix}/lib | xargs rm -f
+	find ${D}${exec_prefix}/lib -name libiberty.a | xargs rm -f
+	find ${D}${exec_prefix}/lib -name libiberty.h | xargs rm -f
 
 	# Insert symlinks into libexec so when tools without a prefix are searched for, the correct ones are
 	# found. These need to be relative paths so they work in different locations.
meta/recipes-devtools/gcc/gcc-package-cross.inc +2 -2
index b51336b..3d27788 100644
@@ -29,8 +29,8 @@ do_install () {
 	done
 
 	# We use libiberty from binutils
-	find -name libiberty.a ${D}${exec_prefix}/lib | xargs rm -f
-	find -name libiberty.h ${D}${exec_prefix}/lib | xargs rm -f
+	find ${D}${exec_prefix}/lib -name libiberty.a | xargs rm -f
+	find ${D}${exec_prefix}/lib -name libiberty.h | xargs rm -f
 
 	# gcc-runtime installs libgcc into a special location in staging since it breaks doing a standalone build
 	if [ "${PN}" == "gcc-cross" -o "${PN}" == "gcc-crosssdk" ]; then
meta/recipes-devtools/gcc/gcc-package-target.inc +2 -2
index 43e2bd5..6cc308c 100644
@@ -88,8 +88,8 @@ do_install () {
 	rm -f *gcc-?.?*
 
 	# We use libiberty from binutils
-	find -name libiberty.a ${D}${exec_prefix}/lib | xargs rm -f
-	find -name libiberty.h ${D}${exec_prefix}/lib | xargs rm -f
+	find ${D}${exec_prefix}/lib -name libiberty.a | xargs rm -f
+	find ${D}${exec_prefix}/lib -name libiberty.h | xargs rm -f
 
 	# Symlinks so we can use these trivially on the target
 	ln -sf ${TARGET_PREFIX}g77 g77 || true
meta/recipes-devtools/gcc/gcc_4.5.1.bb +1 -1
index e04f443..785d719 100644
@@ -1,4 +1,4 @@
-PR = "r5"
+PR = "r6"
 require gcc-${PV}.inc
 require gcc-configure-target.inc
 require gcc-package-target.inc
Signature · 1 line
1.7.4.1
#4 lore raw

PATCH 4/8 gettext: Disable both git and cvs for autopoint's archive format.

In reply to Richard Purdie

From: Richard Purdie <[email protected]>

The git-native dependency is about a 10% build performance hit for a small reduction in autopoint's archive size (500kb vs 3.5MB). We could always enable this for the target version only I guess.

---
 meta/recipes-core/gettext/gettext_0.18.1.1.bb |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)
meta/recipes-core/gettext/gettext_0.18.1.1.bb +4 -3
index b64fbdb..174180e 100644
@@ -6,8 +6,8 @@ LICENSE = "GPLv3"
 LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
 
 PR = "r0"
-DEPENDS = "gettext-native virtual/libiconv ncurses expat git-native"
-DEPENDS_virtclass-native = "git-native"
+DEPENDS = "gettext-native virtual/libiconv ncurses expat"
+DEPENDS_virtclass-native = ""
 PROVIDES = "virtual/libintl virtual/gettext"
 PROVIDES_virtclass-native = ""
 CONFLICTS_${PN} = "proxy-libintl"
@@ -34,7 +34,8 @@ EXTRA_OECONF += "--without-lispdir \
                  --with-included-glib \
                  --with-libncurses-prefix=${STAGING_LIBDIR}/.. \
                  --without-emacs \
-                 --with-git \
+                 --without-cvs \
+                 --without-git \
                 "
 
 acpaths = '-I ${S}/gettext-runtime/m4 \
Signature · 1 line
1.7.4.1
#5 lore raw

PATCH 5/8 gcc: Remove unneeded module .la file and .so link

In reply to Richard Purdie

From: Richard Purdie <[email protected]>

This avoids a QA error.

---
 meta/recipes-devtools/gcc/gcc-4.6.inc            |    2 +-
 meta/recipes-devtools/gcc/gcc-package-target.inc |    2 ++
 meta/recipes-devtools/gcc/gcc_4.5.1.bb           |    2 +-
 3 files changed, 4 insertions(+), 2 deletions(-)
meta/recipes-devtools/gcc/gcc-4.6.inc +1 -1
index 6844995..a880111 100644
@@ -1,6 +1,6 @@
 require gcc-common.inc
 
-PR = "r5"
+PR = "r6"
 
 # Third digit in PV should be incremented after a minor release
 # happens from this branch on gcc e.g. currently its 4.6.0
meta/recipes-devtools/gcc/gcc-package-target.inc +2 -0
index 6cc308c..8c66c72 100644
@@ -72,6 +72,8 @@ do_install () {
 	# Cleanup some of the ${libdir}{,exec}/gcc stuff ...
 	rm -r ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/install-tools
 	rm -r ${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/install-tools
+	rm -r ${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/*.so
+	rm -r ${D}${libexecdir}/gcc/${TARGET_SYS}/${BINV}/*.la
 
 	# Hack around specs file assumptions
 	test -f ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/specs && sed -i -e '/^*cross_compile:$/ { n; s/1/0/; }' ${D}${libdir}/gcc/${TARGET_SYS}/${BINV}/specs
meta/recipes-devtools/gcc/gcc_4.5.1.bb +1 -1
index 785d719..12e42c4 100644
@@ -1,4 +1,4 @@
-PR = "r6"
+PR = "r7"
 require gcc-${PV}.inc
 require gcc-configure-target.inc
 require gcc-package-target.inc
Signature · 1 line
1.7.4.1
#6 lore raw

PATCH 6/8 insane.bbclass: Allow INSANE_SKIP to work on a per test basis

In reply to Richard Purdie

From: Richard Purdie <[email protected]>

---
 meta/classes/insane.bbclass |   37 ++++++++++++++++++++-----------------
 1 files changed, 20 insertions(+), 17 deletions(-)
meta/classes/insane.bbclass +20 -17
index a6f9c1e..3572ce7 100644
@@ -383,7 +383,7 @@ def package_qa_check_staged(path,d):
     return sane
 
 # Walk over all files in a directory and call func
-def package_qa_walk(path, warnfuncs, errorfuncs, package, d):
+def package_qa_walk(path, warnfuncs, errorfuncs, skip, package, d):
     import oe.qa
 
     #if this will throw an exception, then fix the dict above
@@ -414,7 +414,7 @@ def package_qa_walk(path, warnfuncs, errorfuncs, package, d):
 
     return len(errors) == 0
 
-def package_qa_check_rdepends(pkg, pkgdest, d):
+def package_qa_check_rdepends(pkg, pkgdest, skip, d):
     sane = True
     if not "-dbg" in pkg and not "task-" in pkg and not "-image" in pkg:
         # Copied from package_ipk.bbclass
@@ -439,7 +439,7 @@ def package_qa_check_rdepends(pkg, pkgdest, d):
 
         # Now do the sanity check!!!
         for rdepend in rdepends:
-            if "-dbg" in rdepend:
+            if "-dbg" in rdepend and "debug-deps" not in skip:
                 error_msg = "%s rdepends on %s" % (pkgname,rdepend)
                 sane = package_qa_handle_error("debug-deps", error_msg, d)
 
@@ -480,27 +480,30 @@ python do_package_qa () {
     testmatrix = d.getVarFlags("QAPATHTEST")
 
     g = globals()
-    warnchecks = []
-    for w in (d.getVar("WARN_QA", True) or "").split():
-        if w in testmatrix and testmatrix[w] in g:
-            warnchecks.append(g[testmatrix[w]])
-    errorchecks = []
-    for e in (d.getVar("ERROR_QA", True) or "").split():
-        if e in testmatrix and testmatrix[e] in g:
-            errorchecks.append(g[testmatrix[e]])
-
     walk_sane = True
     rdepends_sane = True
     for package in packages.split():
-        if bb.data.getVar('INSANE_SKIP_' + package, d, True):
-            bb.note("Package: %s (skipped)" % package)
-            continue
+        skip = (bb.data.getVar('INSANE_SKIP_' + package, d, True) or "").split()
+        if skip:
+            bb.note("Package %s skipping QA tests: %s" % (package, str(skip)))
+        warnchecks = []
+        for w in (d.getVar("WARN_QA", True) or "").split():
+            if w in skip:
+               continue
+            if w in testmatrix and testmatrix[w] in g:
+                warnchecks.append(g[testmatrix[w]])
+        errorchecks = []
+        for e in (d.getVar("ERROR_QA", True) or "").split():
+            if e in skip:
+               continue
+            if e in testmatrix and testmatrix[e] in g:
+                errorchecks.append(g[testmatrix[e]])
 
         bb.note("Checking Package: %s" % package)
         path = "%s/%s" % (pkgdest, package)
-        if not package_qa_walk(path, warnchecks, errorchecks, package, d):
+        if not package_qa_walk(path, warnchecks, errorchecks, skip, package, d):
             walk_sane  = False
-        if not package_qa_check_rdepends(package, pkgdest, d):
+        if not package_qa_check_rdepends(package, pkgdest, skip, d):
             rdepends_sane = False
 
 
Signature · 1 line
1.7.4.1
#7 lore raw

PATCH 7/8 lttng-viewer: Fixup various QA warnings and a false positive

In reply to Richard Purdie

From: Richard Purdie <[email protected]>

---
 meta/recipes-kernel/lttng/lttng-viewer_0.12.38.bb |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)
meta/recipes-kernel/lttng/lttng-viewer_0.12.38.bb +4 -2
index 5e7bd4c..233d836 100644
@@ -9,7 +9,7 @@ LICENSE = "GPLv2 & LGPLv2.1"
 LIC_FILES_CHKSUM = "file://COPYING;md5=f650d5f5af1e9648fe0b40e290d3adbb \
                     file://ltt/ltt.h;beginline=2;endline=18;md5=8b7da9190028c50396d97fc85bad0da9 \
                     file://lttv/lttv/traceset.c;beginline=2;endline=17;md5=bcab42863b64b41d153bf81bbe2490a6"
-PR = "r1"
+PR = "r2"
 
 DEPENDS = "gtk+ pango popt"
 
@@ -34,4 +34,6 @@ FILES_${PN} += "\
     ${datadir}/lttv/facilities/* \
     ${datadir}/lttv/pixmaps/* "
 FILES_${PN}-dbg += "${libdir}/lttv/plugins/.debug/"
-
+FILES_${PN}-dev += "${libdir}/lttv/plugins/*.la"
+FILES_${PN}-staticdev += "${libdir}/lttv/plugins/*.a"
+INSANE_SKIP_${PN} = "dev-so"
Signature · 1 line
1.7.4.1
#8 lore raw

PATCH 8/8 gcc-package-cross: Switch to using pattern matching to detect when to stash libgcc into the sysroot

In reply to Richard Purdie

Currently, we stash libgcc if PN is gcc-cross or gcc-crosssdk. This patch changes it to work for *gcc-cross and *-gcc-crosssdk which means it will patch for multilib extended toolchains.

---
 meta/recipes-devtools/gcc/gcc-package-cross.inc |   26 ++++++++++++----------
 1 files changed, 14 insertions(+), 12 deletions(-)
meta/recipes-devtools/gcc/gcc-package-cross.inc +14 -12
index 3d27788..15627e7 100644
@@ -33,20 +33,22 @@ do_install () {
 	find ${D}${exec_prefix}/lib -name libiberty.h | xargs rm -f
 
 	# gcc-runtime installs libgcc into a special location in staging since it breaks doing a standalone build
-	if [ "${PN}" == "gcc-cross" -o "${PN}" == "gcc-crosssdk" ]; then
-		dest=${D}/${includedir}/gcc-build-internal-${MULTIMACH_TARGET_SYS}
-		oe_runmake "DESTDIR=$dest" libdir=${target_libdir} base_libdir=${target_base_libdir} prefix=${target_prefix} exec_prefix=${target_exec_prefix} install-target-libgcc
+	case ${PN} in
+		*gcc-cross|*gcc-crosssdk)
+			dest=${D}/${includedir}/gcc-build-internal-${MULTIMACH_TARGET_SYS}
+			oe_runmake "DESTDIR=$dest" libdir=${target_libdir} base_libdir=${target_base_libdir} prefix=${target_prefix} exec_prefix=${target_exec_prefix} install-target-libgcc
 
-		# Ideally here we'd override the libgcc Makefile's idea of slibdir but
-		# for now, we just move the files to the correct location
+			# Ideally here we'd override the libgcc Makefile's idea of slibdir but
+			# for now, we just move the files to the correct location
 
-		install -d $dest${target_base_libdir}
-		mv $dest${target_exec_prefix}/${TARGET_SYS}/lib*/* $dest${target_base_libdir}
-		rm -rf $dest${target_exec_prefix}/${TARGET_SYS}
+			install -d $dest${target_base_libdir}
+			mv $dest${target_exec_prefix}/${TARGET_SYS}/lib*/* $dest${target_base_libdir}
+			rm -rf $dest${target_exec_prefix}/${TARGET_SYS}
 
-		# Also need to move gcc from /usr/lib/gcc/* to /usr/lib/ else the search paths won't find the crt*.o files
+			# Also need to move gcc from /usr/lib/gcc/* to /usr/lib/ else the search paths won't find the crt*.o files
 
-		mv $dest${target_libdir}/gcc/* $dest${target_libdir}/
-		rmdir $dest${target_libdir}/gcc
-	fi
+			mv $dest${target_libdir}/gcc/* $dest${target_libdir}/
+			rmdir $dest${target_libdir}/gcc
+		;;
+	esac
 }
Signature · 1 line
1.7.4.1
#9 lore raw
In reply to Richard Purdie
Quoted 27 lines · Richard Purdie

The following changes since commit 2b3bf5350861f62435e2fdf1c56c8a02f4b1b4ac fix a number of QA warnings/errors. There are a couple of RFC style commits in this mix:

A key change is that functionality is added to insane.bbclass to allow skipping of individual QA tests by name. It needs two existing users (elfutils and u-boot) to specify which QA tests they want to skip (I'm working on a patch). Any external layer using that variable would need to update and I can't decide if that is a drawback or a feature.

Also a gettext change I'm testing to see which approach performs best is included. A final decision on that will depend on the performance test results (thanks go to paul for hightlighting the impact of that git-native depenedency).

Also included is a gcc libiberty fix (yocto #1199).

They are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib rpurdie/master
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=rpurdie/master

Richard Purdie (5):
gcc: Fix removal of libiberty.a
gettext: Disable both git and cvs for autopoint's archive format.
gcc: Remove unneeded module .la file and .so link insane.bbclass: Allow INSANE_SKIP to work on a per test basis
lttng-viewer: Fixup various QA warnings and a false positive

Quoted 5 lines

Richard Purdie (3):
oprofile: Fix QA warnings
libgsmd: Fix QA warnings
gcc-package-cross: Switch to using pattern matching to detect when to
stash libgcc into the sysroot

I've merged these to master. Whilst not a 10% build time improvement on my test machine, the gettext change did show a clear 2% gain.

I also added the INSANE_SKIP tweaks for db, qemu, u-boot and elfutils so the majority of QA warnings should be squashed apart from some issues with ldflags which I'll discuss in another email...

Cheers,

Richard