summaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)AuthorFiles
2012-08-30sstate-cache-management.sh: fix it for downloaded fileRobert Yang1
Fix it for the downloaded sstate cache file * The downloaded sstate cache file is in SSTATE_DIR, and there is a symlink points to it, the sstate cache file should not be removed if the corresponding symlink is kept, it would be removed when the symlink is removed (with -L option). * Fix a comment line. [YOCTO #2897] 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>
2012-08-28runqemu-export-rootfs and friends: don't put pseudo db in target fsPeter Seebach2
In a few places, we have scripts which use <rootfs>/var/pseudo for the pseudo state directory controlling a given filesystem. This seems possibly risky because it means that stuff running under qemu or whatnot could wipe out the data being used to handle that rootfs. Move this to: <rootfs>/../$(basename_rootfs).pseudo_state to avoid problems. This also solves at least one case (not directly hit by yocto's tree) wherein you could end up trying to remove a rootfs while pseudo was using a database inside that rootfs, and thus the remove would fail. Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
2012-08-28bitbake: compile tar-replacement firstlyRoy.Li1
Compiling tar-replacement or not is decided by version of host tar, if the host tar version is lower than 1.23, Compiling tar-replacement is needed. When doing popoluate tar-replacement sysroot to write the tar to sysroot, but writing is not finished. other packages probably use the being written tar to unzip file, which will lead to failure and report the below error: "bitbake_build/tmp/sysroots/x86_64-linux/usr/bin/tar: Text file busy" Now we compile tar-replacement firstly to ensure that a being written tar command will not be used. Signed-off-by: Roy.Li <rongqing.li@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-25runqemu: Move the KVM check after the MACHINE/KERNEL ChecksSaul Wold1
The MACHINE/KERNEL Checks setup MACHINE is it's unset, the KVM checks valid MACHINE is qemux86 or qemux86-64 and fail if it's unset! [YOCTO #2970] Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-23scripts/combo-layer: specify branch when getting current revisionPaul Eggleton1
Handle the case during update where the configured branch is not currently checked out in the component repository by just specifying it in the places where it was not previously. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-23runqemu: Honor KERNEL and ROOTFS settings from environmentKhem Raj1
Expand the usage to be able to specify KERNEL and ROOTFS on commandline. This helps in using the script for booting images that are essentially not part of OE-Core Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-20sstate-cache-management.sh: update for the SSTATE_MIRRORSRobert Yang1
Several fixes: * We have put the sstate file to SSTATE_DIR/??/ currently, but the sstate file on the SSTATE_MIRRORS or the obsolete one is still in SSTATE_DIR/ (no subdir), update the script to support manage them. * Remove the related ".done" file in the SSTATE_DIR. * Add a "-L, --follow-symlink" which will remove both the symbol link and the destination file * Change the "ls -u file_list" (access time) to "ls -t file_list" (change tiem), since the "ls -u" and readlink will change the symlink's access time, which would make the result inconsistent. A solution is save the access time before every "ls -u" and "readlink", save it back after the command, but this would cause performance lost since it needs check each file and modify the symlink's status. Use the "-t" doesn't cause much different. [YOCTO #2897] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-20scripts/runqueue-internal: Drop enable-gl optionRichard Purdie1
This is no longer necessary since we've dropped the GL passthrough patches. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-19runqemu: work with yocto-bsp created kernel filenamesScott Garman1
The yocto-bsp tool generates kernels with additional strings within the filename, e.g. zImage-myqemuarm.bin. Loosen the MACHINE detection regex to work with these filenames. Fixes [YOCTO #2890]. Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-17runqemu: support booting ramfs-based imagesScott Garman2
Added support for booting ramfs-based images (e.g, poky-tiny) which do not have block device support. This fixes [YOCTO #2612]. Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-08-15sstate-cache-management.sh: update it for the new layoutRobert Yang1
Update it for the new layout of sstate-cache. Note: It doesn't handle the old sstate-cache/sstate-xxx.tgz (or siginfo), the user should remove it manually (rm -fr sstate-cache/sstate-* would be OK). [YOCTO #2897] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-02runqemu-gen-tapdevs: add UID to CL optionsElizabeth Flanagan1
runqemu-if* now requires UID as a command line option which means runqemu-gen-tapdevs needs to take it as an option. Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-02scripts: add script for relocating the SDKLaurentiu Palcu1
This script will be embedded in the SDK tarball and will be called by the SDK installer. It replaces the interpreter path in all binaries and it also changes the ld.so.cache and SYSDIRS in dynamic loader. Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-02send-pull-request: Make -a really imply -cDarren Hart1
The switch statement does not fall through as the comment suggests. This results in -a not implying -c as was intended. Add the two lines from -c to -a to achieve the intended behavior. Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-01createrepo 0.4.11: add rpm-createsolvedb.pyRobert Yang1
Move scripts/rpm-createsolvedb.py to meta/recipes-support/createrepo/createrepo/ since we should wrap it to use the native python. [YOCTO #2822] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-31scripts/oe-pkgdata-util: exclude unpackaged in glob outputPaul Eggleton1
Check for .packaged file and exclude packages if this file does not exist - this avoids attempting to install empty packages during complementary package installation within do_rootfs that didn't end up being created (and failing as a result). Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-31combo-layer: ensure init works with split local configPaul Eggleton1
If the local configuration is already split out, ensure the init action works properly and does not error in the case that last_revision is not set. Additionally, if the local configuration is within the repository, prevent it from being committed and add it to .gitignore. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-31scripts/bitbake: unbreak the git version comparisonChristopher Larson1
With the current code, we're calling awk to do a floating point comparison between '1.7.0.4' and '1.7.5' (on an ubuntu 10.04 LTS machine). These clearly aren't proper floating point numbers, and the comparison is incorrect. It's returning true for 1.7.0.4 >= 1.7.5. Instead of using a floating point comparison for this, call out to python and let it do it. Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-31combo-layer: allow splitting out local configPaul Eggleton1
Allow splitting the local parts of the configuration (mostly local_repo_dir and last_revision, although there is no limitation) to a side-by-side -local.conf file, with component sections optionally tagged with the combo layer branch name. This effectively allows you to: * avoid polluting the history by committing the updated last revision to the combo repository for every update * avoid putting local repo paths into the combo repository * manage multiple branches of the combo repository whilst avoiding the possibility of mixing the configuration for one branch with another. An example split configuration (note, values may be artificial): ------------------- combo-layer.conf ------------------- [bitbake] src_uri = git://git.openembedded.org/bitbake dest_dir = bitbake hook = scripts/combo-layer-hook-default.sh [oe-core] src_uri = git://git.openembedded.org/openembedded-core dest_dir = . hook = scripts/combo-layer-hook-default.sh -------------------------------------------------------- ---------------- combo-layer-local.conf ---------------- [bitbake] local_repo_dir = ../repos/bitbake [oe-core] local_repo_dir = ../repos/oe-core [bitbake|master] branch = master last_revision = db689a99beffea1a285cdfc74a58fe73f1666987 [oe-core|master] branch = master last_revision = 121a1499a81706366acc0081272a6bff634d4d62 [bitbake|denzil] branch = 1.12 last_revision = 24b631acdaa143a4de39c6e1328849660c66f219 [oe-core|denzil] branch = denzil last_revision = 741146fa90f28f7ce8d82ee7f7e254872d519724 -------------------------------------------------------- It is assumed that the local config file will be added to .gitignore. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-31combo-layer: check that last_revision is validPaul Eggleton1
If the user edits the configuration file by hand and sets last_revision, we need to ensure that the revision is valid and on the specified branch. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-31combo-layer: improve patch list handling and outputPaul Eggleton1
* Ignore blank lines in patch list * Don't fail in interactive mode if patch list is deleted * Show patch counter * Show relative path for patches * Print headings before applying patch list for each component Also change to using a "with" block to read the patch list so it gets closed properly when we're finished. Fixes [YOCTO #2455]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-31combo-layer: drop to a shell when apply fails during updatePaul Eggleton1
If applying a patch fails during the update process, drop to a shell instead of exiting; at that point the user can manually apply the patch, do nothing and "exit" to skip it, or "exit 1" to abort the process. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-31combo-layer: ignore patch-* temp directories in dirty checkPaul Eggleton1
Make the dirty repo check somewhat less strict by ignoring old patch directories created by this tool. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-31combo-layer: allow component pull to be done separatelyPaul Eggleton1
* Add a -n option to disable component repo pull during update * Add a 'pull' action to pull the component repos only Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-31combo-layer: remove &> bashismPaul Eggleton1
&> does not work with dash - use > xxxx 2>&1 instead. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-28Rework installation of dev, dbg, doc, and locale packagesPaul Eggleton2
Use a similar mechanism that was previously used to install locales at rootfs generation time to install other "complementary" packages (e.g. *-dev packages) - i.e. install all of the explicitly requested packages and their dependencies, then get a list of the packages that were installed, and use that list to install the complementary packages. This has been implemented by using a list of globs which should make it easier to extend in future. The previous locale package installation code assumed that the locale packages did not have any dependencies that were not already installed; now that we are installing non-locale packages this is no longer correct. In practice only the rpm backend actually made use of this assumption, so it needed to be changed to call into the existing package backend code to do the complementary package installation rather than calling rpm directly. This fixes the doc-pkgs IMAGE_FEATURES feature to work correctly, and also ensures that all dev/dbg packages get installed for dev-pkgs/dbg-pkgs respectively even if the dependency chains between those packages was not ensuring that already. The code has also been adapted to work correctly with the new SDK-from-image functionality. To that end, an SDKIMAGE_FEATURES variable has been added to allow specifying what extra image features should go into the SDK (extra, because by virtue of installing all of the packages in the image into the target part of the SDK, we already include all of IMAGE_FEATURES) with a default value of "dev-pkgs dbg-pkgs". Fixes [YOCTO #2614]. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2012-07-18scripts/bitbake: Check the git-native version and build it if necessaryRichard Purdie1
We require git version 1.7.5 or later for the git remote --mirror=xxx syntax. If we have an older version of git, this patch ensure we build git-replacement-native. We add an alternative PROVIDES in the same way as tar-native to allow this script to trigger the build whilst still allowing git-native in ASSUME_PROVIDED. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-07-16runqemu: Fix running qemu when build without glKhem Raj2
When gl is disabled in PACKAGECONFIG then we dont need to check for supporting libs to be present before running qemu. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-07-16runqemu/mips: adjust runqemu script to support mipsel machineDennis Lan2
Signed-off-by: Dennis Lan <dennis.yxun@gmail.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-07-09runqemu: fix support for ext4 rootfs imagesScott Garman1
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2012-07-09runqemu: fix usage() help for MACHINE settingScott Garman1
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2012-07-02runqemu: fix fedora pkg names when run failsCristian Ciupitu1
runqemu can fail to with the following message: You need libGL.so and libGLU.so to exist in your library path to run the QEMU emulator. Fedora package names are: mesa-libGL mesa-libGLU. The libGL.so and libGLU.so files are provided by the mesa-libGL-devel and mesa-libGLU-devel Fedora packages (yum provides '*/libGL*.so'). Signed-off-by: Cristian Ciupitu <cristian.ciupitu@yahoo.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-25runqemu-internal: qemu fails to run on ext2 imageKang Kai1
[Yocto 2579] When set DISTRO to poky-tiny, only ext2 image is created. But runqemu-internal doesn't set QEMUOPTIONS for ext2 image that make qemu fail to boot. Fix it for qemux86 arch since poky-tiny can only build for qemux86 now. Signed-off-by: Kang Kai <kai.kang@windriver.com>
2012-06-18cleanup-workdir: update help textKang Kai1
Update the help text to tell user that the files and dirs under WORKDIR which are not created by Yocto will be deleted. Signed-off-by: Kang Kai <kai.kang@windriver.com>
2012-06-18cleanup-workdir: only deal dirs related to current archKang Kai1
Some users may build for different archs under same workdir, so they don't want to clean the dirs not related to current arch. Run command 'bitbake -e' with selected packages to get the dirs related to current arch then clean them. Update the way to get the WORKDIR by parsing the IMAGE_ROOTFS by the way. Signed-off-by: Kang Kai <kai.kang@windriver.com>
2012-06-18cleanup-workdir: replace commands with subprocessKang Kai1
Use modules subprocess to run command instead of module commands. Signed-off-by: Kang Kai <kai.kang@windriver.com>
2012-06-18cleanup-workdir: update the way to check obsolete dirsKang Kai1
Update the way to check obsolete directories. According to package and its version construct a list of all packages' current build directory. If any directory under $WORKDIR/*/ is not in the list will be removed. At same time, all the files(vs. directory) under $WORKDIR and $WORKDIR/*/ will be removed because they are not created by poky. Signed-off-by: Kang Kai <kai.kang@windriver.com>
2012-06-15pybootchartgui: Fix the filename and add a default formatRobert Yang1
* Fix teh output filename to make it easy to use * Add a default output format (svg) * Fix the usage message * Fix the version to v1.0.0 Currently, the help messages are: $ ./pybootchartgui.py --help Usage: pybootchartgui.py [options] /path/to/tmp/buildstats/<recipe-machine>/<BUILDNAME>/ Options: --version show program's version number and exit -h, --help show this help message and exit -i, --interactive start in active mode -f FORMAT, --format=FORMAT image format: svg, pdf, png, [default: svg] -o PATH, --output=PATH output path (file or directory) where charts are stored -s NUM, --split=NUM split the output chart into <NUM> charts, only works with "-o PATH" -n, --no-prune do not prune the process tree -q, --quiet suppress informational messages --very-quiet suppress all messages except errors --verbose print all messages [YOCTO #2403] Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
2012-06-15pybootchartgui: split the output chart into multiple onesRobert Yang2
Split the output chart into multiple ones to make it more readable, it only works with "-o path", which means that it doesn't work if the user doesn't want to save the chart to the disk. For example: $ ./pybootchartgui.py /path/to/tmp/buildstats/core-image-sato-qemux86/201205301810/ -f svg -s 5 -o /tmp/ bootchart written to /tmp/bootchart_1.svg bootchart written to /tmp/bootchart_2.svg bootchart written to /tmp/bootchart_3.svg bootchart written to /tmp/bootchart_4.svg bootchart written to /tmp/bootchart_5.svg [YOCTO #2403] Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
2012-06-15pybootchartgui: make the build profiling in picturesRobert Yang4
The original patch is from Richard, I rebased it to the up-to-date upstream code, here are the original messages from him: We have just merged Beth's initial buildstats logging work. I was sitting wondering how to actually evaluate the numbers as I wanted to know "where are we spending the time?". It occurred to me that I wanted a graph very similar to that generated by bootchart. I looked around and found pyboootchartgui and then hacked it around a bit and coerced it to start producing charts like: http://tim.rpsys.net/bootchart.png which is the initial "pseudo-native" part of the build. This was simple enough to test with. I then tried graphing a poky-image-sato. To get a graph I could actually read, I stripped out any task taking less than 8 seconds and scaled the x axis from 25 units per second to one unit per second. The result was: http://tim.rpsys.net/bootchart2.png (warning this is a 2.7MB png) I also added in a little bit of colour coding for the second chart. Interestingly it looks like there is more yellow than green meaning configure is a bigger drain on the build time not that its unexpected :/. I quite enjoyed playing with this and on a serious note, the gradient of the task graph makes me a little suspicious of whether the overhead of launching tasks in bitbake itself is having some effect on build time. Certainly on the first graph there are some interesting latencies showing up. Anyhow, I think this is the first time bitbake's task execution has been visualised and there are some interesting things we can learn from it. I'm hoping this is a start of a much more detailed understanding of the build process with respect to performance. [YOCTO #2403] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
2012-06-15pybootchartgui: add the original codeRobert Yang14
This is from: http://pybootchartgui.googlecode.com/files/pybootchartgui-r124.tar.gz Will modify it to make the build profiling in pictures. Remove the examples since they would not work any more, and they cost much disk space. [YOCTO #2403] Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
2012-06-08runqemu-ifup: enable arp proxyingScott Garman1
This allows core-image-sato to access the WAN. Thanks to Dexuan Cui for proposing this fix. Fixes [YOCTO #2329] Signed-off-by: Scott Garman <scott.a.garman@intel.com> Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-05generate-manifest-2.7.py: replace os.popen with os.unlinkRobert Yang1
The os.popen function would fail (more or less) silently if the executed program cannot be found, and here what we need is os.system not os.popen since it doesn't use the return value, use os.unlink() and ignore exceptions from it would be better as Chris suggested. [YOCTO #2454] Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
2012-05-30scripts/cp-noerror: Add a special copy function to fix autotools issuesRichard Purdie1
Currently we copy the aclocal directory to the build so that autotools doesn't see .m4 files disappear when its processing them. This can happen if for example, package X is being rebuilt at the same time as Y and it gets uninstalled from sstate (assuming there are no dependencies between X and Y). This code making the copy was added to avoid races but introduces a race of its own, namely that the files can disappear during the copy. This patch adds a cp-noerror script which silently ignores such errors and gives the behaviour we need in this case. It hence fixes issues which crop up for users and the autobuilder occasionally. [YOCTO #2485] Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30scripts/buildhistory-diff: add GitPython version checkPaul Eggleton1
Display an error if the user does not have at least version 0.3.1 of GitPython installed. Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30scripts: replace os.system with subprocess.callRobert Yang2
Replace os.system with subprocess.call since the older function would fail (more or less) silently if the executed program cannot be found More info: http://docs.python.org/library/subprocess.html#subprocess-replacements [YOCTO #2454] Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-20runqemu: Add qemush4 and qemumips64 knowledgeKhem Raj2
New machines need to be added and they also have different kernel commandlines Signed-off-by: Khem Raj <raj.khem@gmail.com>
2012-05-18test-reexec: Add script to address issues when task re-executionJiajun Xu1
The script is used to address build issues when tasks of different recipes are re-executed. The script goes through all available recipes and their tasks. The test results are saved in ./reexeclogs. Force build logs are saved with prefix "force". Build failure logs are saved with prefix "failed". [YOCTO #2123] Signed-off-by: Jiajun Xu <jiajun.xu@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-15runqemu: replace bashism with working shell idiomPeter Seebach1
The =~ operator is not one of my favorites, not just due to portability issues, but because it's not well known, and a lot of people might not expect a regex operator. The canonical shell idiom for this is to use case with alternation and wildcards. As a side note, if you are matching anything containing core-image-sato, you don't need to also check for core-image-sato-sdk. Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-12oe-buildenv-internal: Fix BITBAKEDIR changes to work with existing ↵Richard Purdie1
autobuilder scritpts The BITBAKEDIR change does not work well when the script is sourced from another script since $2 may be unrelated. This change adds the logic onto the BDIR conditional and which more external scripts would set, hence avoiding the problem. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>