qemu-testlib: Add python helper and simplify shell

The current code has a race since it greps for *any* qemu process
running, even if it isn't the one we started. This leads to some sanity
tests potentially failing on machines where multiple sets of sanity tests
are running.

To resovle this and some other ugly code issues, add a python script
to accurately walk the process tree and find the qemu process. We can
then replace all the shell functions attempting this which happen to
work in many cases but not all.

Also clean up some of the error handling so its more legible.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/qemutestlib: Add better process debugging and fix process group issue

In single testing with a shutdown scenario the processes are cleaned up correctly
but the manual cleanup fall back used for a minimal image do not work properly.
This patch fixes the kill commands to revert to non-process groups, fixing
the hung process issues that were occuring.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
qemuimage-testlib: Fix IP address handling

Remove some pointless code and also fix the return handling
for the function since it returns null, not 0 as the comments
would suggest.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
qemuimage-testlib: Add delay to work around races in qemu startup

Qemu changes pid when starting up. On a loaded machine, this can result
in the incorrect pid being returned. Since qemu will take a few seconds to
boot anyway, we might as well delay a short while and allow things to settle
which should fix various race issues being seen on the autobuilder.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
qemuimage-testlib: Add extra debugging and sanity check

Check for a zero IP address since its clearly incorrect if that value
is found. Also add debugging for cases where we can't find the qemu
process. A process listing is handy to help understand what the problem
might be.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
runqemu: Improve error handling/exit codes

runqemu-internal is sourced so should be returning with an error code in
case of errors. runqemu needs to deal with this.

This patch fixes up the various error paths so we're consistent and get
a sane exit status for runqemu which helps a lot in its use in the qemu
runtime testing on the autobuilder.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/runqemu-internal: Fix lock races

There are two problems here. Firstly the grep command is unanchored so
pid 345 will match against 12345 and so on.

The second issue is that there are several context switched between attempting
the lock and then writing the pid to it.

Between the two issues, there were issues appearing on the autobuilder due
to these conflicts. This patch replaces the mechanism with flock on fd 8
which should be a safer mechanism to use.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
scripts/qemu-testlib: Add more debugging information

This extra information should allow better forensics if the sanity tests
fail as they're currently doing occasionaly on the autobuilder for unknown
reasons.

The patch also tightens up certain checks to remove pointless noise and
error output from the logs.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
qemuimagetest: fix erroneous ps errors when qemu couldn't be started

The helper script was printing an error to stdout when it couldn't find
any qemu child processes; output this error to stderr instead and
redirect stderr to /dev/null when running from qemuimage-testlib so that
QEMUPID is actually blank if there are no qemu instances found.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
qemuimagetest: collect and print runqemu output

If runqemu (or qemu itself) fails we need to know why, so tee out to a
log file and print it when we can't find the qemu process or determine
its IP address.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
qemuimage-testlib: Capture stderror in the logs as well as stdout

This allows error messages to be captured in the logs which is helpful.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
rootfs_ipk.bbclass: add missing --force_postinstall option

The force_postinstall option was missing and some packages were
configured on target rather than on host at rootfs time.

(From OE-Core rev: dfadfaa0b38678029ffebe14f15e2dbc148cb1fb)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
remake: do not create po files

The 'make update' was using wget to get the gmo and other gnu files from
upstream, since need to work cleanly in a non-networked or proxy environment
this does not so well.  Remove the list of languages from the LINGUAS file.

[YOCTO #3745]

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
systemtap: add python and bash dependencies

There are a number of scripts in the systemtap installation that use
python and bash, so we need to add run-time dependencies for them.  If
not, we can generate build errors like "no package provides
/usr/bin/python".

Fixes [YOCTO #3951].

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
perf: add bash dependency

There are a number of scripts in the perf installation that use bash,
so we need to add a run-time dependency on bash for them. If not, we
can generate build errors like "no package provides /bin/bash".

Fixes [YOCTO #3951].

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
ncurses.inc: Fix display corruption and add fallback for sstate compiled paths

CQID: WIND00402979

Display corruption was occurring on 64 bit hosts using menuconfig for
the kernel and busybox with the ncurses-native or ncurses-nativesdk
because the configure arguments were not sufficient vs the expected
use from the upstream source.

Also changed in this commit is to provide a fallback to the hard
compiled paths for the terminfo and termcap.  Eventually this needs to
be fixed another way if we want a truly portable SDK because any SDK
that is relocated or native binaries pulled out of the sstate can end
up referencing terminfo files that no longer are in the same location.
Because the host system has terminfo files that ncurses will happily
use we might as well have a fall back to buy some time for a better
fix, vs having thing just not work occasionally when using sstate.

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
libtool: Ensure the paths to sed are not hardcoded

If you:

bitbake sed-native
bitbake libtool-cross

then libtool-cross has SED="/path/to/sysroot/sed" which is incorrect. If that
is reused from sstate or sed-native is cleaned, the build will fail.

This patch simply sets sed to be "sed" since we're not on systems where
the sed from PATH is broken.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
console-tools: Clean up recipe

This cleans up various bits of nastiness in this recipe:
  * Drop unneeded m4 macros
  * Update to a recent version of gettext (needs addition of Makevars file)
  * Drop split do_compile and SUBDIRS hacks, just patch out the docs
  * Remove some of the configure.in hacks since they seem unneeded now
    and break gettext (the AC_OUTPUT change).
  * Wipe out acinclude.m4 since it has corrisive contents

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
console-tools: Fix build issues with make 3.82

The intl directory is part of older gettext and has macros which no
longer get expanded with recent gettext versions. This simply removes
the intl directory from the equation since we'd never need it.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
console-tools: fix linking when using the multilib compiler

fix-libconsole-link.patch: add patch for fixing libconsole
linking problems when using multilib gcc

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>