Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH 0/6] external csl toolchain improvements (v2)
@ 2012-04-17 15:45 Christopher Larson
  2012-04-17 15:45 ` [PATCH 1/6] external-csl-toolchain: split out a libstdc++-staticdev package Christopher Larson
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Christopher Larson @ 2012-04-17 15:45 UTC (permalink / raw)
  To: openembedded-core

This cleans up the recipe and simplifies it, fixes up locale handling,
silences QA packaging warnings, and includes toolchain version in the metadata
checksums for target recipes. Obviously this is intended for after the final
release.

The following changes since commit 4e1a8ed1ab7e7bd950e511c79ddfe072cb280a6e:

  bitbake.conf: Include abi_version.conf in a early stage (2012-04-16 12:51:50 +0100)

are available in the git repository at:
  git://github.com/kergoth/oe-core external-csl-improvements

Christopher Larson (6):
  external-csl-toolchain: split out a libstdc++-staticdev package
  libc-package: fix handling for 'precompiled' locales
  csl-versions.inc: capture version in signatures
  tcmode-external-csl: use the existing precompiled locale files
  external-csl-toolchain: silence .a/.debug QA warnings
  external-csl-toolchain: cleanup, simplify, use base_libdir

 meta/classes/libc-package.bbclass                |   12 ++--
 meta/conf/distro/include/csl-versions.inc        |    4 +
 meta/conf/distro/include/tcmode-external-csl.inc |    4 +
 meta/recipes-core/meta/external-csl-toolchain.bb |   68 +++++++++++-----------
 4 files changed, 48 insertions(+), 40 deletions(-)

-- 
1.7.7




^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/6] external-csl-toolchain: split out a libstdc++-staticdev package
  2012-04-17 15:45 [PATCH 0/6] external csl toolchain improvements (v2) Christopher Larson
@ 2012-04-17 15:45 ` Christopher Larson
  2012-04-17 15:45 ` [PATCH 2/6] libc-package: fix handling for 'precompiled' locales Christopher Larson
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Christopher Larson @ 2012-04-17 15:45 UTC (permalink / raw)
  To: openembedded-core

This silences one of the QA warnings.

Signed-off-by: Christopher Larson <kergoth@gmail.com>
---
 meta/recipes-core/meta/external-csl-toolchain.bb |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/meta/recipes-core/meta/external-csl-toolchain.bb b/meta/recipes-core/meta/external-csl-toolchain.bb
index 3e820ff..bafa331 100644
--- a/meta/recipes-core/meta/external-csl-toolchain.bb
+++ b/meta/recipes-core/meta/external-csl-toolchain.bb
@@ -88,7 +88,7 @@ external_toolchain_sysroot_adjust() {
        fi
 }
 
-PACKAGES =+ "libgcc libgcc-dev libstdc++ libstdc++-dev linux-libc-headers linux-libc-headers-dev gdbserver gdbserver-dbg"
+PACKAGES =+ "libgcc libgcc-dev libstdc++ libstdc++-dev libstdc++-staticdev linux-libc-headers linux-libc-headers-dev gdbserver gdbserver-dbg"
 
 INSANE_SKIP_libgcc = "1"
 INSANE_SKIP_libstdc++ = "1"
@@ -111,6 +111,7 @@ PKGV_libgcc = "${CSL_VER_GCC}"
 PKGV_libgcc-dev = "${CSL_VER_GCC}"
 PKGV_libstdc++ = "${CSL_VER_GCC}"
 PKGV_libstdc++-dev = "${CSL_VER_GCC}"
+PKGV_libstdc++-staticdev = "${CSL_VER_GCC}"
 PKGV_linux-libc-headers = "${CSL_VER_KERNEL}"
 PKGV_linux-libc-headers-dev = "${CSL_VER_KERNEL}"
 PKGV_gdbserver = "${CSL_VER_GDB}"
@@ -122,9 +123,8 @@ FILES_libstdc++ = "${libdir}/libstdc++.so.*"
 FILES_libstdc++-dev = "${includedir}/c++/${PV} \
 	${libdir}/libstdc++.so \
 	${libdir}/libstdc++.la \
-	${libdir}/libstdc++.a \
-	${libdir}/libsupc++.la \
-	${libdir}/libsupc++.a"
+	${libdir}/libsupc++.la"
+FILES_libstdc++-staticdev = "${libdir}/libstdc++.a ${libdir}/libsupc++.a"
 FILES_linux-libc-headers = "${includedir}/asm* \
 	${includedir}/linux \
 	${includedir}/mtd \
-- 
1.7.7




^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/6] libc-package: fix handling for 'precompiled' locales
  2012-04-17 15:45 [PATCH 0/6] external csl toolchain improvements (v2) Christopher Larson
  2012-04-17 15:45 ` [PATCH 1/6] external-csl-toolchain: split out a libstdc++-staticdev package Christopher Larson
