Only the printf bash builtin knows about %q format option for escaping
spaces. The coreutils version doesn't. Unfortunately, neither dash nor
sh have a printf builtin. So, escape the spaces using sed.
scripts/runqemu: Add support for 'qemumicroblaze' machine
* Add support to boot the 'qemumicroblaze' machine in
qemu-system-microblazeel
* Use the specific machine model for a MicroBlaze system 'petalogix-ml605'
* Use the DTB generated from the kernel build as the DTB for boot
* Force use of initrd rootfs (either in ext or cpio formats)
scripts/runqemu: Add support for 'qemuzynq' machine
* Add support to boot the 'qemuzynq' machine in qemu-system-arm
* Use the specific machine model for Zynq 'xilinx-zynq-a9'
* Use the DTB generated from the kernel build as the DTB for boot
* Force use of initrd rootfs (either in ext or cpio formats)
Randy Witt [Wed, 26 Jun 2013 17:33:16 +0000 (17:33 +0000)]
systemd: Don't enable systemd services when native.
It shouldn't be desired that systemd enable services when using
class native. Blanking out the SYSTEMD_PACKAGES when native seems
like the most straightforward way to fix this problem.
Signed-off-by: Randy Witt <rewitt@declaratino.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Stefan Stanacar [Fri, 28 Jun 2013 08:54:48 +0000 (11:54 +0300)]
lib/oeqa/runtime: image sanity tests
These are basic sanity tests. A test can be force run by setting
TEST_SUITES = "ping ssh <module-name>" in local.conf.
By default there are suites for minimal, sato and sato-sdk images.
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Radu Moisan <radu.moisan@intel.com>
Radu Moisan [Fri, 28 Jun 2013 08:28:57 +0000 (11:28 +0300)]
lib/oeqa/utils/decorators.py: decorators for test methods
Some skip decorators meant only for test methods, providing
some kind of test methods dependency.
They are used together with a test method name not a condition.
These are complementary to python's unittest skip decorators.
Signed-off-by: Radu Moisan <radu.moisan@intel.com> Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Radu Moisan [Fri, 28 Jun 2013 08:27:56 +0000 (11:27 +0300)]
lib/oeqa/utils/qemurunner.py: class to handle qemu instance
Handles qemu instances (launch, kill, restart, serial connection, logging)
Launch is blocking until login prompt and returns to the task. A qemu
serial connection is used to save the boot log and get the ip from the image.
Changed runqemu script not to error out when using custom serial option.
Signed-off-by: Radu Moisan <radu.moisan@intel.com> Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Stefan Stanacar [Fri, 28 Jun 2013 08:09:28 +0000 (11:09 +0300)]
lib/oeqa/utils/oeqemuconsole.py: handle qemu serial console connection
Python's telnetlib Telnet class connects only to AF_INET sockets, but we
want to use Unix domain socket for the qemu serial connection, so that's
why we override it.
Also we add a new read_all_timeout method similar to Telnet's read_all,
that read until a match or timeout and logs all output.
Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Merged or backported patches are dropped.
The wget_dl_dir_fix.patch was submitted more than 1 year ago, it's
about the -P option behavior, and it's not accepted, so I dropped
this patch too.
util-linux: disable runuser by default since it depends on PAM
util-linux's configure checks for pam_misc.h and if it finds it will
enable runuser, there was a case where it was found via shared state
and then got rebuilt. This makes the build more deterministic.
Joe MacDonald [Tue, 2 Jul 2013 13:19:07 +0000 (09:19 -0400)]
sstate.bbclass: Add an extra check for sstate_mirrors
BB_NO_NETWORK disables any fetching, however if we're using an external
sstate cache, we may want to be able to fetch those objects even if we are
not fetching the upstream sources. Denote this situation by setting
SSTATE_MIRROR_ALLOW_NETWORK in local.conf. When it is found, for sstate
cache fetches, mask off BB_NO_NETWORK for the local function.
Signed-off-by: Joe MacDonald <joe.macdonald@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Martin Jansa [Mon, 1 Jul 2013 19:36:27 +0000 (21:36 +0200)]
mesa: remove drirc file
* it's packaged in libdricore package and prevents upgrading it
when debian.bbclass is enabled
* check_data_file_clashes: Package libdricore9.1.3-1 wants to install file /etc/drirc
But that file is already provided by package * libdricore9.0.2-1
* we can move it to separate packages, but it isn't very useful now, there
aren't many gamers using mesa on embedded devices
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Martin Jansa [Tue, 2 Jul 2013 11:49:19 +0000 (13:49 +0200)]
mesa: bump SRCREV in git recipe, refresh patches
* 0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch
needs to be rebased so move old version for 9.1.3 to
mesa-9.1.3/ and update the version in mesa/
* add git headers
* 0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch
is already applied in new SRCREV, move it to mesa-9.1.3/
* formal change in license.html with new SRCREV:
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
-AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
-CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Martin Jansa [Mon, 1 Jul 2013 19:36:25 +0000 (21:36 +0200)]
mesa: fix pipe_loader_sw build without libx11
* this is needed to fix pipe_loader_sw build without libx11,
but building with HAVE_PIPE_LOADER_XLIB enabled still doesn't
work (nobody is using this and it was removed in newer SRCREV).
See https://bugs.freedesktop.org/show_bug.cgi?id=66357 for details.
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Martin Jansa [Mon, 1 Jul 2013 19:36:24 +0000 (21:36 +0200)]
mesa: Improve gallium PACKAGECONFIG options
* rename llvmpipe to llvm to match configure option
* add MESA_LLVM_RELEASE to allow switching to 3.3 easier
* --enable-gallium isn't recognized option, split it to 2 more
PACKAGECONFIGs for gbm and egl
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
As we are removing meta-toolchain* and replacing it with bitbake
<imagename> -c populate_sdk this causes issues with those of us who
need to do automated builds both on the current development branch and
on prior development branches.
Example: For prior releases, I need to build meta-toolchain*. Without
having a simple way to figure out where this is no longer the case, I
(and other folks who run automated builds) end up having to jump
through a lot of hoops trying to figure out where this layer changed.
Utilizing LAYERVERSION_* to do it makes sense as there is a
significant change that would cause issues for build engineers.
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Mihai Prica [Mon, 1 Jul 2013 10:31:00 +0000 (13:31 +0300)]
insane.bbclass: Added QA warning for shipping /usr/share/info/dir
/usr/share/info/dir should be generated at install time in a postinst.
Added QA warning to check at build time for this file. The warning
is disabled by default.
[YOCTO #3969]
Signed-off-by: Mihai Prica <mihai.prica@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Saul Wold [Wed, 26 Jun 2013 23:33:01 +0000 (16:33 -0700)]
mc: Don't remove libdir and split helpers into packages
It contains helper programs that are needed to make mc do the right actions
for the various file formats it understands.
The helpers are perl, python and shell scripts, split them out so the core
mc does not try to pull in perl and python, it will still run without these
helpers.
Paul Eggleton [Wed, 3 Jul 2013 15:09:32 +0000 (16:09 +0100)]
classes/insane: fix libdir check regexes
Ensure these do not pick up e.g. /lib/systemd/system/uuidd.socket, but
ensure we pickup e.g. /usr/lib/libnss3.so.1d (example from Debian). This
also fixes the broken exec_re regex (lib*.).
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
victor [Wed, 3 Jul 2013 13:04:25 +0000 (15:04 +0200)]
apr_cv_mutex_recursive=yes added to apr_1.4.6.bb to make rosnodes work
Working with the meta-ros project we detected that the ROS nodes didn't launch properly
the reason was that by default apr_cv_mutex_recursive in apr is set to no and this leads
to the APRENOTIMPL return value of apr_thread_mutex_create in thread_mutex.c when
APR_THREAD_MUTEX_NESTED is requested via flags.
Added CACHED_CONFIGUREVARS += "apr_cv_mutex_recursive=yes" to sources/openembedded-core/meta/recipes-support/apr/apr_1.4.6.bb
to fix this issue. It has also been removed the mention of this variable in
meta/site/powerpc32-linux.
We now can have a 'one-binary' version of busybox, or 'two-binary'
version of busybox, controlled by the 'BUSYBOX_SPLIT_SUID' variable.
This makes on-target upgrade a problem, as we have to support the
following four upgrading paths.
For convenience, in the following context, A is used to denote a
'two-binary' version of busybox while B is used to denote a 'one-binary'
version of busybox.
A --(upgrade)--> B
B --(upgrade)--> A
A --(upgrade)--> A
B --(upgrade)--> B
This patch makes effort to support the above four situations.
When do ipv6 ready test, some DAD (duplicate address detect) tests failed
since it expect IPV6 will be disabled, but not. even accept_dad has been
set to correct value 2. Further investigation shows the root cause is that
setting the kernel parameter happens after the NIC is upped.
Make kernel parameters be configured before the interfaces is upped, and
duplicate setting the kernel parameters does not have negative effect.
Paul Eggleton [Tue, 2 Jul 2013 13:46:48 +0000 (14:46 +0100)]
ghostscript: fix patch failure with some versions of patch
Some versions of patch (e.g. 2.6.1.136-31a7 on OpenSUSE 12.2) will
refuse to patch a file via a symlink (probably a fairly sensible
security precaution). The "base/" subdirectory specified within the
ghostscript-9.05-NOT-check-endian.patch file was being lost by the
default application with -p1, but this was not caught on most systems
due to the symlink. Fix the path so that we always patch the file
directly.
Fixes [YOCTO #4773].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Paul Eggleton [Tue, 2 Jul 2013 12:19:10 +0000 (13:19 +0100)]
classes/package: print command output when commands fail
When external commands such as debugedit fail, it can be useful to see
their output, so use oe.utils.getstatusoutput() instead of
subprocess.call() to capture this and print it on failure.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Saul Wold [Fri, 28 Jun 2013 18:46:03 +0000 (11:46 -0700)]
security_flags: Add the compiler and linker flags that enhance security
These flags add addition checks at compile, link and runtime to prevent
stack smashing, checking for buffer overflows, and link at program start
to prevent call spoofing later.
This needs to be explicitly enabled by adding the following line to your
local.conf:
Jonathan Liu [Sat, 15 Jun 2013 00:06:31 +0000 (10:06 +1000)]
qt4e.bbclass: export OE_QMAKE_QT_CONFIG
The class is inheriting qmake2.bbclass which exports OE_QMAKE_QT_CONFIG
pointing to the qt4 qconfig.pri when it should be pointing to the
qt4-embedded qconfig.pri.
Signed-off-by: Jonathan Liu <net147@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Note that this alone is not enough to fix the TmuxRunning devshell when
using pseudo because tmux does not preserve the environment that pseudo
requires.
Signed-off-by: Tyler Hall <tylerwhall@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Tyler Hall [Sun, 30 Jun 2013 20:16:19 +0000 (16:16 -0400)]
terminal: Run command using a wrapper script
Some terminals may not pass the environment into the child process. This
is true when using "tmux split-window." If tmux is already running, it
will start the command with the tmux session environment, ignoring the
environment where the command was issued.
This could possibly be worked around when launching tmux by injecting
variables into the user's session environment or adding the variables to
the "update-environment" tmux setting. However, both methods would
permanently alter the user's session, which is undesirable.
By using a wrapper script, we have full control over the final
environment. Replace the env dictionary with an empty data smart that
will contain the exported variables and a wrapper function that execs
the original command.
Signed-off-by: Tyler Hall <tylerwhall@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Paul Eggleton [Fri, 28 Jun 2013 16:09:46 +0000 (17:09 +0100)]
lib/oe/lsb.py: fall back to /etc/os-release for host distro ID
The new standard for host distribution identification [1] is
/etc/os-release, and a number of newer distributions provide this file,
so add support for this in order to pick up more distributions.
Additionally, handle "rolling release" style distributions that don't
report a version number, e.g. Arch Linux.
With this change we can identify the most common distributions, so this
should satisfy [YOCTO #4271]. Note that this doesn't imply support for
these distros as build hosts, just that we can identify them.
Chen Qi [Fri, 28 Jun 2013 07:48:22 +0000 (15:48 +0800)]
udev-cache: take a read-only rootfs into consideration
In case of a read-only rootfs, we skip the process of generating
udev cache, as the data cannot be persisted between reboots.
However, it's possbile that the $DEVCACHE (default to /etc/dev.tar)
exists in a read-only rootfs, no matter how it's generated or installed.
In such situation, we try to use $DEVCACHE if possible.
Besides the basic changes in the logic of udev cache handling,
this patch also adds code to output more information if the udev
cache is not used and VERBOSE enabled.
This patch also changes the readfile function to readfiles function
so that it could handle more than one file at once.
Ionut Radu [Thu, 27 Jun 2013 10:22:38 +0000 (13:22 +0300)]
gpgme: Updated from 1.4.1 to 1.4.2
Signed-off-by: Ionut Radu <ionutx.radu@intel.com>
License md5 was changed for src/gpgme.h.in:
"File: @configure_input@ */" was replaced by "Generated from gpgme.h.in for @GPGME_CONFIG_HOST@. */"
Ionut Radu [Wed, 26 Jun 2013 13:59:44 +0000 (16:59 +0300)]
libxext: Update from 1.3.1 to 1.3.2
Signed-off-by: Ionut Radu <ionutx.radu@intel.com>
Line "Copyright (c) 1999, 2005, 2006, Oracle and/or its affiliates. All rights reserved."
in COPYING was changed into "Copyright (c) 1999, 2005, 2006, 2013, Oracle and/or its affiliates. All rights reserved."
in 1.3.2
Paul Eggleton [Wed, 19 Jun 2013 17:01:31 +0000 (18:01 +0100)]
buildtools-tarball: add python-git
python-git is needed by buildhistory-diff and the OE layer index update
script, and on machines where buildtools-tarball is necessary given we
are providing python we must provide this module as well.
Fixes [YOCTO #4747].
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
Paul Eggleton [Fri, 28 Jun 2013 15:10:25 +0000 (16:10 +0100)]
classes/insane: remove la2 check which no longer exists from ERROR_QA
This check was actually removed a very long time ago in 6656381714c5956f71ca634f5a5f4aa4661bbf7e, before we even changed the QA
checks to use names instead of numbers - the name was probably added
ERROR_QA mistakenly because it hadn't also been removed from the comment
listing the QA checks or the function that determined which ones were
errors.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Kai Kang [Fri, 28 Jun 2013 07:48:47 +0000 (15:48 +0800)]
Disable build qt related packagegroups on mips64 with 64 bits userspace
Because qt could not be built on mips64 with 64 bits userspace, set
COMPATIBLE_HOST for qt related packagegroups to disable them on mips64
with 64 bit userspace too.
Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
As python-multiprocessing requires python-threading and
python-pickle, this commit adds them as runtime dependency.
The observed behavior was:
When typing 'import multiprocessing' in the python shell on a
minimal image with only the python-multiprocessing recipe installed,
python reports at first:
Python 2.7.3 (default, Jun 27 2013, 08:26:25)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import multiprocessing;
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/multiprocessing/__init__.py", line 65, in <module>
from multiprocessing.util import SUBDEBUG, SUBWARNING
File "/usr/lib/python2.7/multiprocessing/util.py", line 38, in <module>
import threading # we want threading to install it's
ImportError: No module named threading
After adding python-threading as runtime dependency and rebuilding
the image, python reports:
Python 2.7.3 (default, Jun 27 2013, 08:26:25)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import multiprocessing;
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/multiprocessing/__init__.py", line 84, in <module>
import _multiprocessing
ImportError: No module named cPickle
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Lukas Bulwahn [Fri, 28 Jun 2013 09:57:11 +0000 (11:57 +0200)]
python-argparse: adding runtime dependency on python-codecs
When typing 'import argparse' in the python shell on a minimal image
with only the python-argparse recipe installed, python reports:
Python 2.7.3 (default, Jun 27 2013, 08:26:25)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import argparse;
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/argparse.py", line 91, in <module>
from gettext import gettext as _
ImportError: No module named gettext
The python-argparse recipe requires the python gettext module,
which is currently provided by python-codecs.
Hence, this commit adds python-codecs as runtime dependency to
resolve the issue.
Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>