summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross.burton@intel.com>2018-03-01 18:26:32 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-03-01 22:18:47 +0000
commit2f5641505944983bb931fd373f7d625eb6ce6fce (patch)
tree7bd2d3a7e9750e1b870545b8f9fa614fd575e11d
parent03b758892b87969945cca75472c62c184fcc4ba5 (diff)
downloadpoky-2f5641505944983bb931fd373f7d625eb6ce6fce.tar.gz
populate_sdk: install UTF-8 locales in SDKs
As glibc 2.27 can't read older locale-archives, SDKs using glibc 2.27 on hosts using glibc earlier than 2.27 won't be able to find any locales, so bitbake won't start and Python can't use UTF-8. So by default install all locales into the SDK. Special-case Extensible SDKs by installing no locales as they ship glibc in a buildtools, and that will have the locales. Locale installation requires cross-localedef, so add that to DEPENDS. Also remove the explicit en_US addition in buildtools-tarball as it is now redundant. (From OE-Core rev: 96896568d197cd06302713c24c0f7d91bfaea6c1) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/classes/populate_sdk_base.bbclass5
-rw-r--r--meta/classes/populate_sdk_ext.bbclass3
-rw-r--r--meta/recipes-core/meta/buildtools-tarball.bb1
3 files changed, 6 insertions, 3 deletions
diff --git a/meta/classes/populate_sdk_base.bbclass b/meta/classes/populate_sdk_base.bbclass
index acb91d7d63..be5970a4bb 100644
--- a/meta/classes/populate_sdk_base.bbclass
+++ b/meta/classes/populate_sdk_base.bbclass
@@ -23,6 +23,9 @@ SDKIMAGE_INSTALL_COMPLEMENTARY = '${@complementary_globs("SDKIMAGE_FEATURES", d)
23PACKAGE_ARCHS_append_task-populate-sdk = " sdk-provides-dummy-target" 23PACKAGE_ARCHS_append_task-populate-sdk = " sdk-provides-dummy-target"
24SDK_PACKAGE_ARCHS += "sdk-provides-dummy-${SDKPKGSUFFIX}" 24SDK_PACKAGE_ARCHS += "sdk-provides-dummy-${SDKPKGSUFFIX}"
25 25
26# List of locales to install, or "all" for all of them, or unset for none.
27SDKIMAGE_LINGUAS ?= "all"
28
26inherit rootfs_${IMAGE_PKGTYPE} 29inherit rootfs_${IMAGE_PKGTYPE}
27 30
28SDK_DIR = "${WORKDIR}/sdk" 31SDK_DIR = "${WORKDIR}/sdk"
@@ -43,7 +46,7 @@ TOOLCHAIN_TARGET_TASK_ATTEMPTONLY ?= ""
43TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-toolchain-${SDK_VERSION}" 46TOOLCHAIN_OUTPUTNAME ?= "${SDK_NAME}-toolchain-${SDK_VERSION}"
44 47
45SDK_RDEPENDS = "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_HOST_TASK}" 48SDK_RDEPENDS = "${TOOLCHAIN_TARGET_TASK} ${TOOLCHAIN_HOST_TASK}"
46SDK_DEPENDS = "virtual/fakeroot-native pixz-native" 49SDK_DEPENDS = "virtual/fakeroot-native pixz-native cross-localedef-native"
47 50
48# We want the MULTIARCH_TARGET_SYS to point to the TUNE_PKGARCH, not PACKAGE_ARCH as it 51# We want the MULTIARCH_TARGET_SYS to point to the TUNE_PKGARCH, not PACKAGE_ARCH as it
49# could be set to the MACHINE_ARCH 52# could be set to the MACHINE_ARCH
diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass
index d7a0884037..655375416b 100644
--- a/meta/classes/populate_sdk_ext.bbclass
+++ b/meta/classes/populate_sdk_ext.bbclass
@@ -655,7 +655,8 @@ fakeroot python do_populate_sdk_ext() {
655 d.setVar('SDK_REQUIRED_UTILITIES', get_sdk_required_utilities(buildtools_fn, d)) 655 d.setVar('SDK_REQUIRED_UTILITIES', get_sdk_required_utilities(buildtools_fn, d))
656 d.setVar('SDK_BUILDTOOLS_INSTALLER', buildtools_fn) 656 d.setVar('SDK_BUILDTOOLS_INSTALLER', buildtools_fn)
657 d.setVar('SDKDEPLOYDIR', '${SDKEXTDEPLOYDIR}') 657 d.setVar('SDKDEPLOYDIR', '${SDKEXTDEPLOYDIR}')
658 658 # ESDKs have a libc from the buildtools so ensure we don't ship linguas twice
659 d.delVar('SDKIMAGE_LINGUAS')
659 populate_sdk_common(d) 660 populate_sdk_common(d)
660} 661}
661 662
diff --git a/meta/recipes-core/meta/buildtools-tarball.bb b/meta/recipes-core/meta/buildtools-tarball.bb
index be37c44210..d98a9c901c 100644
--- a/meta/recipes-core/meta/buildtools-tarball.bb
+++ b/meta/recipes-core/meta/buildtools-tarball.bb
@@ -21,7 +21,6 @@ TOOLCHAIN_HOST_TASK ?= "\
21 nativesdk-wget \ 21 nativesdk-wget \
22 nativesdk-ca-certificates \ 22 nativesdk-ca-certificates \
23 nativesdk-texinfo \ 23 nativesdk-texinfo \
24 nativesdk-locale-base-en-us \
25 " 24 "
26 25
27MULTIMACH_TARGET_SYS = "${SDK_ARCH}-nativesdk${SDK_VENDOR}-${SDK_OS}" 26MULTIMACH_TARGET_SYS = "${SDK_ARCH}-nativesdk${SDK_VENDOR}-${SDK_OS}"