Paul Eggleton [Wed, 31 Aug 2016 01:48:06 +0000 (13:48 +1200)]
scripts/contrib: update scripts for changes to internal API
The multiconfig changes altered some of the functions being called here,
so update the calls. Make use of the new Tinfoil.parse_recipe_file()
function to make parsing easier.
Jackie Huang [Tue, 30 Aug 2016 09:03:22 +0000 (17:03 +0800)]
meta-ide-support: inherit nopackages
The recipe is to generate an environment script in
do_populate_ide_support for using an IDE and it
doesn't generate packages at all, so inherit nopackages
Nicolas Dechesne [Mon, 29 Aug 2016 09:40:35 +0000 (10:40 +0100)]
gstreamer1.0-plugins-bad: add packageconfig for egl
In commit 9c3a94aea1d (gstreamer1.0-plugins-bad: Move EGL requirement for
Wayland), --enable-egl was explicitely added to the wayland packageconfig. While
this is correct that enabling wayland requires egl, it should be possible to
enable egl without wayland, even when using X11. For example, glimagesink can be
used for GPU based color conversion using EGL/GLES.
As such, let's make egl and wayland two separate PACKAGECONFIG flags.
Paul Eggleton [Mon, 29 Aug 2016 08:40:38 +0000 (20:40 +1200)]
lib/oe/patch: commit with a dummy user/email when PATCHTOOL=git
When using PATCHTOOL = "git", the user of the system is not really the
committer - it's the build system itself. Thus, specify "dummy" values
for username and email instead of using the user's configured values.
Various parts of the devtool code that need to make commits have also
been updated to use the same logic.
This allows PATCHTOOL = "git" and devtool to be used on systems where
git user.name / user.email has not been set (on versions of git where
it doesn't default a value under this circumstance).
If you want to return to the old behaviour where the externally
configured user name / email are used, set the following in your
local.conf:
Paul Eggleton [Mon, 29 Aug 2016 07:27:59 +0000 (19:27 +1200)]
oe-selftest: devtool: fix test after recent change
OE-Core commit d3057cba0b01484712fcee3c52373c143608a436 fixed handling
of wildcard bbappends, which means that this test's expectations about
the bbappend file name are no longer met. devtool finish is meant to use
wildcard bbappends so fix the test accordingly.
glibc-scripts: add RDEPENDS on libsotruss package required by sotruss script
It solves below error observed on qemux86 target:
root@qemux86:~# sotruss ./hello
ERROR: ld.so: object '/usr/$LIB/audit/sotruss-lib.so' cannot be loaded as audit
interface: cannot open shared object file; ignored.
Hello World
root@qemux86:~#
With this change, we get:
root@qemux86:~# sotruss ./hello
hello -> libc.so.6 :*__libc_start_main(0x8048300, 0x1,
0xbfc86274)
hello -> libc.so.6 :*puts(0x804851c, 0xb74af000, 0x0)
Hello World
root@qemux86:~#
oe.path: preserve xattr in copytree() and copyhardlinktree()
Pass appropriate options to tar invocations in copytree() and
copyhardlinktree() to ensure that any extended attributes on the files
are preserved during the copy.
We have to drop the use cpio in "Copy-pass" mode in copyhardlinktree()
because cpio doesn't support extended attributes on files. Instead we
revert back to using cp with different patterns depending on whether
or not the directory contains dot files.
One motivation for the use of cpio in oe.path.copytree() was to
ensure that files with spaces in their names were copied. Add a new
unittest module to test the OE module with a test case for copytree
with a spaces in a filename.
Mingli Yu [Wed, 31 Aug 2016 02:10:25 +0000 (10:10 +0800)]
ltp: remove useless script STPfailure_report.pl
* Remove useless script STPfailure_report.pl to
avoid confusing about this script fails to run
as it lacks dependency on some perl module such
as LWP::Simple
- The script STPfailure_report.pl previously is
added as a tool to analyze failures from LTP
runs on the OSDL's Scaleable Test Platform (STP) as below:
Added tool for analyzing failures from LTP runs on
the OSDL's Scaleable Test Platform (STP)
- And the script STPfailure_report.pl mainly accesses
http://khack.osdl.org to retrieve ltp test results
run on OSDL's Scaleable Test Platform (STP) and prints
the reports, and now the website http://khack.osdl.org
not accessible, so the script is useless and drop it
and not ship it on target system
Markus Lehtonen [Mon, 29 Aug 2016 19:48:28 +0000 (22:48 +0300)]
oeqa.buildperf: convert buildstats into json format
Instead of archiving buildstats in raw text file format convert all
buildstats into one json-formatted file. Some redundant information,
i.e. 'Event:', 'utime:', 'stime:', 'cutime:' and 'cstime:' fields, are
dropped.
Markus Lehtonen [Mon, 29 Aug 2016 19:48:26 +0000 (22:48 +0300)]
oeqa.buildperf: don't use Gnu time
Use Python standard library functionality instead of the time utility
for measuring elapsed (wall clock) time of commands. The time.* log
files are also ditched. However, the same detailed resource usage data,
previously found in time.* logs is now provided in results.json file.
This data is collected through the resource module of Python.
Markus Lehtonen [Mon, 29 Aug 2016 19:48:25 +0000 (22:48 +0300)]
oeqa.buildperf: rename buildstats directories
Change directory name from 'buildstats-<test_name>' to just
'buildstats'. However, this patch adds the possibility to label
buildstats directory name with a postfix which makes it possible to save
multiple buildstats per test, for example.
Markus Lehtonen [Mon, 29 Aug 2016 19:48:22 +0000 (22:48 +0300)]
oe-build-perf-test: rename log file and implement --log-file
Rename the (main) log file of the oe-build-perf-test script from
'output.log' to 'oe-build-perf-test.log'. Also, add a new command line
option --log-file which makes it possible to use an alternative log file
name/path, if needed. Note that the file name/path is relative to the
output directory.
Markus Lehtonen [Fri, 26 Aug 2016 07:33:11 +0000 (10:33 +0300)]
oe-build-perf-test: update globalres and git even if tests failed
Write globalres log file and commit results to Git even if some tests
failed. Now that tests do not depend on each other there should be no
risk of bogus results caused by test failures.
Markus Lehtonen [Fri, 26 Aug 2016 07:33:10 +0000 (10:33 +0300)]
oeqa.buildperf: treat failed measurements as errors
Now failed measurements correctly cause a test failure (recorded as an
error). There should be no need to continue the test if one step fails,
especially now that the tests don't depend on each other.
Markus Lehtonen [Fri, 26 Aug 2016 07:33:09 +0000 (10:33 +0300)]
oeqa.buildperf: make tests independent
Add test set-up functionality so that the individual tests do not depend
on each other. This should make sure that a failure in one test does not
affect the results of another test. The patch also makes it reasonable
to run only a subset of the tests by using the --run-tests option.
The increase in total execution time of the full suite - caused by the
additional set-up steps - is insignificant because normally no
additional tasks need to be run. The previous test has already done all
set-up work.
Richard Purdie [Wed, 31 Aug 2016 10:31:29 +0000 (11:31 +0100)]
lttng-ust: Update 2.7.1 -> 2.8.1
Drop aarch64_be patch which is now upstream.
Update doc patch to apply to latest version.
Disable man generation in configure options to match docs patch (for now).
Martin Jansa [Tue, 30 Aug 2016 14:19:58 +0000 (16:19 +0200)]
base, autotools: Append PACKAGECONFIG_CONFARGS to EXTRA_OECONF only in autotools.bbclass
* recipes which don't inherit autotools or cmake bbclass and want to
use the configure options from PACKAGECONFIG need to handle
PACKAGECONFIG_CONFARGS themselves.
Note, the libnl-genl2 is introduced by REPLACES_${PN}-genl = "libnl-genl2".
So that we don't need set libnl-genl-3-200 in the RREPLACES and
RCONFLICTS, otherwise it would cause do_rootfs errors when install both
libnl-genl.rpm and lib32-libnl-genl.rpm:
Computing transaction...error: Can't install libnl-genl-3-200-1:3.2.28-r0.0@core2_64: conflicted package libnl-genl-3-200-1:3.2.28-r0.0@lib32_x86 is locked
We didn't meet this error before was because there was no libnl-genl.rpm,
but libnl-3-genl.rpm, and it doesn't provide libnl-genl-3-200 by default.
Remove libnl-genl-3-200 from RREPLACES and RCONFLICTS will fix the problem.
André Draszik [Fri, 26 Aug 2016 10:31:50 +0000 (11:31 +0100)]
libnl: fix packaging mistakes
- *.la files belong into -dev packages
- the genl-ctrl-list command line utility should go to into the CLI
package, so as to prevent the libnl-genl library package from
pulling in all of the command line utilities (as genl-ctrl-list
is linked against libnl-cli-3.so.200)
Mikko Ylinen [Tue, 30 Aug 2016 05:38:45 +0000 (08:38 +0300)]
image_types: check COMPRESS_DEPENDS for backwards compatibility
To complete the transition/renaming to chained image type CONVERSION
while maintaining bacwards compatibility to COMPRESS(ION), make sure also
COMPRESS_DEPENDS is checked. Without this, the dependencies for legacy
COMPRESSIONTYPES do not get built.
bitbake: bb.fetch2.svn: correctly pass workdir when fetching
The ud.pkgdir argument was being passed as the 'quiet' argument to
runfetchcmd, not the 'workdir' argument, resulting in fetching the svn module
into the root of DL_DIR, not where it belongs.
Mariano Lopez [Tue, 23 Aug 2016 07:06:11 +0000 (07:06 +0000)]
bitbake: cooker.py: Catch when stdout doesn't have a file descriptor
Currently, there is a check to remove the TOSTOP attribute from
a tty to avoid hangs. It assumes that sys.stdout will have a
file descriptor and this is not always true, some IO classes
will throw exceptions when trying to get its file descriptor.
This will add a check for such cases and avoid throwing an
exception.
We don't need to force everyone to use git for the method in which
openembedded-core is downloaded. For instance it could have been
downloaded and extracted as a tarball.
Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Michael Wood [Mon, 22 Aug 2016 15:42:35 +0000 (16:42 +0100)]
bitbake: toaster: Allow git information to be null for BRLayer
We no longer only deal with layers that have their source in a gir
repository, we also allow for local directories too so update the
BRLayer model to reflect this.
Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add selenium tests for the new layer source switching functionality on
the layer details page. Edits the values for git repository and saves
and then edits the details for directory information and saves.
Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Michael Wood [Mon, 22 Aug 2016 15:42:32 +0000 (16:42 +0100)]
bitbake: toaster: Fix oe-core fixture
Due to a copy paste error we managed to get some of the wrong
information in the oe fixture that provides a suggested default settings
for Toaster. This meant it tested correctly when it shouldn't have.
Fix:
- The use of local bitbake
- An incorrect call to realpath which didn't include its parent module.
- The field used for the local_dir of an existing openembedded-core
Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Sujith H [Mon, 22 Aug 2016 15:42:29 +0000 (16:42 +0100)]
bitbake: toaster: layerdetails js changes for switching layers
This patch helps to implement the switching of layers
between directories and git repositories. Specifically
selection of git and local directory. Also enabling
form to view the selection.
Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Sujith H <sujith.h@gmail.com> Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Because some image_license.manifest files contain multiple
FILES lines, and because those lines can sometimes not contain
a list of files (i.e. they look like "FILES:\n"), we were
resetting the list of kernel artifacts when we hit the second
"empty" line.
Fix by ignoring any FILES line which doesn't list files, and by
appending any files found in a valid FILES line, rather than
overwriting the existing list.
Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The sstate mirror check would silently fail with 401 unauthorized.
This patch allows both the check, and the wget download to succeed by
checking for user credentials and if present adding the correct
headers, or wget params as needed.
We can't execute the same task for the same package_arch multiple
times as the current setup has conflicting directories. Since
these would usually have the same stamp/hash, we want to execute in
sequence rather than in parallel, so for the purposes of task execution,
don't consider the "extra-info" on the stamp files. We need to add
a parameter to the stamp function to achieve this.
This avoids multiple update-rc.d populate_sysroot tasks executing in
parallel and breaking multiconfig builds.
We need a separate fetcher cache per multiconfig as the revisions and other
SRC_URI data can potentially be different. For now, this is the simplest way
to achieve that and avoids linux-yocto kernel build failures when targeting
multiple machines for example.
Paul Eggleton [Tue, 30 Aug 2016 02:16:22 +0000 (14:16 +1200)]
bitbake: tinfoil: add a parse_recipe_file function
Parsing a recipe is such a common task for tinfoil-using scripts, and is
a little awkward to do properly, so add an API function to do it. This
should also isolate scripts a little from future changes to the internal
code. The first user of this will be the OpenEmbedded layer index update
script.
Paul Eggleton [Tue, 30 Aug 2016 08:45:09 +0000 (20:45 +1200)]
bitbake: cache: allow parsing a recipe with a custom config datastore
To accommodate the OpenEmbedded layer index recipe parsing, we have to
have the ability to pass in a custom config datastore since it
constructs a synthetic one. To make this possible after the multi-config
changes, rename the internal _load_bbfile() function to parse_recipe(),
make it a function at the module level (since it doesn't actually need
to access any members of the class or instance) and move setting
__BBMULTICONFIG inside it since other code will expect that to be set.
Paul Eggleton [Wed, 5 Aug 2015 14:47:12 +0000 (15:47 +0100)]
bitbake: bitbake-diffsigs/bitbake-layers: Ensure tinfoil is shut down correctly
We should always shut down tinfoil when we're finished with it, either
by explicitly calling the shutdown() method or by using it as a
context manager ("with ...").
Paul Eggleton [Wed, 5 Aug 2015 14:12:14 +0000 (15:12 +0100)]
bitbake: tinfoil: add context manager functions
Since calling the shutdown() function is highly recommended, make
tinfoil objects a little easier to deal with by adding context manager
support - so you can do the following:
with bb.tinfoil.Tinfoil() as tinfoil:
tinfoil.prepare(True)
...
Scott Rifenbark [Thu, 1 Sep 2016 21:01:21 +0000 (14:01 -0700)]
bitbake: bitbake-user-manual: Added "Exporting Variables to the Environment"
Fixes [YOCTO #10196]
Added a new section named "Exporting Variables to the Environment".
This section provides a dedicated description for how to export
variables to the shell.
init-install: Fixes the install script failing when not finding any mmcblk devices
The init-install.sh and init-install-efi.sh scripts perform a check
to see which devices are available on a booted system for installation.
Recently, the way we check for these devices changed on 993bfb,
greping for devices found on /sys/block/, this change caused the installer
to fail (at least) when not finding any mmcblk devices, due to the fact
that we call sh -e to execute this script, so any command (grep)
or pipeline exiting with a non-zero status causes the whole script to exit
This patch throws in a harmless true exit status at the end of the pipeline(s)
of the grep commands to avoid the installer script from exiting, fixing the issue.