aboutsummaryrefslogtreecommitdiffstats
path: root/meta/recipes-core/glibc/glibc-package.inc
AgeCommit message (Collapse)Author
2018-09-27glibc-package.inc: correct intention for deleting /usr/lib as neededAwais Belal
In case the baselib is lib64 we would want to delete /usr/lib after removing the /usr/lib/locale dir and the implementation wanted to do that earlier as well but the fault was checking an already removed dir (/usr/lib/locale) before trying to remove /usr/lib as that check would always fail. Now we simply try to delete /usr/lib after deleting /usr/lib/locale to make sure it deletes cleanly and is empty at the time of deletion. Signed-off-by: Awais Belal <awais_belal@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-19glibc: re-package for libnss-dbChen Qi
On other distros like ubuntu/centos, libnss-db usually provides: - The libraries - The Makefile to create database (in /var/db for centos, /var/lib/misc/ for ubuntu) - The makedb command (it's in glibc-common for centos7) What we had is: - The libraries are in glibc-extra-nss - The Makefile is removed - The makedb command is in glibc-utils (lack of dependency) So when glibc-extra-nss is installed but glibc-utils is not, we see error like: nscd[165]: 165 checking for monitored file `/var/db/group.db': No such file or directory nscd[165]: 165 checking for monitored file `/var/db/passwd.db': No such file or directory And there is not an easy way to create these databases. To fix the issue: - Re-package the libraries into libnss-db - Don't remove the Makefile and add it in libnss-db - Add RDEPENDS for libnss-db on glibc-utils - Provide a shell script, makedbs.sh, to generate the db files. This is to avoid dependency on 'make'. Notes: 1. For external toolchain, an extra package 'libnss-db' need to be provided If replacing glibc from core. 2. I've check the git history of nss/db-Makefile, the last two functionality fix is as below. - fix non-portable `echo -n` usage -- Date: Thu Aug 6 04:14:20 2015 -0400 - Fix db makefile rule for group.db -- Date: Fri Nov 11 14:43:36 2011 +0100 So I think this file is stable enough. And using makedbs.sh which is crafted according to that file is not likely to cause maintanence problem. Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-14glibc: Disable crypt support in glibcKhem Raj
Drop packaging libcrypt from 2.28+ onwards We have independent crypt implementation coming from libxcrypt Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-14glibc: Make bits/wordsize.h multilibbed againDaniel Díaz
As reported by ChenQi, leaving bits/wordsize.h out of being multilibbed introduced a problem in building the SDK for arm64: Error: Transaction check error: file /usr/include/bits/wordsize.h conflicts between attempted installs of lib32-libc6-dev-2.27-r0.armv7vet2hf_vfp and libc6-dev-2.27-r0.aarch64 This effectively reverts commit a74c77d6. Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-26glibc: Avoid multilibbing on wordsize.hDaniel Díaz
Once another header #includes <bits/wordsize.h>, there is a potential recursion going on because the multilib_header_wrapper.h #includes <bits/wordsize.h> again! This should not happen because an __arm__ (32-bits) or an __aarch64__ (64-bits) environment guarantees that we will be getting the correct definition, but when building against a different target (like BPF), recursion is what happens. This can be seen, for instance, when building eBPF programs from the kernel with `clang -target bpf', such as the ones located in linux/tools/testing/selftests/bpf/. Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org> Signed-off-by: Aníbal Limón <anibal.limon@linaro.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-05-09glibc: Drop obsolete rpc and libnslKhem Raj
use libnsl2 and rpcsvc-proto packages Signed-off-by: Khem Raj <raj.khem@gmail.com>
2018-05-04glibc: use oe_multilib_header on bits/floatn.hChen Qi
When building SDK via populate_sdk for qemuarm64 with multilib enabled, we would have conflict about bits/floatn.h at populate_sdk time. file /usr/include/bits/floatn.h conflicts between attempted ins talls of libc6-dev-2.27-r0.aarch64 and lib32-libc6-dev-2.27-r0.armv7vehf_vfp Apply oe_multilib_header on this header file to fix the problem. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-03-30glibc-package: fix locale cleanup logicKoen Kooi
If ${libdir} is a subdirectory of ${prefix}/lib, e.g. /usr/lib/aarch64-linux, the cleanup logic will delete libc.so. This bit of code was added in 2012 (git show b744f4cc) to remove /usr/lib/locale, this commit makes it remove that directory recursively and afterwards remove /usr/lib, erroring out if it's non-empty. Tested with a plain (/usr/lib), a 64-bit (/usr/lib64) and a multiarch (/usr/lib/aarch64-linux) build. I strongly suspect this whole bit of cleanup isn't needed anymore, but my testing is too limited to be certain. Signed-off-by: Koen Kooi <koen.kooi@linaro.org> Signed-off-by: Ross Burton <ross.burton@intel.com>
2018-01-29meta: don't use deprecated functions from utils.bbclassRoss Burton
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. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-29glibc: Adapt do_install_append_aarch64() for usrmergePeter Kjellerstedt
Change hardcoded /lib to ${nonarch_base_libdir} to correctly adapt the code in do_install_append_aarch64() for when usrmerge is enabled in DISTRO_FEATURES. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-13glibc/nscd: do not cache for netgroup by defaultJackie Huang
We don't have /etc/netgroup by default, so do not cache for netgroup by default to avoid: nscd[529]: 529 disabled inotify-based monitoring for file `/etc/netgroup': No such file or directory nscd[529]: 529 stat failed for file `/etc/netgroup'; will try again later: No such file or directory (From OE-Core rev: 10007bcd30a96470059f9d5b19cf698243486f06) Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-11glibc: do the multilib_header magic also for bits/pthreadtypes-arch.hChunrong Guo
Otherwise it will cause conflicts in mutlilib setting, as it varies from one machine to another. Signed-off-by: Chunrong Guo <chunrong.guo@nxp.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-07-24glibc-package.inc: add support for armeb of multilibzhengrq
Add support for armeb of multilib. Signed-off-by: zhengrq <zhengrq.fnst@cn.fujitsu.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-07-11glibc: Drop obsoleted bits/string.h from multilibbingKhem Raj
glibc 2.26 has dropped bits/string.h Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-06-16meta: Drop remnants of uclibc supportRichard Purdie
uclibc support was removed a while ago and musl works much better. Start to remove the various overrides and patches related to uclibc which are no longer needed. uclibc support in a layer would still be possible. I have strong reasons to believe nobody is still using uclibc since patches are missing and I doubt the metadata even parses anymore. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-10bitbake.conf: Add COMPONENTS_DIR for ${STAGING_DIR}-componentsPeter Kjellerstedt
The path to where to install and find the sysroot components is used in many places. This warrants it to get its own variable. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-30glibc-package: Allow 32 and 64 bit headers to exist on armRichard Purdie
With this change (combined with the previous linux-libc-header fix), a combined sysroot for 32 and 64 bit arm works meaning our SDK works correctly for that multilib setup. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-21glibc: Ensure ldconfig is packaged into glibcJussi Kukkonen
If base_bindir=bindir, /usr/sbin/ldconfig gets packaged into glibc-utils instead of glibc: Switch PACKAGES order to prevent this. Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
2017-03-11glibc: do the multilib_header magic also for bits/long-double.hAlexander Kanavin
Otherwise it will cause conflicts in mutlilib setting, as it varies from one machine to another. Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-04bitbake.conf: replace USE_LDCONFIG with new "ldconfig" distro featureAndre McCurdy
USE_LDCONFIG could previously be set to 0 by distros which do not require ldconfig or ld.so.conf on the target. Since more and more recipes may need to respect that option, replace the ad-hoc variable with a distro feature. Distros which previously set: USE_LDCONFIG = "0" Should now instead use: DISTRO_FEATURES_BACKFILL_CONSIDERED_append = " ldconfig" Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-02-09glibc-package: Avoid race sstate races with do_stash_localeRichard Purdie
The change to make do_stash_locale an sstate task between do_install and do_package has some unforeseen problems since the function deletes part of ${D} but may or may not run depending on whether the task is installed from sstate. This cleans up the current "pre packaging" function to be more deterministic and result in the same set of files, whichever code path we end up reaching that point by. Its not an ideal sitation but it should avoid the race failures we've seen on some builds. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-07glibc: Separate locale files to their own sstate taskRichard Purdie
Putting the locale and script files into the sysroot for use by their specific recipes used to be a simple way to share the files. With RSS, we don't want to copy these into many different recipes so put these files in their own sstate task. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-16meta: remove True option to getVar callsJoshua Lock
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\) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-12-16meta: Drop now pointless manual -dbg packagingRichard Purdie
With the autodebug package generation logic, specifically setting FILES_${PN}-dbg isn't needed in most cases, we can remove them. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08glibc: fix libdir/libexecdir path confusionRoss Burton
$libdir/glibc is deleted if it doesn't exist but this is incorrectly assuming what variables are used to create this directory. In fact libexecdir is being used in the Makefile so use that in the recipe too. This fixes builds where libexecdir is changed. Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-09-01glibc: package nscd related filesRoy Li
install nscd related configuration file, startup files, and package them, make nscd easy to startup Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-19glibc-package: use ${PN} in INSANE_SKIPMartin Jansa
* INSANE_SKIP_${PN}_append_aarch64 is causing following warning in some setups: WARNING: Variable key INSANE_SKIP_${PN} () replaces original key INSANE_SKIP_glibc (). * in worst case this will be applied also for glibc-initial package which is using the same glibc-package.inc, but glibc-initial doesn't create any packages so we should be fine * someone building for aarch64 should confirm verify that this INSANE_SKIP is still needed and cannot be fixed properly it was introduced in: commit aeb6f53dd607ceb0d2265a05c27f751109c73752 Author: Mark Hatle <mark.hatle@windriver.com> Date: Thu Dec 18 16:51:13 2014 +0800 glibc-package: aarch64 enable symlink for ABI compliance aarch64 requires the ld.so to be present in /lib, even if the rest of the libraries are installed into an alternative directory. See: https://sourceware.org/glibc/wiki/ABIList Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-08-16glibc: Package libmvec when builtKhem Raj
libmvec is new library in glibc 2.22 and currently turned on by default on x86_64. this helps in packaging it properly when its generated Fixes warning like WARNING: QA Issue: nativesdk-glibc: Files/directories were installed but not shipped in any package: /usr/local/oecore-x86_64/sysroots/x86_64-angstromsdk-linux/lib/libmvec-2.21.90.so Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. [installed-vs-shipped] Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-06-23staging: Strip files in sysrootRichard Purdie
Add functionality to strip binaries/libraries going into the sysroot. Whilst this does fractionally slow down the build, it also significantly reduces the size of the sstate cache files. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-22glibc-package: aarch64 enable symlink for ABI complianceMark Hatle
aarch64 requires the ld.so to be present in /lib, even if the rest of the libraries are installed into an alternative directory. See: https://sourceware.org/glibc/wiki/ABIList Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30glibc: Delete ldconfig when USE_LDCONFIG is not setKhem Raj
This avoids below QA error/warning /sbin/ldconfig [installed-vs-shipped] Change-Id: I028b692eefeaa6e0e0e6507ab4108caa29e41e91 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-01glibc: Migrate eglibc 2.19 -> glibc 2.20Khem Raj
- This is a big swoop change where we switch to using glibc - option-groups are forward ported - cross-localedef is extracted out from eglibc and hosted at github.com/kraj/localedef, its used for cross-localedef recipe - Other non ported patches from eglibc are forward ported ppc8xx cache line workaround SH fpcr values dynamic resolver installing PIC archives is there but is not applied libc header bootstrap - Delete eglibc recipes we moved back to using glibc now - Fix ppc/e500 build - Fix crypt module build when options are used - Fix fnmatch build when options OPTION_EGLIBC_LOCALE_CODE is unset HAVE_MBSTATE_T and HAVE_MBSRTOWCS should be defined conditionally based upon OPTION_EGLIBC_LOCALE_CODE being set/unset - Move the ports/ patches to relevant files now that ports is gone Signed-off-by: Khem Raj <raj.khem@gmail.com>
2011-08-01glibc: deletedPhil Blundell
Glibc 2.10.1 is outdated now and eglibc seems to provide a superset of its functionality. Signed-off-by: Phil Blundell <philb@gnu.org>
2011-06-29glibc/eglibc: Clean up package warnings and potentially broken data in -dev ↵Richard Purdie
package These changes ensure files packaged in the -locale package aren't included in the main do_install and also ensures the staging directory used for the -locale package doesn't end up in the -dev package. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-28libc-locale: split locale handling from libc recipe.Dongxiao Xu
*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. This commit moves locale handling into a separate recipe *libc-locale. [RP: Add fixup with recent eglibc commit conflict for FILES_pn-dbg and PACKAGES] Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2010-10-11recipes-core: Cleanup package descriptions and summariesMark Hatle
[BUGID #281] Evaluate and update each package in recipes-core to ensure they have a consistent summary and description. Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-10-07libc-package.bbclass, eglibc, glibc: enable locales generation using ↵Nitin A Kamble
cross-localedef Along with qemu this provides another option to generate locales for [e]glibc. The new method is to use cross-localedef with appropriate arch specific parameters. The cross-localedef method is found to be 15 times faster than qemu's emnualted method. LOCALE_GENERATION_WITH_CROSS-LOCALEDEF : This is new config variable introduced to selet qemu or cross-localedef method for locale generation. Thanks to Mark Hatle from Windriver for providing the rich information for cross locale generation. Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-09-21[e]glibc-package.inc: fix multiple providers for glibc-gconv-iso8859-1Dexuan Cui
This commit fixes the following error while doing this: bitbake poky-image-sato ERROR: Conflicting PREFERRED_PROVIDER entries were found which resulted in an attempt to select multiple providers (['virtual:nativesdk:/distro/dcui/dexuan/meta/recipes-core/eglibc/eglibc_2.12.bb', '/distro/dcui/dexuan/meta/recipes-core/eglibc/eglibc_2.12.bb']) for runtime dependency glibc-gconv-iso8859-1 The entries resulting in this conflict were: ['PREFERRED_PROVIDER_virtual/libc-nativesdk = eglibc-nativesdk', 'PREFERRED_PROVIDER_virtual/libc = eglibc'] NOTE: multiple providers are available for runtime glibc-gconv-iso8859-1 (eglibc, eglibc-nativesdk, glibc-nativesdk, glibc, external-csl-toolchain, external-poky-toolchain) NOTE: consider defining a PREFERRED_PROVIDER entry to match glibc-gconv-iso8859-1 And bumped PR. This partly fixes [BUGID #329] Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-09-10[e]glibc-package.inc: fix providers for libsegfault and otherNitin A Kamble
[e]glibc-nativesdk should not be providing libsegfault. This commit fixes the following error while doing this: bitbake poky-image-minimal-initramfs DEBUG: providers for libsegfault are: ['glibc-nativesdk', 'glibc', 'eglibc-nativesdk', 'external-csl-toolchain', 'eglibc', 'external-poky-toolchain'] DEBUG: selecting virtual:nativesdk:/rphome/poky/meta/recipes-core/glibc/glibc_2.10.1.bb as PREFERRED_VERSION 2.10.1 of package glibc-nativesdk (for item libsegfault) DEBUG: selecting /rphome/poky/meta/recipes-core/glibc/glibc_2.10.1.bb as PREFERRED_VERSION 2.10.1 of package glibc (for item libsegfault) NOTE: checking PREFERRED_PROVIDER_glibc-nativesdk NOTE: checking PREFERRED_PROVIDER_glibc-nativesdk-2.10.1 NOTE: checking PREFERRED_PROVIDER_glibc-nativesdk-2.10.1-r3 NOTE: checking PREFERRED_PROVIDER_virtual/libc-nativesdk NOTE: selecting glibc-nativesdk to satisfy runtime libsegfault due to PREFERRED_PROVIDER_virtual/libc-nativesdk = glibc-nativesdk And bumped PR. Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-03glibc-package.inc: disable build-time locale generation for nativesdkKevin Tian
The idea of build-time locale generation is documented in glibc-package.inc: 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. However it doesn't make sense to do same thing for glibc-nativesdk, as the build system is powerful. More importantly is that ideally host_arch running sdk may even be out of the support list of target_arch by qemu-native. Regarding to above rationale, this commit disables build time locale generation to avoid following error when asking qemu to run localdef: NOTE: /opt/poky/sysroots/i586-pokysdk-linux/lib/ld-linux.so.2: No such file or directory nativesdk binaris have opt path hardcoded to avoid mess with host bits, which is another reason that build time locale generation is not feasible here. This fixes [BUGID #264] also add 'nativesdk' to eglibc per RP's suggestion Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-09-02libc-package.bbclass: merge glibc & eglibc class filesNitin A Kamble
Other enhancements: print qemu's stdio & error on failure glibc: enable locale generation for all arches eglibc: enable binary locale generation for mips And cleanup of code based on the code review. [e]glibc: move common definition in the common file bitbake was complaining about duplicate definition of get_libc_fpu_setting in eglibc.inc & glibc.inc files. And bump PRs Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-08-27Major layout change to the packages directoryRichard Purdie
Having one monolithic packages directory makes it hard to find things and is generally overwhelming. This commit splits it into several logical sections roughly based on function, recipes.txt gives more information about the classifications used. The opportunity is also used to switch from "packages" to "recipes" as used in OpenEmbedded as the term "packages" can be confusing to people and has many different meanings. Not all recipes have been classified yet, this is just a first pass at separating things out. Some packages are moved to meta-extras as they're no longer actively used or maintained. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>