classes/buildhistory: fix error when no packages are installed

"xargs -n1 basename" will execute basename even if there are no lines
piped into it, causing a "basename: missing operand" error if no
packages are installed, which will happen for the target portion of
buildtools-tarball.

(xargs' -r option could have been used here, but it is a GNU extension
and I thought it best to avoid that for the sake of future
interoperability).

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
utility-tasks/distrodata: Add recideptask flag for fetchall/checkuriall

See the bitbake commit adding the recideptask flag for details of the
problem but in summary, we weren't seeing the [depends] of tasks like
do_rootfs being taking into account for fetchall. This was leading
to not all sources being fetched and this is the OE-Core part of the
fix for this problem.

BB_DEFAULT_TASK is the default task used since this is the one that
most commands would end up targeting and is how users expect the command
to behave.

[YOCTO #4597]

(From OE-Core rev: abf468963a087244887384122fd5202909e7f118)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
qemu: fix segfault in Xorg when not using kvm

This backported patch will fix this Xorg issue and, probably, many
others which didn't show up yet.

[YOCTO #4737]

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
tcl: remove hardcoded library install path

Remove hardcoded library install path and then install library to
${libdir}.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
tcl: fix unit test boundary year issue

Unit test clock.test check the boundary year 2099 which is not
inclusive. Include 2099 to be a valide year number.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
qt4: add eglibc-gconv-utf-16 to QtCore RRECOMMENDS when using glibc

This fixes the following warnings when running Qt applications:
QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed
QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed

Qt's QString class stores strings internally using UTF-16 encoding.
The UTF-16 iconv module is needed to convert between the system's local
8-bit representation and QString's UTF-16 encoding.

For example, the following functions would be affected:
QString::fromLocal8Bit(...)
QString::toLocal8Bit(...)

If the UTF-16 iconv module couldn't be loaded, it would use Latin-1
encoding instead of the system's encoding for conversion.

[YOCTO #349]

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
base.bbclass: Ensure finalised data is displayed in build banner

The build banner displayed at the start of builds can be misleading since
the data store has not been finalised. As easy way to illustrate this is
to use something like:

DEFAULTTUNE = "i586"
DEFAULTTUNE_<machineoverride> = "core2"

and the banner will display the i586 tune yet the core2 tune will be
used. We can avoid this if we finalise a copy of the data before
displaying it.

[YOCTO #4225]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
strace: update to 4.8

Update strace to 4.8:

* Update License file.
* Remove the backport patches which are already in version 4.8.
* Add file git-version-gen from git repo. Without this file configure
  fails.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
strace: add configure options libaio and acl

Add strace configure options libaio and acl to enable or disable build
with them. Then PACKAGECONFIG can be used to handle dependency.

Set "libaio" as a default feature of PACKAGECONFIG.

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
psplash: Bump PR to allow removal of PRINC from meta-yocto

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Sync with PRINC removal from meta-intel

PRINC usage is removed from meta-intel, bump core PR values to ensure
no version regressions.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
sanity.bbclass: Drop horrible obsolete minversion hack

We once needed to do this, things seem to work fine without this now,
thankfully.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
sanity.bbclass: Various improvements

I started trying to make some changes in sanity.bbclass and couldn't stand
the current code. This patch splits out the one big function into a number
of smaller units and adds a status class which handles queuing of messages
and issues like network errors and whether a reparse is required. It also
cleans up some syntax and obsolete code.

The other fundamental change is the tests are split into ones which run
once and those which run at every build. This was always the way the
class was intended to work but that got lost somewhere along the way.
This patch fixes that.

Its still far from perfect but it is hopefully an improvement
and sets the scene for other improvements to be built on top of this.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
systemctl: Support all unit types in the directives.

The Alias and WantedBy directives can accept all valid unit types when
using the systemctl from systemd. And since the systemctl script should
match the behavior of systemd as much as possible, add the current set
of unit types listed at
http://www.freedesktop.org/software/systemd/man/systemd.unit.html
to the Alias and WantedBy directives.

The deficiency was exposed when trying to use:
    Alias=default.target
in a foo.target. No symlink was created by running
"systemctl enable foo.target" during the package's postinst.

Signed-off-by: Randy Witt <rewitt@declaratino.com>
systemd: Don't enable systemd services when native.

It shouldn't be desired that systemd enable services when using
class native. Blanking out the SYSTEMD_PACKAGES when native seems
like the most straightforwards way to fix this problem.
systemd: Move functions that only affect metadata to parse time.

The functions that don't have dependencies on the data in ${D} should
run at parse time. This way overrides behave correctly and the
python functions can actually be replaced/redefined in individual
recipes.

i.e:
systemd_postinst() {
}

This is useful for times when you don't want to enable or disable a
service automatically on install, but still want the rest of the
functionality of the systemd.bbclass.

second