* [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