Commit Graph

34 Commits

Author SHA1 Message Date
Richard Purdie 8ebe7be3d9 bitbake.conf/package: Collapse PKGDATA_DIR into a single machine specific directory
Currently we have a hierarchy of pkgdata directories and the code has to put together
a search path and look through each in turn until it finds the data it needs.

This has lead to a number of hardcoded paths and file globing which
is unpredictable and undesirable. Worse, certain tricks that should be
easy like a GL specific package architecture become problematic with the
curretn search paths.

With the modern sstate code, we can do better and construct a single pkgdata
directory for each machine in just the same way as we do for the sysroot. This
is already tried and well tested. With such a single directory, all the code that
iterated through multiple pkgdata directories and simply be removed and give
a significant simplification of the code. Even existing build directories adapt
to the change well since the package contents doesn't change, just the location
they're installed to and the stamp for them.

The only complication is the we need a different shlibs directory for each
multilib. These are only used by package.bbclass and the simple fix is to
add MLPREFIX to the shlib directory name. This means the multilib packages will
repackage and the sstate checksum will change but an existing build directory
will adapt to the changes safely.

It is close to release however I believe the benefits this patch give us
are worth consideration for inclusion and give us more options for dealing
with problems like the GL one. It also sets the ground work well for
shlibs improvements in 1.6.

(From OE-Core rev: 1b8e4abd2d9c0901d38d89d0f944fe1ffd019379)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:21:00 +01:00
Richard Purdie b9dde37eb5 multilib.conf: Workaround opkg multilib issues
Multilib with opkg hasn't worked since the --force-overwrite option was dropped in
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=88a9f6db3482623c9cb54fb03db1045051cec9f6

Since we merged the libexecdir changes, we also need the --force-maintainer flag
to avoid conf file conflicts.

Both these changes are suboptimal however the alternative is completely broken and
these changes only affect people who have multilibs enabled and use opkg.

