classes/rootfs_rpm: improve speed of RPM rootfs construction

Improve the performance of the RPM backend during do_rootfs by
performing most of the package name to file resolution in a separate
utility written in C, processing the entire list of packages at once
rather than running rpm on the command line which loads the RPM database
for every package.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Rework installation of dev, dbg, doc, and locale packages

Use a similar mechanism that was previously used to install locales at
rootfs generation time to install other "complementary" packages (e.g.
*-dev packages) - i.e. install all of the explicitly requested packages
and their dependencies, then get a list of the packages that were
installed, and use that list to install the complementary packages. This
has been implemented by using a list of globs which should make it
easier to extend in future.

The previous locale package installation code assumed that the locale
packages did not have any dependencies that were not already installed;
now that we are installing non-locale packages this is no longer
correct. In practice only the rpm backend actually made use of this
assumption, so it needed to be changed to call into the existing package
backend code to do the complementary package installation rather than
calling rpm directly.

This fixes the doc-pkgs IMAGE_FEATURES feature to work correctly, and
also ensures that all dev/dbg packages get installed for
dev-pkgs/dbg-pkgs respectively even if the dependency chains between
those packages was not ensuring that already.

The code has also been adapted to work correctly with the new
SDK-from-image functionality. To that end, an SDKIMAGE_FEATURES variable
has been added to allow specifying what extra image features should go
into the SDK (extra, because by virtue of installing all of the packages
in the image into the target part of the SDK, we already include all of
IMAGE_FEATURES) with a default value of "dev-pkgs dbg-pkgs".

Fixes [YOCTO #2614].

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
classes/image: add staticdev-pkgs IMAGE_FEATURES feature

Add a staticdev-pkgs feature that can be added to IMAGE_FEATURES in
order to install all staticdev packages.

Fixes [YOCTO #2531].

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
buildhistory: improve performance of image info collection

Reduce the number of calls to the packaging tool, especially in the case
of rpm, using helper utilities to gather the required information more
efficiently where possible.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
ppp: bump PR to rebuild against libpcap1 instead libpcap

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
drm: move to PR/INC_PR, starting at r1 as libdrm_git was at r1

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
libdrm: libdrm does not depend on xcb any more

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>
libdrm: Put the license md5sum in the common include

With this, libdrm_git now does have LIC_FILES_CHKSUM as well.

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>
libdrm: Bump libdrm_git to 2.4.37

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>
libpciaccess: lpci access does not depend on X

So let's remove the X dependencies from DEPENDS and white list it in
xorg-lib-common.inc.

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>
usbutils 0.91: Fix NULL pointer crash.

[YOCTO #2847]

Before use usbbuslist, we should check if it is valid.

Signed-off-by: Roy.Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
pseudo.inc/pseudo_1.4.bb: update pseudo to 1.4

This update replaces the half-baked --arch logic with the use
of $CFLAGS to pick compiler flags, on the grounds that it makes
a lot more sense for the build system to pick flags than for
pseudo to try to guess what they should be; this should allow
pseudo to at least compile for targets, and possibly run on
them.

This doesn't solve the problem of guessing how to forcibly
build the 32-bit variant on hosts, because we really don't
have a general solution for that. There's no idiom for "given
this set of compiler flags and this architecture, what flags
would you use to request a 32-bit compile instead?" So we
basically ignore that for now. If someone comes along trying
to use the build system to build pseudo-native on a 64-bit
host that also supports 32-bit binaries and isn't x86, we
will revisit this.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>