kernel.bbclass: test for hardlinks before installing

commit df564c4 [kernel: Use hardlinks for do_populate_sysroot for speed]
does indeed speed up the build, but it also means that the KERNEL_OUPUT
and KERNEL_IMAGETYPE may be hardlinks.

If they are hardlinks, install complains that they are actually the same
file and stops the build. We can easily test and avoid the copy if the
file is already in place.

[YOCTO #5527]

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
package.bbclass: move reading shlibs providers to separate function

* prepare for reading shlibs providers only from dependency tree of
  current recipe

[YOCTO #4628]

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
package.bbclass: show warning when package is trying to provide already provided shlib

* move read_shlib_providers before registering package as provider
  and don't change provider if it already exists, show warning instead

[YOCTO #4628]

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
package.bbclass: add SHLIBSSEARCHDIRS to define where to search for shlib providers

* when package contains some files matching "^.*\.so", but in directory
  not default linker search paths (e.g. /opt/package/bundled-lib/libfoo.so)
  don't register it as libfoo provider, because it's possible that there
  is different package providing libfoo.so in ${libdir} and that would
  be better shlib provider for other packages to depend on
* recipes providing libs intentionally in some other directory can
  define own SHLIBSSEARCHDIRS value

[YOCTO #4628]

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
package.bbclass: Don't search for prividers of PRIVATE_LIBS

* split PRIVATE_LIBS and don't use find(), so that libfoo cannot be
  found in PRIVATE_LIBS = "libfoobar"

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
package.bbclass: Show which files require given dependency in debug output

* when log.do_package shows some unexpected dependency, people usually
  need to grep package directory to find which binary was creating that
  dependency, show it directly in the debug output

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
librsvg: Fix dependencies for PACKAGECONFIG gdkpixbuf

* without gtk+ or gdk-pixbuf available it gets disabled even with --enable-pixbuf-loader

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
libmatchbox: Add PACKAGECONFIG for png

* enable it by default, because it's more likely that people were
  building libmatchbox after libpng than before
* with png disabled it also fails, because of missing csetjmp include
  | mbpixbuf.c:128:3: error: unknown type name 'jmp_buf'
  |    jmp_buf setjmp_buffer; /* for return to caller */

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
weston: Add PACKAGECONFIG for poppler

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
guile: Add PACKAGECONFIG for readline

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
consolekit: Add patch to explicitly disable polkit when not enabled

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
qemu: Add PACKAGECONFIG for nss, uuid, tls and curses

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
generate-manifest-3.3.py: Add script to generate python 3.3 manifests

Bases on python 2.7.x generator

Signed-off-by: Khem Raj <raj.khem@gmail.com>
python-3.3-manifest: Add python3 manifest file

Signed-off-by: Khem Raj <raj.khem@gmail.com>
python3native.bbclass: Add python3 abstraction class

Signed-off-by: Khem Raj <raj.khem@gmail.com>
package_rpm.bbclass: Trigger the regexp on exact keyword match

This causes issues when postinstalls have ERROR keywords
its interpreted as error and image build is cancelled

Signed-off-by: Khem Raj <raj.khem@gmail.com>
classes/distutils: Introduce PYTHON_PN

This is needed to accomodate python3 alongside
python2

Signed-off-by: Khem Raj <raj.khem@gmail.com>
classes: Add distutils for python3

In line with python2 add distutils and setuptools
classes for handing python3

Use python-distribute instead of python-setuptools in setuptools bbclass

Remove --single-version-externally-managed since its setuptools
specific and we dont use it anymore

Signed-off-by: Khem Raj <raj.khem@gmail.com>
distutils: Introduce PYTHON_ABI variable

In python3 this has to be taken care of, it defines a variable to
denote ABI currently its at 'm' and it uses this to construct
the directory names for installing the python headers and library
names in sysroot. e.g. it will be something like ../python3.3m/...

We need this information when we are using distutils to cross build
python extentions and want to know the locations of python headers
and libraries install locations

Signed-off-by: Khem Raj <raj.khem@gmail.com>
distutils3: Do build_ext as separate step during compile

Remove PYTHON_BASEVERSION its moved to distutils3-base class

Add DISTUTILS_BUILD_EXT_ARGS for modules to pass flags to build_ext step
in setup.py

Add build_ext as sepate step during compile and add
the cross sysrooted library and headers since we are cross
compiling

Use ${PYTHON_PN} in place of hardcoding python name

Remove the /etc/share if its empty

Signed-off-by: Khem Raj <raj.khem@gmail.com>