Richard Purdie [Thu, 21 Mar 2013 14:29:57 +0000 (14:29 +0000)]
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>
Richard Purdie [Wed, 20 Mar 2013 22:58:30 +0000 (22:58 +0000)]
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>
Alexandru DAMIAN [Tue, 12 Mar 2013 09:56:02 +0000 (09:56 +0000)]
grep: Always use locale.h
The changes in the grep 2.5 configuration always leave out
HAVE_LOCALE_H - it has been removed from other files, but
not from everywhere.
This leads to a crash in certain configurations where the
size of int is not the size of pointer; this happens because
setlocale() is used while being undeclared.
[YOCTO #3959]
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Wed, 20 Mar 2013 11:48:53 +0000 (11:48 +0000)]
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>
Richard Purdie [Wed, 20 Mar 2013 10:58:24 +0000 (10:58 +0000)]
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>
Richard Purdie [Wed, 20 Mar 2013 09:27:39 +0000 (09:27 +0000)]
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>
Richard Purdie [Tue, 19 Mar 2013 20:54:33 +0000 (20:54 +0000)]
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>
Maxin B. John [Tue, 19 Mar 2013 12:37:04 +0000 (13:37 +0100)]
harfbuzz: update the license information
harfbuzz is using the 'Modern Variants' of MIT License:
https://fedoraproject.org/wiki/Licensing:MIT?rd=Licensing/MIT#Modern_Variants
We can update the LICENSE as 'MIT & ICU'.
Fixes this warning:
WARNING: harfbuzz: No generic license file exists for: Old-MIT in any provider
WARNING: harfbuzz: No generic license file exists for: UCDN in any provider
WARNING: harfbuzz: No generic license file exists for: HarfBuzz-old in any provider
Signed-off-by: Maxin B. John <maxin.john@enea.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 19 Mar 2013 13:22:59 +0000 (13:22 +0000)]
perf: Fix parsing error
Due to the use of ${@...} the code will try and expand this when
performing the initial parsing. If the sysroot doesn't exist with
an existing kernel, this will fail at parsing time.
Sinec we're already in python, just remove the ${@....} wrapping
and then we execute at do_package time which is what we want.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tom Zanussi [Tue, 19 Mar 2013 04:58:07 +0000 (23:58 -0500)]
perf: make PKGV match kernel version
Have perf grab and use the kernel version it's built from for PKGV,
rather than the default perf recipe version, so the final packages get
the kernel version instead of the default 1.0, which represents a
backwards value from the previous recipe.
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 19 Mar 2013 11:44:27 +0000 (11:44 +0000)]
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>
Jason Wessel [Mon, 4 Mar 2013 23:48:41 +0000 (23:48 +0000)]
syslinux.bbclass: Add a default serial console option and real boot menu support
The previous syslinux menu code did not support using both a serial
and vga console, but this has worked for years in syslinux so there is
no reason not to take advantage of it. The previous menu looked like:
-------------------------------------------------------
Linux Boot Menu
The following targets are available on this image:
This commit makes it look something more like a traditional grub menu
on both the serial console and vga console as well as providing the
option to continue on using either the serial or vga console with the
correct kernel arguments.
You can see the screen shots attached to the bugzilla.
Khem Raj [Sun, 17 Mar 2013 22:56:24 +0000 (22:56 +0000)]
iptables: Turn ipv6 and libnfnetlink support into PACKAGECONFIG
Detection of libnfnetlink is automatic in configure which means
that when you have meta-networking in your cosmos, it would create
a race condition where if libnfnetlink is already staged then it
will be enabled otherwise disabled. The issue happens quite often
with sstate and high parallelism. Since the dependency libnfnetlink
is not part of OE-Core, this patch turns it into a PACKAGECONFIG
which is diabled by default and iptables is patched to provide
the knob.
If you want to enable libnfnetlink support then it can be done
in a bbappend where you are sure that you are also including
meta-networking in your distro.
While at it also turned ipv6 support into packageconfig
Olivier Guiter [Mon, 18 Mar 2013 15:34:57 +0000 (15:34 +0000)]
neard: upgrade to 0.10
neard ver 0.10:
Added initial WiFi handover support.
Added Service Name Lookup support to nfctool.
Added NDEF building unit tests.
Added State support to Bluetooth handover agent.
Added neard and neard.conf man pages.
Added a copy of the NFC kernel header.
Fixed handover validation tests failures.
Fixed Tag and Device PropertyChanged signal.
Richard Purdie [Thu, 14 Mar 2013 17:26:20 +0000 (17:26 +0000)]
package: Add cachedpath optimisation
Currently, various standard library operations like os.walk(),
os.path.isdir() and os.path.islink() each call stat or lstat which
involves a syscall into the kernel. There is no caching since they could
conceivably have changed on disk. The result is that for something like
the do_package task of the kernel we're spending over two minutes making
868,000 individual stat calls for 23,000 files. This is suboptimal.
This patch adds lib/oe/cachedpath.py which are a set of replacement
functions for these operations which use cached stat data rather than
hitting the kernel each time. It gives a nice performance improvement
halving the build time of the kernel do_package.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Chase Maupin [Wed, 13 Mar 2013 12:03:50 +0000 (07:03 -0500)]
kernel bbclass: return to original directory in do_deploy
* During the base kernel_do_deploy function the directory is
changed to DEPLOYDIR in order to do some cleanup and symlinking.
However, the directory is not changed back to the original
starting directory ${S} at the end. For append functions this
means that the starting directory is not ${S} as expected but
instead ${DEPLOYDIR}.
For functions like the do_deploy_append in
recipes-kernel/linux/linux-dtb.inc there is an assumption that
you are still in the source directory and not the DEPLOYDIR.
Without this change the .dtb files are not copied because the
check for the existence of ${DTS_FILE} which is a relative
path from the ${S} directory fails. This means that the .dtb
files are not copied into the deploy directory and subsequently
the deploy/images directory.
In the log.do_deploy file you will see lines like:
Warning: arch/arm/boot/dts/xxxxx.dts is not available!
Colin Walters [Thu, 7 Mar 2013 23:45:22 +0000 (18:45 -0500)]
cracklib: Generate compiled dict using default dictionary
While cracklib compiles, the generated library's FascistCheck() API
will look for the default compiled dictionary, fail to find it, and
invoke exit(1), which then in turn breaks gnome-initial-setup that
uses cracklib via libpwquality. (Quality here obviously referring to
the password, and not the libraries...)
What we do here is basically the same as what happens in the current
Fedora spec file, except the latter uses a far larger dictionary.
To make this work, we need to build cracklib-native because the
dictionary compiler is written in native code.
Signed-off-by: Colin Walters <walters@verbum.org> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Chen Qi [Wed, 13 Mar 2013 07:01:33 +0000 (15:01 +0800)]
rm_work.bbclass: inhibit rm_work per recipe
Use RM_WORK_WHITELIST to inhibit rm_work per recipe. In this way,
one can use rm_work for the most of the recipes but still keep the
work area for the recipe(s) one is working on.
As an example, the following settings in local.conf will inhibit
rm_work for icu-native, icu and busybox.
INHERIT += "rm_work"
RM_WORK_WHITELIST += "icu-native icu busybox"
If we comment out the RM_WORK_WHITELIST line and do a rebuild, the
working area of these recipes will be cleaned up.
Kevin Strasser [Mon, 11 Mar 2013 22:51:23 +0000 (15:51 -0700)]
archiver: fix archive filtering behavior
With the addition of sstate, ensure that archiving tasks are only
added to the build if they produce output in the directory specified
by the 'sstate-inputdirs' flag.
Move calls to 'tar_filter' and 'not_tarball' out to
archive-*-source.bbclass in order to filter out packages before their
archiving tasks are added to the build.
Additionally, negate the return value of copyleft_should_include in
tar_filter, so that packages that do not pass are in turn filtered out.
Signed-off-by: Kevin Strasser <kevin.strasser@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Log and script archives are only generated when explicitly enabled by
setting the environment variable SOURCE_ARCHIVE_LOG_WITH_SCRIPTS to
'logs_with_scripts'. When left disabled, the path specified to be
handled by sstate is never created, resulting in a build error.
Only attempt to archive scripts and logs when explicitly enabled.
Signed-off-by: Kevin Strasser <kevin.strasser@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Richard Purdie [Mon, 18 Mar 2013 00:07:38 +0000 (00:07 +0000)]
image.bbclass: Drop legacy export of IMAGE_BASENAME
We used to export this in the days an external script handled the image
generation. This is no longer the case and hence we no longer need this
export.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 18 Mar 2013 00:01:22 +0000 (00:01 +0000)]
gcc-common: Exclude AVAILTUNES from sstate checksums
AVAILTUNES is only used as a sanity check, we don't need to
include it in the sstate checksum in this case. If included
it can cause problems when switching machines with a common
package architecture.
[YOCTO #3667]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 18 Mar 2013 00:00:06 +0000 (00:00 +0000)]
tune-xscale: Drop unneeded optimisation overrides
These hacks have been around for years and deal with old gcc issues.
They've been removed from the other use sites, we should clean up the
core tune file too.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>