Richard Purdie [Tue, 30 Sep 2014 20:08:17 +0000 (21:08 +0100)]
perl: Improve sysroot regexp
When rebuilding libxml-parser-perl with a change to libdir, you see strange
build failures due to MakerMake looking in strange library paths. The error
is obtuse and hard to track down. I'm therefore proposing we change the regexp
once and for all to resolve the issue. Currently it only does a replacement
once, this change ensures it always gets set the correct value upon rebuilds.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Andreas Müller [Tue, 30 Sep 2014 13:39:16 +0000 (15:39 +0200)]
gtk-doc-stub: update to latest commit
* fix build for packages with AC_CONFIG_MACRO_DIR set but not shipping macros
causing:
| ln: target 'm4/' is not a directory: No such file or directory
| cp: cannot create regular file 'm4/': Not a directory
* In 2012 version was increased to 1.1
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Randy Witt [Mon, 29 Sep 2014 17:08:47 +0000 (10:08 -0700)]
ltp: Add additional m4 path to autoconf.
The ltp code has some m4 macros that are deeper than the default depth
that the directory depth the autotools.bbclass checks. This causes some
macros to not be found and for supported features to not be enabled.
This patch adds the extra m4 path to the autoconf arguments.
Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Tue, 30 Sep 2014 12:58:03 +0000 (13:58 +0100)]
sstate: Add rpm allarch to overwrite whitelist
The packagegroup allarch rpm files for multilib can overwrite each other since
they are in theory indentical (in contrast to the other backends). We therefore
need to whitelist this to avoid build failures now this overwrite failure
is fatal.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Joe Slater [Fri, 26 Sep 2014 21:19:26 +0000 (14:19 -0700)]
oprofile: eliminate git recipe
oprofile_git.bb does not unpack because it stills uses
INC_PR, which is no longer expanded. If one fixes that,
patching fails. Since there is another, later, version oprofile
recipe, we might just as well get rid of this one.
Package managements (smart/apt-get/opkg-cl) generate some warn messages
to stdout, and we need to catch them and output by bb.warn.
Here is an example, while invoking smart to attempt install doc packages,
if install failed, it generates warn message to stdout.
...
|warning: Can't install util-linux-doc-2.24.2-r1@i586: Can't
install util-linux-doc-2.24.2-r1@i586: no package provides info
...
The fix catches it and outputs:
...
|WARNING: log_check: There is a warn message in the logfile
|WARNING: log_check: Matched keyword: [warn]
|WARNING: log_check: warning: Can't install util-linux-doc-2.24.2-r1@
i586: Can't install util-linux-doc-2.24.2-r1@i586: no package provides
info
...
Muzaffar Mahmood [Fri, 26 Sep 2014 13:28:54 +0000 (18:28 +0500)]
alsa-utils: interrupt streaming via signal
aplay/arecord (alsa-utils v1.0.28) cannot interrupt streaming
via CTRL-C. Fixed the issue by reverting buggy patches and
properly handling 'in_aborting' flag in appropriate functions.
Darren Hart [Fri, 26 Sep 2014 19:04:31 +0000 (19:04 +0000)]
kernel-yocto.bbclass: Fixup shell condition test syntax error
A warning is issued when run about an unexpected operator due to a
syntax error with an extra if empedded in the shell conditional. Remove
the extra if.
Signed-off-by: Darren Hart <dvhart@linux.intel.com> Cc: Bruce Ashfield <bruce.ashfield@windriver.com>
lttng-modules: fix build issues with the v3.17 kernel
The lttng-modules recipe was failing for meta-intel BSPs with the v3.17 kernel.
These BSP kernels were enabling some of the audio codec drivers, whose
structures are changed recently, causing mismatch with lttng-modules code
expectations. The qemu machines did not see this issue as they were not
enabling these sound codec kernel configuration.
Fix the build issue, by changing the lttng-modules code to match with
the structures used by the v3.17 kernel. The code is conditional on the
kernel version, that way it keeps working with the older kernel versions.
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Chong Lu [Fri, 26 Sep 2014 01:49:19 +0000 (09:49 +0800)]
apt: fix for CVE-2014-0478
APT before 1.0.4 does not properly validate source packages, which allows
man-in-the-middle attackers to download and install Trojan horse packages
by removing the Release signature.
Richard Purdie [Mon, 29 Sep 2014 16:45:35 +0000 (17:45 +0100)]
staging: Exclude MULTI_PROVIDER_WHISTLIST from do_populate_sysroot
If you switch between multilib and non-multilib builds, pretty much
everything rebuilds due to the use of MULTI_PROVIDER_WHITELIST
in do_populate_sysroot. It doesn't need to do this so exclude
that variable for checksum purposes.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 29 Sep 2014 16:44:53 +0000 (17:44 +0100)]
meta-environment: Two critical fixes to unbreak toolchains
Firstly, when multilib builds were being used, the same output files
were used in each case, being overwritten each time due to the fact that
REAL_MULTIMACH_TARGET_SYS has been expanded. Instead of immediate
expansion, just use assignment. This overrides the problematic define
in toolchain-scripts.bbclass but allows the multilib code to work.
Secondly, the target sysroot was being defined incorrectly which
this patch fixes. This was breaking the toolchains.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Peter A. Bigot [Sun, 28 Sep 2014 15:37:46 +0000 (10:37 -0500)]
boost: fix atomics for armv6
meta-raspberrypi and some other systems are ARMv6k but tell OE that
they're ARMv6 which doesn't fully support non-word atomics. armv6k
does, but Boost didn't handle the recognition correctly in the 1.56
release. Backport the patch that fixes the build.
See: https://svn.boost.org/trac/boost/ticket/10446 Signed-off-by: Peter A. Bigot <pab@pabigot.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
From reading the COPYING and various license headers, the nss
LICENSE was incorrect. It's actually MPL-2.0 (not 1.1) with a
few different Or instances.
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Ross Burton [Thu, 25 Sep 2014 23:05:18 +0000 (00:05 +0100)]
bash: fix CVE-2014-6271
CVE-2014-6271 aka ShellShock.
"GNU Bash through 4.3 processes trailing strings after function definitions in
the values of environment variables, which allows remote attackers to execute
arbitrary code via a crafted environment."
Signed-off-by: Ross Burton <ross.burton@intel.com>
While doc compress enabled, ther is a QA issue:
...
ERROR: QA Issue: texinfo: Files/directories were installed but not shipped
/usr/share/info/info.info.bz2
/usr/share/info/info-stnd.info.bz2 [installed-vs-shipped]
...
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Peter A. Bigot [Thu, 25 Sep 2014 13:28:29 +0000 (08:28 -0500)]
git: add Git perl module to perltools package
Git perl tools such as add--interactive load the Git module at runtime.
A previous patch to eliminate a QA error by deleting it instead of
packaging it was incorrect.
beaglebone[62]$ git add -i
Can't locate Git.pm in @INC (you may need to install the Git module) (@INC contains: /usr/lib/perl/5.20.0 /prj/pab/Utils/lib/perl5/linux-arm/5.020000 /prj/pab/Utils/lib/perl5/ /prj/pab/Utils/lib/perl5/site_perl/linux-arm /prj/pab/Utils/lib/perl5/site_perl /etc/perl /usr/lib/perl/site_perl/5.20.0/ /usr/lib/perl/site_perl/5.20.0 /usr/lib/perl/vendor_perl/5.20.0/ /usr/lib/perl/vendor_perl/5.20.0 /usr/lib/perl/5.20.0/ /usr/local/lib/site_perl .) at /usr/lib/git/git-core/git-add--interactive line 7.
BEGIN failed--compilation aborted at /usr/lib/git/git-core/git-add--interactive line 7.
[YOCTO#3780]
Signed-off-by: Peter A. Bigot <pab@pabigot.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
Robert Yang [Thu, 4 Sep 2014 06:12:06 +0000 (23:12 -0700)]
sstate.bbclass: update the timestamps after install
Update the sstate file's timestamps after it is installed, it will be
very useful for removing the old sstate file, especially, it's not easy
to remove when use the shared SSTATE_DIR, we can easily remove them with
this change, for example:
We should use ${PN} instead of hardcoding 'dhcp' for SYSTEMD_SERVICES,
otherwise we would have 'installed-not-shipped' QA error if we are building
lib32-dhcp.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
As this recipe inherits allarch, it makes no real difference whether
we are using ${PN} or 'volatile-binds'. But using ${PN} would keep
the same style with the other recipes in OE.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
We should use ${PN} instead of 'acpid' for SYSTEMD_SERVICE, otherwise
we would have the 'installed-not-shipped' QA error if multilib is enabled
and we run `bitbake lib32-acpid'.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
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.