summaryrefslogtreecommitdiffstats
path: root/meta/lib
Commit message (Collapse)AuthorAgeFilesLines
* oeqa/utils/qemurunner: fix wrong var in messageStefan Stanacar2013-08-061-1/+1
| | | | | | | | | | | | | | If nothing matches we should print the text not the match, else we get a nice traceback. Changed in V2: - commit message (From OE-Core rev: 601738fee3e9b7909b63714ca725576c10eec1e3) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/runtime/xorg: use the right ps command for xorg testStefan Stanacar2013-08-031-2/+2
| | | | | | | | | | Use our determined ps command, otherwise test fails for images with procps. (From OE-Core rev: 18e4d014bea3a5748f42e6dac648fa9b02230344) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/utils/qemurunner: tweak console bootparam and ip commandStefan Stanacar2013-08-031-2/+2
| | | | | | | | | | | | | | Sync serial baud rate with default inittab which should help with apparent boot fails. Also keep a console on tty1. Also we shouldn't assume eth0 it the right interface. (systemd images can rename interfaces to something else). (From OE-Core rev: d5620c0b6782b88f3e6de97b1ddadcf21207fc57) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/utils/qemurunner: add comment and headerStefan Stanacar2013-08-031-0/+7
| | | | | | | | | | One of the files was missing comment/header, unlike the others. (From OE-Core rev: 054dba3b7b96349e1e20e3a58acd98bb68ab2536) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oeqa/utils/sshcontrol: increase and log timeout in outputStefan Stanacar2013-08-031-4/+6
| | | | | | | | | | | | Increase a bit the timeout for ssh commands and also write in the output that the command timed out (it's easier to see that in a test fail than checking the ssh log) (From OE-Core rev: 652a1762c8adc3b8cb1c6db2ee4a5234a7436c8d) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/terminal.py: add support for MATE desktop terminalsAndre McCurdy2013-07-311-0/+4
| | | | | | | | | | | | A simple clone of the corresponding Gnome class. Without this, devshell fails completely on a default installation of MATE desktop Linux Mint 15. (From OE-Core rev: 8cc078a9c679845464c59028f584d7aba098cc1f) Signed-off-by: Andre McCurdy <andre.mccurdy@entropic.com> Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oeqa: fix dependecy checkStefan Stanacar2013-07-162-1/+4
| | | | | | | | | | | Adds missing skip for smart test and fix the check (which I somehow broke a while ago). (From OE-Core rev: cf1790d992f067be8d5f9894458f55f6f1bdc61f) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage.bbclass, lib/oeqa: add headers and commentsStefan Stanacar2013-07-163-0/+26
| | | | | | | | | | | Adds some comments to testimage.bbclass and the files it calls, just to give an ideea of what it does. (From OE-Core rev: 8bbb7116cf02466dfc59a17dc7bb51287aeea55b) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/testimage.bbclass: use a copy of rootfs for testsStefan Stanacar2013-07-161-1/+1
| | | | | | | | | | | Make a copy of the rootfs and test that. We can now drop the snapshot option. (From OE-Core rev: ba58f1fe8fb7a0e3ff9320dfc108235d484da6a1) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oeqa/runtime: add tests for syslog and dfAlexandru Palalau2013-07-162-0/+50
| | | | | | | | | | | | | | | Add tests for free space and syslog. Changed in v2: - limit df's output to / - syslog: fix restart in case of systemd (From OE-Core rev: 1b39d57e7b5c9b69d565cf4d188ebc2f14e66ae6) Signed-off-by: Alexandru Palalau <alexandru.palalau@intel.com> Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oeqa/oetest.py: provide a ps command for all testsStefan Stanacar2013-07-162-8/+2
| | | | | | | | | | | | Many tests will use 'ps' but we need to know if it's busybox or standard ps. Drop the existing check from the connman test. (From OE-Core rev: 1515d33d2c5b7275a3ac20e07c1db1d8273de796) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oeqa/runtime/multilib.py: use readelf instead of fileStefan Stanacar2013-07-161-3/+6
| | | | | | | | | | | | | file was pulled by rpm in sato images, readelf comes with binutils so it's in ipk/deb too. Also the test was looking at connmand instead of connman-applet (which is what the testcase says and the AB nightly-multilib target installs) (From OE-Core rev: c2c47a002996b8dbcf9b311dff677202b1f11a64) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* testimage.bbclass, lib/oeqa/utils/qemurunner.py: make boot timeout ↵Stefan Stanacar2013-07-161-5/+5
| | | | | | | | | | | | | | configurable and increase it On a loaded host (such as an AB setup where multiple builds run) the 200 seconds timeout might not be enough to reach the login prompt. Also make it configurable so we can set it from local.conf/auto.conf (From OE-Core rev: e828571683333e6f18ed56a84e114b5e54975bc7) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oeqa/utils/sshcontrol.py: fix passing command to subprocessStefan Stanacar2013-07-161-23/+17
| | | | | | | | | | | | | | | Don't use shlex.split in subprocess call and also prepend . /etc/profile, because PATH over ssh is always /usr/bin:/bin which isn't what many tests expect. Changed in v2: We now need to use a separate call for scp command. (From OE-Core rev: 1988de2fad86e8e34070ed6573a7be09fff5c0a2) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oeqa/runtime/dmesg.py: whitelist dmesg message for systemd net interface ↵Stefan Stanacar2013-07-161-1/+1
| | | | | | | | | | | | | | | name Messages such as: "systemd-udevd[79]: error changing net interface name eth0 to enp0s3: Device or resource busy" are harmless as systemd can't rename interfaces in qemu (the interface is already active). Alternatively, passing net.ifnames=0 to the kernel will stop systemd renaming the interfaces. (From OE-Core rev: c072fed6531f2ce3c687f8342a97f593ebf37653) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oeqa/runtime: add gcc testStefan Stanacar2013-07-093-0/+67
| | | | | | | | | gcc compile test and support files. (From OE-Core rev: ccbce75335971abf5098a492755e92ca60cf67bd) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oeqa/runtime: image sanity testsStefan Stanacar2013-07-0910-0/+185
| | | | | | | | | | | | 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. (From OE-Core rev: dd3dc2804395f050df74fa936e65ce5e911442eb) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Radu Moisan <radu.moisan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oeqa/utils/decorators.py: decorators for test methodsRadu Moisan2013-07-091-0/+40
| | | | | | | | | | | | | 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. (From OE-Core rev: 79cb89648702aa80ec986e0026c62948de905b87) Signed-off-by: Radu Moisan <radu.moisan@intel.com> Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oeqa/utils/qemurunner.py: class to handle qemu instanceRadu Moisan2013-07-091-0/+164
| | | | | | | | | | | | | 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. (From OE-Core rev: ee7d64dfcc02ba8f568b17d181e0a58d3c810076) Signed-off-by: Radu Moisan <radu.moisan@intel.com> Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oeqa/utils/oeqemuconsole.py: handle qemu serial console connectionStefan Stanacar2013-07-091-0/+45
| | | | | | | | | | | | | 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. (From OE-Core rev: 1cfec2f0a1a1ee84cc6b2b6ad890688da85c5e81) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oeqa/utils/sshcontrol.py: helper module for running remote commandsStefan Stanacar2013-07-092-0/+100
| | | | | | | | | | Provides a class for setting up ssh connections, running commands and copying files to/from a target. (From OE-Core rev: 683cac9768e0d38fa15ddc5451e6b2333f184033) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oeqa/oetest.py: base module for all runtime unittestsStefan Stanacar2013-07-092-0/+101
| | | | | | | | | | | This module contains the base class for all runtime tests and some helper methods. (From OE-Core rev: 7765c27705e90381975fb2b89ea2181287517761) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Radu Moisan <radu.moisan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* TmuxRunning: handle multi-word commandsTyler Hall2013-07-021-1/+1
| | | | | | | | | | | | | | | | Just as in f8ed7446755eeb88191e16749350efa1e7e6197c, tmux wants a single argument for its command. This applies to the "split-window" command as well as "new." 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. (From OE-Core rev: 36fb9799d6a449d86acca3be354af56ad87c3151) Signed-off-by: Tyler Hall <tylerwhall@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/lsb.py: fall back to /etc/os-release for host distro IDPaul Eggleton2013-07-021-2/+14
| | | | | | | | | | | | | | | | | | | | 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. [1] http://www.freedesktop.org/software/systemd/man/os-release.html (From OE-Core rev: bff50b747cde04007ead65dde4207b16a8e1bf08) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* handle two-word commands with tmuxPeter Seebach2013-06-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | Trying to make a devshell using tmux can fail because "tmux new" expects a single command, not a series of arguments. It does, however, split strings in a suitable way. So you can quote the command. The failure mode is particularly arcane, in that you end up with a message like: ERROR: Unable to spawn terminal auto: \ Execution of 'pseudo /bin/bash' failed with exit code 1: usage: new-session [-d] [-n window-name] [-s session-name] \ [-t target-session] [command] which is confusing because there's no "new-session" anywhere in sight (that's actually "tmux new"), and because what failed to execute wasn't either pseudo or bash. (From OE-Core rev: f8ed7446755eeb88191e16749350efa1e7e6197c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* test_utils: import functions directly for concisenessRoss Burton2013-06-071-5/+5
| | | | | | | | (From OE-Core rev: 2a147008cf81838cfc569640a30df0c1bfd74e08) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* test-utils: handle import bb failing and skip the testRoss Burton2013-06-071-1/+5
| | | | | | | | | | | | Instead of reporting an error when bb cannot be imported, skip the test instead. This makes it a lot easier to iterate a test suite when we don't care about this particular test. (From OE-Core rev: c4a5bd810ca92d57c334113c528bd1d233b3eac4) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* utils: add trim_version() functionRoss Burton2013-05-302-0/+35
| | | | | | | | | | | | | | Add a helper function that returns just the first <num_parts> of <version>, split by periods. For example, trim_version("1.2.3", 2) will return "1.2". This should help reduce the spread of numerous copies of this idea across classes and recipes. (From OE-Core rev: 17a12e3c62807a7d60fcbf0aa4fd9cf4a739a204) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* cachedpath.py: global name 'error' is not definedRobert Yang2013-05-151-3/+1
| | | | | | | | | | | | The error is not global since we don't use "from os import *", so it should be os.error. [YOCTO #4489] (From OE-Core rev: ac0e2781c2723257bd380cac170d4c8b97e36747) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/buildhistory: track contents of selected files in imagesPaul Eggleton2013-05-101-6/+17
| | | | | | | | | | | | | | | Add a BUILDHISTORY_IMAGE_FILES variable specifying a space-separated list of files within an image to copy into buildhistory, so that changes to them can be tracked. Typically this would be used for configuration files, and by default this includes /etc/passwd and /etc/group, but the user is free to extend this list by setting the variable in local.conf. Implements [YOCTO #4154]. (From OE-Core rev: ed6bb6e3db518082d3a9c45d548bc1339be2c5ca) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* class/lib: Fix up various file access methodsRichard Purdie2013-05-092-3/+5
| | | | | | | | | | | | | | There are various bits of cruft that have built up around our file accesses. This patch cleans some of them up, specifically: * Remove pointless "from __builtin__ import file" * Use open(), not file() * Wrap file usage in a with container to ensure files are closed * Add missing .close() calls in some cases (From OE-Core rev: a43e0a8ecd0441131e929daf998c3cd454d9c8f3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/lib: Fix getcmdstatus breakageRichard Purdie2013-05-092-2/+12
| | | | | | | | | I mistakenly thought subprocess had getcmdstatus in python 2. It doesn't so lets add a wrapper and have this work in both worlds. (From OE-Core rev: 2253e9f12734c6e6aa489942b5e4628eca1fa29d) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* image/kernel-module-split/eglibc-ld.inc: Remove has_key() usageRichard Purdie2013-05-092-2/+2
| | | | | | | | | The has_key() attribute has been removed in python 3 since there is better syntax available. Use the improved syntax. (From OE-Core rev: 3dff13793e875ff58cc38c4a960caca9b6969843) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sanity/patch.py: Remove commands module usageRichard Purdie2013-05-091-3/+3
| | | | | | | | | The commands module is removed in python3. Use the subprocess module instead and the pipes module to replace the mkargs usage. (From OE-Core rev: e2e1dcd74bc45381baccf507c0309dd792229afe) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/lib/oe: Replace StandardError with ExceptionRichard Purdie2013-05-092-3/+3
| | | | | | | | StandardError is removed in python3, replace with Exception class instead. (From OE-Core rev: a37ae30b9766df346ca57755530024a0b7d5f86b) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/lib: Update to use print as a function callRichard Purdie2013-05-091-1/+1
| | | | | | | | | In python 3 print is a function call. In some cases bb.note is a more appropriate call to make. (From OE-Core rev: 754874e68d1037c76fc4cc7d35d3fa12946d00f8) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* classes/recipes/lib: Fix various python whitespace issuesRichard Purdie2013-05-092-11/+11
| | | | | | | | | There are some left over tab characters in the python functions. This removes them and resolves python 3 errors. (From OE-Core rev: fafeb381c48291fa65c634c01c244843c8d7fad3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* clases/lib: Use modern exception syntaxRichard Purdie2013-05-096-9/+9
| | | | | | | | | Update older code to use modern exception handling syntax which is the form accepted by python 3. (From OE-Core rev: b010501cd089e649a68f683be0cf4d0aac90fbe3) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* path.py: Deal with race issueRichard Purdie2013-05-031-7/+11
| | | | | | | | | | | | | | | | | The change to use copyhardlinktree in some of the sstate code instead of copytree exposed a race condition. This is due to cp failing if it finds a directory doesn't exist yet some other process creates it while cp was trying to create it itself. tar doesn't error in this case. To fix this we need to create the directory structure with tar, then use cp to hardlink the files. Messy but probably worth doing. I also took the opportunity to remove src_bak since the code is neater without it. (From OE-Core rev: 2f954a9a6932f1e6c564e7e7aacaac628a75eed7) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* sstate.bbclass: make hard links for staging filesRobert Yang2013-05-021-2/+7
| | | | | | | | | | | | | | | | | | | Make hard links for staging files instead of copy to save the disk space (3G will be saved for a core-image-sato build), and it doesn't affect much on the build time. The following directories are affected: 1) The sysroot 2) The DEPLOY_DIR 3) The pkgdata [YOCTO #4372] (From OE-Core rev: 5853e0f482b22258c909268fe71673a29e31989b) Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe.terminal: add tmux classesChristopher Larson2013-04-151-1/+2
| | | | | | | | | | | | | | | This adds two new Terminal classes. It's separated into two, so that opening a split inside a tmux window is preferred to the other terminal types, but opening a tmux session is prioritized only slightly higher than screen. - tmuxrunning: Open a new pane in the current running tmux window. Requires that the TMUX variable be added to the env whitelist to use it. - tmux: Open a new tmux session (From OE-Core rev: 10f64d202ceb230c3c79e09dce182ffce94d1117) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/classextend.py: avoid extending any kernel packagePaul Eggleton2013-04-051-1/+1
| | | | | | | | | | | | | For multilib and other uses of classextend, we don't want any dependencies on kernel packages to be extended since there should only be one kernel variant. Fixes [YOCTO #2918] (where kernel-dev was being extended.) (From OE-Core rev: b684c0f0d5d93f5147dee79951647eb3ddf4c840) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* utils: add helper to get all non-system packagesRoss Burton2013-04-042-0/+43
| | | | | | | | | | For example if PACKAGES is "foo foo-data foo-dev foo-doc", this will return "foo-data". (From OE-Core rev: 3115187e468398a8c1edaf3e5369a2d10fb112f4) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* oe.terminal: add tmux classesChristopher Larson2013-04-041-0/+37
| | | | | | | | | | | | | | | This adds two new Terminal classes. It's separated into two, so that opening a split inside a tmux window is preferred to the other terminal types, but opening a tmux session is prioritized only slightly higher than screen. - tmuxrunning: Open a new pane in the current running tmux window. Requires that the TMUX variable be added to the env whitelist to use it. - tmux: Open a new tmux session (From OE-Core rev: 31c58d584f838738a6b6258b87b1c7e6ca173086) Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/lib/oe/lsb.py: extract only the needed info from lsb-releaseCristian Iorga2013-03-301-2/+2
| | | | | | | | | | | | | | Instead of running lsb_release -a, a lsb_release -ir will be run. This will prevent issue with distros that don't have all the needed info in /etc/lsb-release file, in which case lsb_release won't generate an error code. Partial fix for [YOCTO #4071] (From OE-Core rev: 79a2252545ab50c79e00e02c328191c1163f917d) Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* meta/lib/oe/lsb.py: fix data extraction from /etc/lsb-releaseCristian Iorga2013-03-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | In some cases, /etc/lsb-release file is used to extract info about poky build host machine. But the strings are not stripped of end of line special characters. As such, when this info is concatenated and used as a directory entry in sstate_cache, this is an issue. Usually, this issue is masked by the fact that distro related info is extracted from the output of lsb_release command. In case of Yocto Linux, running "lsb_release -a" will give an error code because CODENAME info is not present. As such, bitbake will extract the info from /etc/lsb-release, running into the above issue. Consequence is that building under BA will crash. Partial fix for [YOCTO #4071] (From OE-Core rev: 5d0839bef631dceb4395fcf204779a76966a1061) Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* package: Add cachedpath optimisationRichard Purdie2013-03-181-0/+235
| | | | | | | | | | | | | | | | | | Currently, various standard library operations like os.walk(), os.path.isdir() and os.path.islink() each call stat or lstat which involves a syscall into the kernel. There is no caching since they could conceivably have changed on disk. The result is that for something like the do_package task of the kernel we're spending over two minutes making 868,000 individual stat calls for 23,000 files. This is suboptimal. This patch adds lib/oe/cachedpath.py which are a set of replacement functions for these operations which use cached stat data rather than hitting the kernel each time. It gives a nice performance improvement halving the build time of the kernel do_package. (From OE-Core rev: 556dee0c4d6d8a87c0cddbd2f60fe5917d009f18) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* lib/oe/lsb: enable getting distro ID when lsb_release is not installedPaul Eggleton2013-03-141-2/+37
| | | | | | | | | | | | | | If lsb_release is not installed (as it may not be on headless/minimal installations on distros whose LSB package has a long list of dependencies) we need to gather the information directly from files in /etc. Fixes [YOCTO #4012]. (From OE-Core rev: 106a7bcdb5ad9956f1d78f508408bfbcf7ff5120) Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* base.bbclass: don't backfill features that already existRoss Burton2013-03-101-5/+3
| | | | | | | | | | | It's too easy to cause rebuilds because the DISTRO_FEATURES have changed in meaningless ways (such as re-ordering or duplicate items). Help stop this by checking if the feature to be back-filled is already present. (From OE-Core rev: 63c7192119d54b92d908441109ed4e4fff761cba) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* distro_check: Remove creation of empty Meego filelist.Anders Roxell2013-02-121-6/+5
| | | | | | | | | | This fixes permissions errors when running distrodata. (From OE-Core rev: c58e6cf352774e147038e6543ac95ab0060f2327) Signed-off-by: Anders Roxell <anders.roxell@enea.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>