summaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)AuthorFiles
2013-09-14scripts/contrib/build-perf-test.sh: record size in kb and remove extra spacesStefan Stanacar1
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>
2013-09-13bitbake.conf/package: Collapse PKGDATA_DIR into a single machine specific ↵Richard Purdie1
directory Currently we have a hierarchy of pkgdata directories and the code has to put together a search path and look through each in turn until it finds the data it needs. This has lead to a number of hardcoded paths and file globing which is unpredictable and undesirable. Worse, certain tricks that should be easy like a GL specific package architecture become problematic with the curretn search paths. With the modern sstate code, we can do better and construct a single pkgdata directory for each machine in just the same way as we do for the sysroot. This is already tried and well tested. With such a single directory, all the code that iterated through multiple pkgdata directories and simply be removed and give a significant simplification of the code. Even existing build directories adapt to the change well since the package contents doesn't change, just the location they're installed to and the stamp for them. The only complication is the we need a different shlibs directory for each multilib. These are only used by package.bbclass and the simple fix is to add MLPREFIX to the shlib directory name. This means the multilib packages will repackage and the sstate checksum will change but an existing build directory will adapt to the changes safely. It is close to release however I believe the benefits this patch give us are worth consideration for inclusion and give us more options for dealing with problems like the GL one. It also sets the ground work well for shlibs improvements in 1.6. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12bitbake.conf: include machine name in DEPLOY_DIR_IMAGEPaul Eggleton1
This allows a clean seperation between image outputs from different machines, and makes it possible to have convenience symlinks to make the output ready to deploy. This did require some surgery in runqemu; if explicit paths to the image and kernel are not supplied then DEPLOY_DIR_IMAGE needs to be determined from bitbake or set in the environment. However the script does try to avoid requiring it unless it really is needed. Corresponding changes were made in the automated testing code as well. Based on an RFC patch by Koen Kooi <koen@dominion.thruhere.net> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12bb-matrix-plot: Use interpolation for sparse dataPeter Kjellerstedt1
If not every combination of BB_NUMBER_THREADS and PARALLEL_MAKE have been tested by bb-matrix.sh, e.g., by using BB_RANGE="04 08 10 12 16" and PM_RANGE="04 08 10 12 16", then the graph that gnuplot generates by default looks very jagged due to the missing data points. By using splines to interpolate the missing data the graph looks a lot better. This should not change graphs where all data points are available in any way, only improve sparse graphs. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12bb-matrix: Clean before, rather than after, buildingPeter Kjellerstedt1
This makes sure the the first build starts from a clean state. Otherwise one could have the first build affected by any leftover state from a previous build. This also leaves a working state behind after the final build. Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-11image/populate_sdk: Ensure symlinks in target sysroot are relativeRichard Purdie1
In the target sysroot of an SDK we can have target system absolute links which don't make sense. This adds a script which fixes them up to become relative paths instead. [YOCTO #5020] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-04scripts/runqemu: Fix MACHINE regexMihai Prica1
When runqemu tries to determine the MACHINE variable from a kernel or vmdk filename that doesn't contain any known machine name, the variable gets set to the filename. It should remain unset and cause an error. [YOCTO #2890] Signed-off-by: Mihai Prica <mihai.prica@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-02runqemu: set memory size to 256M for most qemu machinesPaul Eggleton1
Set memory size to 256M for qemuarm, qemux86, qemux86-64, qemumips, qemumips64, and qemuppc. This allows the smart automated tests to run on machines with a GUI environment (such as Sato) running at the same time, for which 128M is too limiting. Setting this in runqemu allows users manually using runqemu to avoid the same out-of-memory issues under similar conditions using smart, on-target compilation or other uses. Fixes [YOCTO #5045]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-02wipe-sysroot: fix removalsRoss Burton1
The previous changes were totally broken as quoting globs doesn't work. Remove the quotes so the rm commands actually delete the stamps. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30oe-setup-rpmrepo: add native sysroot so nativepython can be found by envPeter A. Bigot1
This avoids the following new behavior resulting from the create_wrapper fixes: llc[11]$ ../poky/scripts/oe-setup-rpmrepo /usr/bin/env: nativepython: No such file or directory Signed-off-by: Peter A. Bigot <pab@pabigot.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-30runqemu-ifdown: clean up the remaining iptables rulesChen Qi1
The iptables rules for the tap interface are added by runqemu-ifup everytime we use runqemu to start a qemu target. But it's not cleaned up when runqemu exits. This patch cleans up the remaining iptables rules for the tap interface in runqemu-ifdown. [YOCTO #5047] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30runqemu-internal: provide more info if a preconfigured tap is usedChen Qi1
We should provide the user more information if a preconfigured tap is used. This is because the user might have manually set up the tap interface to be used by other qemu binaries. So at a minimum, we should let the user know how to make runqemu skip that tap interface. [YOCTO #5047] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30runqemu-internal: don't bring down preconfigured tap interfaceChen Qi1
runqemu-ifup and runqemu-ifdown should be pairs. If we're using a preconfigured tap interface, the runqemu-ifdown should not be invoked to bring it down. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30list-packageconfig-flags.py: fix searching bitbake module failedHongxu Jia1
Run list-packageconfig-flags.py on wrlinux's platform in which the oe-core layer and bitbake layer in different directories: ---- ../layers/oe-core/scripts/contrib/list-packageconfig-flags.py Traceback (most recent call last): File "../layers/oe-core/scripts/contrib/list-packageconfig-flags.py", line 28, in <module> import bb.cache ImportError: No module named bb.cache ---- The script import bb module from bitbake lib dir, the previous lib dir was hardcode and only worked on poky but not for others. In this situation, look for bitbake/bin dir in PATH could fix this issue. [YOCTO #5060] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26python-2.7-manifest: Add missing python-ctypes dependency to ↵Richard Purdie1
python-multiprocessing Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26runqemu-ifup: when tunctl can't be found, say what package builds itRoss Burton1
If runqemu is used without actually building any qemu images (i.e. you downloaded the images) it's likely that qemu-helper-native hasn't been built. Instead of just saying what command can't be found, tell the user how to solve their problem. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-16buildhistory-collect-srcrevs: match new buildhistory-diff command line parsingPaul Eggleton1
* Default buildhistory directory to buildhistory/ under the current directory and require an option to set it * Show a description in the help output Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16buildhistory-diff: improve command-line handlingPaul Eggleton1
Improve command-line argument handling of buildhistory-diff to make it easier to use. * Default buildhistory directory to buildhistory/ under the current directory and require an option to set it (since most users will likely run buildhistory-diff from the build directory and keep BUILDHISTORY_DIR at its default location) * Default from-revision to "build-minus-1" to get the difference from the previous build with no arguments * Allow from/to revisions to be specified by from..to (since git accepts this form). Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16classes/buildhistory: record size of installed package not compressed archiveMartin Jansa2
* usually it's more important to know how much space will each package take on target device then size of compressed package * example for libewebkit0 with 4 different architectures, interesting that om_gta02 .ipk is bigger but it's smaller when installed before: MACHINE DEFAULTTUNE SIZE (.ipk file) om_gta04 cortexa8t-neon 15996 KiB libewebkit0 qemux86_64 x86-64 16992 KiB libewebkit0 spitz xscale 16148 KiB libewebkit0 om_gta02 arm920t 16260 KiB libewebkit0 after: MACHINE DEFAULTTUNE SIZE (installed) om_gta04 cortexa8t-neon 60544 KiB libewebkit0 qemux86_64 x86-64 63720 KiB libewebkit0 spitz xscale 60588 KiB libewebkit0 om_gta02 arm920t 56268 KiB libewebkit0 Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16runqemu-internal: fix to start X correctly in live imagesChen Qi1
The QEMUOPTIONS for ISOFS was not complete, leading to failures when trying to start X in live images. This patch fixes this problem. [YOCTO #4103] [YOCTO #4884] Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-16wipe-sysroots: don't assume TMPDIR is under BUILDDIRRoss Burton1
The previous code used the environment variable BUILDDIR and assumed that TMPDIR was a subdirectory. This often isn't the case, so instead ask bitbake where the directories we're about to delete are. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-13oe-setup-builddir: substitute ##OEROOT## when using templatesRoss Burton1
oe-setup-builddir substitutes ##COREBASE## which seems like it should have the same value as the variable ${COREBASE}. In reality it doesn't as ##COREBASE## is substituted with the value of $OEROOT (the location of the oe-init-build-env script), whereas ${COREBASE} is set by oe-core to the parent directory of meta/. If oe-core's meta/ isn't a top-level directory then ##COREBASE## and ${COREBASE} have different values, which can lead to confusion. To resolve this, deprecate (but still substitute) ##COREBASE## and substitute ##OEROOT# for $OEROOT. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-05list-packageconfig-flags.py: add a script to list all PACKAGECONFIG flagsHongxu Jia1
- This script will list available pkgs which have PACKAGECONFIG flags. - If option '-f' is used, it will list available PACKAGECONFIG flags and all affected pkgs. - If option '-a' is used, it will list all pkgs and PACKAGECONFIG information - If option '-p' is used, it means list the pkgs with preferred version EXAMPLE: list-packageconfig-flags.py PACKAGE NAME PACKAGECONFIG FLAGS ============================================================== alsa-tools-1.0.26.1 defaultval gtk+ avahi-ui-0.6.31 defaultval python bluez4-4.101 alsa defaultval pie list-packageconfig-flags.py -f PACKAGECONFIG FLAG PACKAGE NAMES ==================================== 3g connman-1.16 avahi cups-1.6.3 pulseaudio-4.0 beecrypt rpm-5.4.9 rpm-native-5.4.9 list-packageconfig-flags.py -a ================================================== gtk+-2.24.18 /home/jiahongxu/yocto/poky/meta/recipes-gnome/gtk+/gtk+_2.24.18.bb PACKAGECONFIG x11 PACKAGECONFIG[x11] --with-x=yes --with-gdktarget=x11,--with-x=no,${X11DEPENDS} xf86-video-intel-2.21.9 /home/jiahongxu/yocto/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.21.9.bb PACKAGECONFIG None PACKAGECONFIG[xvmc] --enable-xvmc,--disable-xvmc,libxvmc PACKAGECONFIG[sna] --enable-sna,--disable-sna [YOCTO #4368] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-05scripts/contrib/mkefidisk.sh: fix bashismChen Qi1
Remove the function keyword. Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-08-02oe-find-native-sysroot: minor optimizationJoe MacDonald1
The middle 'cut' in OECORE_NATIVE_SYSROOT isn't doing anything useful, so remove it from the pipeline. Signed-off-by: Joe MacDonald <joe.macdonald@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-27test-dependencies: add simple script to detect missing or autoenabled ↵Martin Jansa1
dependencies Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-27scripts/create-lsb-image: removeYi Zhao1
This script is no longer maintained. Now we don't perform LSB test on qemu image, so we don't need this script. Most of functions in this script are implemented in LSB_Test.sh. So it is safe to remove. Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-18scripts/contrib/*: fix arithmetic bashismPaul Eggleton2
Apparently $[...] isn't valid in dash, so use $((...)) instead for mkefidisk.sh and ddimage that both start with $!/bin/sh. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-09scripts/runqemu: Add support for 'qemumicroblaze' machineNathan Rossi2
* 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) Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-09scripts/runqemu: Add support for 'qemuzynq' machineNathan Rossi2
* 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) Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-07-09lib/oeqa/utils/qemurunner.py: class to handle qemu instanceRadu Moisan1
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>
2013-06-28python-multiprocessing: adding runtime dependenciesLukas Bulwahn1
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>
2013-06-25cleanup-workdir: fix typoKai Kang1
Fix typo. Signed-off-by: Kai Kang <kai.kang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-17oe-buildenv-internal: Ensure error messages got to stderrRichard Purdie1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-17oe-buildenv-internal: Fix exit verses returnRichard Purdie1
This script is sourced so we should return, not exit. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-14scripts/buildenv-internal/sanity: Update to python 2.7.3 as a minimumRichard Purdie1
We're finding bugs in python 2.6 and starting to require unittest functionality in python 2.7.x. Its time to bump the minimum version requirement. Anyone without python 2.7.x can use the buildtools-tarball out to install a standalone python/git/tar setup which will work with the system. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-14scripts/bitbake: Drop horrible double execution messRichard Purdie1
There is no longer anything of value in the bitbake wrapper script since pseudo is handled by bitbake internally. We can therefore drop it (yay). Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-14scripts/oe-buildenv-internal bitbake: Migrate python version checksRichard Purdie2
In preparation for removal of the bitbake wrapper script, move the python version checks to the environment script. There are also checks within bitbake itself but these may not always function correctly on every version of python so this is really insurance. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-14scripts/bitbake sanity.bbclass: Migrate tests for git and tar versionsRichard Purdie1
Migrate tests for correct git and tar versions from the wrapper script to the sanity class. This sets the scene to allow us to remove the bitbake wrapper script. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-06-13scripts/contrib/build-perf-test.sh: fix passing argumentsStefan Stanacar1
Don't pass arguments to bitbake as a single one, because this will break when the bitbake double-exec is removed. Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-06-13scripts/contrib/build-perf-test.sh: add branch name and sizes to resultsStefan Stanacar1
Be more descriptive about the revision we are running on in the global results file: add branch:commit and git describe fields. Also add the sizes for tmp dir not only times. (previously these were only available in the output.log) Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-06-13runqemu: when tunctl can't be found, say what package builds itRoss Burton1
If runqemu is used without actually building any qemu images (i.e. you downloaded the images) it's likely that qemu-helper-native hasn't been built. Instead of just saying what command can't be found, tell the user how to solve their problem. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-06-10ddimage: fix incompatibility with dashHongxu Jia1
On systems with dash as /bin/sh there were failures while invoking ddimage. Fix to let it work with both bash and dash shells. [YOCTO #4617] Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-05-30runqemu: Replaced "stty sane" with saved stty settingsAndrei Dinu1
stty manual says : "sane - Resets all modes to reasonable values for interactive terminal use." But reasonable isn't the most viable solution, because we want to keep the original stty settings before running runqemu. Saving the stty settings and setting them at the end of the runqemu script solves the terminal settings differences after the script ran. [Yocto #4512] Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com> [Added filename info in commit subject - sgw] Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-24runqemu: fix networking issuesLaurentiu Palcu1
After switching from ifconfig to ip, networking stopped working. This commit contains the following fixes: * set a decent broadcast address for the tap device; * bring up the device; * add the route using ip tool instead of the old route tool; Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-05-24SLiRP support in runqemuAndrei Dinu2
runqemu script now takes argument "slirp" in order to run networking on the qemu machine, without root privileges. changed the runqemu-internal script in order not to activate the tap devices if the option is set. [YOCTO #1474] Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-05-21scripts/bitbake: Handle the case where git isn't installed cleanlyRichard Purdie1
Currently the user sees ugly errors if git isn't installed, this patch cleans up the code to correctly handle that case. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-16qemuimage-testlib: change default directory for target testsStefan Stanacar1
/tmp is a better location, and it allows copying files on read only fs images Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-16qemuimage-testlib: pass optional timeout to ssh functionStefan Stanacar1
Sometimes we need to change the timeout used by the function for certain kinds of tests. Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-05-16qemuimage-testlib: add support for extra arguments passed to runqemuStefan Stanacar1
Some tests might want to pass extra arguments to runqemu. I can think of "kvm" or qemuparams="-m 1024" when we want extra muscle. Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>