Commit Graph

27 Commits

Author SHA1 Message Date
Peter Kjellerstedt 439bb8cc71 bitbake.conf: Add COMPONENTS_DIR for ${STAGING_DIR}-components
The path to where to install and find the sysroot components is used
in many places. This warrants it to get its own variable.

(From OE-Core rev: 70a84b525470f72339568409daf84845904e4cab)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-11 16:55:59 +01:00
Richard Purdie 6897b33abe glibc-package: Allow 32 and 64 bit headers to exist on arm
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.

(From OE-Core rev: 4690cd8e34fc23de10400cc1c178b2c73c7690c7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-31 10:10:29 +01:00
Jussi Kukkonen fada531cb2 glibc: Ensure ldconfig is packaged into glibc
If base_bindir=bindir, /usr/sbin/ldconfig gets packaged into glibc-utils instead
of glibc: Switch PACKAGES order to prevent this.

(From OE-Core rev: 2794b1cc12af051db404d46aea4db4c74e8e1fe3)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-22 11:35:20 +00:00
Alexander Kanavin d37f41d8db glibc: do the multilib_header magic also for bits/long-double.h
Otherwise it will cause conflicts in mutlilib setting, as it
varies from one machine to another.

(From OE-Core rev: a3b19882e2f50089c785b1e2591550356c12a175)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-11 16:09:14 +00:00
Andre McCurdy 2d1b0452ba bitbake.conf: replace USE_LDCONFIG with new "ldconfig" distro feature
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"

(From OE-Core rev: a905df2dd8f43a2febffa64a39b6e508510326a0)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-04 23:18:19 +00:00
Richard Purdie 7d08a1340f glibc-package: Avoid race sstate races with do_stash_locale
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.

(From OE-Core rev: 2a60bba00da9c4e2b1a1ce30e509dba82cc6c94a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-09 10:52:03 +00:00
Richard Purdie 992d17c8e8 glibc: Separate locale files to their own sstate task
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.

(From OE-Core rev: c283f2532851e2a65e08fe7b3fd71c5d9abb70f2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-07 14:50:09 +00:00
Joshua Lock c4e2c59088 meta: remove True option to getVar calls
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>
2016-12-16 10:23:23 +00:00
Richard Purdie e0890b662e meta: Drop now pointless manual -dbg packaging
With the autodebug package generation logic, specifically setting FILES_${PN}-dbg
isn't needed in most cases, we can remove them.

(From OE-Core rev: 3ab59d49dd7c18e194b58d1248b4b87709b5a738)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-16 11:56:30 +00:00
Ross Burton cbfccc6394 glibc: fix libdir/libexecdir path confusion
$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.

(From OE-Core rev: 0c73dcb7c1c369a66e4c5804fcdd19f657426a5d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:20:50 +00:00
Roy Li 170b89d986 glibc: package nscd related files
install nscd related configuration file, startup files, and package them,
make nscd easy to startup

(From OE-Core rev: 6d8351ac26295d2e5a693169bd2df95b89cb32fe)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-03 12:43:16 +01:00
Martin Jansa c1e7995c34 glibc-package: use ${PN} in INSANE_SKIP
* 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>

(From OE-Core rev: 34ffa04a5030d23070aa4d389d1cc51438525670)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-19 18:05:42 +01:00
Khem Raj b3ec91dd4c glibc: Package libmvec when built
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]

(From OE-Core rev: f009e592fd5ef65c2417ec8cc131056a575a003f)

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>
2015-08-16 22:40:53 +01:00
Richard Purdie fed80c3d40 staging: Strip files in sysroot
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.

(From OE-Core rev: 30f3774f4cd5bbb8c1e6884aeff5af91ab053fc1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-23 16:07:23 +01:00
Mark Hatle a1d75c2cf8 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

(From OE-Core rev: aeb6f53dd607ceb0d2265a05c27f751109c73752)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:19 +00:00
Khem Raj b8740fd5ec glibc: Delete ldconfig when USE_LDCONFIG is not set
This avoids below QA error/warning
/sbin/ldconfig [installed-vs-shipped]

Change-Id: I028b692eefeaa6e0e0e6507ab4108caa29e41e91
(From OE-Core rev: 2b499db19cd9bd14292457716b50dc62ed90515d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:01:21 +00:00
Khem Raj 54a3375a10 glibc: Migrate eglibc 2.19 -> glibc 2.20
- 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

(From OE-Core rev: 1027c535ea753e63d9ffe469a423e04467cf8940)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-01 18:02:21 +01:00
Phil Blundell 7dc2732b28 glibc: deleted
Glibc 2.10.1 is outdated now and eglibc seems to provide a superset of
its functionality.

(From OE-Core rev: 1d9866a2c4fe93202749a56c7ad89a3cbd07d9f8)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-01 14:16:55 +01:00
Richard Purdie 8bdb4de37c glibc/eglibc: Clean up package warnings and potentially broken data in -dev 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.

(From OE-Core rev: 2dccb370e04bc2bbe208b2b0541077d8ef519535)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-29 14:28:03 +01:00
Dongxiao Xu 8fa9d64f1d libc-locale: split locale handling from libc recipe.
*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]
(From OE-Core rev: c6d3242f7642f537b02870bb4eb650f0e2094b85)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-28 13:44:41 +01:00
Mark Hatle fa647b9176 recipes-core: Cleanup package descriptions and summaries
[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-11 22:15:10 +01:00
Nitin A Kamble 2f19e2a1e6 libc-package.bbclass, eglibc, glibc: enable locales generation using 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-10-07 22:53:28 +01:00
Dexuan Cui 8c33bfc84a [e]glibc-package.inc: fix multiple providers for glibc-gconv-iso8859-1
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-21 23:36:59 +01:00
Nitin A Kamble d6e8013a8c [e]glibc-package.inc: fix providers for libsegfault and other
[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-10 12:53:46 +01:00
Kevin Tian 9f60a6fbfb glibc-package.inc: disable build-time locale generation for nativesdk
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-03 09:30:26 +01:00
Nitin A Kamble 561d875404 libc-package.bbclass: merge glibc & eglibc class files
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-09-02 09:52:31 +01:00
Richard Purdie 29d6678fd5 Major layout change to the packages directory
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>
2010-08-27 15:29:45 +01:00