@ 2012-04-17 15:45 ` Christopher Larson
  2012-04-17 15:45 ` [PATCH 3/6] csl-versions.inc: capture version in signatures Christopher Larson
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Christopher Larson @ 2012-04-17 15:45 UTC (permalink / raw)
  To: openembedded-core

Due to how the 'supported' locales were being generated (added '  ' twice for
locales with '.' in them), one could end up with the locale-base packages in
your PACKAGES twice, causing packaging problems with eglibc-locale.

Signed-off-by: Christopher Larson <kergoth@gmail.com>
---
 meta/classes/libc-package.bbclass |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/meta/classes/libc-package.bbclass b/meta/classes/libc-package.bbclass
index bb4ba68..65feae2 100644
--- a/meta/classes/libc-package.bbclass
+++ b/meta/classes/libc-package.bbclass
@@ -221,11 +221,13 @@ python package_do_split_gconvs () {
 		supported = []
 		full_bin_path = d.getVar('PKGD', True) + binary_locales_dir
 		for dir in os.listdir(full_bin_path):
-			dbase = dir.split(".")
-			d2 = "  "
-			if len(dbase) > 1:
-				d2 = "." + dbase[1].upper() + "  "
-			supported.append(dbase[0] + d2)
+			elements = dir.split('.', 1)
+			locale = elements[0]
+			if len(elements) > 1:
+				charset = elements[1]
+			else:
+				charset = ''
+			supported.append('%s %s\n' % (locale, charset))
 
 	# Collate the locales by base and encoding
 	utf8_only = int(d.getVar('LOCALE_UTF8_ONLY', True) or 0)
-- 
1.7.7




^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 3/6] csl-versions.inc: capture version in signatures
  2012-04-17 15:45 [PATCH 0/6] external csl toolchain improvements (v2) Christopher Larson
  2012-04-17 15:45 ` [PATCH 1/6] external-csl-toolchain: split out a libstdc++-staticdev package Christopher Larson
  2012-04-17 15:45 ` [PATCH 2/6] libc-package: fix handling for 'precompiled' locales Christopher Larson
@ 2012-04-17 15:45 ` Christopher Larson
  2012-04-17 15:45 ` [PATCH 4/6] tcmode-external-csl: use the existing precompiled locale files Christopher Larson
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Christopher Larson @ 2012-04-17 15:45 UTC (permalink / raw)
  To: openembedded-core

We want to ensure that changing external toolchain version will change the
metadata checksums of target recipes. This will do so via ensuring that any
variable which references TOOLCHAIN_OPTIONS also pulls in the toolchain
version variables.

Signed-off-by: Christopher Larson <kergoth@gmail.com>
---
 meta/conf/distro/include/csl-versions.inc |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/meta/conf/distro/include/csl-versions.inc b/meta/conf/distro/include/csl-versions.inc
index 6b8b2c5..ec7a6ba 100644
--- a/meta/conf/distro/include/csl-versions.inc
+++ b/meta/conf/distro/include/csl-versions.inc
@@ -103,3 +103,7 @@ python csl_version_handler () {
     d.setVar('CSL_VER_GDB', csl_get_gdb_version(ld))
 }
 addhandler csl_version_handler
+
+# Ensure that any variable which includes the --sysroot (CC, CXX, etc) also
+# depends on the toolchain version
+TOOLCHAIN_OPTIONS[vardeps] += "CSL_VER_MAIN CSL_VER_GCC"
-- 
1.7.7




