perl: Fix perl module dependency issues

With the move of the strict/vars/config/warnings modules to the main perl
recipe, we need to RPROVIDE those modules to ensure that package dependencies
on those modules continue to work correctly.

(From OE-Core rev: fe88ae8605f22d9075e4200159aa66605ec36587)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
base.bbclass: Add PKGTRIPLETS and PKGMLTRIPLETS variables

These variables correspond to the PACKAGE_ARCH list combined with the TARGET_VENDOR
and TARGET_OS values. These can be used to traverse the pkgdata structure.

Setting these once in base.bbclass stops pkgdata needing to recalculate the values
and is also useful for the reworked shlibs code in a patch that will follow this.

(From OE-Core rev: f91322edc8b9f2a5906f3908bde2508ae97f2816)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
lib/oe/packagedata: Use the PKGMLTRIPLETS variable

(From OE-Core rev: 26e16a5e5ee1059fb8e55ab915ae9cb8e2b54dcd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
package.bbclass: Switch shlibs to pkgdata directory and make package non-machine specific

Currently, do_package is machine specific since the shlibs data is installed
into each machine specific sysroot. This change moves the shlibs data to the
pkgdata structure, at the expense of having to iterate over a set of shlibs
directories instead of a single one.

It turns out this isn't any particular hardship for the code and as a result,
do_package stops being machine specific leading to optimisations for builds
that use a common PACKAGE_ARCH.

(From OE-Core rev: cc088489d70fb27d460c3dbe35d6ea382123c134)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
sstate: Improve handling of machine specific manifests

Now do_package isn't machine specific, we're only left with do_populate_sysroot as a
machine specific task. This change marks only the machine specific manifests as machine
specific, defaulting to PACKAGE_ARCH for everything else.

This means we do less work where there are multiple machines using the same
core package architecture and we can start to clean up the sstate duplicate files
whitelist.

(From OE-Core rev: febeaf3d1b8917b660c7279b008d8b03337568e9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
documentation: poky-ref-manual - Updates to DEPENDS and RDEPENDS

Suggested changes to help clear up what the list of items
in each of these variables should be and how automatic
handling of libraries is dealt with.

Richard Purdie reviewed the changes.

(From yocto-docs rev: 53865f904d5d4675286419a57bbb9282edfc1d0b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
documentation: dev-manual - removed the wip.png figure

this figure used to be at the end of the development manual.
I have removed it from both figures directories and taken
it out of the TARFILE list in the Makefile.

(From yocto-docs rev: ad8fcfc4bddb6bcee0e1a4ece78cd87ab0d51b6c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
yocto-bsp: set branches_base for list_property_values()

yocto_bsp_list_property_values() is missing the context it needs to
properly filter choicelists, so add it to the context object.

Fixes [YOCTO #3233]

(From meta-yocto rev: 064b15f76c5b52899f4c3fdef06412c3063062a5)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
eglibc: Move perl- and bash-using scripts to separate recipes

This removes the dependency of eglibc.bb itself on perl and bash
which, in turn, eliminates the need to build those two recipes if the
scripts which need them are not going to be installed.

Also provide dummy do_evacuate_scripts() for all variants of eglibc-initial
otherwise the nativesdk and multilib variants might crash trying to
copy a non-existent mtrace script.

(From OE-Core rev: 734fabacdb36402808817ee5d72136c8ccbd08cc)

Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
eglibc-2.16: Use tar ball instead of svn SRC_URI

Adapt the recipes to fetch a tarball.
Tarball is generated from latest 2.16 branch
which has e500-math_private.patch already applied
hence we remove that patch.

(From OE-Core rev: 71dd4f3ff61a39e98f155407d2219d2938bc61d5)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
kernel.bbclass: Do not chdir to /boot before running update-alternatives

The symlink from uImage-3... to uImage is not created at image creation
time and not properly update on kernel upgrades. This is fixed by removing
the chdir. The other users of update-alternative do not change the directory
before calling it.

(From OE-Core rev: e73150ed8cf760de0db34a128de1c03986fb4450)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
xorg: remove XF86 BigFont extension

This has been disabled by default upstream since 2007, nothing uses it.

(From OE-Core rev: 81141ea6a4a09b413ab1a54cd8260b57b0ce8c93)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
atk: Update to 2.6.0

Newer Clutter releases want 2.5.3+, so upgrade to the stable 2.6.0.

(From OE-Core rev: 51907da0a77ddbe8f193007594ca7a31d1ec6092)

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
cpan-base: Add more debug paths to FILES

We seem to be mostly installing modules into vendor_perl nowadays.
Make sure that the .debug data from there is captured appropriately.

Also, expand ${PERLLIBDIRS} at the point of assignment so we don't
call the python again and again.

[RP: Fixup to whitespace]
(From OE-Core rev: a7ede3e75244cc2ac221afecc5305daec0ec6322)

Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
libxkbcommon: New window system-independent xkb library

Needed for weston and wayland clients to compile key maps.

(From OE-Core rev: d1afda9b7baca63180063fe8f2c975d3a63b28ab)

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
mtdev: New recipe for mtdev

(From OE-Core rev: f436e77fe95436c71adc4a8e2a85c6c828449316)

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
xserver-xorg: add runtime provides for the driver ABI version

The xserver driver ABIs can and do change in a way that is unrelated to the
version of xserver, so it's entirely possible to build an image that has a
mismatch between the server ABI version and the version that the drivers were
built against.  xserver detects this and refuses to load the modules.

By adding RPROVIDEs to the xserver package that describe the ABI versions it has
(such as xorg-abi-video-13, xorg-abi-input-11), drivers can RDEPEND on the
version that they were built against.  This means that when the ABIs change,
there will be package dependency errors at image time instead of images that
build fine but don't work.

(From OE-Core rev: a55fa5c9c7c0b5068ded4f4f9012fc866d795b17)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
insane: add a check for Xorg driver ABI dependencies

Now that xserver provides driver ABI names, all drivers should depend on the ABI
version that they have been built against.

All drivers that include xorg-driver-input.inc or xorg-driver-video.inc will get
these automatically, so this should only impact binary drivers.

(From OE-Core rev: 7abcc232f09190195e0b60e2dc03dbab76237707)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
opkg: Add patch to fix removing packages with recommends

While removing a package with opkg, the process shouldn't be blocked if
another package RECOMMENDS the package wanted to be removed. This is
because, while generating the dependencies, opkg adds dependencies to
depended_upon_by even if dependency's type is RECOMMEND. The fix is to
skip dependencies of type RECOMMEND while constructing depended_upon_by.

[YOCTO: #2431]

(From OE-Core rev: 326c1a869580457413f22a19c9456b180e186957)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
opkg: Don't print empty PROVIDES

Every package provides itself. While printing package information all
fields are printed only if there is any relevant info for them. For
example: a package with no "Replaces" won't get this printed at all.
Packages which provide only themselves, were printing this field but with
no values. This patch skips this field if the package provides only
itself.

(From OE-Core rev: 811879f0c9fef2682c0bd0e6be40dfa9881914f2)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>