sstate: Improve funciton checksums

Now that bitbake is recursing into pre/postfuncs, we need to ensure
the dependencies of these functions is correct. We don't want dependencies
on MACHINE or other related variables. This patch adds in appropriate
variable exclusions to achieve this.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
classes/buildhistory: write out files in UTF-8 format

If the package information contained unicode characters (for example, in
the package file listing) then writing them out as ASCII would fail, so
write them out using codecs.open() instead of open() using UTF-8. This
fixes ca-certificates failing in do_packagedata when buildhistory is
enabled.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
dbus: mask the dbus-1 init script if using systemd

If the image is built with both systemd and sysvinit there'll be a dbus-1 init
script and a dbus service. This means systemd can try and launch both, which
won't work.

There's a systemctl mask to stop this in systemd-compat-units, but the logical
place for it to be is in the dbus recipe so it can't be left out of an image.

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
systemd-compat-units: don't mask dbus, the recipe does this itself

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
iproute2: split out package for tc

tc (the IP traffic control utility) isn't often used and makes up a
reasonably large part of the iproute2 package as well as having a
runtime dependency on iptables, so split it out into its own package.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
systemd: add a hard dependency on udev=$EXTENDPKGV

If the systemd/sysvinit DISTRO_FEATURES are changed without wiping the package
feeds it's possible to build an image that pulls in mismatching versions of
systemd and udev.  This leads to images that are broken and don't boot
correctly.

Prevent this by adding a version-locked dependency on udev in systemd so that
images that attempt to install mis-matching versions don't build.

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
glib-2.0: fix race in parallel builds

There is a race condition in the makefile that can result in build failures like
this in parallel builds:

| ./gdbus-test-codegen-generated.h:7:0: error: unterminated #ifndef
|  #ifndef __GDBUS_TEST_CODEGEN_GENERATED_H__

Fix the rules to stop this happening.

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
distcc: rename systemd service to distcc

The sysv init script is called distcc, so rename the service to match so that in
hybrid systemd/sysvinit images the service correctly masks the init script.

This prevents such images from failing to start the distccd unit with error code
102, as the ports it wants to bind to are already taken.

Signed-off-by: Ross Burton <ross.burton@intel.com>
pcmanfm: apply a patch to the source, not a generated file

no-desktop.patch was applying to a generated file, not the true source, which
meant it may not appear to be applied in the resulting package.

Signed-off-by: Ross Burton <ross.burton@intel.com>
build-appliance-image: Update to poky commit b37dd451a52622d5b570183a81583cc34c2ff555

This update will add improvements to HOB,
fix issues encountered during build.

Fixes [YOCTO #5759].

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
systemd-compat-units: Handle nfs scripts

The nfs init scripts have both systemd and sysvinit versions with
non-matching names so we need to mask out the duplicate scripts
else we see NFS errors on bootup.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
binutils: Add backports to resolve systemd (from git) breakage

Backport the patches for PR2404 and PR16476 from binutils to
resolve failures when compiling systemd from git.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
openssh: package sshd PAM config inside openssh-sshd package

Without this PAM integration is broken after installing openssh-sshd

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
openssh: drag in required PAM modules.

/etc/pam.d/opensshd lists keyinit and uid as required, so add them to
RDEPENDS when PAM is enabled.

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
ossp-uuid: Use alternative source mirror

Original ftp location is inaccessible

Fixes

WARNING: Failed to fetch URL
ftp://ftp.ossp.org/pkg/lib/uuid/uuid-1.6.2.tar.gz, attempting MIRRORS if
available

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
sbc: upgrade to 1.2

- allows high precision encoding;
- setup enc/dec A2DP streams;
- switched to ${BP};
- license was wrong, corrected;
- added Intel Corporation as a copyright owner,
triggering a change in copyright checksum.

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
bluez5: upgrade to 5.14

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
classes/populate_sdk_base: remove nostamp from do_populate_sdk

We've removed nostamp from do_rootfs in image.bbclass in OE-Core commit
8505008c115efb54d18e5f25441c7a938a32ffaf, and we should do the same for
do_populate_sdk here for the same reason - we can now rely on task
signatures so if nothing has changed, we don't need to re-run it.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
testimage: add ability to export tests

Add the ability to export the tests so that they can run independently of
the build system, as is required if you want to be able to hand the test
execution off to a scheduler.
Booting/deployment of the target is still handled by the build system,
as before, only the execution of the tests happens outside of the build system.
Tests exported are the ones defined in TEST_SUITES.

No tests have been changed as interesting parts of the data store have been
exported and tests can continue to query them as before. Small adjustments were made
for a couple of oeqa modules though.

[YOCTO #5613]

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
lib/oeqa: add module for running tests outside of the build system

This script will run the exported tests outside of the build system.

Simplest way to test this is with a qemu image that you manually start.
For an already build image use this in local.conf:
TEST_EXPORT_ONLY = "1"
TEST_TARGET = "simpleremote"
TEST_TARGET_IP = "192.168.7.2"
TEST_SERVER_IP = "192.168.7.1"
Export the tests: bitbake core-image-sato -c testimage
Then: runqemu core-image-sato
And: cd build/tmp/testimage/core-image-sato
     ./runexported.py testdata.json

The contents of build/tmp/testimage/core-image-sato can be moved on another machine
as long as some paths are updated in the json.
The exported data contains paths to the build dir. We only care about DEPLOY_DIR/rpm (
if the rpm and smart tests are enabled), so running the tests on other machine
means that the user has to move the contents and call runexported with --deploy-dir PATH:
 ./runexported.py --deploy-dir /path/on/another/machine testdata.json
runexported.py accepts other arguments as well, see --help.

[YOCTO #5613]

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>