^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 4/6] tcmode-external-csl: use the existing precompiled locale files
  2012-04-17 15:45 [PATCH 0/6] external csl toolchain improvements (v2) Christopher Larson
                   ` (2 preceding siblings ...)
  2012-04-17 15:45 ` [PATCH 3/6] csl-versions.inc: capture version in signatures Christopher Larson
@ 2012-04-17 15:45 ` Christopher Larson
  2012-04-17 15:45 ` [PATCH 5/6] external-csl-toolchain: silence .a/.debug QA warnings Christopher Larson
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Christopher Larson @ 2012-04-17 15:45 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Christopher Larson <kergoth@gmail.com>
---
 meta/conf/distro/include/tcmode-external-csl.inc |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/meta/conf/distro/include/tcmode-external-csl.inc b/meta/conf/distro/include/tcmode-external-csl.inc
index 1fc366c..3b54e35 100644
--- a/meta/conf/distro/include/tcmode-external-csl.inc
+++ b/meta/conf/distro/include/tcmode-external-csl.inc
@@ -35,6 +35,10 @@ PREFERRED_PROVIDER_virtual/libiconv = "external-csl-toolchain"
 PREFERRED_PROVIDER_glibc-thread-db = "external-csl-toolchain"
 PREFERRED_PROVIDER_virtual/linux-libc-headers = "external-csl-toolchain"
 
+# No need to re-compile the locale files
+GLIBC_INTERNAL_USE_BINARY_LOCALE = "precompiled"
+ENABLE_BINARY_LOCALE_GENERATION = ""
+
 TARGET_CPPFLAGS_prepend = " -isystem${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/include "
 TARGET_LDFLAGS_prepend = " -L${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/lib -Wl,-rpath-link,${EXTERNAL_TOOLCHAIN}/${TARGET_SYS}/lib "
 
-- 
1.7.7




^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 5/6] external-csl-toolchain: silence .a/.debug QA warnings
  2012-04-17 15:45 [PATCH 0/6] external csl toolchain improvements (v2) Christopher Larson
                   ` (3 preceding siblings ...)
  2012-04-17 15:45 ` [PATCH 4/6] tcmode-external-csl: use the existing precompiled locale files Christopher Larson
