* 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]
(From OE-Core rev: 138c2c31e41e3f1803b7efbedf78326d71821468)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(From OE-Core rev: 04a34899e1c15a70babd97a3a59ccb9f8af05bad)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(From OE-Core rev: 6ea0c02d0db08f6b4570769c6811ecdb051646ad)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(From OE-Core rev: 1f0791109e1aed715f02945834d6d7fdb9a411b4)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This allows core-image-sato to access the WAN.
Thanks to Dexuan Cui for proposing this fix.
Fixes [YOCTO #2329]
(From OE-Core rev: d294b1bddece429f2639676ddc97d2896fc58916)
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>
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]
(From OE-Core rev: bc9f7d7b7eda1c45ad1aaee469ebe28ee1c0c96b)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(From OE-Core rev: 0f81fbc0df73675aeb79c724858799a3b6a02f85)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Display an error if the user does not have at least version 0.3.1 of
GitPython installed.
(From OE-Core rev: 2f0f5a895504924b5a21699854678e9bc25b447c)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(From OE-Core rev: 57f843146ed62c04c23bc380dc8cb38aba264f1c)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
New machines need to be added and they also
have different kernel commandlines
(From OE-Core rev: 3a5432aec0faea49d2c04984cd169ceb35bba89f)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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]
(From OE-Core rev: 6258a11f22103d68d02e329c2e7fb198202cc6ef)
Signed-off-by: Jiajun Xu <jiajun.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: 716ae8dbd1fb29292c9fca0f59d3807a54508e87)
Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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.
(From OE-Core rev: ec8fbe0d1870285a4a972ddcfe83aa63d720cb80)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Having bitbake inside the oe-core is annoying to some people. This commit
adds a second option to the oe-init-build-env script.
Run like this:
. ./oe-init-build-env ../build ../bitbake
for example. Without the second option, the old behavior is preserved.
(From OE-Core rev: 45510a0dd7a9321c29c5b21ac4053192f7ab9ad5)
Signed-off-by: Philip Balister <philip@balister.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The current yocto-bsp help assumes knowledge that the meta-intel layer
needs to be cloned before it's put into the BBLAYERS. Avoid the
guesswork and state the details explicitly in the help.
Also, the shorter 'usage' string doesn't mention it at all; it would
help to at minimum mention it and refer the user to the detailed help.
Fixes [YOCTO #2330].
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The current code assumes that builddir == srcdir/build, which it
obviously isn't sometimes. Use BUILDDIR to get the actual builddir
being used.
Fixes [YOCTO #2219].
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Now runs with dash and busybox' ash as well as with bash
(From OE-Core rev: 2b93ed90736ed08c25561e24343a5ef2b8f7dbef)
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
I do not have "[[", just "[". Be gentle to users of legacy-free setups,
also by using '=' instead of the double notation.
(From OE-Core rev: e96ba42a977f4c07aa196ce379ecd73e4ddc23c5)
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The error message erroneously talked about TMPDIR.
Just use OE_TMPDIR everywhere to make the name of the variable obvious.
(From OE-Core rev: 7b633d0a4cf9aa05e6243974bab2b780c246f8ba)
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some versions of the screen utility provided from the host OS vendor
write the socket directory to $HOME/.screen. When using a shared home
directory across many servers, one sets the SCREENDIR environment
variable to avoid collisions in the shared home directory. This
results in problems launching a devshell where it is not entirely
obvious what happened because the SCREENDIR environment variable
got stripped from the environment prior to setting up the screen
in detached mode.
Example:
% bitbake -c devshell busybox
# ...Please connect in another terminal with "screen -r devshell"
% screen -r devshell
There is no screen to be resumed matching devshell.
The temporary work around was to do something like:
sh -c "unset SCREENDIR; screen -r devshell"
This patch adds SCREENDIR to the white list to ensure screen
works properly on systems where a developer needs to use
the SCREENDIR with shared home directories.
(From OE-Core rev: 5568a8f5a1c65bae021b2e36d735d3153acc6d72)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
By default the runqemu script tries to set the group permissions on any
tap device it creates. The TUNSETGROUP ioctl is not implemented on some
popular host enterprise linux distributions.
Internally the script will exit as follows:
++ /opt/qemux86/bitbake_build/tmp/sysroots/x86_64-linux/usr/bin/tunctl -b -g 100
+ TAP='TUNSETGROUP: Invalid argument'
+ STATUS=1
+ '[' 1 -ne 0 ']'
+ echo 'tunctl failed:'
tunctl failed:
+ echo TUNSETGROUP: Invalid argument
This patch implements a fallback to using the userid as the owner of
the tap device which is supported by all 2.6 kernels, the default remains
to try and use the groupid first.
(From OE-Core rev: 3af2bc59776fb738bd795160512a2f3f49ce6d32)
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Yocto 1656]
create-recipe is based on original autospectacle.pl from project Meego.
Add feature to create a recipe .bb file. It requires a parameter to be
told where to download source package, then download and parse.
Create recipe file according to parse results.
(From OE-Core rev: e1f3a0bcce7b24d6c48e6c92c54bcb03858a5748)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This autospectacle.pl is from meego project
http://meego.gitorious.org/meego-developer-tools/autospectacle
And take its latest
commit f462b759c6f569f35283d0885c97ae53b010bb03
as base of Yocto 1656: Recipe creation/import script.
(From OE-Core rev: 74b1d119cf3712a64d627a2adc1adcf7b8cd4123)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This change farms the solvedb creation out to a separate script which
handles creation of the index, only if mtime of any of the packages
has changed.
For a core-image-minimal set of rpm's this saves ~20s of a 45s rootfs
build. For core-image-sato it saves 1 minute of a 5 minute rootfs build.
The more packages in the system, the bigger the saving will be.
(From OE-Core rev: 3021136e7b42ab64ca16f30c88467c4b00d51ee0)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix the IP masquerading settings so that networked QEMU sessions can
reach external networks.
This is a partial fix for [YOCTO #2329].
(From OE-Core rev: 14c4ce77b5c3738a8a9ea7d724de7ce9efff18c4)
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This enables us to use the GUI to change any settings which might cause
sanity checks to fail, such as the proxy configuration.
(From OE-Core rev: fe98d1c7159636f123b27292bbd4cc224b532bf0)
Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
While testing the fix for [YOCTO #2222] I noticed that the tuning for
the qemu x86_64 target was using the wrong tuning file - it should be
x86_64 instead of i586. Change the template to match.
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
While testing the fix for [YOCTO #2222] I noticed a new build error
that wasn't there in previous testing:
ERROR: Multiple .bb files are due to be built which each provide virtual/libgl
The build still completed and produced a good image, but an error
message was displayed, which this patch removes.
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
While testing the fix for [YOCTO #2222] I noticed that the qemuarch
test was wrong - there is no 'x86' qemuarch, just 'i386'. Change the
test to match.
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Previous versions of yocto-bsp mapped every input element to a unique
variable name, which is what the current property value display code
expects. When that was changed to a nested form, the display code
wasn't updated to match - this updated does that.
Fixes [YOCTO #2222]
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Add intercept multilib header for pyconfig.h in python.
This is part of the bug fixing [YOCTO #2216].
(From OE-Core rev: 99591085186c465f2ddfaef08f419ec7584d4522)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It is common to use the same remote branch name as the local branch
name. In this case, it would be nice not to have to specify the
remote branch name.
Make the -b argument optional and assume the remote branch is the same
name as the local branch. Print a NOTE to this effect so as not to
catch the user by surprise:
NOTE: Assuming remote branch 'notthere', use -b to override.
If the remote branch doesn't exist, a WARNING is displayed just as if
the user had used -b to specify a non-existent branch:
WARNING: Branch 'notthere' was not found on the contrib git tree.
Please check your remote and branch parameter before sending.
(From OE-Core rev: 62570b7e3db44fbc3461f650abe6c4613940e068)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Adding this to the nfs to match the ext3 kernelcmdline, this re-enables
keyboard input on the qemuppc.
[YOCTO #2058]
Thanks to Yi Zhao <yi.zhao@windriver.com> for the initial patch suggestion
(From OE-Core rev: 1a82989345fb98becb487d270fd93a5e6dffeb47)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tweak the help info for both "yocto-bsp" and "yocto-kernel" to
emphasize that those are the *complete* lists of commands, not just
the most commonly used ones.
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Previous version of nVidia GLX driver in Ubuntu 10 cause qemu segfault, so we
fall back to Mesa GLX driver if detecting nVidia driver installed. From Ubuntu
11, nVidia GLX driver works well, while previous work around cause GL apps
failure. So this work around is limited in Ubuntu 10 only, and will be removed
in future.
[YOCTO #1886] got fixed.
(From OE-Core rev: b3ccc630e6c12a75111b1f7ca877e17d8d4e1dc7)
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add some comments explaining what this script does, fix one grammatical
error in a comment and make the tar-replacement-native comment give the
full reason why it is needed.
(From OE-Core rev: aa946e1d054d3a0b7097339e0fb74ee60bd94a78)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The recent addition of the check to ensure the user was in their build
directory disabled the ability to switch between build directories
without re-running the build environment setup script. We can rely
upon checking for conf/bblayers.conf instead, so use this check.
This does allow BUILDDIR (which is normally set by the environment
script) to be unset; however if it is set then it is assumed to be the
correct build directory and will be used in the error message that is
shown when we can't find conf/bblayers.conf.
(From OE-Core rev: 769384decb095fb3c49eb13b8f7f69c978d0bcba)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If pseudodone doesn't exist, we can get STAGING_BINDIR_NATIVE by calling
bitbake -e and use that as the path to check for pseudo before we give
up and try to build it explicitly first.
This is useful for people who share TMPDIR between multiple build
directories.
(From OE-Core rev: 07b0dddab901510208fab44bbc2566d3c3baae93)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix a few problems and enhance its functions, it shoud be more useful
than before.
* Search in meta and meta-* for archs, and grep AVAILTUNES for archs,
(only search meta, and grep DEFAULTTUNE before), add the host arch.
and also can search in extra layers with --extra-layer.
* Reduce the analyzing time when remove duplicated files. It would cost
more than 10 minutes to analyze 11,000 files before, now only needs
about 50 seconds.
* Check the access time rather than create time.
* Need the user's confirm before really remove the file, or use --yes to
assume yes.
* Add --stamps-dir to keep sstate files which are used by the build
directory, and remove others this can make the sstate cache dir clean,
it is faster and should be useful than the --remove-duplicated.
* Add --verbose to explain what is being done.
* Add "-d" which is short for --remove-duplicated
[YOCTO #2198]
(From OE-Core rev: 769a000428e4b2462a4e6d8f179b5816b8ec2417)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When passing the nograhic option to the runqemu script, set
console=ttyS0 in the kernel options so the user can view
the kernel boot messages.
This fixes [YOCTO #1475]
(From OE-Core rev: 28f05bf6e5da9cd8f01cff50c317233e3064e3cb)
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Attempt to detect when pseudo-native has been updated. If it has been updated,
or if the user is attempting an operation with pseudo-native in the name, force
a build of pseudo-native, prior to running the main build.
Note: This causes a build, then clean in the case of
bitbake -c cleansstate pseudo-native
(From OE-Core rev: f79184d4000708020f76d82330428b5e7a803642)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If you install the top-level python package only on a minimal
system which has no other python packages installed then python
is not functional at all. Without any extra packages installed
this error is seen:
# python
Traceback (most recent call last):
File "/usr/lib/python2.7/site.py", line 64, in <module>
import traceback
ImportError: No module named traceback
Installing python-lang only partly fixes the problem as this
error still exists:
# python
Traceback (most recent call last):
File "/usr/lib/python2.7/site.py", line 569, in <module>
main()
File "/usr/lib/python2.7/site.py", line 551, in main
known_paths = addusersitepackages(known_paths)
File "/usr/lib/python2.7/site.py", line 278, in addusersitepackages
user_site = getusersitepackages()
File "/usr/lib/python2.7/site.py", line 253, in getusersitepackages
user_base = getuserbase() # this will also set USER_BASE
File "/usr/lib/python2.7/site.py", line 243, in getuserbase
USER_BASE = get_config_var('userbase')
File "/usr/lib/python2.7/sysconfig.py", line 520, in get_config_var
return get_config_vars().get(name)
File "/usr/lib/python2.7/sysconfig.py", line 400, in get_config_vars
import re
ImportError: No module named re
(From OE-Core rev: c239564c768d0f305d8707103f4c59cf60431670)
Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Typoes fixed: "enviroment", "editted", "spliting", "scheulder".
(From OE-Core rev: 17e981a857a51b0bec08c929e8539d36d83874b6)
Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When qemu build failed, we can see such messages:
You need libGL.so and libGLU.so to exist in your library path and the
development headers for SDL installed to build qemu-native.
Ubuntu package names are: libgl1-mesa-dev, libglu1-mesa-dev and
libsdl1.2-dev
These pkgs have different names on Fedora distributions, and Fedora is
one the
main linux distributions, so add Fedora package names.
The following Fedora versions have these pkgs:
Fedora 9 64bit
Fedora 13 32bit
Fedora 13 64bit
Fedora 16 64bit
[YOCTO #2174]
(From OE-Core rev: 246438582f8a23ce1847bae230bce07fbb3c6d15)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
A few recent commits in the OE-Core repository contain diffs in their
commit messages, which totally confuses git-am when applying them to the
combo repository during update. Add some code to detect and indent any
diff text in the commit message so that this does not happen (and show a
warning).
(From OE-Core rev: 6e70c95dc69be6708c3bc231cc2a99eac1360815)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If one or more components are specified for update, only check if their
repository/repositories are dirty rather than checking all of the
configured repositories.
(From OE-Core rev: b03e710c88ad0c66cf731647f26e8441d0074cae)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Implementation of the 'yocto-kernel' command-line tool, for modifying
the kernel portion of a Yocto BSP.
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
This is essentially 'the documentation' for the Yocto BSP tools, along
with a few related functions.
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Yocto BSP kernel-related functions, for interacting with the kernel
tools and implementing the machinery behind the 'yocto-kernel'
command.
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
The main implementation of the Yocto BSP templating engine,
essentially containing the internal implementation of the 'yocto-bsp
create' and yocto-bsp list' commands.
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Fixes [YOCTO #1806]
Standard practice is to use the Linux "dd" command to write images to boot
media. This can be error prone and the results of sloppy usage can be
disastrous. Locating the device you want to use is a clumsy process, especially
on a headless build system.
The ddimage script does the following:
o Check the image and device exist
o Check the device is writable
o Compare the device to a blacklist and abort if it's listed
Blacklist defaults to "/dev/sda"
o Display useful identifying information about the image and device
o Prompt the user before commencing the write
The output looks something like this:
$ sudo ~/bin/ddimage tmp/deploy/images/core-image-sato-fri2-noemgd.hddimg /dev/sdk
Image details
=============
image: `tmp/deploy/images/core-image-sato-fri2-noemgd.hddimg' -> `core-image-sato-fri2-noemgd-20111202214038.hddimg'
size: 318568448 bytes
modified: 2011-12-02 13:45:05.298897861 -0800
type: x86 boot sector, code offset 0x58, OEM-ID "SYSLINUX", sectors/cluster 16, root entries 512, Media descriptor 0xf8, sectors/FAT 152, heads 64, hidden sectors 32, sectors 622204 (volumes > 32 MB) , serial number 0x4ed946e0, label: "boot ", FAT (16 bit)
Device details
==============
device: /dev/sdk
vendor: Kingston
model: DT 101 G2
Write tmp/deploy/images/core-image-sato-fri2-noemgd.hddimg to /dev/sdk [y/N]? y
Writing image...
303+1 records in
303+1 records out
318568448 bytes (319 MB) copied, 53.6766 s, 5.9 MB/s
(From OE-Core rev: 87e581bb7da9f1530d190cd023fcf892c8b858f5)
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Dexuan Cui <dexuan.cui@intel.com>
CC: Joshua Lock <josh@linux.intel.com>
CC: Kishore K Bodke <kishore.k.bodke@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Previously this had its own implementation of splitting a list of
packages with optional version e.g. "libncurses-dev (>= 5.9)"; switch to
using the already existing bitbake function which does this as it is
much better tested.
(From OE-Core rev: de21a483063d9803c4ce1d62b03913ccad2931bd)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[Yocto 1561]
Add script cleanup-workdir to clean up WORKDIR. It checks every
package build directories under WORKDIR then parse the directory
name to get package name and version. If the version is not the
package prefer version then delete the directory.
(From OE-Core rev: 5eecfa7e504970a9ffde95e568ed7f8e7d6288b9)
Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the user is in any directory other than $BUILDDIR when the bitbake
wrapper script is run, then show an error an exit.
Fixes [YOCTO #2071].
(From OE-Core rev: b4df1c7c79b5c801658bcf890ba3a8eab3d83189)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If our own proxy command isn't available for some reason and nc is available,
fall back to use it.
(From OE-Core rev: aaab6ae94258277dcd2f29823a64689e6245fa7a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If oe-git-proxy-socks isn't available, try and create it.
If that fails, tell the user there is a problem, don't just fail
to find the command.
[YOCTO #2007]
(From OE-Core rev: 46c675d85603d7a573bc59638ce615aba9fd7df2)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Adepted to the new bitbake cache mechanism which is based on file
content but not on file timp stamps any more.
(From OE-Core rev: c1705317f9456f761da2094e886a07939291e53a)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Change the scripts to launch the new Hob.
(From OE-Core rev: 22194a04f224864dd687660e351a3a10da1f06fa)
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There would be many obsolete cache files in the SSTATE_DIR after several
builds, this script can remove the obsolete one for a pkg, only leave
the up to date one.
Here is the help text:
sstate-cache-management.sh <OPTION>
Options:
--help, -h
Display this help and exit.
--cache-dir=<sstate cache dir>
Specify sstate cache directory, will use the environment
variable SSTATE_CACHE_DIR if it is not specified.
--remove-duplicated
Remove the duplicated sstate cache files of one package, only
the newest one would be kept.
[YOCTO #1682]
(From OE-Core rev: 7c99ef6d2173b14e1109a540ee5ae47b56d707e7)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If you specify one or more components to update immediately following
the "update" command, only these components will be updated as opposed
to the default behaviour of updating all of them.
(From OE-Core rev: 1779afce024b31edcf846329da705ed5aa9fe63e)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Minor improvements to the example combo-layer config file:
* Add the recently added branch option to the optional options section
* Mention in comments that last_revision gets updated during "update"
* Tidy up some more grammar
(From OE-Core rev: 065798d8dd0552934175f794f7678e0dd24ef152)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If we are running an update and the last revision hasn't changed since
the last update, don't write to the configuration file. This avoids
committing the config file with no changes other than spontaneous
reordering of sections, which sometimes occurs due to the behaviour of
the internal dictionary in Python's ConfigParser class. (This can be
fixed properly but the fix is only easy in Python 2.7+ due to the
availability there of the collections.OrderedDict class, and we
currently want to be compatible with 2.6.x as well.)
(From OE-Core rev: 4592f238de3fe6b0384c334774be9fcfc0985e4f)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Avoid displaying the error from the "git status" command we use to check
the status of the config file if the config file is outside of the
repository (a situation that is already handled).
(From OE-Core rev: 9d3e54057673348e85ba479705c4ffaad56973d6)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If you specify -D or -v options to the bitbake wrapper script, and the
initial pseudo build needs to be done, it's useful to pass these
options through to that command so that you can debug the initial
pseudo build as well.
(From OE-Core rev: dcf6f72c35f7c108e447d01c15df86807e26a88b)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Raise the check for max RAM supported for QEMU/arm
its 256M since we patched it to be so in OE
(From OE-Core rev: cfd84a05581e068d705b0804829c4833a06bffa6)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
COMMERCIAL_LICENSE no longer exists; the equivalent functionality is
now has been replaced by LICENSE_FLAGS_WHITELIST, so replace the
COMMERCIAL_LICENSE warning with a similarly equivalent warning.
(From OE-Core rev: 64e1db588bcb7b66b08097c0ea443bd4406422d3)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
A recent set of changes changed the kernel name from bzImage to vmlinux,
this test needs to change also.
(From OE-Core rev: f11f03b27bd0bf41bcb45d0589d9982d006474d2)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Two issues are fixed with this commit, the ability to use the keyboard
on a graphical qemu boot and enabling ethernet by default on a 3.0
kernel.
The keyboard is fixed via the same method as the other simulations with
the addition of console=tty on the qemu command line.
Ethernet is fixed by adding a dependency of PCNET32 to the qemuppc
configuration, which allows us to build ethernet directly into the image.
(From OE-Core rev: 29c71eeb98aa8ce0fb0e0a30483499525bf6305d)
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
With this new emulation, existing qemuppc functionality is maintained
and other functionality such as framebuffer + sato and NFS boot are
added.
(From OE-Core rev: 52ea026df141ea23bbab38ad3a9733c15097eaa4)
Signed-off-by: Liming Wang <liming.wang@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO #1556]
- Modified meta/class/package.bbclass and prserv.bbclass according to
the change in PR service by adding PACKAGE_ARCH into the query tuple.
- Added prexport.bbclass, primport.bbclass to export/import AUTOPR
values from/to PRService.
- Move PR service related common code to lib/oe/prservice.py.
- Supported reading the AUTOPR values from the exported .inc file
instead of reading it from remote PR service.
- Created a new script bitbake-prserv-tool to export/import the AUTOPR
values from/to the PR service.
Typical usage scenario of the export/import is:
1. bitbake-prserv-tool export <file> to export the AUTOPR values from
the current PR service into an exported .inc file.
2. Others may use that exported .inc file(to be included in the
local.conf) to lockdown and reproduce the same AUTOPR when generating
package feeds.
3. Others may "bitbake-prserv-tool import <file>" to import the AUTOPR
values into their own PR service and the AUTOPR values will be
incremented from there.
(From OE-Core rev: 9979107d8eaf503efd921564385859b1e83dbb3c)
Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Adds a buildhistory-diff script which can be used to analyse changes in
the buildhistory git repository (as produced by buildhistory.bbclass),
and report significant ones that may need manual checking to ensure they
aren't regressions (e.g. package size changed by more than a certain
percentage, files added/removed/changed in the image, etc.)
The implementation is actually split into a small script and a Python
module, in order to make the logic re-usable in a future web-based
interface.
Implements the first part of [YOCTO #1566].
(From OE-Core rev: 5e5cbb9bd8cdce402b979680288ac8c51799a24d)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In the rpm2cpio.sh script, the output of $COMPRESSION is tested for
certain lowercase strings such as 'xz' in order to determine the
decompression to use. The problem is that the output strings tested
are from the output of 'file', which uses different cases in different
versions e.g. file-5.09 prints:
tmp/sysroots/x86_64-linux/usr/bin$ ./file xxx.tar.xz: XZ compressed data
while file-5.03 prints:
tmp/sysroots/x86_64-linux/usr/bin$ ./file xxx.tar.xz: xz compressed data
In the former, the XZ string causes xz compressed payloads to
incorrectly fall through to the catch-all lzma case.
(From OE-Core rev: fe48e55988a2208bb7a3a2cc2bc641c41dbd1cb0)
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Unfortunately we now have code in BitBake which is parsed before the
current version check and is incompatible with Python < 2.6. Rather than
fixing this and being eternally vigilant for >= 2.6 feature usage, just
add a version check to the wrapper script.
(From OE-Core rev: 9b8a48efa3b80fea34efa51de44d10ff2b1e3193)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If /dev/net/tun is either not present or is not writable by the
user, then show an appropriate error message. (QEMU needs access to this
device in order to enable networking; it may be missing if it is not
enabled or loaded into the kernel, and some distributions such as CentOS
5.x set restrictive permissions upon it.)
(From OE-Core rev: a00b94900d437828f25debce1c30ffcc0bbf29e9)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
s/No cover letter will be send./No cover letter will be sent./
(From OE-Core rev: a82e5abf399f3ced7dcb4d5c543fdea084ef6c63)
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Without this the command will add a route for the subnet 192.168.7.0 which
means multiple qemu instances can't operate correctly since all but the last
one will be masked out.
(From OE-Core rev: 9e00d6b343120496ec0dd72240c7b04e0a8b7eaa)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We can't just look for *image* since it will catch up bzimage
(From OE-Core rev: c2f88c658b73da67d93312591b3e67b42f629fe3)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Current sanitytest use option -e for ps command, which only works for ps
from procps. It fails if ps is provided by busybox. Add check to use different
option for command from busybox and procps.
[YOCTO #1756]
(From OE-Core rev: dd856f5609c13fc740b53016de033a8a9cbe6b51)
Signed-off-by: Jiajun Xu <jiajun.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* move 2to3 to separate package and include lib2to3 (was in python-misc)
* fix pattern for python-unittest (was in python-misc because it's in subdirectory now)
* add pydoc_data to python-pydoc (was in python-misc)
* add more stuff to smtpd, audio, codecs, ctypes, html, io, json, mime,
pickle, stringold, xmlrpc
* move all FILES_ details from python recipe to manifest generator so it's in one place
* added manual line break in FILES_${PN}-core, because git send-email
doesn't like too long lines
$ git send-email -1 dfaae65839f0ab23e5b2ae2a68df0f370bca84d2
fatal: /tmp/k8zbDajUNP/0001-python-improve-packaging.patch: 64: patch contains a line longer than 998 characters
(From OE-Core rev: f17f6b28ed2f62250f8690617e9126a43c3a8020)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If a commit is empty (for example, commits brought over from svn where
only properties were changed) then attempting to apply it with "git am"
will result in the error "Patch format detection failed", so skip it
instead.
(From OE-Core rev: 5754bc7bcc2f57b6b56e67e2900eeaab5bc184d8)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix some grammar.
(From OE-Core rev: cc34f1bf136409d2e31c443dd5334c3a35d208af)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the config file is tracked within the combo-layer repository and it
is updated at the end of the "update" operation (because last_revision
has been changed), then automatically commit the file. This ensures that
multiple people can perform updates on different machines without the
last revision information going missing.
(If the file is outside the repository or is masked via .gitignore, this
will do nothing.)
(From OE-Core rev: 14f89acb43b0d9bec09b94668fbb056c7b5b1456)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix the dirty repository check to detect any changes, including
untracked files and uncommitted changes in the index.
(From OE-Core rev: f03fa8bbafa82ce6b09c08bf86011b6c51eb3531)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add an optional per-component branch setting to allow specifying the
branch instead of always using master.
(From OE-Core rev: 8e2b8b05607103acd539808c5ab0cc80c0d481fc)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Move all example configuration to the example config file, tidy up a few
long lines and fix some grammar.
(From OE-Core rev: ec099a32243ebc7eecd86e4bf40ed38da4af3fe5)
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>