All of lore.kernel.org
 help / color / mirror / Atom feed
From: Khem Raj <raj.khem@gmail.com>
To: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH 1/1] libc-locale: split locale handling from libc recipe.
Date: Wed, 22 Jun 2011 07:44:42 -0700	[thread overview]
Message-ID: <4E01FFDA.3050905@gmail.com> (raw)
In-Reply-To: <d7c256ba838d05c85c6e7c2569f0a6c7b276ab17.1308732995.git.dongxiao.xu@intel.com>

On 06/22/2011 02:01 AM, Dongxiao Xu wrote:
> *libc's do_package will cost a lot of time due to the locale handing,
> which may delay the other recipe's do_package task and affect the build
> performance.

you could also move the locale generation into a task of its own instead 
of new recipe

>
> This commit moves locale handling into a separate recipe *libc-locale.
>
> Signed-off-by: Dongxiao Xu<dongxiao.xu@intel.com>
> ---
>   meta/classes/libc-common.bbclass                   |   23 ++++++++
>   meta/classes/libc-package.bbclass                  |   24 --------
>   meta/conf/distro/include/tclibc-eglibc.inc         |    2 +-
>   meta/conf/distro/include/tclibc-glibc.inc          |    2 +-
>   meta/recipes-core/eglibc/eglibc-initial_2.13.bb    |    4 ++
>   meta/recipes-core/eglibc/eglibc-locale_2.13.bb     |   58 ++++++++++++++++++++
>   meta/recipes-core/eglibc/eglibc-package.inc        |   32 +----------
>   meta/recipes-core/eglibc/eglibc.inc                |    4 +-
>   meta/recipes-core/eglibc/eglibc_2.13.bb            |   12 ++++
>   meta/recipes-core/glibc/glibc-initial_2.10.1.bb    |    4 ++
>   meta/recipes-core/glibc/glibc-locale_2.10.1.bb     |   50 +++++++++++++++++
>   meta/recipes-core/glibc/glibc-package.inc          |   29 ++---------
>   meta/recipes-core/glibc/glibc.inc                  |    2 +-
>   meta/recipes-core/glibc/glibc_2.10.1.bb            |   12 ++++
>   .../meta/external-csl-toolchain_2008q3-72.bb       |    1 +
>   15 files changed, 176 insertions(+), 83 deletions(-)
>   create mode 100644 meta/classes/libc-common.bbclass
>   create mode 100644 meta/recipes-core/eglibc/eglibc-locale_2.13.bb
>   create mode 100644 meta/recipes-core/glibc/glibc-locale_2.10.1.bb
>
> diff --git a/meta/classes/libc-common.bbclass b/meta/classes/libc-common.bbclass
> new file mode 100644
> index 0000000..bae0ace
> --- /dev/null
> +++ b/meta/classes/libc-common.bbclass
> @@ -0,0 +1,23 @@
> +do_install() {
> +	oe_runmake install_root=${D} install
> +	for r in ${rpcsvc}; do
> +		h=`echo $r|sed -e's,\.x$,.h,'`
> +		install -m 0644 ${S}/sunrpc/rpcsvc/$h ${D}/${includedir}/rpcsvc/
> +	done
> +	install -m 0644 ${WORKDIR}/etc/ld.so.conf ${D}/${sysconfdir}/
> +	install -d ${D}${libdir}/locale
> +	make -f ${WORKDIR}/generate-supported.mk IN="${S}/localedata/SUPPORTED" OUT="${WORKDIR}/SUPPORTED"
> +	# get rid of some broken files...
> +	for i in ${GLIBC_BROKEN_LOCALES}; do
> +		grep -v $i ${WORKDIR}/SUPPORTED>  ${WORKDIR}/SUPPORTED.tmp
> +		mv ${WORKDIR}/SUPPORTED.tmp ${WORKDIR}/SUPPORTED
> +	done
> +	rm -f ${D}{sysconfdir}/rpc
> +	rm -rf ${D}${datadir}/zoneinfo
> +	rm -rf ${D}${libexecdir}/getconf
> +}
> +
> +def get_libc_fpu_setting(bb, d):
> +    if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
> +        return "--without-fp"
> +    return ""
> diff --git a/meta/classes/libc-package.bbclass b/meta/classes/libc-package.bbclass
> index 55e3d48..5737af4 100644
> --- a/meta/classes/libc-package.bbclass
> +++ b/meta/classes/libc-package.bbclass
> @@ -37,11 +37,6 @@ python __anonymous () {
>                   break
>   }
>
> -def get_libc_fpu_setting(bb, d):
> -    if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
> -        return "--without-fp"
> -    return ""
> -
>   OVERRIDES_append = ":${TARGET_ARCH}-${TARGET_OS}"
>
>   do_configure_prepend() {
> @@ -84,25 +79,6 @@ rm -rf ${TMP_LOCALE}
>   }
>
>
> -do_install() {
> -	oe_runmake install_root=${D} install
> -	for r in ${rpcsvc}; do
> -		h=`echo $r|sed -e's,\.x$,.h,'`
> -		install -m 0644 ${S}/sunrpc/rpcsvc/$h ${D}/${includedir}/rpcsvc/
> -	done
> -	install -m 0644 ${WORKDIR}/etc/ld.so.conf ${D}/${sysconfdir}/
> -	install -d ${D}${libdir}/locale
> -	make -f ${WORKDIR}/generate-supported.mk IN="${S}/localedata/SUPPORTED" OUT="${WORKDIR}/SUPPORTED"
> -	# get rid of some broken files...
> -	for i in ${GLIBC_BROKEN_LOCALES}; do
> -		grep -v $i ${WORKDIR}/SUPPORTED>  ${WORKDIR}/SUPPORTED.tmp
> -		mv ${WORKDIR}/SUPPORTED.tmp ${WORKDIR}/SUPPORTED
> -	done
> -	rm -f ${D}${sysconfdir}/rpc
> -	rm -rf ${D}${datadir}/zoneinfo
> -	rm -rf ${D}${libexecdir}/getconf
> -}
> -
>   TMP_LOCALE="/tmp/locale${libdir}/locale"
>
>   do_prep_locale_tree() {
> diff --git a/meta/conf/distro/include/tclibc-eglibc.inc b/meta/conf/distro/include/tclibc-eglibc.inc
> index a4c648e..90de04f 100644
> --- a/meta/conf/distro/include/tclibc-eglibc.inc
> +++ b/meta/conf/distro/include/tclibc-eglibc.inc
> @@ -10,7 +10,7 @@ TARGET_OS_powerpc = "linux${@['','-gnuspe'][bb.data.getVar('BASE_PACKAGE_ARCH',d
>   # Add glibc overrides to the overrides for eglibc.
>   OVERRIDES .= ":libc-glibc"
>
> -PREFERRED_PROVIDER_virtual/libiconv ?= "eglibc"
> +PREFERRED_PROVIDER_virtual/libiconv ?= "eglibc-locale"
>   PREFERRED_PROVIDER_virtual/libiconv-nativesdk ?= "eglibc-nativesdk"
>   PREFERRED_PROVIDER_virtual/libintl ?= "eglibc"
>   PREFERRED_PROVIDER_virtual/libc ?= "eglibc"
> diff --git a/meta/conf/distro/include/tclibc-glibc.inc b/meta/conf/distro/include/tclibc-glibc.inc
> index e5843b0..748c23f 100644
> --- a/meta/conf/distro/include/tclibc-glibc.inc
> +++ b/meta/conf/distro/include/tclibc-glibc.inc
> @@ -10,7 +10,7 @@ TARGET_OS_powerpc = "linux${@['','-gnuspe'][bb.data.getVar('BASE_PACKAGE_ARCH',d
>   # Add glibc to the overrides.
>   OVERRIDES =. "libc-glibc:"
>
> -PREFERRED_PROVIDER_virtual/libiconv ?= "glibc"
> +PREFERRED_PROVIDER_virtual/libiconv ?= "glibc-locale"
>   PREFERRED_PROVIDER_virtual/libiconv-nativesdk ?= "glibc-nativesdk"
>   PREFERRED_PROVIDER_virtual/libintl ?= "glibc"
>   PREFERRED_PROVIDER_virtual/libc ?= "glibc"
> diff --git a/meta/recipes-core/eglibc/eglibc-initial_2.13.bb b/meta/recipes-core/eglibc/eglibc-initial_2.13.bb
> index 787c762..b934f5b 100644
> --- a/meta/recipes-core/eglibc/eglibc-initial_2.13.bb
> +++ b/meta/recipes-core/eglibc/eglibc-initial_2.13.bb
> @@ -1,6 +1,10 @@
>   require eglibc_${PV}.bb
>   require eglibc-initial.inc
>
> +do_install_locale() {
> +	:
> +}
> +
>   do_configure_prepend () {
>           unset CFLAGS
>   }
> diff --git a/meta/recipes-core/eglibc/eglibc-locale_2.13.bb b/meta/recipes-core/eglibc/eglibc-locale_2.13.bb
> new file mode 100644
> index 0000000..5faa509
> --- /dev/null
> +++ b/meta/recipes-core/eglibc/eglibc-locale_2.13.bb
> @@ -0,0 +1,58 @@
> +INHIBIT_DEFAULT_DEPS = "1"
> +LICENSE = "LGPL"
> +
> +BPN = "eglibc"
> +
> +do_fetch[noexec] = "1"
> +do_unpack[noexec] = "1"
> +do_patch[noexec] = "1"
> +do_configure[noexec] = "1"
> +do_compile[noexec] = "1"
> +
> +# Binary locales are generated at build time if ENABLE_BINARY_LOCALE_GENERATION
> +# is set. The idea is to avoid running localedef on the target (at first boot)
> +# to decrease initial boot time and avoid localedef being killed by the OOM
> +# killer which used to effectively break i18n on machines with<  128MB RAM.
> +
> +# default to disabled
> +ENABLE_BINARY_LOCALE_GENERATION ?= "0"
> +ENABLE_BINARY_LOCALE_GENERATION_pn-eglibc-locale-nativesdk = "0"
> +
> +#enable locale generation on these arches
> +# BINARY_LOCALE_ARCHES is a space separated list of regular expressions
> +BINARY_LOCALE_ARCHES ?= "arm.* i[3-6]86 x86_64 powerpc mips"
> +
> +# set "1" to use cross-localedef for locale generation
> +# set "0" for qemu emulation of native localedef for locale generation
> +LOCALE_GENERATION_WITH_CROSS-LOCALEDEF = "1"
> +
> +PR = "r0"
> +
> +PKGSUFFIX = ""
> +PKGSUFFIX_virtclass-nativesdk = "-nativesdk"
> +
> +PACKAGES = "eglibc-locale localedef${PKGSUFFIX}"
> +
> +PACKAGES_DYNAMIC = "locale-base-* \
> +                    eglibc-gconv-* eglibc-charmap-* eglibc-localedata-* eglibc-binary-localedata-* \
> +                    glibc-gconv-*${PKGSUFFIX}  glibc-charmap-*  glibc-localedata-*  glibc-binary-localedata-*"
> +
> +PROVIDES = "virtual/libiconv"
> +
> +RPROVIDES_eglibc-locale = "glibc-locale"
> +
> +FILES_eglibc-gconv = "${libdir}/gconv/*"
> +FILES_localedef${PKGSUFFIX} = "${bindir}/localedef"
> +
> +do_install () {
> +	cp -fpPR ${STAGING_INCDIR}/eglibc-locale-internal-${MULTIMACH_TARGET_SYS}/* ${D}
> +	cp -fpPR ${D}/SUPPORTED ${WORKDIR}
> +}
> +
> +DESCRIPTION_localedef = "eglibc: compile locale definition files"
> +
> +inherit libc-package
> +
> +do_install[depends] += "virtual/libc${PKGSUFFIX}:do_populate_sysroot"
> +
> +BBCLASSEXTEND = "nativesdk"
> diff --git a/meta/recipes-core/eglibc/eglibc-package.inc b/meta/recipes-core/eglibc/eglibc-package.inc
> index 76ebdc3..63a1de9 100644
> --- a/meta/recipes-core/eglibc/eglibc-package.inc
> +++ b/meta/recipes-core/eglibc/eglibc-package.inc
> @@ -14,35 +14,13 @@ python __anonymous () {
>                                      bb.data.getVar('TARGET_OS', d, 1))
>   }
>
> -# Binary locales are generated at build time if ENABLE_BINARY_LOCALE_GENERATION
> -# is set. The idea is to avoid running localedef on the target (at first boot)
> -# to decrease initial boot time and avoid localedef being killed by the OOM
> -# killer which used to effectively break i18n on machines with<  128MB RAM.
> -
> -# default to disabled
> -ENABLE_BINARY_LOCALE_GENERATION ?= "0"
> -ENABLE_BINARY_LOCALE_GENERATION_pn-eglibc-nativesdk = "0"
> -
> -#enable locale generation on these arches
> -# BINARY_LOCALE_ARCHES is a space separated list of regular expressions
> -BINARY_LOCALE_ARCHES ?= "arm.* i[3-6]86 x86_64 powerpc mips"
> -
> -# set "1" to use cross-localedef for locale generation
> -# set "0" for qemu emulation of native localedef for locale generation
> -LOCALE_GENERATION_WITH_CROSS-LOCALEDEF = "1"
> -
>   # Set this to zero if you don't want ldconfig in the output package
>   USE_LDCONFIG ?= "1"
>
>   PKGSUFFIX = ""
>   PKGSUFFIX_virtclass-nativesdk = "-nativesdk"
>
> -PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} localedef${PKGSUFFIX} libcidn ${PN}-utils ${PN}-pic ${PN}-dev eglibc-doc eglibc-locale libmemusage libsegfault${PKGSUFFIX} eglibc-extra-nss eglibc-thread-db${PKGSUFFIX} eglibc-pcprofile"
> -
> -PACKAGES_DYNAMIC = " \
> -		    glibc-gconv-*${PKGSUFFIX} glibc-charmap-* glibc-localedata-* glibc-binary-localedata-* \
> -		    eglibc-gconv-* eglibc-charmap-* eglibc-localedata-* eglibc-binary-localedata-* \
> -		    locale-base-*${PKGSUFFIX}"
> +PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} ldd${PKGSUFFIX} ${PN}-utils ${PN}-pic ${PN}-dev eglibc-doc libcidn libmemusage libsegfault${PKGSUFFIX} eglibc-extra-nss eglibc-thread-db${PKGSUFFIX} eglibc-pcprofile"
>
>   # Create a eglibc-binaries
>   ALLOW_EMPTY_${PN}-binaries = "1"
> @@ -69,7 +47,6 @@ RPROVIDES_eglibc-utils = "glibc-utils"
>   RPROVIDES_eglibc-pic = "glibc-pic"
>   RPROVIDES_eglibc-dev = "glibc-dev"
>   RPROVIDES_eglibc-doc = "glibc-doc"
> -RPROVIDES_eglibc-locale = "glibc-locale"
>   RPROVIDES_eglibc-extra-nss = "glibc-extra-nss"
>   RPROVIDES_eglibc-thread-db = "glibc-thread-db"
>   RPROVIDES_eglibc-pcprofile = "glibc-pcprofile"
> @@ -88,13 +65,11 @@ FILES_eglibc-dev_append += "${bindir}/rpcgen ${libdir}/*.a \
>   	${base_libdir}/*.a ${base_libdir}/*.o ${datadir}/aclocal"
>   FILES_nscd${PKGSUFFIX} = "${sbindir}/nscd*"
>   FILES_eglibc-utils = "${bindir}/* ${sbindir}/*"
> -FILES_eglibc-gconv = "${libdir}/gconv/*"
> -FILES_${PN}-dbg += "${libexecdir}/*/.debug ${libdir}/gconv/.debug"
> +FILES_${PN}-dbg += "${libexecdir}/*/.debug"
>   FILES_catchsegv${PKGSUFFIX} = "${bindir}/catchsegv"
>   RDEPENDS_catchsegv${PKGSUFFIX} = "libsegfault"
>   FILES_eglibc-pcprofile = "${base_libdir}/libpcprofile.so"
>   FILES_eglibc-thread-db${PKGSUFFIX} = "${base_libdir}/libthread_db*"
> -FILES_localedef${PKGSUFFIX} = "${bindir}/localedef"
>   RPROVIDES_eglibc-dev += "libc-dev"
>
>   SUMMARY_sln = "The static ln."
> @@ -105,9 +80,8 @@ SUMMARY_eglibc-extra-nss = "hesiod, NIS and NIS+ nss libraries"
>   DESCRIPTION_eglibc-extra-nss = "eglibc: nis, nisplus and hesiod search services."
>   SUMMARY_ldd = "print shared library dependencies"
>   DESCRIPTION_ldd = "/usr/bin/ldd prints shared library dependencies for each program or shared library specified on the command line."
> -DESCRIPTION_localedef = "eglibc: compile locale definition files"
>   SUMMARY_eglibc-utils = "Miscellaneous utilities provided by eglibc"
>   DESCRIPTION_eglibc-utils = "Miscellaneous utilities including getconf, iconf, locale, gencat, tzselect, zic, rpcinfo, ..."
>
> -inherit libc-package
> +inherit libc-common
>
> diff --git a/meta/recipes-core/eglibc/eglibc.inc b/meta/recipes-core/eglibc/eglibc.inc
> index 616f1af..d00392a 100644
> --- a/meta/recipes-core/eglibc/eglibc.inc
> +++ b/meta/recipes-core/eglibc/eglibc.inc
> @@ -26,7 +26,7 @@ DEPENDS = "virtual/${TARGET_PREFIX}gcc-intermediate linux-libc-headers"
>   # nptl needs libgcc but dlopens it, so our shlibs code doesn't detect this
>   #RDEPENDS_${PN} += "${@['','libgcc']['nptl' in '${GLIBC_ADDONS}']}"
>   PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
> -PROVIDES += "virtual/libintl virtual/libiconv"
> +PROVIDES += "virtual/libintl"
>   inherit autotools
>   require eglibc-options.inc
>
> @@ -43,7 +43,7 @@ EGLIBCPARALLELISM := "PARALLELMFLAGS="${PARALLEL_MAKE}""
>   EXTRA_OEMAKE += ${EGLIBCPARALLELISM}
>   PARALLEL_MAKE = ""
>
> -PACKAGES = "glibc catchsegv sln nscd ldd localedef glibc-utils glibc-dev glibc-doc glibc-locale libsegfault glibc-extra-nss glibc-thread-db glibc-pcprofile"
> +PACKAGES = "glibc catchsegv sln nscd ldd glibc-utils glibc-dev glibc-doc libsegfault glibc-extra-nss glibc-thread-db glibc-pcprofile"
>
>   OE_FEATURES = "${@features_to_eglibc_settings(d)}"
>   do_configure_prepend() {
> diff --git a/meta/recipes-core/eglibc/eglibc_2.13.bb b/meta/recipes-core/eglibc/eglibc_2.13.bb
> index 3490d2d..603d9cd 100644
> --- a/meta/recipes-core/eglibc/eglibc_2.13.bb
> +++ b/meta/recipes-core/eglibc/eglibc_2.13.bb
> @@ -110,6 +110,18 @@ do_compile () {
>   	)
>   }
>
> +do_install_locale () {
> +	dest=${D}/${includedir}/eglibc-locale-internal-${MULTIMACH_TARGET_SYS}
> +	install -d ${dest} ${dest}${bindir}
> +	cp -fpPR ${D}${base_libdir} ${dest}${base_prefix}
> +	cp -fpPR ${D}${libdir} ${dest}${exec_prefix}
> +	cp -fpPR ${D}${datadir} ${dest}${exec_prefix}
> +	cp -fpPR ${D}${bindir}/localedef ${dest}${bindir}
> +	cp -fpPR ${WORKDIR}/SUPPORTED ${dest}
> +}
> +
> +addtask do_install_locale after do_install before do_populate_sysroot
> +
>   require eglibc-package.inc
>
>   BBCLASSEXTEND = "nativesdk"
> diff --git a/meta/recipes-core/glibc/glibc-initial_2.10.1.bb b/meta/recipes-core/glibc/glibc-initial_2.10.1.bb
> index d662970..bc3d7e4 100644
> --- a/meta/recipes-core/glibc/glibc-initial_2.10.1.bb
> +++ b/meta/recipes-core/glibc/glibc-initial_2.10.1.bb
> @@ -1,6 +1,10 @@
>   require glibc_${PV}.bb
>   require glibc-initial.inc
>
> +do_install_locale() {
> +	:
> +}
> +
>   do_configure_prepend () {
>   	unset CFLAGS
>   }
> diff --git a/meta/recipes-core/glibc/glibc-locale_2.10.1.bb b/meta/recipes-core/glibc/glibc-locale_2.10.1.bb
> new file mode 100644
> index 0000000..10751bf
> --- /dev/null
> +++ b/meta/recipes-core/glibc/glibc-locale_2.10.1.bb
> @@ -0,0 +1,50 @@
> +#INHIBIT_DEFAULT_DEPS = "1"
> +LICENSE = "LGPL"
> +
> +BPN = "glibc"
> +
> +do_fetch[noexec] = "1"
> +do_unpack[noexec] = "1"
> +do_patch[noexec] = "1"
> +do_configure[noexec] = "1"
> +do_compile[noexec] = "1"
> +
> +# Binary locales are generated at build time if ENABLE_BINARY_LOCALE_GENERATION
> +# is set. The idea is to avoid running localedef on the target (at first boot)
> +# to decrease initial boot time and avoid localedef being killed by the OOM
> +# killer which used to effectively break i18n on machines with<  128MB RAM.
> +
> +# default to disabled
> +ENABLE_BINARY_LOCALE_GENERATION ?= "0"
> +ENABLE_BINARY_LOCALE_GENERATION_pn-glibc-locale-nativesdk = "0"
> +
> +#enable locale generation on these arches
> +# BINARY_LOCALE_ARCHES is a space separated list of regular expressions
> +BINARY_LOCALE_ARCHES ?= "arm.* i[3-6]86 x86_64 powerpc mips"
> +
> +# set "1" to use cross-localedef for locale generation
> +# set "0" for qemu emulation of native localedef for locale generation
> +LOCALE_GENERATION_WITH_CROSS-LOCALEDEF = "1"
> +
> +PR = "r0"
> +
> +PKGSUFFIX = ""
> +PKGSUFFIX_virtclass-nativesdk = "-nativesdk"
> +
> +PACKAGES = "glibc-locale localedef${PKGSUFFIX}"
> +
> +PACKAGES_DYNAMIC = "locale-base-* \
> +                    glibc-gconv-*${PKGSUFFIX}  glibc-charmap-*  glibc-localedata-*  glibc-binary-localedata-*"
> +
> +
> +PROVIDES = "virtual/libiconv"
> +
> +FILES_localedef${PKGSUFFIX} = "${bindir}/localedef"
> +
> +do_install () {
> +	cp -fpPR ${STAGING_INCDIR}/glibc-locale-internal-${MULTIMACH_TARGET_SYS}/* ${D}
> +	cp -fpPR ${D}/SUPPORTED ${WORKDIR}
> +}
> +
> +do_install[depends] += "virtual/libc:do_populate_sysroot"
> +do_install_virtclass-nativesdk[depends] += "virtual/libc-nativesdk:do_populate_sysroot"
> diff --git a/meta/recipes-core/glibc/glibc-package.inc b/meta/recipes-core/glibc/glibc-package.inc
> index 27dc427..5373d56 100644
> --- a/meta/recipes-core/glibc/glibc-package.inc
> +++ b/meta/recipes-core/glibc/glibc-package.inc
> @@ -14,34 +14,14 @@ python __anonymous () {
>                                      bb.data.getVar('TARGET_OS', d, 1))
>   }
>
> -
> -# Binary locales are generated at build time if ENABLE_BINARY_LOCALE_GENERATION
> -# is set. The idea is to avoid running localedef on the target (at first boot)
> -# to decrease initial boot time and avoid localedef being killed by the OOM
> -# killer which used to effectively break i18n on machines with<  128MB RAM.
> -
> -# default to disabled until qemu works for everyone
> -ENABLE_BINARY_LOCALE_GENERATION ?= "0"
> -ENABLE_BINARY_LOCALE_GENERATION_pn-glibc-nativesdk = "0"
> -
> -# BINARY_LOCALE_ARCHES is a space separated list of regular expressions
> -BINARY_LOCALE_ARCHES ?= "arm.* i[3-6]86 x86_64 powerpc mips"
> -
> -# set "1" to use cross-localedef for locale generation
> -# set "0" for qemu emulation of native localedef for locale generation
> -LOCALE_GENERATION_WITH_CROSS-LOCALEDEF = "1"
> -
>   PKGSUFFIX = ""
>   PKGSUFFIX_virtclass-nativesdk = "-nativesdk"
>
>   PACKAGES = "${PN}-dbg ${PN} catchsegv${PKGSUFFIX} sln${PKGSUFFIX} nscd${PKGSUFFIX} \
> -	ldd${PKGSUFFIX} localedef${PKGSUFFIX} ${PN}-utils ${PN}-dev ${PN}-doc \
> -	${PN}-locale libsegfault${PKGSUFFIX} ${PN}-extra-nss ${PN}-thread-db \
> +	ldd${PKGSUFFIX} ${PN}-utils ${PN}-dev ${PN}-doc \
> +	libsegfault${PKGSUFFIX} ${PN}-extra-nss ${PN}-thread-db \
>   	${PN}-pcprofile"
>
> -PACKAGES_DYNAMIC = "glibc-gconv-*${PKGSUFFIX} glibc-charmap-* glibc-localedata-* locale-base-* \
> -	glibc-binary-localedata-*"
> -
>   libc_baselibs = "${base_libdir}/libc* ${base_libdir}/libm* ${base_libdir}/ld* \
>   	${base_libdir}/libpthread* ${base_libdir}/libresolv* ${base_libdir}/librt* \
>   	${base_libdir}/libutil* ${base_libdir}/libnsl* ${base_libdir}/libnss_files* \
> @@ -77,7 +57,6 @@ FILES_catchsegv${PKGSUFFIX} = "${bindir}/catchsegv"
>   RDEPENDS_catchsegv${PKGSUFFIX} = "libsegfault"
>   FILES_glibc-pcprofile = "${base_libdir}/libpcprofile.so"
>   FILES_glibc-thread-db = "${base_libdir}/libthread_db*"
> -FILES_localedef${PKGSUFFIX} = "${bindir}/localedef"
>   RPROVIDES_glibc-dev += "libc-dev"
>
>   SUMMARY_sln = "The static ln."
> @@ -88,10 +67,10 @@ SUMMARY_glibc-extra-nss = "hesiod, NIS and NIS+ nss libraries"
>   DESCRIPTION_glibc-extra-nss = "glibc: nis, nisplus and hesiod search services.
>   SUMMARY_ldd = "print shared library dependencies"
>   DESCRIPTION_ldd = "/usr/bin/ldd prints shared library dependencies for each program or shared library specified on the command line."
> -DESCRIPTION_localedef = "glibc: compile locale definition files"
>   SUMMARY_glibc-utils = "Miscellaneous utilities provided by glibc"
>   DESCRIPTION_glibc-utils = "Miscellaneous utilities including getconf, iconf, locale, gencat, tzselect, zic, rpcinfo, ..."
>
>   EXTRA_OEMAKE += "rootsbindir=${base_sbindir}"
>
> -inherit libc-package
> +inherit libc-common
> +
> diff --git a/meta/recipes-core/glibc/glibc.inc b/meta/recipes-core/glibc/glibc.inc
> index 127ae23..a051161 100644
> --- a/meta/recipes-core/glibc/glibc.inc
> +++ b/meta/recipes-core/glibc/glibc.inc
> @@ -15,7 +15,7 @@ RDEPENDS_${PN}-dev = "linux-libc-headers-dev"
>   #RDEPENDS_ldd += " bash"
>   #RDEPENDS_${PN} += "${@['','libgcc']['nptl' in '${GLIBC_ADDONS}']}"
>   PROVIDES = "virtual/libc virtual/${TARGET_PREFIX}libc-for-gcc"
> -PROVIDES += "virtual/libintl virtual/libiconv"
> +PROVIDES += "virtual/libintl"
>
>   STAGINGCC = "gcc-cross-intermediate"
>   STAGINGCC_virtclass-nativesdk = "gcc-crosssdk-intermediate"
> diff --git a/meta/recipes-core/glibc/glibc_2.10.1.bb b/meta/recipes-core/glibc/glibc_2.10.1.bb
> index 33ebe24..a2e7b83 100644
> --- a/meta/recipes-core/glibc/glibc_2.10.1.bb
> +++ b/meta/recipes-core/glibc/glibc_2.10.1.bb
> @@ -154,6 +154,18 @@ do_compile () {
>   	)
>   }
>
> +do_install_locale () {
> +	dest=${D}/${includedir}/glibc-locale-internal-${MULTIMACH_TARGET_SYS}
> +	install -d ${dest} ${dest}${bindir}
> +	cp -fpPR ${D}${base_libdir} ${dest}${base_prefix}
> +	cp -fpPR ${D}${libdir} ${dest}${exec_prefix}
> +	cp -fpPR ${D}${datadir} ${dest}${exec_prefix}
> +	cp -fpPR ${D}${bindir}/localedef ${dest}${bindir}
> +	cp -fpPR ${WORKDIR}/SUPPORTED ${dest}
> +}
> +
> +addtask do_install_locale after do_install before do_populate_sysroot
> +
>   require glibc-stage.inc
>
>   require glibc-package.inc
> diff --git a/meta/recipes-core/meta/external-csl-toolchain_2008q3-72.bb b/meta/recipes-core/meta/external-csl-toolchain_2008q3-72.bb
> index f714928..a874c8b 100644
> --- a/meta/recipes-core/meta/external-csl-toolchain_2008q3-72.bb
> +++ b/meta/recipes-core/meta/external-csl-toolchain_2008q3-72.bb
> @@ -40,6 +40,7 @@ do_install() {
>
>   GLIBC_INTERNAL_USE_BINARY_LOCALE ?= "compile"
>
> +inherit libc-common
>   inherit libc-package
>
>   PACKAGES += "libgcc libgcc-dev libstdc++ libstdc++-dev linux-libc-headers"




  parent reply	other threads:[~2011-06-22 14:48 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-22  9:01 [PATCH 0/1 v2][PULL] libc locale split Dongxiao Xu
2011-06-22  9:01 ` [PATCH 1/1] libc-locale: split locale handling from libc recipe Dongxiao Xu
2011-06-22 11:44   ` Phil Blundell
2011-06-23  4:08     ` Xu, Dongxiao
2011-06-23  9:40       ` Phil Blundell
2011-06-23 10:14         ` Richard Purdie
2011-06-23 23:42           ` Khem Raj
2011-06-27  5:49             ` Xu, Dongxiao
2011-06-22 14:44   ` Khem Raj [this message]
2011-06-22 14:47     ` Phil Blundell
2011-06-22 15:17       ` Mark Hatle
2011-06-22 15:43         ` Khem Raj
  -- strict thread matches above, loose matches on Subject: below --
2011-06-27  8:37 [PATCH 0/1 v3][PULL] libc locale split Dongxiao Xu
2011-06-27  8:37 ` [PATCH 1/1] libc-locale: split locale handling from libc recipe Dongxiao Xu
2011-06-27  8:58   ` Phil Blundell
2011-06-28  0:51     ` Xu, Dongxiao
2011-06-28  9:07       ` Phil Blundell
2011-06-28 11:07         ` Richard Purdie
2011-06-28 12:17           ` Koen Kooi
2011-06-28 14:00             ` Richard Purdie
2011-06-28 19:37               ` Koen Kooi
2011-06-28 20:15                 ` Koen Kooi
2011-06-28  4:12     ` Xu, Dongxiao
2011-07-08 14:55   ` Phil Blundell
2011-06-08  9:08 [PATCH 0/1][RFC] libc locale split Dongxiao Xu
2011-06-08  9:08 ` [PATCH 1/1] libc-locale: split locale handling from libc recipe Dongxiao Xu
2011-06-08  9:36   ` Phil Blundell
2011-06-08 15:35     ` Richard Purdie
2011-06-09 11:14       ` Phil Blundell
2011-06-09 11:29         ` Richard Purdie
2011-06-09 11:43           ` Phil Blundell
2011-06-09 13:15             ` Richard Purdie
2011-06-09 13:51               ` Richard Purdie
2011-06-09 13:53               ` Koen Kooi
2011-06-09 13:55                 ` Phil Blundell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E01FFDA.3050905@gmail.com \
    --to=raj.khem@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.