@ 2012-04-17 15:45 ` Christopher Larson
  2012-04-17 15:45 ` [PATCH 6/6] external-csl-toolchain: cleanup, simplify, use base_libdir Christopher Larson
  2012-04-20 23:12 ` [PATCH 0/6] external csl toolchain improvements (v2) Chris Larson
  6 siblings, 0 replies; 8+ messages in thread
From: Christopher Larson @ 2012-04-17 15:45 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Christopher Larson <kergoth@gmail.com>
---
 meta/recipes-core/meta/external-csl-toolchain.bb |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/meta/recipes-core/meta/external-csl-toolchain.bb b/meta/recipes-core/meta/external-csl-toolchain.bb
index bafa331..fb553ab 100644
--- a/meta/recipes-core/meta/external-csl-toolchain.bb
+++ b/meta/recipes-core/meta/external-csl-toolchain.bb
@@ -90,9 +90,8 @@ external_toolchain_sysroot_adjust() {
 
 PACKAGES =+ "libgcc libgcc-dev libstdc++ libstdc++-dev libstdc++-staticdev linux-libc-headers linux-libc-headers-dev gdbserver gdbserver-dbg"
 
-INSANE_SKIP_libgcc = "1"
-INSANE_SKIP_libstdc++ = "1"
-INSANE_SKIP_gdbserver = "1"
+# This test should be fixed to ignore .a files in .debug dirs
+INSANE_SKIP_${PN}-dbg = "staticdev"
 
 PKG_${PN} = "eglibc"
 PKG_${PN}-dev = "eglibc-dev"
-- 
1.7.7




^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 6/6] external-csl-toolchain: cleanup, simplify, use base_libdir
  2012-04-17 15:45 [PATCH 0/6] external csl toolchain improvements (v2) Christopher Larson
                   ` (4 preceding siblings ...)
  2012-04-17 15:45 ` [PATCH 5/6] external-csl-toolchain: silence .a/.debug QA warnings Christopher Larson
@ 2012-04-17 15:45 ` Christopher Larson
  2012-04-20 23:12 ` [PATCH 0/6] external csl toolchain improvements (v2) Chris Larson
  6 siblings, 0 replies; 8+ messages in thread
From: Christopher Larson @ 2012-04-17 15:45 UTC (permalink / raw)
  To: openembedded-core

Signed-off-by: Christopher Larson <kergoth@gmail.com>
---
 meta/recipes-core/meta/external-csl-toolchain.bb |   55 +++++++++++-----------
 1 files changed, 27 insertions(+), 28 deletions(-)

diff --git a/meta/recipes-core/meta/external-csl-toolchain.bb b/meta/recipes-core/meta/external-csl-toolchain.bb
index fb553ab..ba04106 100644
--- a/meta/recipes-core/meta/external-csl-toolchain.bb
+++ b/meta/recipes-core/meta/external-csl-toolchain.bb
@@ -24,36 +24,40 @@ PROVIDES += "\
 	virtual/linux-libc-headers \
 "
 PV = "${CSL_VER_MAIN}"
-PR = "r3"
+PR = "r5"
 
 #SRC_URI = "http://www.codesourcery.com/public/gnu_toolchain/${CSL_TARGET_SYS}/arm-${PV}-${TARGET_PREFIX}i686-pc-linux-gnu.tar.bz2"
 
 SRC_URI = "file://SUPPORTED"
 
 do_install() {
-	install -d ${D}${sysconfdir} ${D}${bindir} ${D}${sbindir} ${D}${base_bindir} ${D}${libdir}
-	install -d ${D}${base_libdir} ${D}${base_sbindir} ${D}${datadir} ${D}/usr
+	# Use optimized files if available
+	sysroot="${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}/libc"
+	if [ -d $sysroot/${CSL_TARGET_CORE} ]; then
+		sysroot="$sysroot/${CSL_TARGET_CORE}"
+	fi
+
+	cp -a $sysroot${base_libdir}/. ${D}${base_libdir}
+	cp -a $sysroot/etc/. ${D}${sysconfdir}
+	cp -a $sysroot/sbin/. ${D}${base_sbindir}
 
-	if [ -d ${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}/libc/${CSL_TARGET_CORE} ]; then
-		cp -a ${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}/libc/${CSL_TARGET_CORE}/lib/.  ${D}${base_libdir}
-		cp -a ${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}/libc/${CSL_TARGET_CORE}/etc/.  ${D}${sysconfdir}
-		cp -a ${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}/libc/${CSL_TARGET_CORE}/sbin/. ${D}${base_sbindir}
-		if [ ! -e ${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}/libc/${CSL_TARGET_CORE}/usr/include ]; then
-			cp -a ${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}/libc/usr/include  ${D}/usr/
+	install -d ${D}/usr
+	for usr_element in bin include libexec sbin share ${base_libdir}; do
+		usr_path=$sysroot/usr/$usr_element
+		cp -a $usr_path ${D}/usr/
+	done
+	for datadir_element in man info; do
+		datadir_path=$sysroot/usr/$datadir_element
+		if [ -e $datadir_path ]; then
+			cp -a $datadir_path ${D}${datadir}/
 		fi
-		cp -a ${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}/libc/${CSL_TARGET_CORE}/usr/.  ${D}/usr/
-	else
-		cp -a ${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}/libc/lib/.  ${D}${base_libdir}
-		cp -a ${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}/libc/etc/.  ${D}${sysconfdir}
-		cp -a ${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}/libc/sbin/. ${D}${base_sbindir}
-		cp -a ${EXTERNAL_TOOLCHAIN}/${CSL_TARGET_SYS}/libc/usr/.  ${D}/usr/
-	fi
+	done
 
-	if [ -e ${D}${prefix}/info ]; then
-		mv ${D}${prefix}/info ${D}${infodir}
-	fi
-	if [ -e ${D}${prefix}/man ]; then
-		mv ${D}${prefix}/man ${D}${mandir}
+	# Some toolchains have headers under the core specific area
+	if [ -e $sysroot/usr/include ]; then
+		cp -a $sysroot/usr/include/. ${D}${includedir}
+	else
+		cp -a $sysroot/../usr/include/. ${D}${includedir}
 	fi
 
 	rm ${D}${sysconfdir}/rpc
@@ -61,18 +65,13 @@ do_install() {
 
 	mv ${D}${libdir}/bin/* ${D}${bindir}/
 	if [ -e ${D}${libdir}/bin/.debug ]; then
-		install -d ${D}${bindir}/.debug
 		mv ${D}${libdir}/bin/.debug/* ${D}${bindir}/.debug/
 	fi
 	ln -s ../../bin/gdbserver ${D}${libdir}/bin/sysroot-gdbserver
 
 	sed -i -e 's/__packed/__attribute__ ((packed))/' ${D}${includedir}/mtd/ubi-user.h
-	sed -i -e "s# /lib# ../../lib#g" -e "s# /usr/lib# .#g" ${D}${libdir}/libc.so
-	sed -i -e "s# /lib# ../../lib#g" -e "s# /usr/lib# .#g" ${D}${libdir}/libpthread.so
-}
-
-do_install_locale_append () {
-	rm -r ${D}${datadir}/locale ${D}${libdir}/locale
+        sed -i -e "s# ${base_libdir}# ../..${base_libdir}#g" -e "s# ${libdir}# .#g" ${D}${libdir}/libc.so
+        sed -i -e "s# ${base_libdir}# ../..${base_libdir}#g" -e "s# ${libdir}# .#g" ${D}${libdir}/libpthread.so
 }
 
 SYSROOT_PREPROCESS_FUNCS += "external_toolchain_sysroot_adjust"
-- 
1.7.7




^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 0/6] external csl toolchain improvements (v2)
  2012-04-17 15:45 [PATCH 0/6] external csl toolchain improvements (v2) Christopher Larson
                   ` (5 preceding siblings ...)
  2012-04-17 15:45 ` [PATCH 6/6] external-csl-toolchain: cleanup, simplify, use base_libdir Christopher Larson
@ 2012-04-20 23:12 ` Chris Larson
  6 siblings, 0 replies; 8+ messages in thread
