classes/externalsrc: enable global inherit and simplify usage

This class can now be inherited globally using INHERIT += rather than
needing to inherit it in the recipe itself. Additionally, instead of
setting S (and optionally B), set EXTERNALSRC (and optionally
EXTERNALSRC_BUILD) to point to the external source and build locations
respectively.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
utils.bbclass: Tweak create_wrapper

Currently the full path is specified to exec however this may incorporate a
build path which in the nativesdk case, is not transformed to a target system
path. This leads to failures due to incorrect paths.

This patch ensures the full build path is not encoded into the wrapper script.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
python: Add nativesdk wrapper to handle terminfo

Currently if you build nativesdk-python, install it and try and run it,
you see it search in the default nativesdk path for terminfo files
when the readline module is used.

If terminfo files cannot be found, or if the ones found are incorrect,
the system may emit control characters which confuse commandline
processing.

This patch sets the TERMINFO_DIRS variable to ensure the correct locations
are searched for terminfo files, starting with the nativesdk terminfo files
and falling back to the host systtem's.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
alsa-lib: Change function type to "static __inline__"

"extern __inline__ function()" is the inlined version that
can be used in this compilation unit, but there will be another
definition of this function somewhere, so compiler will not emit
any code for the function body. This causes problem in -O0,
where functions are never inlined, the function call is preserved,
but linker can't find the symbol, thus the error happens.

since no packages provide atomic_add and atomic_sub, and -O0
Optimize is hoped to keep for debug, we can change extern to
static to fix this problem.

Signed-off-by: Roy.Li <rongqing.li@windriver.com>
Signed-off-by: Jesse Zhang <sen.zhang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
alsa-lib: check if wordexp is supported in libc

eglibc could be configured to build without the wordexp feature.  To
ensure that the wordexp feature could be used, the configure script must
check if wordexp() is supported in libc in addition to checking if
wordexp.h exists.

Signed-off-by: Hong H. Pham <hong.pham@windriver.com>
Signed-off-by: Jesse Zhang <sen.zhang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
oe-buildenv-internal: Ensure error messages got to stderr

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
opkg: fix header installation for libopkg

When opkg is built outside the source directory, libopkg headers aren't all
installed as the search path for headers only includes the directory that make
is being ran in, not the source directory. So we fix this by adding
$(srcdir)/*.h to the list of header files to install.

Without this patch, "/usr/include/libopkg" will only include the file config.h.
With this patch, other files such as "opkg.h" are present which are needed to
compile software which uses libopkg.

The new patch has also been submitted upstream as a fix to opkg itself.

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
opkg: put libopkg header files into libopkg-dev

The header files for libopkg belong in the package libopkg-dev rather than
opkg-dev where they are placed by default.

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
pseudo: drop version 1.4.5 recipe

We've been using 1.5.1 for a while now with success, so in line with the
OE-Core policy of avoiding multiple versions of the same recipe let's
drop this version.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
gcc-4.8: Backport fix for ICE triggered in pixman

* http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57329

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
matchbox-panel: bump SRCREV for linkage fixes

Newer toolchains are stricter with linking.  Patches have been merged upstream
so bump the SRCREV to use them.

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
sato-screenshot: bump SRCREV for linkage fixes

Newer toolchains are stricter with linking.  Patches have been merged upstream
so bump the SRCREV to use them.

fix_ldadd_order was also merged upstream, so delete it.

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
linux-yocto/3.8: fix gcc 4.8 ARM boot issues

Updating the linux-yocto-3.8 SRCREVs to fix a boot issue with ARM boards
when gcc 4.8 is used.

Without the following mainline backports:

  f200475 ARM: 7670/1: fix the memset fix
  8215b0e ARM: 7668/1: fix memset-related crashes caused by recent GCC (4.7.2) optimizations

The following trap will be seen on boot:

    [<c00fc3b8>] (kmem_cache_alloc_trace+0x54/0x210) from [<c039f074>] (con_insert_unipair+0xcc/0x11c)
    [<c039f074>] (con_insert_unipair+0xcc/0x11c) from [<c039fec8>] (con_set_default_unimap+0xfc/0x198)
    [<c039fec8>] (con_set_default_unimap+0xfc/0x198) from [<c07ee258>] (console_map_init+0x44/0x58)
    [<c07ee258>] (console_map_init+0x44/0x58) from [<c07ee738>] (vty_init+0x16c/0x1b0)
    [<c07ee738>] (vty_init+0x16c/0x1b0) from [<c07edb68>] (tty_init+0x108/0x148)
    [<c07edb68>] (tty_init+0x108/0x148) from [<c07eead0>] (chr_dev_init+0xb4/0xd8)
    [<c07eead0>] (chr_dev_init+0xb4/0xd8) from [<c0008a18>] (do_one_initcall+0x11c/0x18c)
    [<c0008a18>] (do_one_initcall+0x11c/0x18c) from [<c07d89d0>] (kernel_init_freeable+0x16c/0x254)
    [<c07d89d0>] (kernel_init_freeable+0x16c/0x254) from [<c05a3810>] (kernel_init+0x18/0x160)
    [<c05a3810>] (kernel_init+0x18/0x160) from [<c000e530>] (ret_from_fork+0x14/0x20)
    Code: e593a000 e35a0000 0a000020 e5943014 (e79a1003)
    ---[ end trace e6c62de166779f86 ]---
    Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

Moderate stress and board testing shows the fix to hold, and it is good for
broader testing.

[YOCTO #4549]

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
systemd-udevd: fix invoking init script failed

root@emenlow-noemgd:~# /etc/init.d/systemd-udevd restart
Stopping udevd
Starting udev
corrupt queue file
root@emenlow-noemgd:~# /etc/init.d/systemd-udevd status
udevd is stopped
root@emenlow-noemgd:~# ps
3805 root      8728 S    /lib/systemd/systemd-udevd

The process name is systemd-udevd rather than udev which is
used in systemd-udevd's init script.

[YOCTO #4746]

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
core-image-weston: add weston-examples to the image

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