summaryrefslogtreecommitdiffstats
path: root/meta/classes/libc-package.bbclass
Commit message (Collapse)AuthorAgeFilesLines
* classes, conf, lib: Add support for powerpc64leKhem Raj2020-01-191-0/+1
| | | | | | | | | | | | | | LE is default for modern powerpc64, power8+ PowerPC64 Little Endian Linux ABI specifies Power8 as the minimum ISA. The basic ABI can run on earlier versions of the 64 bit PowerPC ISA, but it was helpful to define a new, minimum instruction set for Linux distribution releases during the switch to Little Endian. (From OE-Core rev: b9c73fb6d1afb3367d871a3d6bf7d0d6a53968a9) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package.bbclass: Use with to manage filehandle in do_spit_gconvsOla x Nilsson2019-10-231-8/+7
| | | | | | | | | | Tweak the write loop slightly to avoid dict lookups that can easily be done in the for loop. (From OE-Core rev: 35c65b7336c52c19810e3e9e87a36a8636ac4120) Signed-off-by: Ola x Nilsson <olani@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package.bbclass: Split locale hard link processing into two partsJason Wessel2019-08-211-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The locale-processing in cross-localedef was proven to be unsafe to run in parallel due to the way it tried to make hard links to files that could disappear before the link operation was completed. To avoid corruption of the pseudo database, and create a deterministically generated link tree, the operation of the locale generation and the hard link resolution have been split into two separate parts. A side effect of this change is that the do_package() rule for glibc-locale will be slightly smaller because some of the hard links were missed in the past, particularly if you had a lot of cpus free to perform the work. Before the patch: % du -sk locale-tree 312524 locale-tree With the patch: % du -sk locale-tree 290772 locale-tree A number of comparisons were performed such as diffing the output, cross checking the link references using tar's listing output, and comparing against the results with out a parallel build to ensure the locale-tree is correct in its final form. [YOCTO #11299] [YOCTO #12434] (From OE-Core rev: 93d935927dd0ec0fa6f0a80a71236a7b00a5d1a4) Signed-off-by: Jason Wessel <jason.wessel@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* default-distrovars: Drop DISTRO_FEATURES_LIBCKhem Raj2019-02-281-6/+3
| | | | | | | | | | | After eglibc was merged into glibc, Kconfig support was also dropped so these libc features therefore are not effective anymore and can be removed (From OE-Core rev: c62b1cc06613a4cdddf53290e6203559f43fc62d) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package.bbclass: Add a progress meter for the package taskPeter Kjellerstedt2019-02-191-1/+4
| | | | | | | | | | | The package task for glibc-locale takes a very long time to execute, especially if using qemu. In that case, a progress meter helps a lot to show the progress of the task. (From OE-Core rev: bd2f9b2785779ef65c0c3664dae03b01ced59f6d) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package.bbclass: Only extract wanted files in prep_locale_tree()Peter Kjellerstedt2019-02-191-1/+6
| | | | | | | | | | | prep_locale_tree() predates the usrmerge DISTRO_FEATURE, which meant it was not prepared for the case when ${base_libdir} == ${libdir}. This lead to it extracting files and directories where it shouldn't. (From OE-Core rev: 0bfc4dd0a9acc305b78fe9d5c2a7fb9afe708684) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package.bbclass: Correct a few paths for when usrmerge is usedPeter Kjellerstedt2019-02-191-3/+3
| | | | | | | (From OE-Core rev: a880377cd67b65101bf95e8dbad6221f498e38ef) Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Fix Deprecated warnings from regexsRichard Purdie2019-01-161-13/+13
| | | | | | | | | | | | | | | | | | | | Fix handling of escape characters in regexs and hence fix python Deprecation warnings which will be problematic in python 3.8. Note that some show up as: """ meta/classes/package.bbclass:1293: DeprecationWarning: invalid escape sequence \.   """ where the problem isn't on 1293 in package.bbclass but in some _prepend to a package.bbclass function in a different file like mesa.inc, often from do_package_split() calls. (From OE-Core rev: 4b1c0c7d5525fc4cea9e0f02ec54e92a6fbc6199) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc-locale: fix installed-vs-shipped qa issueKai Kang2018-12-051-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Variable PACKAGE_NO_GCONV is set in libc-package.bbclass when none of libc-charsets, libc-locales and libc-locale-code set in DISTRO_FEATURES. Then it causes installed-vs-shipped qa issue of glibc-locale: | ERROR: glibc-locale-2.28-r0 do_package: QA Issue: glibc-locale: | Files/directories were installed but not shipped in any package: | /usr/share/i18n | /usr/share/i18n/charmaps | /usr/share/i18n/locales | /usr/share/i18n/charmaps/CP737.gz | ... | /usr/share/i18n/locales/ru_RU | ... | /usr/lib64/gconv/gconv-modules | Please set FILES such that these items are packaged. Alternatively if they | are unneeded, avoid installing them or delete them within do_install. | glibc-locale: 843 installed and not shipped files. [installed-vs-shipped] So check PACKAGE_NO_GCONV during do_install and not copy those files if PACKAGE_NO_GCONV has been set. Simplify call of bb.utils.contains() in libc-package.bbclass as well. (From OE-Core rev: 39840ed10af559bbcc306b378baa4723921668f5) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package: fix postinst error when ENABLE_BINARY_LOCALE_GENERATION = "0"Alexander Kanavin2018-12-011-8/+2
| | | | | | | | | [YOCTO #13028] (From OE-Core rev: f630da64b010795482e013362c3fe184dcbd8d25) Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* locale: Allow usage of cross-localedef for ARCAlexey Brodkin2018-11-141-0/+2
| | | | | | | | | | With this it's possible to build locale data for ARC and not do it instead on the first boot. (From OE-Core rev: f13c303491dc8850126ea14baedc7b63b7b5ecf4) Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package: Add risc-v specific options to cross-localedef invocationKhem Raj2018-09-041-0/+2
| | | | | | | | | It was otherwise being deferred until boot time (From OE-Core rev: f8a4ce9b2d59a380d35305a2cd7f73b279bbd8f5) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: don't use deprecated functions from utils.bbclassRoss Burton2018-01-301-10/+10
| | | | | | | | | | | These functions were moved to meta/lib/oe in 2010 and the base_* functions in utils.bbclass were intended to be a short-term compatibility layer. They're still used in a few places, so update the callers to use the new functions. (From OE-Core rev: c97acbd034532895ce57c6717ed1b3ccc7900b0d) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: remove True option to getVar callsJoshua Lock2016-12-161-30/+30
| | | | | | | | | | | | | getVar() now defaults to expanding by default, thus remove the True option from getVar() calls with a regex search and replace. Search made with the following regex: getVar ?\(( ?[^,()]*), True\) (From OE-Core rev: 7c552996597faaee2fbee185b250c0ee30ea3b5f) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package.bbclass: split binary localedata even more if asked toAndreas Oberritter2016-12-081-14/+25
| | | | | | | | | | | | | | | | | If GLIBC_SPLIT_LC_PACKAGES is set to a non-zero value, convert glibc-binary-localedata-XX-YY to be a meta package depending on glibc-binary-localedata-XX-YY-lc-address and so on. This enables saving quite some space if someone doesn't need LC_COLLATE for example. Some regex code was removed from output_locale_binary_rdepends, because legitimize_package_name already converts to lowercase. (From OE-Core rev: 40b4b31092058f8833ada3dfc254d362dd3139c1) Signed-off-by: Andreas Oberritter <obi@opendreambox.org> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package.bbclass: Add mipsisa{32, 64}r6{el, } supportZubair Lutfullah Kakakhel2016-10-071-0/+4
| | | | | | | | | Add support for MIPS Release 6 ISA (From OE-Core rev: 8e098ddb656d39c56427ad45e0fa429b8f0153f5) Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package.bbclass: Use bb.fatal() instead of raising FuncFailedUlf Magnusson2016-10-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | | This sets a good example and avoids unnecessarily contributing to perceived complexity and cargo culting. Motivating quote below: < kergoth> the *original* intent was for the function/task to error via whatever appropriate means, bb.fatal, whatever, and funcfailed was what you'd catch if you were calling exec_func/exec_task. that is, it's what those functions raise, not what metadata functions should be raising < kergoth> it didn't end up being used that way < kergoth> but there's really never a reason to raise it yourself FuncFailed.__init__ takes a 'name' argument rather than a 'msg' argument, which also shows that the original purpose got lost. (From OE-Core rev: 5369bb7fa6238cc85f0b5263519974c1a2d9eea8) Signed-off-by: Ulf Magnusson <ulfalizer@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* glibc: Upgrade to latest tip of masterKhem Raj2016-07-121-2/+2
| | | | | | | | | | | - libc-package.bbclass: Do not use --old-style This option has been dropped from latest glibc (From OE-Core rev: 78ab1e7cdedc6a73395af5d053b49cf081416732) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/libc-package: remove pointless copying when running localedefRoss Burton2016-07-101-22/+2
| | | | | | | | | | | | localedef handles attempts to read/write the archive in parallel correctly by creating the file atomically, gracefully handling racing to create, and has exclusive locks when writing. Therefore I can't see any purpose to copying the archive to /tmp and back again when manipulating it. (From OE-Core rev: 016e4a53e3251ffcdb3c260dd2837507b520ffa6) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package: remove obsolete do_configure_prependRoss Burton2016-07-101-8/+0
| | | | | | | | | | | This fragment dates from when this class was used for more than just glibc locale packaging, and as glibc-locale disables do_configure it can't have been executed. (From OE-Core rev: 6483fbe70e52ec9a53c918fe81162fd0c566f80f) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package: ensure glibc-locale package list is deterministicRoss Burton2016-06-151-2/+1
| | | | | | | | | | | If all locales are being generated then the list used is the keys from a dictionary. In Python 3.4 onwards the ordering of a dictionary changes for every instance, so sort the key list. (From OE-Core rev: 7f6d7f729df37747be0d2cd2503cddca0184fd1f) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/lib: Update to use python3 command pipeline decodingRichard Purdie2016-06-021-0/+3
| | | | | | | | | | | In python3, strings are unicode by default. We need to encode/decode from command pipelines and other places where we interface with the real world using the correct locales. This patch updates various call sites to use the correct encoding/decodings. (From OE-Core rev: bb4685af1bffe17b3aa92a6d21398f38a44ea874) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package.bbclass: add LOCALE_UTF8_IS_DEFAULTRichard Tollerton2016-01-301-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | python hard-codes the encoding of many locales; for instance, en_US is always assumed to be ISO-8859-1, regardless of the actual encoding of the en_US locale on the system. cf https://hg.python.org/cpython/file/7841e9b614eb/Lib/locale.py#l1049, getdefaultlocale(), etc. This code appears to date back to python 2.0. The source of this hard-coding is Xorg's locale.alias but is ultimately justified by glibc's SUPPORTED. This causes problems on OE, because any locale lacking an explicit encoding suffix (e.g. en_US) is UTF-8. It has been this way from the beginning (svn r1). That is not a bug, per se -- no specification prohibits this AFAIK. But it seems to be at odds with virtually every other glibc-based distribution in existence. To avoid needlessly aggravating hidden bugs that nobody else might hit, it makes sense to disable this behavior such that locales are named precisely as specified by SUPPORTED. I suppose that reasonable minds may disagree on whether or not the current behavior is prudent; at the very least, this is likely to break IMAGE_LINGUAS settings. So let's create a new distro variable LOCALE_UTF8_IS_DEFAULT to allow either behavior. Set it to 0 and all your locales get named exactly like they are in SUPPORTED. Leave it at 1 to preserve current OE locale naming conventions. (From OE-Core rev: fcde0c43f7b57ec6f8201226ad98e6e46708d288) Signed-off-by: Richard Tollerton <rich.tollerton@ni.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package: Fix localedef multilib dependency issuesRichard Purdie2015-10-201-2/+2
| | | | | | | | | | | | | Building nativesdk-glibc-locale results in many messages like: QA Issue: nativesdk-locale-base-en-sg rdepends on localedef, but it isn't a build dependency? [build-deps] It should depend on ${MLPREFIX}localedef, not just localedef to fix these warnings. (From OE-Core rev: 80e2dfbfef2d40c3ab074142deac73317f89e3a2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package: don't abuse B to change directoryRoss Burton2015-07-161-2/+1
| | | | | | | | | | | | Currently if exec_func() isn't told what directories to create and change to, it uses B. This is not obvious and may be changed in the future. Instead, pass -C<dir> to oe_runmake. (From OE-Core rev: c4a1989f3550e81f188b5789af2c4c18560c3656) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta: Add explict getVar param for (non) expansionRichard Purdie2015-06-231-2/+2
| | | | | | | | | | | | | | Rather than just use d.getVar(X), use the more explict d.getVar(X, False) since at some point in the future, having the default of expansion would be nice. This is the first step towards that. This patch was mostly made using the command: sed -e 's:\(getVar([^,()]*\)\s*):\1, False):g' -i `grep -ril getVar *` (From OE-Core rev: ab7c1d239b122c8e549e8112c88fd46c9e2b061b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package.bbclass: add aarch64 target to locale_arch_optionsKai Kang2014-12-231-0/+1
| | | | | | | | | | Add aarch64 target to locale_arch_options in libc-package.bbclass to support Arm V8. (From OE-Core rev: 0d7a92f887bcbe44083a8c0f3f66d195d8bd023e) Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* qemu/libc-package: Fix qemu option handling1.8_M1Richard Purdie2014-12-051-3/+1
| | | | | | | | | | | | | | | | The 'overrides' here are PACKAGE_ARCH based and hence not overrides as such and the _append wasn't working in many cases. This adjusts the code to use PACKAGE_ARCH as the accessor and ensures the variables work as expected. This fixes various segfaults and ensures postinsts run at build time rather than on the target system. The bug was introduced in http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=7efad8a1b56df6ee07c12ad360c0493d7b1d6d23. (From OE-Core rev: 219e793907406eabf632e784e3a11ab9acb77cfb) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Globally replace oe.utils.contains to bb.utils.containsOtavio Salvador2014-04-251-3/+3
| | | | | | | | | | | BitBake has the exact same code as oe.utils.contains so there's no reason to duplicate it. We now rely on the bb.utils.contains code for metadata. (From OE-Core rev: 93499ebc46547f5bf6dcecd5a786ead9f726de28) Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/recipes: More optimal DISTRO_FEATURES referencesRichard Purdie2013-12-051-3/+3
| | | | | | | | | Using the contains function results in more optimal sstate checksums resulting in better cache reuse as we as more consistent code. (From OE-Core rev: 9c93526756e7cbbff027c88eb972f877bcb1f057) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes: add aarch64_be targetVictor Kamensky2013-10-141-0/+1
| | | | | | | | | | Add big endian ARMv8 target to OE infrastructure (From OE-Core rev: 570ae1afecc88b12a11e62a4341069c125d18403) Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org> Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes: tar 1.27 fixesRichard Purdie2013-10-141-4/+4
| | | | | | | | | | | | | tar version 1.27 returns: tar: --same-order option cannot be used with -c with the commandlines we have been using. We can remove the -s option (which is --same-order) to remove the error. (From OE-Core rev: 3d5a6d0a480a0fa98260a3b3ffc71b8d9e3e58af) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package.bbclass: Add armeb architecture to locale_arch_optionsFathi Boudra2013-08-061-0/+1
| | | | | | | | | | | | | Fix gconv build failure on ARM big-endian architecture: ERROR: locale_arch_options not found for target_arch=armeb ERROR: Function failed: unknown arch:armeb for locale_arch_options (From OE-Core rev: a714cdf431635c4a344d3a135a71061e5629eed8) Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org> Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* class/lib: Fix up various file access methodsRichard Purdie2013-05-091-3/+3
| | | | | | | | | | | | | | There are various bits of cruft that have built up around our file accesses. This patch cleans some of them up, specifically: * Remove pointless "from __builtin__ import file" * Use open(), not file() * Wrap file usage in a with container to ensure files are closed * Add missing .close() calls in some cases (From OE-Core rev: a43e0a8ecd0441131e929daf998c3cd454d9c8f3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package: Drop bogus replacement operationRichard Purdie2012-10-181-1/+1
| | | | | | | | | | | | | | | | | | | | The names used to generate the binary-localdata packages need to match the location the dependencies are added. In one case the dash replacement is made, in the other it is not leading to packages which cannot be installed: eglibc-binary-localedata-af-za.iso88591 is needed by locale-base-af-za.iso-8859-1-2.16-r22.i586 eglibc-binary-localedata-cs-cz.iso88592 is needed by locale-base-cs-cz.iso-8859-2-2.16-r22.i586 eglibc-binary-localedata-ru-ru.koi8r is needed by locale-base-ru-ru.koi8-r-2.16-r22.i586 eglibc-binary-localedata-pl-pl.iso88592 is needed by locale-base-pl-pl.iso-8859-2-2.16-r22.i586 eglibc-binary-localedata-hu-hu.iso88592 is needed by locale-base-hu-hu.iso-8859-2-2.16-r22.i586 eglibc-binary-localedata-de-at+euro.iso885915 is needed by locale-base-de-at+euro.iso-8859-15-2.16-r22.i586 eglibc-binary-localedata-sv-fi.iso88591 is needed by locale-base-sv-fi.iso-8859-1-2.16-r22.i586 This fixes things so the names are consistent. (From OE-Core rev: 17e1bfe2b1260add9749b5ff73c72d57c0215fdc) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Add and use 'localedir' variableChristopher Larson2012-09-251-13/+14
| | | | | | | | | | | | | | This avoids the hardcoding of ${libdir}/locale which is all over the place, and will facilitate use of ${exec_prefix}/lib/locale instead of ${libdir}/locale. This doesn't actually change any output at this time. Verified this with buildhistory against the packages produced from core-image-base. (From OE-Core rev: b744f4cc2912334b8493a89525fd02af8e9b8edf) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Remove a number of unneeded import os/bb callsRichard Purdie2012-07-191-1/+1
| | | | | | | | | | The bb and os modules are always imported so having these extra import calls are a waste of space/execution time. They also set a bad example for people copy and pasting code so clean them up. (From OE-Core rev: 7d674820958be3a7051ea619effe1a6061d9cbe2) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Convert tab indentation in python functions into four-spaceRichard Purdie2012-07-191-263/+263
| | | | | | (From OE-Core rev: 604d46c686d06d62d5a07b9c7f4fa170f99307d8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package: Add sh4 and mips64 to arch optionsKhem Raj2012-05-211-0/+3
| | | | | | | | | needed for new architecture support (From OE-Core rev: 75167eb890d8e4683f1e3852e3b77c67d160bea7) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* (libc-)package.bbclass: Added MLPREFIX to locale packages.Lianhao Lu2012-05-181-2/+2
| | | | | | | | | Added multilib prefix to the locale related package names/dependencies. (From OE-Core rev: a52f7cf2cc90d918e3250c410995dcc1f3bfd5ee) Signed-off-by: Lianhao Lu <lianhao.lu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package.bbclass: Add MLPREFIX while dynamically set RDEPENDSDongxiao Xu2012-05-091-5/+7
| | | | | | | | | We need to add MLPREFIX when set RDEPENDS by setVar() function. (From OE-Core rev: 9407895c88e46490d0ef9bb185f73466e7204c15) Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package: rework ''precompiled' locale handlingChristopher Larson2012-05-031-51/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were a couple problems with the handling of precompiled locales. - it gathered the list of locales from the directories - this breaks due to the naming mismatch, e.g. en_US.UTF-8 vs en_US.utf8. - it retained its hardcoded assumption that the non-suffixed locale (en_US, as opposed to en_US.*) is UTF-8, while the others are otherwise. Hardcoding this is both inflexible and just plain wrong for some toolchains. It's most common in desktop distros for 'en_US' to be non-utf8, and ''en_US.UTF-8' is utf8, and this is the case in some external toolchains as well. The code now uses the SUPPORTED file to hold the knowledge it needs. This file not only holds the list of locales to generate, but also maps the locale names to the charsets they correspond to. The code now uses this to assemble its charset map, falling back to the '.' suffix as charset when the locale is not in the map. For precompiled, it now uses the locale->charset knowledge it has, thereby allowing non-utf8 non-suffixed locale names, whereas for non-precompiled, it reverts to the previous assumption, renaming the utf8 locale and forcibly suffixing the others. So, a person maintaining an external toolchain recipe is responsible for ensuring that the SUPPORTED file they provide matches up with the compiled locales in the toolchain, if they want to utilize precompiled locales. I believe in the long term the compiled case should do the same thing precompiled does, and use SUPPORTED or a similar mechanism to encode the knowledge, and if people want all the non-suffixed names to be utf8, they can change that file to do so. This would avoid the hardcoded assumption in the code, as well as consolidating the behavior between the compiled and precompiled cases. (From OE-Core rev: 3f36058923ccda25a3dd85046542e65b6034c09e) Signed-off-by: Christopher Larson <kergoth@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Multilib: Fix RDEPENDS in libc-package.bbclass, useradd.bbclass...Zhai Edwin2012-04-161-1/+1
| | | | | | | | | MLPREFIX is needed in RDEPENDS for multilib build (From OE-Core rev: 380efadd5640e5b57e710549b1ae761d0d3b3792) Signed-off-by: Zhai Edwin <edwin.zhai@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* eglibc packaging: locale packaging configurationNitin A Kamble2012-04-041-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The PACKAGE_NO_GCONV var manipulations ware happening in the eglibc-options.inc file, and the eglibc-locale recipe do not see it. Moving that into the libc-package.bbclass which is common to eglibc & eglibc-locale recipes. This fixes bug: [YOCTO #2089] This avoids this error for poky-tiny NOTE: package eglibc-locale-2.13-r19: task do_populate_sysroot: Started ERROR: Error executing a python function in /opt/poky.git/meta/recipes-core/eglibc/eglibc-locale_2.13.bb: OSError: [Errno 2] No such file or directory: '/home/rchatre/concordia/dev/ccd-distro-work/tmp/work/core2-poky-linux/eglibc-locale-2.13-r19/package/usr/lib/gconv' ERROR: The stack trace of python calls that resulted in this exception/failure was: ERROR: File "package_do_split_gconvs", line 264, in <module> ERROR:· ERROR: File "package_do_split_gconvs", line 45, in package_do_split_gconvs ERROR:· ERROR: File "package.bbclass", line 30, in do_split_packages ERROR:· ERROR: The code that was being executed was: ERROR: 0260:»------»-------bb.note("generation of binary locales disabled. this may break i18n!") ERROR: 0261: ERROR: 0262: ERROR: 0263: ERROR: *** 0264:package_do_split_gconvs(d) ERROR: 0265: ERROR: (file: 'package_do_split_gconvs', lineno: 264, function: <module>) ERROR: 0041:»------»-------»-------d.setVar('RPROVIDES_%s' % pkg, pkg.replace(bpn, 'glibc')) ERROR: 0042: ERROR: 0043:»------do_split_packages(d, gconv_libdir, file_regex='^(.*)\.so$', output_pattern=bpn+'-gconv-%s', \ ERROR: 0044:»------»-------description='gconv module for character set %s', hook=calc_gconv_deps, \ ERROR: *** 0045:»------»-------extra_depends=bpn+'-gconv') ERROR: 0046: ERROR: 0047:»------def calc_charmap_deps(fn, pkg, file_regex, output_pattern, group): ERROR: 0048:»------»-------deps = [] ERROR: 0049:»------»-------f = open(fn, "r") ERROR: (file: 'package_do_split_gconvs', lineno: 45, function: package_do_split_gconvs) ERROR: Function failed: package_do_split_gconvs ERROR: Logfile of failure stored in: /home/rchatre/concordia/dev/ccd-distro-work/tmp/work/core2-poky-linux/eglibc-locale-2.13-r19/temp/log.do_package.31042 NOTE: package eglibc-locale-2.13-r19: task do_package: Failed ERROR: Task 552 (/opt/poky.git/meta/recipes-core/eglibc/eglibc-locale_2.13.bb, do_package) failed with exit code '1' Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-packgae.bbclass: Add i686 support in locale_arch_optionsNoor Ahsan2012-03-291-0/+1
| | | | | | | | | | | * While building for i686 architecture an error was coming that locale_arch_options does not have support for i686. Add missing support. * Verified on intel architecture. (From OE-Core rev: c8afc79b5d3205355ad61d2589221bf8babe8395) Signed-off-by: Noor Ahsan <noor_ahsan@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* external-csl-toolchain: fixes for metadata changesChristopher Larson2012-02-021-1/+3
| | | | | | | | | | | | | | | | | These allow the recipe to build again: - add compilerlibs, g++, libgcc to the provides - add linux-libc-headers-dev to the packages - in libc-package, only sed the ldd.bash.in file if it exists, as the external toolchain is using that class as well - shift the inherit location of the libc classes, as they were overriding the recipe's do_install - use ?= for EXTERNAL_TOOLCHAIN, so the user can set it (From OE-Core rev: 8fb1c84f4cadf8d7a061fd6d90d270c19b474bfe) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package: fix typo in LOCALETREESRC default valueChristopher Larson2012-02-021-1/+1
| | | | | | | (From OE-Core rev: 73ff2f404392a6942ec89af15ec7f52fe2e629a6) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* locale: fix package's "provides" tagNitin A Kamble2012-01-171-3/+0
| | | | | | | | | | | | | | | | | | | | | Fixes this bug: [YOCTO #1874] Fixes an issue where a locale package depends on one package while it also provides the same, as seen bellow. Package: locale-base-de-de Version: 2.12-r19 Depends: eglibc-binary-localedata-de-de Provides: virtual-locale-de-de, virtual-locale-de, eglibc-binary-localedata-de-de Actually the eglibc-binary-localedata-de-de is ia separate package, and it should not be part of provides of the locale-base-de-de. (From OE-Core rev: 49c5ff7197b44c7d29d31506c2425b86bc2c1ff6) Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* libc-package.bbclass: Fix typo in setVar usageRichard Purdie2011-12-011-1/+1
| | | | | | (From OE-Core rev: 30584cbcdc4b709c52325a321c1175bfaf63a167) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* getVar/setVar cleanupsRichard Purdie2011-11-271-38/+38
| | | | | | | | | Complete the bb.data.getVar/setVar replacements with accesses directly to the data store object. (From OE-Core rev: 2864ff6a4b3c3f9b3bbb6d2597243cc5d3715939) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>