From: Chris Larson @ 2012-04-20 23:12 UTC (permalink / raw)
  To: openembedded-core

On Tue, Apr 17, 2012 at 8:45 AM, Christopher Larson <kergoth@gmail.com> wrote:
> This cleans up the recipe and simplifies it, fixes up locale handling,
> silences QA packaging warnings, and includes toolchain version in the metadata
> checksums for target recipes. Obviously this is intended for after the final
> release.
>
> The following changes since commit 4e1a8ed1ab7e7bd950e511c79ddfe072cb280a6e:
>
>  bitbake.conf: Include abi_version.conf in a early stage (2012-04-16 12:51:50 +0100)


Bah, ignore this series too, need to fix one of the patches. *rolls eyes*
-- 
Christopher Larson



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2012-04-20 23:21 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-04-17 15:45 [PATCH 0/6] external csl toolchain improvements (v2) Christopher Larson
2012-04-17 15:45 ` [PATCH 1/6] external-csl-toolchain: split out a libstdc++-staticdev package Christopher Larson
2012-04-17 15:45 ` [PATCH 2/6] libc-package: fix handling for 'precompiled' locales Christopher Larson
2012-04-17 15:45 ` [PATCH 3/6] csl-versions.inc: capture version in signatures Christopher Larson
2012-04-17 15:45 ` [PATCH 4/6] tcmode-external-csl: use the existing precompiled locale files Christopher Larson
2012-04-17 15:45 ` [PATCH 5/6] external-csl-toolchain: silence .a/.debug QA warnings Christopher Larson
2012-04-17 15:45 ` [PATCH 6/6] external-csl-toolchain: cleanup, simplify, use base_libdir Christopher Larson
2012-04-20 23:12 ` [PATCH 0/6] external csl toolchain improvements (v2) Chris Larson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox