Chong Lu [Tue, 9 Sep 2014 01:22:22 +0000 (09:22 +0800)]
perf: fix issue about package splitting
Currently, perf can't split to perf-archive, perf-tests, perf-python and
perf-perl. All files are included in perf package. Change the perfexecdir
variable to make split successfull. Add python to RDEPENDS_perf-tests.
Signed-off-by: Chong Lu <Chong.Lu@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Robert Yang [Tue, 16 Sep 2014 09:40:02 +0000 (02:40 -0700)]
coreutils: selinux/flask.h should respect to with_selinux
Fixed when build with meta-selinux even with --without-selinux:
runcon.c:49:28: fatal error: selinux/flask.h: No such file or directory
# include <selinux/flask.h>
^
compilation terminated.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Peter A. Bigot [Thu, 18 Sep 2014 15:16:39 +0000 (10:16 -0500)]
systemd: disable resolv.conf symlink unless resolved is enabled
The tmpfiles configuration in systemd unconditionally creates a symlink
from /etc/resolv.conf to the location where systemd's resolved service
will place the real file. This link is only appropriate when resolved
is enabled and running: its presence prevents connman or other systems
from providing a working resolv.conf when systemd is not assigned that
responsibility. OE has not yet enabled systemd's networkd or resolved
by default.
There is a TODO in the systemd source to fix this, but it has not been
addressed upstream. This patch comments out the corresponding line when
resolved is not enabled in the package configuration.
Signed-off-by: Peter A. Bigot <pab@pabigot.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Richard Purdie [Thu, 25 Sep 2014 11:13:32 +0000 (11:13 +0000)]
sstate: Change overlapping files warning to a fatal error
When files overlap in the sysroot, something bad usually happened. We've had
two independent cases recently where a couple of months after one of these
warnings was shown, builds failed due to corruption.
This change moves the warning to become a fatal error. The complaint I've had
about this is that we need to tell the user what happened and more importantly
how to recover from it. If we could recover from it, great but the trouble is
we simply don't know what happened.
As a compromise, we can document several of the possible scenarios in the error
message. We don't normally go to this level of detail however in this case, I'm
lacking other viable alternatives.
I do believe it is important to stop as corruption occurs rather than letting the
build contunue into territory that is not deterministic amongst other things.
The complex message is followed by a simpler one in case the long message is too
much for the user.
Richard Purdie [Tue, 23 Sep 2014 19:01:01 +0000 (20:01 +0100)]
layer.conf: Mark opkg-utils as ABISAFE for update-alternatives usage
Currently linux-firmware rebuilds for each machine due to its usage of
update-alternatives which in turn means a dependency on opkg-utils.
Marking opkg-utils as ABISAFE is the only option we have right now
to avoid this.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 23 Sep 2014 19:00:31 +0000 (20:00 +0100)]
update-rc.d/systemd: Remove OVERRIDES dependency
Taking run-postinsts and building for two machines which have different
OVERRIDES leads to two different sets of stamps for an allarch package.
We don't need to depend on OVERRIDES in these classes, the end resulting
variables are good enough. We can therefore exclude the dependency
and allow a single package to be generated for run-postinsts.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 23 Sep 2014 19:01:28 +0000 (20:01 +0100)]
layer.conf: Add in useradd dependencies as ABISAFE dependencies
Currently allarch recipes using useradd rebuild each time MACHINE
changes which is not desireable. Adding the useradd dependencies
to this list ensures they do not change under these circumstances.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Maciej Borzecki [Mon, 22 Sep 2014 11:35:20 +0000 (13:35 +0200)]
wic: add sdimage-bootpart kickstart file
Add kickstart for generating a SD card image that should cover most use
case scenarios. The layout is as follows:
- 16MB vfat partition that IMAGE_BOOT_FILES will be copied to, 4k
alignment
- ext4 rootfs, 4k alignment
Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl> Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Maciej Borzecki [Mon, 22 Sep 2014 11:35:19 +0000 (13:35 +0200)]
wic: add new bootimg-partition plugin
This patch implements 'bootimg-partition source plugin class for 'wic'. The
plugin creates an image of boot partition, copying over files listed in
IMAGE_BOOT_FILES bitbake variable.
Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl> Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Maciej Borzecki [Mon, 22 Sep 2014 11:35:16 +0000 (13:35 +0200)]
wic: set bootimg_dir when using image-name artifacts
Running wic with -e to use artifacts from a named image, bootimg_dir was
always passed as empty string to partition source plugins. The patch
sets bootimg_dir to current value of DEPLOY_DIR_IMAGE, as bootloader
artifacts end up in that location as well.
Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl> Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Maciej Borzecki [Mon, 22 Sep 2014 11:35:15 +0000 (13:35 +0200)]
wic: fix vfat partition sector count only if needed
VFAT rootfs partitions sector count would get updated always even if
there is no need. Since parition size in wic is expressed in MB, any
sub MB change will cause the generated partition image to be larger
than allocated space within the disk image. Fortunately, partitions
sized in MB will most of the time have a proper sector count.
Signed-off-by: Maciej Borzecki <maciej.borzecki@open-rnd.pl> Signed-off-by: Maciek Borzecki <maciek.borzecki@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 28 Aug 2014 10:10:06 +0000 (10:10 +0000)]
uninative: Add uninative - a way of reusing native/cross over multiple distros
These patches are the start of a new idea, a way of allowing a single set of
cross/native sstate to work over mutliple distros, even old ones.
The assumption is that our own C library is basically up to date. We build
and share a small tarball (~2MB) of a prebuilt copy of this along with a
patchelf binary (which sadly is C++ based so libstdc++ is in there). This
tarball can be generated from our usual SDK generation process through
the supplied recipe, uninative-tarball.
At the start of the build, if its not been extracted into the sysroot, this
tarball is extracted there and configured for the specified path.
When we install binaries from a "uninative" sstate feed, we change the
dynamic loader to point at this dynamic loader and C librbary. This works
exactly the same way as our relocatable SDK does. The only real difference
is a switch to use patchelf, so even if the interpreter section is too small,
it can still adjust the binary.
Right now this implements a working proof of concept. If you build the tarball
and place it at the head of the tree (in COREBASE), you can run a build from
sstate and successfully build packages and construct images.
There is some improvement needed, its hardcoded for x86_64 right now, its trivial
to add 32 bit support too. The tarball isn't fetched right now, there is just a
harcoded path assumption and there is no error handling. I haven't figured
out the best delivery mechanism for that yet. BuildStarted is probably not
the right event to hook on either.
I've merged this to illustrate how with a small change, we might make the
native/cross sstate much more reusable and hence improve the accessibility
of lower overhead builds. With this change, its possible the Yocto Project may
be able to support a configured sstate mirror out the box. This also has
positive implications for our developer workflow/SDK improvements.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 23 Sep 2014 14:56:31 +0000 (15:56 +0100)]
oe-init-build-env-memres: Fix automatic port usage
The use of an automatic port wasn't working correctly since the server
was never getting started when port == -1. This fixes things so the
server is started when port is not specified (i.e. automatic) ensuring
this happens before BBSERVER is set.
[YOCTO #6563]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 19 Sep 2014 17:09:12 +0000 (18:09 +0100)]
populate_sdk_base/meta-environment: Remove overlap from the two
Currently we have the horrible situation where meta-environment packages
the toolchain environment files and they get included in the SDK but are
broken, then, the SDK code overwrites them with good versions. This is
suboptimal.
This change fixes the code in meta-environment to create working
files and adds in the multilib support from populate_sdk_base, then
we remove the code in that base bbclass and rely on the packages
being installed if/as/when needed. This removes the duplication
and the broken versions of the files, hopefully making all well.
[YOCTO #6608]
[YOCTO #6613]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Chong Lu [Thu, 18 Sep 2014 05:20:28 +0000 (13:20 +0800)]
perl: remove unneeded patches in ptest directory
The perl patches have been copied to ptest directory and these patches in
target rootfs are linked to build dir. The ptest of perl doesn't need these
patches, so remove them from target.
Building the tests for flex requires flex-native and bison-native, but the
attempt to add this dependency was done incorrectly. Use an inline python
conditional based on PTEST_ENABLED instead.
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Philip Balister [Wed, 17 Sep 2014 14:33:19 +0000 (10:33 -0400)]
cmake.bbclass : Add support for cmake projects that use .S files.
UHD and GNU radio use the cmake build system. The toolchain file made
from cmake.bbclass does not set the variable needs by cmake projects
that use .S files. UHD added some .S files and these changes are required
to build recent UHD.
Signed-off-by: Philip Balister <philip@balister.org>
sstatesig: fix overrides behaviour to remove SIGGEN_LOCKEDSIGS_i586
Require a sig file which SIGGEN_LOCKEDSIGS_i586 is not null, but
the actual SIGGEN_LOCKEDSIGS_i586 is null.
Invoking 'bitbake -e' and we got:
...
3935 # $SIGGEN_LOCKEDSIGS_i586 [2 operations]
3936 # set /path/to/locked-sigs.inc:8576
3938 # del data_smart.py:406 [finalize]
3939 # ""
...
It was caused by the following commit:
...
(Bitbake rev: 899d45b90061eb3cf3e71029072eee42cd80930c)
Author: Richard Purdie <richard.purdie@linuxfoundation.org>
Date: Tue May 31 23:52:50 2011 +0100
bitbake/data_smart: Change overrides behaviour to remove expanded
variables from the datastore
...
We add prefix 't-' to type to workaround the overrides behaviour.
Randy Witt [Fri, 12 Sep 2014 18:25:12 +0000 (11:25 -0700)]
sstatesig.py: Replace '_'s with '-'s in SSTATE_LOCKEDSIGS* names.
Using underscores in the "types" parts of the variable names can cause
unexpected issues with overrides. For example, if you have both
SSTATE_LOCKEDSIGS_x86_64 and SSTATE_LOCKEDSIGS_x86_64_i586, and i586
is in OVERRIDES, then you lose all of the contents in
SSTATE_LOCKEDSIGS_x86_64 and thus don't get some of the locked sstate.
Using '-'s in the variable names instead, eliminates these issues.
sstatesig: Improve the support for locked down sstate cache usage
Add code in the sstate hash validation code to ensure it really did
install these from sstate since if it didn't should to warn/abort
the build. The judgment condition is:
1) If a build is replaced by locked sstate-cache, it will triger a
warn/error;
2) If objects are not used from the locked cache, it will triger a
warn/error;
3) Use SIGGEN_LOCKEDSIGS_CHECK_LEVEL variable controls whether this
is just a warning or a fatal error or nothing to report.
Richard Purdie [Fri, 5 Sep 2014 10:55:18 +0000 (11:55 +0100)]
sstatesig: Improve to handle locking of multiple machines
Instead of a single monolithic SIGGEN_LOCKEDSIGS, split this into
separate variables, one per sstate package architecture. Add in
a new SIGGEN_LOCKEDSIGS_TYPES variable which lists the package
architectures to load in.
SIGGEN_LOCKEDSIGS_TYPES is made machine specific using overrides.
Also sort the hashes in the lists by PN to make diffing them easier.
Richard Purdie [Fri, 5 Sep 2014 09:40:02 +0000 (10:40 +0100)]
sstatesig/sstate: Add support for locked down sstate cache usage
I've been giving things some thought, specifically why sstate doesn't
get used more and why we have people requesting external toolchains. I'm
guessing the issue is that people don't like how often sstate can change
and the lack of an easy way to lock it down.
Locking it down is actually quite easy so patch implements some basics
of how you can do this (for example to a specific toolchain). With an
addition like this to local.conf (or wherever):
the code at the end of the email will force the hashes to those values
for the recipes mentioned. The system would then find and use those
specific objects from the sstate cache instead of trying to build
anything.
Obviously this is a little simplistic, you might need to put an override
against this to only apply those revisions for a specific architecture
for example. You'd also probably want to put code in the sstate hash
validation code to ensure it really did install these from sstate since
if it didn't you'd want to abort the build.
This patch also implements support to add to bitbake -S which dumps the
locked sstate checksums for each task into a ready prepared include file
locked-sigs.inc (currently placed into cwd). There is a function,
bb.parse.siggen.dump_lockedsigs() which can be called to trigger the
same functionality from task space.
A warning is added to sstate.bbclass through a call back into the siggen
class to warn if objects are not used from the locked cache. The
SIGGEN_ENFORCE_LOCKEDSIGS variable controls whether this is just a warning
or a fatal error.
A script is provided to generate sstate directory from a locked-sigs file.
Chong Lu [Tue, 9 Sep 2014 01:54:00 +0000 (09:54 +0800)]
i2c-tools: create i2c-tools-misc package for perl scripts
The patch is to split those perl scripts from the main package.
Add perl to RDEPENDS_i2c-tools-misc.
Signed-off-by: Michel Thebeau <michel.thebeau@windriver.com> Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Chong Lu <Chong.Lu@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Joe Slater [Fri, 12 Sep 2014 19:20:22 +0000 (12:20 -0700)]
at-spi2-core: fix DBIND_CHECK_ALIGNOF m4 macro
Modify the macro so it will work when cross-compiling.
Note that the values checked are normally in a site file
so the macro rarely has to discover them.
Signed-off-by: Joe Slater <jslater@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Richard Purdie [Fri, 12 Sep 2014 15:39:49 +0000 (16:39 +0100)]
license: Improve disk usage
Currently copies of the license files are made which wastes disk space
and adversely affects performance. We can link these instead in most
cases for small performance gains.
Richard Purdie [Fri, 12 Sep 2014 15:39:16 +0000 (16:39 +0100)]
sstate: Fix incorrect return value handling
The use of [ and && here means $? is reset and the exit 1 error
interception wasn't working, leading to "file changed as we read it"
errors from sstate_create_package when heavily using hardlinks.
shadow: Make useradd work correctly with --root again
Even if useradd --root <root> is used it would still read login.defs
before doing the chroot() and thus use the one provided by the host
rather than the sysroot.
Paul Eggleton [Wed, 10 Sep 2014 17:19:31 +0000 (18:19 +0100)]
classes/populate_sdk_base: enable adding custom commands to SDK install script
Add an SDK_POST_INSTALL_COMMAND variable which allows additional
commands to be added towards the end of the SDK install script, for e.g.
additional processing that needs to be done as part of installing the
SDK.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kai Kang [Thu, 11 Sep 2014 03:31:09 +0000 (11:31 +0800)]
xserver-xorg: remove aarch64.patch
Patch aarch64.patch adds aarch64 support for xserver-xorg 1.13.1 in
header file servermd.h. And aarch64 is supported in version 1.15.1
already and the patch causes redefine error.
So remove aarch64.patch.
Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Build Appliance VMware configuration has
been modernized:
- Default disk is a SATA one;
- CDROM and Floppy drives removed, no real use;
- 3D acceleration not really present, removed;
This solves a warning that VMware
Player/Workstation was displaying at boot.
- IDE disk removed.
- guestOS has been set to a 64bits Linux.
Fixes [YOCTO #6680].
Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Remove patch that was directly modifing the configure script
since we can now use autoreconf to configure. This also allowed
for the removal of the do_configure() functions.
packagegroup-self-hosted: move graphics packages to graphics group
The following packages are gui based tools:
xdg-utils # A set of common interfaces for desktop
leafpad # A GTK+ text editor used in Build Appliance
midori # A web browser used in Build Appliance
pcmanfm # PCManFm file manager used in Build Appliance
vte # Virtual terminal emulator GTK+ widget library
Move them to packagegroup-self-hosted-graphics so that we can make
a graphics free self-hosted image by excluding the
packagegroup-self-hosted-graphics.
For images without ptest the packages are automatically installed alongside ptest-runner. Log results are saved in ./results folder.
No cleanup is done for packages after the test is finished.
Signed-off-by: Lucian Musat <georgex.l.musat@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
oeqa/utils/logparser.py: results based log parser utility
A module for parsing results based logs like ptest, compliance and performance.
Supports breaking the logs into multiple sections and also provides a result object to use the parser with.
The parser is initialized with the regex required to identify results and section statements in the target log file.
Bruce Ashfield [Mon, 8 Sep 2014 03:57:29 +0000 (23:57 -0400)]
perf: fix v3.17 powerpc compilation issues
The powerpc perf arch port has two issues in the current 3.17-rc
seriers. Undefined dwarf symbols and undefined pr_debug calls.
commit a60335ba [perf tools powerpc: Adjust callchain based on DWARF debug info]
introduces skip-callchain-idx.c, and breaks the perf build.
Until fixes get into the mainline kernel, we temporarily fix the issues by
adding a forced linke to -ldw and modifying skip-callchain-idx.c to include
the proper debug files for pr_debug.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Previously, when building core-image-minimal, the rootfs size would
default to 64M because we use '?=' in bitbake.conf and also '?=' in
core-image-minimal.bb.
The thing is, we'd like to have a default value for all images set
in bitbake.conf but still allow each image recipe to set its own default
value which could be overridden by users in local.conf.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Paul Eggleton [Tue, 9 Sep 2014 10:41:37 +0000 (11:41 +0100)]
classes/buildhistory: fix for sstate class change
SSTATEPOSTINSTFUNCS is now set with = in sstate.bbclass, and because
the line here in buildhistory.bbclass ends up being parsed before that
we now need to use _append or the value we are adding will be wiped out.
This fixes buildhistory no longer recording package information since
OE-Core revision 9d659c6f20fa4a141b491c62a3ef0dfb1f896d9c.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>