> On Jul 14, 2016, at 9:37 AM, Ross Burton <ross.bur...@intel.com> wrote:
> 
> The nativesdk libc when used by buildtools has a hard requirement on 
> supporting
> a UTF-8 locale because Python 3 needs a UTF-8 locale.  However we currently 
> only
> ship the C locale, which means that Python attempts to lookup the user's 
> locale
> (for example, en_NZ.UTF-8) in the locale archive under it's prefix it fails 
> and
> falls back to C.  This the results in Python using ASCII instead of UTF-8 for
> file encoding, and bitbake breaks.
> 
> Th obvious solution would be to ship all locales, but this would add
> approximately 250MB to the size of the buildtools tarball (which is currently
> around 30MB).  Generating a binary locale archive reduces this down to 100MB,
> but this is still a drastic increase in footprint.  If we ship a subset of
> locales in the tarball then there will be users whose locale isn't in the
> tarball, and they'll have to change their locale to an "approved" one, which
> isn't the best of messages to send to new users.
> 
> The alternative is to tell the nativesdk libc that the locale archive isn't
> under it own prefix but is in fact at /usr/lib/locale/locale-archive, so the
> buildtools libc uses the host locale archive. The locale archive format 
> appears
> to be at least fairly stable: our glibc 2.24 can read the locale archive
> generated by glibc 2.17 (Centos 7).

I think this patch is good. Although, there might be issues with SDKs when tried
on different distros. But as long as we keep the tested distros in shape we are 
ok

> 
> [ YOCTO #9775 ]
> 
> Signed-off-by: Ross Burton <ross.bur...@intel.com>
> ---
> meta/recipes-core/glibc/glibc_2.24.bb | 6 ++++++
> 1 file changed, 6 insertions(+)
> 
> diff --git a/meta/recipes-core/glibc/glibc_2.24.bb 
> b/meta/recipes-core/glibc/glibc_2.24.bb
> index 456f206..4bc6443 100644
> --- a/meta/recipes-core/glibc/glibc_2.24.bb
> +++ b/meta/recipes-core/glibc/glibc_2.24.bb
> @@ -129,6 +129,12 @@ do_compile () {
> 
> }
> 
> +# Use the host locale archive when built for nativesdk so that we don't need 
> to
> +# ship a complete (100MB) locale set.
> +do_compile_prepend_class-nativesdk() {
> +    echo "complocaledir=/usr/lib/locale" >> ${S}/configparms
> +}
> +
> require glibc-package.inc
> 
> BBCLASSEXTEND = "nativesdk"
> --
> 2.8.1
> 
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to