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.
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.
Martin Jansa [Wed, 13 Mar 2013 20:01:51 +0000 (21:01 +0100)]
bitbake: runqueue: Use taskData.fn_index[depdata] instead of uninitialized dep
* dep variable was removed in
commit 3190cb83e2af195a464f669c5aa8aedbf795160e
Author: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Wed Jun 27 11:04:06 2012 +0100
taskdata: Add gettask_id_fromfnid helper function
This is like gettask_id but doesn't require translation of fnid -> fn
first which the function then translates back. This gives a sizeable
performance improvement since a significant number of lookups are avoided.
* now it fails completely instead of showing which task is missing
Cristiana Voicu [Mon, 11 Mar 2013 13:06:58 +0000 (15:06 +0200)]
bitbake: hob: some settings in Hob are not remembered
Some settings in Hob were not saved in Bitbake and they were not displayed
correcty in Hob, because Hob used some other variables with the extension "_HOB".
I have removed this, in order to have a consistency for the variables.
ALso, I called a function to load the extra variables saved in .hob/template_default.hob.
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.
Robert Yang [Sat, 16 Mar 2013 08:07:41 +0000 (16:07 +0800)]
bitbake: utils.py: fix BB_ENV_WHITELIST
The BB_ENV_WHITELIST doesn't work well and flushes BB_ENV_EXTRAWHITE,
here is an example:
$ export BB_ENV_WHITELIST
$ export BB_NUMBER_THREADS=10 (or other value)
Edit conf/local.conf, change "BB_NUMBER_THREADS =" to "BB_NUMBER_THREADS ?="
$ bitbake -e | grep '^BB_NUMBER_THREADS ='
we will notice that BB_NUMBER_THREADS' value doesn't change, though
BB_NUMBER_THREADS in both BB_ENV_WHITELIST and BB_ENV_EXTRAWHITE.
This is because the "approved" inside the function approved_variables
doesn't include BB_ENV_WHITELIST or BB_ENV_EXTRAWHITE when
BB_ENV_WHITELIST is set (they are incuded by preserved_envvars()), so
the BB_ENV_WHITELIST and BB_ENV_EXTRAWHITE will be removed from the env
in the first call from bin/bitbake, and when it is called again by
cooker.py, their value will be None, then the vars inside them will be
removed from the env.
Add BB_ENV_WHITELIST and BB_ENV_EXTRAWHITE to the "approved" would fix
the problem.
Robert Yang [Fri, 15 Mar 2013 07:42:48 +0000 (15:42 +0800)]
bitbake: monitordisk.py: monitor disks based on path
The previous monitor is based on the disk, and one disk only can have
one action, this limits its function, for example we set this in the
current local.conf:
Before:
* If TMPDIR, DL_DIR and SSTATE_DIR are on the same disk partition,
only the last line "ABORT,${SSTATE_DIR},100GM,1K" works
* If TMPDIR, DL_DIR and SSTATE_DIR are on the different disk partitions,
only the last three lines (ABORT) work.
These are not what we expect, now:
* We monitor the disk based on the path and action, so all the six lines
will work no matter whether they are on the same disk partition or
not.
* The out put format will be:
WARNING: The free space of /path/to/directory (device) is running low (XXGB left)
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
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.
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.
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.
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.
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: Felipe F. Tonello <ftonello@cercacor.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Felipe F. Tonello <ftonello@cercacor.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
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.
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.
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.
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.