[YOCTO #3453]

(From OE-Core rev: 6310e66cd62aab6109027a8dce9c56bf721bea92)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-04-13 23:49:28 +01:00
Constantin Musca c0f419528f multilib.conf: add TARGET_ARCH & TARGET_SYS to MULTILIB_SAVE_VARNAME
(From OE-Core rev: 81f3dd49693a7ad2e98c182896c98fc71b01592f)

(From OE-Core rev: 92e74eb2f501b10a513e043d3d62007d8ab5f468)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-01 15:54:30 +00:00
Richard Purdie 8e5d8ed550 multilib.conf: Use BASELIB to set baselib, not hardcode the value
(From OE-Core rev: 1a97cab9d4856e8948025ce6f406c76a2732ec36)

(From OE-Core rev: b157ac5590a06405fd5622c7cf7c51c0a2d3cc5e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-01 15:54:01 +00:00
Constantin Musca 1674541ed8 multilib: fix allarch/kernel/module-base multilib issues
- skip the non-packagegroup allarch recipes in multilib_virtclass_handler
- extend PROVIDES/RPROVIDES for allarch recipes which are not packagegroups
- use variants from MULTILIB_GLOBAL_VARIANTS (lib32 lib64 libx32) to create
additional pkgdata files for multilib allarch: ${pkgdatadir}/${variant}-${PN}
and ${pkgdatadir}/runtime/${variant}-${pkg}
- use variants from MULTILIB_VARIANTS to create additional pkgdata files
for multilib kernel/module-base recipes
- add a sanity check to determine if the current multilib is in
MULTILIB_GLOBAL_VARIANTS

[YOCTO #2918]
[YOCTO #3440]
[YOCTO #3565]
[YOCTO #3568]

(From OE-Core rev: bc4da2573dfb59ea2fc4af359701818df20f7663)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-12-31 09:43:25 +00:00
Mark Hatle 56c677a338 multilib: Move redefinition of STAGING_DIR_KERNEL
If the STAGING_DIR_KERNEL is set in the multilib.conf, then it may be
set incorrected.  The evaluation happens before TMPDIR and LIBC are
defined in other components.

Moving the definition process to the multilib.bbclass ensures that
everything has been loaded before it is set.

(From OE-Core rev: 6bd87edc383b40e300b0ef4bf851c39b698305cd)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 11:40:50 +01:00
Bogdan Marinescu c4a7517f8a Complete recipe enablement
RP: The list of recipes in multilib.conf needs to go away and we need
to just be able to extend all recipes with the multilib class.
Tested by building and running lib32-core-image-sato-sdk.

[YOCTO #1563]

(From OE-Core rev: 5d691f1bc95dfb9109b07827b33957b1fa5b2fa4)

Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-02 18:07:18 +01:00
Richard Purdie 17a07be20e gobject-introspection: Drop the recipe, it has never worked and if it does cross compile, we can add it back
(From OE-Core rev: cc95d5472936f24f8375f4366062606595dd8124)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-28 09:20:53 +01:00
Richard Purdie e496e3df23 eds-tools: Drop this recipe, its inapproriate in OE-Core
(From OE-Core rev: 302a1251be7ec81fc1d270d9d7b6db6d140d4692)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-28 09:20:53 +01:00
Bogdan Marinescu 99ed56ff38 Multilib build fixes
1. STAGING_KERNEL_DIR was getting an invalid MLPREFIX. Fix this by forcing the expansion in multilib.conf.
2. Added multilib rule for 'perf'.

(From OE-Core rev: 71907775f601f0a48b995cc3277b61645d2e5068)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-19 17:18:09 +01:00
Ross Burton 05e2aa51cb eggdbus: remove, nothing uses it
(From OE-Core rev: 7eae2aecaddf5e285fbe9ad95d972f83b42ed176)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-19 17:18:09 +01:00
Paul Eggleton 56e0835872 libgsmd - remove
This project has been unmaintained for some time, and even the OpenMoko
project is not using it any more (in favour of FSO). Since we have ofono
in OE-Core which replaces and surpasses its functionality, we can remove
libgsmd.

(From OE-Core rev: 4cd880c61e9d74dbf1a747f3654239cadadf45ce)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-10 14:21:57 +01:00
Valentin Popa d7bafd3a2e build-appliance-image: rename from self-hosted-image
(-) renamed self-hosted-image to build-appliance-image
(-) replaced build-appliance-image description

[YOCTO #2636]

(From OE-Core rev: 04096f31778886479dac479132bded57e717653e)

Signed-off-by: Valentin Popa <valentin.popa@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-29 13:31:01 +01:00
Xiaofeng Yan 05428dac7b multilib.conf: Add the support of multilib for lsbinitscripts
Add the multilib support for this package to multilib.conf because error will
appear when building an lib32-core-image-lsb without this patch.

[YOCTO #2571]

(From OE-Core rev: 264425b0a54806c08c218bd8b500c20b8c3152f4)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-18 17:27:25 +01:00
Lianhao Lu 0b2bbdaab1 multilib.conf: Added multilib support for kmod.
(From OE-Core rev: 41ec6c1eb6998de6c1fd332510c1d71ba58f1b2c)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-18 15:25:11 +01:00
Saul Wold 41296357a9 evolation-data-server: Rename from eds-dbus
[YOCTO #2316]

(From OE-Core rev: 6189a8a05620974c098d548c26502453f371fe26)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:19 +01:00
Dongxiao Xu da8dfd8ff0 multilib: extend all recipes in multilib.conf
(From OE-Core rev: 0fce63476f9a376d95ea4f926cb60cb84f7a4d48)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 11:55:37 -08:00
Khem Raj 7215c25ec3 task-core-tools: Divide it into 3 recipes
task-core-tools-debug, task-core-tools-profile, task-core-tools-testapps
otherwise if we choose one through PACKAGE_GROUPS all packages
are built since they are in same recipe.

(From OE-Core rev: 180227d8ff71c42e0d16ad7eb4a5f9b7d6a0c1c6)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-08 00:50:27 +00:00
Richard Purdie 0f4d99d207 multilib.conf: Clean up file and add missing entries for various dependencies
This patch adds in various missing dependencies to ensure the set
of recipes listed for multilib support can be cleanly built.

(From OE-Core rev: 1d2697e6f00cc3771f39f5a7d4384a22d9696b16)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-11 23:53:32 +00:00
Richard Purdie dee0fc1462 multilib.conf: Enable shadow-sysroot and libffi
Enable these two core dependencies for multilib builds, fixing
multilib build failures that were occurring. I've checked and the
recipes are multilib capable.

[YOCTO #1835]

(From OE-Core rev: db446421933d640528328e46a29f828a36d6649b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-12-21 17:24:44 +00:00
Joshua Lock da1c3e3f95 clutter-box2d: drop unbuildable clutter-box2d-1.6_0.10.0
It's very old at this point and doesn't build with recent clutter

(From OE-Core rev: 04d2bb8e83aaac856f03f3fc9772285bd82182e4)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:50:54 +00:00
Joshua Lock b8d6f3632c multilib.conf: remove clutter-1.6 and add clutter-1.8
clutter-1.8 is the future here.

(From OE-Core rev: f8616319f0ffba6e0400234af69df17dc036edee)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-30 15:50:52 +00:00
Joshua Lock d4d29f7e58 gconf: add upstream GNOME gconf 3.2.3 and drop gconf-dbus
The D-Bus backend has been integrated into upstream GConf so we can
switch to upstream and drop gconf-dbus.

I've gone for a release in the 3.2 series as we disable Gtk+, and
therefore are not impacted by the gtk+3 changes, and the D-Bus backend
was unstable before this release.

(From OE-Core rev: f952b1bc8a4f307e2e2f3941f50becd72d88421d)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-10 11:37:11 +00:00
Martin Jansa c09f0eb561 xserver-xf86(-dri)-lite: rename to xserver-xorg and xserver-xorg-lite
* xserver-xorg is closer to upstream naming and
  that's how it's named in OE-classic and meta-oe? It would make meta-oe
  transition easier and better to do it now then convert meta-oe to
  xserver-xf86 and then rename it back later.

(From OE-Core rev: 0b31c7200a368533df970f0efeb81e2e20c73593)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-10-11 18:08:31 +01:00
Dongxiao Xu 6f6863a258 multilib: remove the multilib handling to allarch
currently we have allarch type of recipes, which may still have
architecture dependency, like x11-common. So we need to drop the
handling to allarch in multilib case.

Also remove the PV postfix in python-pygobject DEPENDS, since multilib
code will treat a native package multilib capable.

[YOCTO #1497]
[YOCTO #1498]

(From OE-Core rev: 64c0279e6b0d2325a326058476228360898550f3)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-28 14:58:53 +01:00
Paul Eggleton 8c310ee0a9 task-core: split into task-core-console and task-core-x11
[YOCTO #1481]

Since tasks are referred to almost exclusively via RDEPENDS, and bitbake
will build an entire task recipe when only one of its task packages are
actually needed, building a console-only image that uses
task-core-apps-console (or less directly, has apps-console in its
IMAGE_FEATURES) will cause a build of a whole list of X11 applications
that aren't needed. Splitting the task-core recipe into X11 and console
portions prevents this issue.

(From OE-Core rev: 07407baafb728c5ae1bb283f5b02a2ac773360bc)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-15 11:23:57 +01:00
Dongxiao Xu 50e184e0d9 multilib: Remove recipe from multilib.conf that inherits allarch
Recipes like update-rc.d and qemu-config inherit "allarch", thus we
shouldn't add multilib BBCLASSEXTEND for them in multilib.conf.

Besides, we need to add multilib packages as the RPROVIDER contents for
those recipes, in order to avoid the NoProvider error when parsing.

[YOCTO #1471]

(From OE-Core rev: 329d864f9bbf94ad3aae8df43d63fe10e4237e4f)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-13 17:08:13 +01:00
Dongxiao Xu 9e48dd7411 multilib: Remove the multilib extension for linux-yocto
Kernel should be unique in a multilib system, so we remove the
linux-yocto's extension in multilib.conf

(From OE-Core rev: db78d1289705a38f0069f84101296e9309d67fa3)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 22:54:16 +01:00
Richard Purdie f9c3639238 multilib: Only build one kernel
For a given system we only want one kernel to be built. This change makes
the main kernel recipe provide all of the provides of the various enabled
multilibs hence allowing it to fulfil all the appropriate dependencies.

To make this work a global multilib class file needed to be created.

This patch also enables this multi provider functionality for "allarch"
packages.

[YOCTO #1361]

(From OE-Core rev: 2fd257f6c610624f05c8dd3fe1486364af04696f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 18:25:11 +01:00
Dongxiao Xu accab54cd5 multilib: extend multilib prefix for libsdl
libsdl is required by sato image, so extend it for multilib.

(From OE-Core rev: 88abab9ba9632e87f3a081915a69cbc5c36b4d3c)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 18:15:31 +01:00
Dongxiao Xu 6ebcc6c199 multilib: Using different sysroot for multilib recipes
Thinking of the senario that, if we already built out a 64bit image
along with the full toolchain bootstrapped, then we need to build some
32bit libraries, which needs lib32 versions of gcc and eglibc. These
toolchain recipes will bootstrap again in the same sysroot, resulting
that lib32-gcc-cross-initial will find some macros owned by eglibc have
already been defined and thus it includes non-existed headers that
provided by later lib32-eglibc.

The solution for the above issue is to use different sysroot for
multilib recipes, here we add ${MLPREFIX} in front of the machine
specific sysroot directory name.

[YOCTO #1372]

(From OE-Core rev: a1508ad1aec2d2f9ee040aa217c33193cd5bd871)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-02 18:15:31 +01:00
Lianhao Lu 375cf1561c utils.bbclass/multilib.class: Added misc supporting functions.
1. Added variable MULTILIB_VARIANTS to store all the instance variants
for multilib extend.

2. Added function all_multilib_tune_values to collect the variable
values for all multilib instance.

3. multilib bbclass handler will save the orignal value of all variables
defined in MULTILIB_SAVE_VARNAME.

(From OE-Core rev: 18bba910e04bff75460f408e4557d4bae21ad592)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-15 15:26:17 +01:00
Lianhao Lu 4ae834e747 multilib.conf: Supported multilib extend in more recipes.
Added more recipes supporting multilib extend.

(From OE-Core rev: 844b2db35ba5b2e263960aa79dee0d4eb2db3f2e)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-08 13:59:33 +01:00
Richard Purdie fae195515f multilib: Add missing files from broken patch merge
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-27 16:21:48 +01:00