Richard Purdie [Tue, 28 Jul 2015 16:51:42 +0000 (17:51 +0100)]
pixbufcache: Use sceneQueueComplete event to simplify usage
Ensuring the native pixbuf cache is correct after new loaders have
been installed is tricky. This needs to be done without races
and work regardless of whether the build is from sstate or freshly
built for one or more modules.
This adds a hook into base.bbclass which is then triggered by the
code from pixbufcache. This patch is an improved version which
means base.bbclass has no pixbuf knowledge and the mechanism can
be reused in other cases.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
André Draszik [Fri, 24 Jul 2015 13:14:30 +0000 (14:14 +0100)]
arch-armv7a.inc, feature-arm-vfp.inc: add tunes for vfpv3 and vfpv3d16
This adds tunes for ARM's v3 Vector Floating Point unit for
16 and 32 bit implementation:
http://www.arm.com/products/processors/technologies/vector-floating-point.php
See also https://wiki.debian.org/ArmHardFloatPort/VfpComparison
for a nice comparison and why vfpv3d16 is useful.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Roy Li [Mon, 27 Jul 2015 02:45:49 +0000 (10:45 +0800)]
bind: upgrade to 9.10.2-P2
upgrade to fix CVE-2015-4620:
name.c in named in ISC BIND 9.7.x through 9.9.x before 9.9.7-P1 and 9.10.x
before 9.10.2-P2, when configured as a recursive resolver with DNSSEC
validation, allows remote attackers to cause a denial of service (REQUIRE
assertion failure and daemon exit) by constructing crafted zone data and
then making a query for a name in that zone.
Signed-off-by: Roy Li <rongqing.li@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Robert Yang [Tue, 28 Jul 2015 09:05:09 +0000 (02:05 -0700)]
qemu: add PACKAGECONFIG for gnutls
Fixed:
qemu-2.3.99+2.4.0-rc2: qemu rdepends on nettle, but it isn't a build dependency? [build-deps]
qemu-2.3.99+2.4.0-rc2: qemu rdepends on gnutls, but it isn't a build dependency? [build-deps]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Robert Yang [Tue, 28 Jul 2015 09:05:10 +0000 (02:05 -0700)]
qemu_git.bb: remove it
Remove it since we have 2.4.0, the git version is 1.3 can't be built by
deafult:
ERROR: Fetcher failure: Unable to find revision 04024dea2674861fcf13582a77b58130c67fccd8 in branch master even from upstream
We can fix it, but seems that no one uses it any more.
And move patches from "files" dir to "qemu" dir.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Richard Purdie [Tue, 28 Jul 2015 13:23:37 +0000 (14:23 +0100)]
gcc: Add support for nativesdk-gcc
Being able to build a nativesdk gcc is useful, particularly in cases
where the host compiler may be of an incompatible version (or a 32
bit compiler is needed).
Sadly, building nativesdk-gcc is not straight forward. We install
nativesdk-gcc into a relocatable location and this means that its
library locations can change. "Normal" sysroot support doesn't help
in this case since the values of paths like "libdir" change, not just
base root directory of the system.
In order to handle this we do two things:
a) Add %r into spec file markup which can be used for injected paths
such as SYSTEMLIBS_DIR (see gcc_multilib_setup()).
b) Add other paths which need relocation into a .gccrelocprefix section
which the relocation code will notice and adjust automatically.
This patch adds tweaks to the relocation script to handle the
new section too.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sat, 25 Jul 2015 13:47:52 +0000 (14:47 +0100)]
cross-canadian: Put links in place for uclibc and musl
gcc-cross-canadian-<arch> is only built once. It needs to target all the
different libcs, not just the currently selected one. This change
ensures that if another libc is used, symlinks are present such that the
compiler can be found. The base version is always assumed to be "glibc"
with symlinks from musl and uclibc compiler names.
This means gcc-cross-canadian is consistent regardless of which libc is
selected when its build in multimachine builds.
Richard Purdie [Sat, 25 Jul 2015 13:48:21 +0000 (14:48 +0100)]
toolchain-scripts: For non-glibc, pass compiler options to ensure the correct libc selection
gcc-cross-canadian-<arch> is only built once. It needs to target all the
different libcs, not just the currently selected one. This change ensures
that if another libc is used, the compiler correctly selects the right one.
[YOCTO #8025]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 27 Jul 2015 21:15:57 +0000 (22:15 +0100)]
oeqa/qemurunner: Fix AttributeError: QemuRunner instance has no attribute 'server_socket'
If start() returns False due to create_socker() failing, stop() may still get
called and currently this gives a track back since server_socket doesn't exist.
Avoid this.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
nativesdk-qt4-tools: depend on nativesdk-qt4-tools only if DISTRO_FEATURES includes x11
Currently nativesdk-qt4-tools can't be built if the DISTRO_FEATURES doesn't contain x11.
To make it build we add a dependency to x11 only if the feature is activated.
Signed-off-by: Pascal Bach <pascal.bach@siemens.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 27 Jul 2015 13:24:22 +0000 (13:24 +0000)]
targetcontrol: Improve logs by outputting qemu boot log in case of failure
We've had a few cases on the autobuilder where we've lost logs of
the boot and been unable to debug it further. Show this information
onto the console to be more useful.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Mon, 27 Jul 2015 13:04:06 +0000 (14:04 +0100)]
oeqa/selftest/devtool: use new runqemu function
Use the common code we now have to run QEMU instead of running it
ourselves, avoiding reliance on the machine showing up at 192.168.7.2.
This also makes a copy of the image rather than using -snapshot so if we
need to inspect the image after a failure, we can.
Fixes [YOCTO #7928].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These tests were _deleting_ meta-intel if it happened to appear under
COREBASE, which could have been catastrophic if there was any work in
progress in that directory. It turns out we don't even need meta-intel,
but we do need a machine that's set up appropriately (e.g.
genericx86-64). Tests that involve layers outside of OE-Core don't
really belong in OE-Core, and genericx86-64 is in meta-yocto-bsp;
however we will soon have the capability to have selftest tests in other
layers, so remove this here so we can add a fixed version in
meta-yocto-bsp after that happens.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Mon, 27 Jul 2015 13:04:04 +0000 (14:04 +0100)]
oeqa/selftest/imagefeatures: fix RPM4 test
* Use our new runqemu function
* Don't hard-code the RPM4 version
* Double-check the native version is RPM4
* Check that an rpm 4.x package is in the image manifest (this isn't
strictly necessary, but "belt-and-braces" and it serves as an example
of how to do that)
* Check that the database is working on the target
* Ensure the image actually has openssh in it so we can connect to it
Initial runqemu adaptation by Richard Purdie <richard.purdie@linuxfoundation.org>
Part of the fix for [YOCTO #7994].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 27 Jul 2015 13:04:03 +0000 (14:04 +0100)]
oeqa/selftest/imagefeatures: fix SSH without password tests
* We need to set EXTRA_IMAGE_FEATURES outright or existing values will
affect the test
* For test case 1107 we need "empty-root-password" to match the behaviour
described in the test case
* For test case 1115 we shouldn't be able to connect as root with the
features we are setting
Test cases 1107 and 1115 have been updated in Testopia to match.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 27 Jul 2015 13:04:02 +0000 (14:04 +0100)]
oeqa/selftest/imagefeatures: Use QemuTarget code
Create a runqemu function which uses the QemuTarget() code from
oeqa.targetcontrol to setup the QEMU instance, with all of the added
robustness that that gives us. To do this, a datastore is needed for the
recipe in question (core-image-minimal) so we do the work needed to set
this up. We then use this runqemu function within the imagefeatures
tests instead of a hand-rolled implementation.
We can then use SSHControl to run the SSH tests rather than rolling our
own code to do that as an added bonus.
Fixed and extended by Paul Eggleton <paul.eggleton@linux.intel.com>.
Part of the fix for [YOCTO #7994].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Mon, 27 Jul 2015 13:04:01 +0000 (14:04 +0100)]
oeqa/targetcontrol: write QemuRunner log output to a file
If we use this outside of testimage we don't have a task log; so let's
just explicitly write the log output to a file all the time so it's
always there to look at (particularly useful when runqemu exits
immediately with an error.)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Mon, 27 Jul 2015 13:04:00 +0000 (14:04 +0100)]
oeqa/utils/qemurunner: fix error handling if runqemu exits with an error
* Don't wait for QEMU to start if it's never going to (because runqemu
exited with an error)
* Don't error out if killing the process fails with "no such process"
(we don't care if it's already dead)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Paul Eggleton [Mon, 27 Jul 2015 13:03:59 +0000 (14:03 +0100)]
oeqa/utils/qemurunner: avoid blocking on stty when running under oe-selftest
runqemu-internal runs stty to return the terminal to its previous state
in case QEMU hasn't done that properly (which it at least used to do
when it crashed). For some reason I have yet to determine, stty blocks
(on tcsetattr() according to gdb) when run within QemuRunner() under
oe-selftest, with the result that we always wait until the timeout and
then we kill the script, which adds an extra delay after QEMU is
stopped. Naturally you would assume that this is something to do with
the nature of the terminal under which it is being run; however no
amount of playing around with stdin/stdout/stderr seemed to fix the
issue, apart from passing in subprocess.PIPE as stdin which makes stty
error out with "stty: standard input: Inappropriate ioctl for device". I
was also unable to come up with a reliable test for the terminal which
we could use inside runqemu-internal to avoid calling stty. For now, go
with the stdin=subprocess.PIPE workaround to at least avoid the delay
with minimal ill effect.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
1) it prevented logging to the task log from working within bitbake
-c testimage. This is due to the logger object being set up too early
which interferes with BitBake's own logging. If we prefix the name
with "BitBake." everything works (and we don't need to set the
logging level).
2) Additionally because it called the log functions on the logging
module and not the logger object it set up, this caused the
oe-selftest logging to start printing everything from that point
forward.
Fix these two issues and return us to the desired behaviour for
do_testimage.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This makes it easier to extend, as a layer can add its own sub-commands.
Argument parsing is also separated into two steps, the same way it's done in
recipetool, as we need access to the global command-line arguments early,
before plugins are loaded, both for debugging arguments and for the bitbake
path (we need to load the bitbake module to get tinfoil, which is now needed
to load the plugins).
Rather than constructing tinfoil once and passing it through into sub-commands
for their use, we have to construct it for configuration metadata, use it, and
then shut it down, as some sub-commands call out to recipetool, which needs
its own tinfoil instance, and therefore needs to acquire the bitbake lock. If
we're still holding the lock at that point, that's clearly a problem.
[YOCTO #7625]
Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
This separates the argument parsing into two steps, which lets us apply global
settings like enabling debugging before the plugins load, so we can see the
paths where plugins are being loaded.
Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Ed Bartosh [Mon, 27 Jul 2015 10:55:52 +0000 (13:55 +0300)]
toaster.bbclass: Fix ValueError
Running "bitbake xxx:do_unpack" resulted in exception at the
BuildCompleted event from toaster.
The reason for this exception was usage of ':' as a field
delimiter in toasterstatlist file. As target can optionally
contain ':<task>' suffix it caused split(':') to throw exception:
File "toaster_collect_task_stats(e)", line 71, in
toaster_collect_task_stats(e=<bb.event.BuildCompleted object at
0x7f8434deed50>)
ValueError: too many values to unpack
Fixed by changing delimiter ':' -> '::'
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang [Mon, 6 Jul 2015 10:35:35 +0000 (03:35 -0700)]
gcc-target 5.1: fix for libcc1
Fixed:
* gcc 5 introduces a plugin libcc1.so, which is used by gdb, the target
gcc didn't build it in the past because gcc_cv_objdump is null, and
the error was:
gcc-5.2.0/libcc1/configure: line 14531: -T: command not found
This only happens for tar gcc as the code shows:
if test x$build = x$host; then
export_sym_check="objdump${exeext} -T"
elif test x$host = x$target; then
export_sym_check="$gcc_cv_objdump -T"
else
export_sym_check=
fi
* Install libcc1.so and libcc1plugin.so to
$(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version) as lto-plugin did.
* Use sed command to fix bad RPATH iussue.
[YOCTO #7956]
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sat, 25 Jul 2015 22:05:22 +0000 (23:05 +0100)]
update-rc.d: Include updated-rc.d in DEPENDS
If you build a user of updated-rc.d like udev, as things stand currently
nothing pulls in updated-rc.d but there is a dependency added on the
package at do_package time. This can lead to errors during rootfs
construction either with licensing. The fact its a RRECOMMEND means
the image are not deterministic.
A particularly good test case for reproducing this is:
Bruce Ashfield [Tue, 21 Jul 2015 15:21:07 +0000 (11:21 -0400)]
linux-yocto: introduce 4.1 versioned recipes
Updating the linux-yocto kernel recipes to include a named/versioned 4.1
recipe. This will be the LTSI kernel, and the 3.14 and 3.19 kernels will
be removed in subsequent commites (once reference boards have transitioned).
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Tue, 21 Jul 2015 15:21:05 +0000 (11:21 -0400)]
kern-tools: standalone tree configuration
Updating the kern-tools SRCREV to import the following changes:
cbd4b7102668 patchme/updateme: unify meta directory handling b65075997152 configme: standalone operation
The change of note is [configme: standalone operation], which makes the
kernel configuration script free from dependencies on other parts of the
kern-tools.
With this change, we set the stage to extend kernel configuration
fragments and auditing to arbitrary trees.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Bruce Ashfield [Tue, 21 Jul 2015 15:21:04 +0000 (11:21 -0400)]
linux-yocto: split meta data from kernel repository
The linux-yocto tree has always been a combined set of kernel changes
and configuration (meta) data carried in a single tree. While this
format is effective at keeping kernel configuration and source
modifications synchronized, it isn't always obvious to developers on
how to manipulate the meta data versus the source.
With this change, we remove the meta data processing from the
kernel-yocto class and use the external meta-data repository that
has always been used to seed the linux-yocto meta branch.
After this change, linux-yocto can no longer process combined trees,
and is simplified as a result.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Thu, 23 Jul 2015 21:59:49 +0000 (22:59 +0100)]
oeqa/runtime/parselogs: don't use uname to get MACHINE
Instead of running "uname -n" on the target (which actually returns the
hostname) to get something approximating the hostname (or not, if that has been
overriden), simply fetch MACHINE from the datastore.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Thu, 23 Jul 2015 21:59:48 +0000 (22:59 +0100)]
oeqa/selftest/imagefeatures: handle killpg victim not existing
If Pexpect throws an exception it may be because the child has already died, in
which case killpg will fail. Catch the latter exception silently, and output
the exception from Pexpect.
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This locale package isn't guaranteed to exist, depending on the value of
GLIBC_GENERATE_LOCALES.
The value of GLIBC_GENERATE_LOCALES can be specified to not contain
locale-base-ru-ru, thus resulting in unsatisfied dependency. Its better
to remove hardcoded dependency upon locale-base-ru-ru in favor of a
recommendation, as this locale isn't always available depending upon the
value of GLIBC_GENERATE_LOCALES.
Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Abdur Rehman <abdur_rehman@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
recipetool: appendsrcfile: handle S == STAGING_KERNEL_DIR
When determining the path from WORKDIR to the extracted sources, we're using
S, but if S is in work-shared, that's problematic and won't give us good
results, so assume 'git' for that case, warning when appropriate.
Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
oeqa/buildoptions.py: automate test case 926, archive work dir and export source
Signed-off-by: Costin Constantin <costin.c.constantin@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
oeqa/buildoptions.py: automate test case 563; build directfb image
Signed-off-by: Costin Constantin <costin.c.constantin@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joe Slater [Tue, 21 Jul 2015 17:39:10 +0000 (10:39 -0700)]
common-glibc: define bash_cv_getcwd_malloc
We do not want bash to use internal code for getcwd() because
it can fail in certain filesystem types. Trust that the function
in glibc is not "broken".
Signed-off-by: Joe Slater <jslater@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
bootimg: remove previous FATIMG before creating a new one
Since version 3.0.0 of dosfstools, mkdosfs opens the to-be-filesystem
file with O_EXCL. Since the filesystem is also opened with O_CREAT,
the -C option of mkdosfs can only succeed if FATIMG does not exists.
Thus, delete any previous FATIMG file. The file can be safely deleted
as we are inside build_fat_img because we want to create an new
FATIMG.
Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Nominally tmux sets TERM=screen which we are including in
ncurses-terminfo-base. However, if tmux detects that it's running in a
terminal capable of 256-color output (e.g. xterm-256color), it will
instead use TERM=screen-256color. We aren't including that, and we ought
to be.
Signed-off-by: Richard Tollerton <rich.tollerton@ni.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Move ROOTFS_POSTPROCESS_COMMANDs from core-image.bbclass to
image.bbclass so that images built using just image.bbclass
will benefit from them. Without this change, an image built
using image.bbclass did not honor read-only-rootfs image feature.
Signed-off-by: Gary Thomas <gary@mlbassoc.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang [Tue, 14 Jul 2015 02:51:57 +0000 (19:51 -0700)]
lttng-ust: 2.6.1 -> 2.6.2
* Remove add-aarch64.patch since it is already in the source.
* Rename lttng-ust_2.6.1.bb -> lttng-ust_git.bb
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Otavio Salvador [Mon, 20 Jul 2015 14:10:30 +0000 (11:10 -0300)]
u-boot: Upgrade to 2015.07 release
This upgrades the U-Boot and its related recipes for the 2015.07
release.
The following recipes has been upgraded:
- u-boot
- u-boot-mkimage
- u-boot-fw-utils
The patches which were applied on top of the 2015.01 release are
dropped as those are not needed in this release.
The license checksum update was due minimal changes in the text, those
have no impact in the license terms.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>