aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
AgeCommit message (Collapse)Author
2017-04-12oe-build-perf-report-email.py: use pwd for getting user nameMarkus Lehtonen
Use pwd data instead of os.getlogin() to get the username for fallback email address. os.getlogin() basically returns the name of the user logged in on the controlling terminal of the process and raises an exception on some systems if the process does not have a controlling terminal - when executed from a cron script, for example. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-12oe-selftest: Error if known problem variables are setRichard Purdie
Setting SANITY_TESTED_DISTROS or PRSERV_HOST are known to break oe-selftest. Rather than have the user experience this, refuse to execute unless the environment is correct. Ideally we'd try and unset these but that is a more invasive change and this at least makes people aware of the problem. [YOCTO #11292] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-12yocto-compat-layer: better handling of per-machine world build breakagePatrick Ohly
It is fairly common that BSP layers enable recipes when choosing machines from that layer without checking whether the recipe actually builds in the current distro. That breaks "bitbake world", retrieving signatures and thus the test_machine_signatures test. It's better to let that test continue with the signatures that can be retrieved and report the broken world build separately. Right now, the new test_machine_world iterates over all machines. More elegant and useful in combination with a (currently missing) selection of which tests to run would be to generate one test instance per machine. But that is not straightforward and has to wait. The "-k" argument alone was not enough to proceed despite failures, because bitbake then still returns a non-zero exit code. The existance of the output file is taken as sign that the bitbake execution managed was not fatally broken. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-12yocto-compat-layer: test signature differences when setting MACHINEPatrick Ohly
Selecting a machine is only allowed to affect the signature of tasks that are specific to that machine. In other words, when MACHINE=A and MACHINE=B share a recipe foo and the output of foo, then both machine configurations must build foo in exactly the same way. Otherwise it is not possible to use both machines in the same distribution. This criteria can only be tested by testing different machines in combination, i.e. one main layer, potentially several additional BSP layers and an explicit choice of machines: yocto-compat-layer --additional-layers .../meta-intel --machines intel-corei7-64 imx6slevk -- .../meta-freescale To simplify the analysis and limit the amount of output, mismatches are sorted by task order such that tasks that run first are also reported first. Following tasks for the same recipe and set of machines then get pruned, because they are likely to be different because of the underlying task (same approach as in test_signatures). The difference here is that we get information about all machines. The task order in the base configuration serves as heuristic for sorting that merged list. The test has already found issues in go-cross (depended on tune-specific libgcc) and gdb-cross (had a tune-specific path unnecessarily), so it is also useful to uncover issues that are not caused by the BSP layer itself. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-12recipetool: create: hide missing npm error when called from devtoolPaul Eggleton
If devtool is called with a URL to a source repository containing a node.js module, we don't know that until recipetool has fetched it, and due to the structure of the code we have to exit with a special code in order to let devtool know it needs to build nodejs-native. We also want to suppress the error message that recipetool would normally print under these circumstances; there is already a mechanism for this but it wasn't operative in the case where we're pointed to a source repository rather than an npm:// URL, so create some plumbing so that we know to hide the message. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-12devtool: add: prevent repeatedly running recipetoolPaul Eggleton
If recipetool returns with exit code 14 this means devtool needs to build nodejs-native and then call it again. If recipetool returns exit code 14 again then clearly something has gone wrong and we should just quit with an error. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-12devtool: add: fix node.js/npm handling with recipe specific sysrootsPaul Eggleton
The change over to recipe specific sysroots means that we can no longer get a known location simply from configuration for the npm binary - we need to get the recipe sysroot for nodejs-native, look there for npm if we need to check it's present, and add that to PATH when calling out to npm. Unfortunately this means anywhere we need to get that path we have to have parsed all recipes, otherwise we have no reliable way of resolving nodejs-native. Thus we have to change recipetool create to always parse all recipes (the structure of the code does not allow us to do this conditionally). In the worst case, if npm hasn't already been added to its own sysroot and we are fetching from a source repository rather than an npm registry, this gets a bit ugly because we end up parsing recipes three times: 1) recipetool startup, which then fetches the code and determines it's a node.js module, finds that npm isn't available and then exits with a specific error to tell devtool it needs to build npm 2) when we invoke bitbake -c addto_recipe_sysroot nodejs-native 3) when we re-invoke recipetool This code is badly in need of refactoring, but now is unfortunately not the time to do that, so we're going to have to live with this ugliness for now. Fixes [YOCTO #10992]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-12recipetool: create: fix for regression in npm license handlingPaul Eggleton
OE-Core commit c0cfd9b1d54b05ad048f444d6fe248aa0500159e added handling for AND / OR in license strings coming from npm, but made the assumption that an & would always be present in the license value. Check if it's there first so we don't fail if it isn't. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-12yocto-compat-layer: add --additional-layersPatrick Ohly
The new --addditional-layers parameter takes a list of layer directories and adds them to the build configuration before starting testing. The resulting base configuration then more closely matches a full distro. This is relevant in two cases: 1. some layers like meta-freescale dynamically enable more recipes in their layer.conf depending on which other layers are active, so testing only against OE-core might miss problems which occur only when also some other layers are active 2. BSP layers might be fine in combination with machines from OE-core, but might break in combination with some other machines As before, test_signatures only warns about signature changes introduced by the layer which is under testing, and not those changes introduced by the additional layers. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-12yocto-compat-layer: also determine tune flags for each taskPatrick Ohly
locked-sigs.inc groups tasks according to their tune flags (allarch, i586, etc.). Also retrieve that information while getting signatures, it will be needed to determine when setting a machine changes tasks that aren't machine-specific. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-12yocto-compat-layer: include bitbake-diffsigs outputPatrick Ohly
After filtering out potential false positives, it becomes feasible to include the output of bitbake-diffsigs for those tasks which definitely have a change. Depends on bitbake-diffsigs with the "--signature" parameter. Enhanced output now is: AssertionError: False is not true : Layer meta-xxxx changed 120 signatures, initial differences (first hash without, second with layer): gstreamer1.0-plugins-base:do_fetch: 76973f19f2e30d282152bdd7e4efe5bb -> e6e7c6fa9f2bd59d7d8d107f7c6ca1ac Task dependencies changed from: ['PV', 'SRCREV', 'SRC_URI', 'SRC_URI[md5sum]', 'SRC_URI[sha256sum]', 'base_do_fetch'] to: ['GST_IMX_PATCHES_TO_APPEND', 'PV', 'SRCREV', 'SRC_URI', 'SRC_URI[md5sum]', 'SRC_URI[sha256sum]', 'base_do_fetch'] basehash changed from d679d30bd1ea41c56e57419b57587f3c to 090a79b45f5fa26d10f9d34e2ed7a1e6 List of dependencies for variable SRC_URI changed from '{'PV', 'SRC_URI[md5sum]', 'SRC_URI[sha256sum]'}' to '{'GST_IMX_PATCHES_TO_APPEND', 'PV', 'SRC_URI[md5sum]', 'SRC_URI[sha256sum]'}' changed items: {'GST_IMX_PATCHES_TO_APPEND'} Dependency on variable GST_IMX_PATCHES_TO_APPEND was added Variable SRC_URI value changed: " http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-${PV}.tar.xz file://get-caps-from-src-pad-when-query-caps.patch file://0003-ssaparse-enhance-SSA-text-lines-parsing.patch file://0004-subparse-set-need_segment-after-sink-pad-received-GS.patch file://encodebin-Need-more-buffers-in-output-queue-for-bett.patch file://make-gio_unix_2_0-dependency-configurable.patch file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch file://0001-Makefile.am-don-t-hardcode-libtool-name-when-running.patch file://0002-Makefile.am-prefix-calls-to-pkg-config-with-PKG_CONF.patch file://0003-riff-add-missing-include-directories-when-calling-in.patch file://0004-rtsp-drop-incorrect-reference-to-gstreamer-sdp-in-Ma.patch [--] {+${GST_IMX_PATCHES_TO_APPEND}+}" pulseaudio:do_install: 6bb6fe23e11a6d5fef9c3a25e73e4f9c -> 3f54ea75673a792e307197cfa6ef2694 basehash changed from ac4efcfa783bd04a5a98a2c38719aedd to 37679d99623a37c8df955da3a01415a5 Variable do_install value changed: @@ -1,3 +1,7 @@ autotools_do_install install -d ${D}${sysconfdir}/default/volatiles install -m 0644 ${WORKDIR}/volatiles.04_pulse ${D}${sysconfdir}/default/volatiles/volatiles.04_pulse + if [ -e "${WORKDIR}/daemon.conf" ] && [ -e "${WORKDIR}/default.pa" ]; then + install -m 0644 ${WORKDIR}/daemon.conf ${D}${sysconfdir}/pulse/daemon.conf + install -m 0644 ${WORKDIR}/default.pa ${D}${sysconfdir}/pulse/default.pa + fi [YOCTO #11161] Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-11oe-selftest: test wic sparse_copy APIEd Bartosh
Added new parameter 'api' to sparse_copy function to specify underlying filemap API to use. By default sparse_copy will try both available APIs. Added test case for sparse_copy to wic test suite. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-11qemux86-directdisk.wks: vda -> sdaRobert Yang
Previously, runqemu grep root=/dev/sd or root=/dev/hd on the image, and would use vda if no grep result, now we have set QB_DRIVE_TYPE to "/dev/sd" by default, and the device will be /dev/sda, so use sda to replace vda in the test case. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-11runqemu: use self.rootfs to replace self.nfs_dirRobert Yang
We can use self.rootfs as self.nfs_dir when self.fstype is nfs, this can reduce the code's complexity and we can re-use the code of checking ROOTFS conflictions. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-11runqemu: do not rely on grepping imagesRobert Yang
Fixed when the image is large and not enough memory: grep: memory exhausted Aborted [YOCTO #11073] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-11runqemu: run without argumentsRobert Yang
Since we can get MACHINE and others from env vars and "bitbake -e", "runqemu" can work without any arguments. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-11runqemu: support env vars explicitlyRobert Yang
Use self.env_vars to support get vars from environment explicity. The MACHINE, ROOTFS and KERNEL was supported by shell based runqemu, and the help text says support them from env vars, so add them back. [YOCTO #11141] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-11python2/3: Move config/Makefile from core package to dev packageLi Zhou
Move config/Makefile in libdir from core package to dev package for python, because it is only needed in development process. Signed-off-by: Li Zhou <li.zhou@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-11buildhistory-diff: add option to compare actual signature differencesPaul Eggleton
Use the code underpinning bitbake-diffsigs to add an option to buildhistory-diff to determine and display the differences between the actual signature inputs, with a twist - we collapse identical changes across different tasks, showing only the most recent task to have that difference, meaning that there's less noise to wade through when you just want to know what changed in order to cause some rebuilding you're seeing. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-11buildhistory-diff: add option to compare task signature listPaul Eggleton
Having added writing out of the task signature list to buildhistory (when BUILDHISTORY_FEATURES includes "task"), we now need a way to compare the list. This just shows which tasks have been added / changed signature / removed. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-11buildhistory-diff: operate from buildhistory directoryPaul Eggleton
If the cwd is named "buildhistory" and the user hasn't specified an alternative path on the command line, then assume that the current directory is the buildhistory directory. This makes it easier to run buildhistory-diff and also interact with the buildhistory git repository as you no longer have to jump into the buildhistory directory and up to the parent again when doing so. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-10scripts: Drop cleanup-workdirRichard Purdie
This script appears broken and is actively breaking build directories. For example, binutils-cross-i586 gets run do_fetch to do_populate_sysroot by: $ oe-selftest -r devtool.DevtoolTests.test_devtool_virtual_kernel_modify then: $ oe-selftest -r oescripts.BuildhistoryDiffTests.test_buildhistory_diff wipes out the contents of tmp/work/x86_64-linux/binutils-cross-i586/2.28-r0/ but does not wipe out the corresponding stamps, then: $ oe-selftest -r runtime-test.Postinst.test_postinst_rootfs_and_boot needs binutils-cross-i586:do_populate_lic and if and only if this is unavailable from sstate, it fails since it thinks the source is already unpacked when it isn't resulting in: WARNING: binutils-cross-i586-2.28-r0 do_populate_lic: Could not copy license file /home/pokybuild/yocto-autobuilder/yocto-worker/nigh tly-oe-selftest/build/build/tmp/work/x86_64-linux/binutils-cross-i586/2.28-r0/git/COPYING3.LIB to /home/pokybuild/yocto-autobuilder/yocto -worker/nightly-oe-selftest/build/build/tmp/work/x86_64-linux/binutils-cross-i586/2.28-r0/license-destdir/binutils-cross-i586/COPYING3.LI B: [Errno 2] No such file or directory: '/home/pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/x86_64-l inux/binutils-cross-i586/2.28-r0/git/COPYING3.LIB' ERROR: binutils-cross-i586-2.28-r0 do_populate_lic: QA Issue: binutils-cross-i586: LIC_FILES_CHKSUM points to an invalid file: /home/ pokybuild/yocto-autobuilder/yocto-worker/nightly-oe-selftest/build/build/tmp/work/x86_64-linux/binutils-cross-i586/2.28-r0/git/COPYING3 [license-checksum] and similar errors. Its safer for users to wipe tmp than try and maintain scripts which try to remove pieces of tmp and get it wrong so remove the script. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-08scripts/oe-build-perf-report: improve guessing of argsMarkus Lehtonen
Search remote branches, too, when finding the latest commit. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-08oe-build-perf-report-email.py: use proper fallback email addressMarkus Lehtonen
Use properly formatted fallback email address instead of just the username. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-08build-perf-test-wrapper.sh: support extra args for email scriptMarkus Lehtonen
Make it possible to provide (extra) command line arguments to the oe-build-perf-test-email script via a new environment variable OE_BUILD_PERF_REPORT_EMAIL_EXTRA_ARGS. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-08python3: fix run-time deps for core python3 librariesDmitry Rozhkov
The http.server module from python3-netclient imports the html module which is in python3-html. Also xmlrpc.server imports pydoc which is a part of python3-pydoc. But those run-time dependencies are missing from python3-netclient and python3-xmlrpc respectively. Add the missing run-time dependencies. Signed-off-by: Dmitry Rozhkov <dmitry.rozhkov@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-08yocto-compat-layer: limit report of signature changesPatrick Ohly
Typically a single change cascades through the entire task dependency chain. Developers had to figure that out themselves, based on hard to read and interpret output (not sorted, no indention, no explanations): $ yocto-compat-layer.py -n meta-xxxx ... AssertionError: True is not false : Layer meta-xxxx changed signatures. webkitgtk:do_install changed fe2edc9082bc0da98f9cb1391c52f565 -> b3a44684c5cd9aacd3f7c6ed88eefab5 gstreamer1.0-plugins-good:do_configure changed 3b2f8211be3fe08422bf6087f3af16d1 -> 7d80e42fa1f4f01ff4dfe2ea4477d382 pulseaudio:do_package_qa changed 5d0a58ada66ff17f5576555302ac319a -> 0e13bcb96143d1ae54c451bc3de0aa30 epiphany:do_prepare_recipe_sysroot changed 29e1b277dbcb005bd54950594c50d91b -> d3c45527b37677a0668ce483c6db3052 ... gst-player:do_packagedata changed 9ce6efdd357dd74919bc4957458b1e95 -> d0c083ce629f37adfc9c4ba9eff81f83 gstreamer1.0-plugins-base:do_install changed 1161cd867d15bea63e5dd5d9abf0519c -> 5bf2b652a2d77fee3eedb35af2f201a0 gstreamer1.0-rtsp-server:do_packagedata changed 6781dc3070f80b843ed1970d74dd323e -> 454620c2e3b9fea87e525d14b6ed0344 alsa-plugins:do_packagedata changed 1808c3f737cb805b169d004e948ea19c -> 480124b7fa5eab1f73bf96440d725231 Now the tool automates the problem analysis: it retrieves the depgraph using the tinfoil API and only reports those tasks with modified signatures whose dependencies have not changed, i.e. those tasks which definitely introduce a change. >From the previous example, that just leaves two tasks that need to be checked: AssertionError: False is not true : Layer meta-xxxx changed 120 signatures, initial differences (first hash without, second with layer): gstreamer1.0-plugins-base:do_fetch: 76973f19f2e30d282152bdd7e4efe5bb -> e6e7c6fa9f2bd59d7d8d107f7c6ca1ac pulseaudio:do_install: 668eb1e30af129df9806b0aa0d7c10cd -> 1196bdb88eef56eeee4613bb06b9387e This pruning might be a bit too aggressive in the sense that tasks which inherit a change and then add more changes themselves won't be reported initially. They will be found when fixing the reported tasks and re-running the check. For a developer it seems better to have something listed which definitely is a problem and needs fixing instead of everything, including the tasks which don't need fixes. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-08yocto-compat-layer: fix also other command invocationsPatrick Ohly
In commit 5b9ac62ab535d, one place was fixed where a command was invoked such that failures caused double stack traces and stderr was lost. The same problem also occurs elsewhere, triggered for example by a layer with parsing problems. Now a new utility method is used instead of repeating the code. Signed-off-by: Patrick Ohly <patrick.ohly@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-08oe-build-perf-report-email.py: fix one file pathMarkus Lehtonen
Sending report email was not working correctly if the script was given an html report path that contained directory components. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-07runqemu: use realpath for imgdirRobert Yang
The DEPLOY_DIR_IMAGE maybe relative or absolute path since it can be read from env vars, so use realpath for both imgdir and DEPLOY_DIR_IMAGE when compare. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-06runqemu: fix 2 typosRobert Yang
* "is it" -> "it is" * Remove "<image>.qemuboot.conf =" in the error message which looked strange. Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-05wic: improve error messageChen Qi
When using `wic create mkefidisk -e core-image-minimal', the following error message appeared. Please bake it with 'bitbake parted-native' and try again. However, following this command doesn't do any help. The same problem still appeared. The problem is that when we 'bitbake parted-native', it doesn't have anything to do with core-image-minimal. And the required tool 'parted' is not under core-image-minimal's recipe-sysroot-native directory. Improve the error message so that following it could get things done. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-05Revert "filemap: remove FilemapSeek class"Ed Bartosh
FIEMAP API is not supported by tmpfs file system, but SEEK_HOLE/SEEK_DATA is supported. Returned back FilemapSeek class that implements support of SEEK_HOLE/SEEK_DATA API to make sparse_copy API working on tmpfs again. This reverts commit 6b80c13f7a82a312a3b981de5a56c66466ba1fac. Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-05build-perf-test-wrapper.sh: support sending email reportsMarkus Lehtonen
Add new '-E' command line option for sending an email report to specified recipient. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-05build-perf-test-wrapper.sh: support pushing to remote GitMarkus Lehtonen
Implement new '-P' option for spefifying a Git remote where to push results after committing to a local Git repository. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-05build-perf-test-wrapper.sh: correctly check test script exit statusMarkus Lehtonen
Test of the exit code was accidentally moved to wrong place when oe-git-archive was taken into use. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-05build-perf-test-wrapper.sh: make it possible to specify Git branch nameMarkus Lehtonen
Support <branch>:<commit> format for the -c argument. This makes it possible to test older commits of a certain branch (not just the tip of it) so that the branch name will still be correctly recorded in the test report data. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-05scripts/oe-build-perf-report: fix typoMarkus Lehtonen
Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-05scripts/oe-build-perf-report: fix 'charts ready' console messageMarkus Lehtonen
The javascript console log messages are used in scraping, when converting an html test report to html email. Before this patch a console message indicating that all charts have been drawn was not correctly sent if the last test failed (or didn't have chart data for some other reason) which, in turn, caused oe-build-perf-report-email.py script to fail with a timeout. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-05scripts/oe-build-perf-report: better guessing of argsMarkus Lehtonen
When getting info from the latest commit, don't search all refs but only branches. We don't get correct data from refs/tags/* or refs/notest/*, for example. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-05yocto-compat-layer.py: Fix the signature validationMark Hatle
The initial signatures need to be collected -after- the dependency layers have been added to the system. Otherwise changes that happen due to dependencies, outside of the layer being scanned, will show up as signature problems. The add_layer function was split into two pieces so that we can process the dependencies first, and then add the layer itself for the comparison. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-05compatlayer/__init__.py: Allow add_layer to process recursive depsMark Hatle
When processing a layer for dependencies, you have to process the layer itself, it's dependencies, the dependencies dependencies and so forth until all items have been processed. i.e.: LayerA requires LayerB requires LayerC requires layerD The end result should be LayerB, LayerC and LayerD are all dependencies of LayerA. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-05yocto-compat-layer.py: Add --dependency argumentMark Hatle
When processing a large number of items, there are times that it would be nice to be able to pass in a series of layers that can be used as dependencies for the layer that is being scanned. This avoids the significant overhead of processing all of the layers to compatibility. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-05yocto-compat-layer.py: Add status for skipped itemsMark Hatle
If items were skipped because the dependencies could not be found, we want to record this was skipped so we can display it later. Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-05scripts: Add yocto-compat-layer-wrapperAníbal Limón
This script will be used to create it's own build directory to make runs of yocto-compat-layer.py againts layers isolated. Example: $ source oe-init-build-env $ yocto-compat-layer-wrapper LAYER_DIR LAYER_DIR_N [YOCTO #11164] Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-05update_gio_module_cache: Do not chown a non-existing filePeter Kjellerstedt
Only change the ownership of ${libdir}/gio/modules/giomodule.cache if it exists. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-04-05devtool: point runqemu to correct native bindirbrian avery
devtool/runqemu.py was relying on STAGING_BINDIR_NATIVE to find the host tools it needed like qemu-system-<arch>. In the post RSS world, this no longer exists. This patch points it to {STAGING_DIR}/{BUILD_ARCH}/{bindir_native}. [YOCTO #11223] Signed-off-by: brian avery <brian.avery@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-05scripts: change way we find native tools (pseudo)brian avery
oe-find-native-sysroot: Recipe Specific Sysroots have eliminated the large STAGING_DIR_NATIVE. Now, we will rely on the meta-ide-support sysroot that is what was populating the large STAGING_DIR_NATIVE in previous versions anyway. We now look for RECIPE_SYSROOT_NATIVE. [YOCTO #11119] Signed-off-by: brian avery <brian.avery@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-01scripts/contrib: add oe-build-perf-report-emailMarkus Lehtonen
Script for sending build perf test reports as an email. Mangles an html report, generated by oe-build-perf-report, into a format suitable for html emails. Supports multipart emails where a plaintext alternative can be included in the same email. Dependencies required to be installed on the host: - phantomjs - optipng [YOCTO #10931] Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-01scripts: add oe-build-perf-report scriptMarkus Lehtonen
A new tool for pretty-printing build perf test results stored in a Git repository. The scripts is able to produce either simple plaintext report showing the difference between two commits, or, an html report that also displays trendcharts of the test results. The script uses Jinja2 templates for generating HTML reports so it requires python3-jinja2 to be installed on the system. [YOCTO #10931] Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>