[OE-core] Problems with generating and installing locale packages of eglibc/glibc

Koen Kooi koen at dominion.thruhere.net
Wed Aug 17 09:41:39 UTC 2011


Op 17 aug. 2011, om 10:17 heeft Hauser, Wolfgang (external) het volgende geschreven:

> Hello,
> 
> we generated some locale packages of eglibc and wanted to install them
> while offline image generation. The locale-base* packages are installed
> properly, but the corresponding packages e.g. eglibc-binary-localedata-*
> are not installed.(the same occurs with glibc).
> we use following settings:
> 
> 2011.03-mainenance branch
> 
> local.conf:
> ***
> ENABLE_BINARY_LOCALE_GENERATION = "1"
> LOCALE_GENERATION_WITH_CROSS-LOCALEDEF = "1"
> GLIBC_INTERNAL_USE_BINARY_LOCALE = "compile"
> GLIBC_GENERATE_LOCALES = "en_US.UTF-8 en_GB.UTF-8 de_DE.UTF-8
> de_CH.UTF-8 es_ES.
> UTF-8 fr_FR.UTF-8 fr_CH.UTF-8 it_IT.UTF-8 it_CH.UTF-8"
> ***
> 
> xx-image.bb:
> ***
> IMAGE_LINGUAS = "en-us en-gb de-de de-ch es-es fr-fr fr-ch it-it it-ch"
> 
> ROOTFS_POSTPROCESS_COMMAND += "install_linguas;"
> ***
> 
> The "locale-base-*" packages (e.g de-de) got following package
> description:
> 
> ****
> dpkg-deb -I locale-base-de-de_2.12-r21.8+svnr12323.9_armv7a.ipk
> new debian package, version 2.0.
> size 906 bytes: control archive= 608 bytes.
>     808 bytes,    14 lines      control              
> Package: locale-base-de-de
> Version: 2.12-r21.8+svnr12323.9
> Description: Embedded GNU C Library
> Section: libs
> Priority: required
> Maintainer: Angstrom Developers <angstrom-distro-devel at linuxtogo.org>
> License: LGPL
> Architecture: armv7a
> OE: eglibc
> Homepage: http://www.eglibc.org/home
> Build: <unknown>/9426
> Depends: eglibc-binary-localedata-de.de
> Provides: virtual-locale-de-de, virtual-locale-de,
> eglibc-binary-localedata-de.de
> Source: svn://svn.eglibc.org/branches;module=eglibc-2_12;proto=svn
> file://eglibc-svn-arm-lowlevellock-include-tls.patch
> file://IO-acquire-lock-fix.patch file://shorten-build-commands.patch
> file://sh4_set_fpscr_2.12.patch file://sh4_local-fpscr_values.patch
> file://eglibc-dont-cache-slibdir.patch
> file://armv4-eabi-compile-fix.patch file://etc/ld.so.conf
> file://generate-supported.mk 
> ***
> 
> this causes that the corresponding eglibc-binary-localedata-* packages
> are not installed while offline image creation.
> 
> The problem is the wrong dependency entry (here: "Depends:
> eglibc-binary-localedata-de.de" package name is
> eglibc-binary-localedata-de-de) and the "self providing" entry (here:
> "Provides: virtual-locale-de-de, virtual-locale-de,
> eglibc-binary-localedata-de.de").
> 
> After examine the history of the locale generation, we found a change
> from glibc-package.bbclass to libc-package.bbclass after the
> release-2010.12. Hereby the function "output_locale_binary_rdepends" is
> different.
> 
> Version release-2010.12
> glibc-packages.bbclass
> 
> ***
> 	def output_locale_binary_rdepends(name, pkgname, locale,
> encoding):
> 		m = re.match("(.*)\.(.*)", name)
> 		if m:
> 			glibc_name = "%s.%s" % (m.group(1),
> m.group(2).lower().replace("-",""))
> 		else:
> 			glibc_name = name
> 		bb.data.setVar('RDEPENDS_%s' % pkgname,
> legitimize_package_name('glibc-binary-localedata-%s' % glibc_name), d)
> ***
> 
> Version 2011.03-maintenance:
> libc-packages.bbclass
> 
> ***
> 	def output_locale_binary_rdepends(name, pkgname, locale,
> encoding):
> 		m = re.match("(.*)_(.*)", name)
> 		if m:
> 			libc_name = "%s.%s" % (m.group(1),
> m.group(2).lower().replace("-",""))
> 		else:
> 			libc_name = name
> 		bb.data.setVar('RDEPENDS_%s' % pkgname,
> legitimize_package_name('%s-binary-localedata-%s' \
> 			% (bpn, libc_name)), d)
> 		rprovides = (bb.data.getVar('RPROVIDES_%s' % pkgname, d,
> True) or "").split()
> 	
> rprovides.append(legitimize_package_name('%s-binary-localedata-%s' %
> (bpn, libc_name)))
> 		bb.data.setVar('RPROVIDES_%s' % pkgname, "
> ".join(rprovides), d)
> ***
> 
> If we use the old function, the locale packages are processed and
> installed properly.
> 
> The "locale-base-*" package description now was:
> 
> ***
> dpkg-deb -I locale-base-de-de_2.12-r21.8+svnr12323.9_armv7a.ipk
> new debian package, version 2.0.
> size 902 bytes: control archive= 604 bytes.
>     776 bytes,    14 lines      control              
> Package: locale-base-de-de
> Version: 2.12-r21.8+svnr12323.9
> Description: Embedded GNU C Library
> Section: libs
> Priority: required
> Maintainer: Angstrom Developers <angstrom-distro-devel at linuxtogo.org>
> License: LGPL
> Architecture: armv7a
> OE: eglibc
> Homepage: http://www.eglibc.org/home
> Build: <unknown>/9196
> Depends: eglibc-binary-localedata-de-de
> Provides: virtual-locale-de-de, virtual-locale-de
> Source: svn://svn.eglibc.org/branches;module=eglibc-2_12;proto=svn
> file://eglibc-svn-arm-lowlevellock-include-tls.patch
> file://IO-acquire-lock-fix.patch file://shorten-build-commands.patch
> file://sh4_set_fpscr_2.12.patch file://sh4_local-fpscr_values.patch
> file://eglibc-dont-cache-slibdir.patch
> file://armv4-eabi-compile-fix.patch file://etc/ld.so.conf
> file://generate-supported.mk
> ***
> 
> Our questions now:
> 
> What was the intention of the changes in the function
> "output_locale_binary_rdepends"?
> Is there a problem using the old function for our local installation ?
> What language definition patterns (in GLIBC_GENERATE_LOCALES) should be
> covered by the new function ?
> Is this a bug ?

That looks like the same bug as described in http://lists.linuxtogo.org/pipermail/openembedded-core/2011-August/007407.html

Nitin said he'd look into it after getting back from vacation:

http://lists.linuxtogo.org/pipermail/openembedded-core/2011-August/008181.html



More information about the Openembedded-core mailing list