Compare commits

..

1044 Commits

Author SHA1 Message Date
Richard Purdie
c37faea947 libunistring: Fix parallel make issue
See patch header for the full description of the parallel make issue this resolves.

(From OE-Core rev: 1b576a2412647fbbf0a17e95171efdc458f4be16)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-12 12:37:52 +01:00
Richard Purdie
b2ae65f7d1 linux-dtb: Ensure dtb files are covered by sstate
The dtb files were not being installed into a location compatible with sstate and
the do_deploy task. This means in builds just using sstate, the dtb files disappeared.

This patch fixes the code to use the correct location for deploy files.

[YOCTO #2190]

(From OE-Core rev: 9815b7a95ac33d3234073cdd204d9389b4241189)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-12 12:37:52 +01:00
Scott Rifenbark
d6031bad2a documentation/yocto-project-qs/yocto-project-qs.xml: Added CentOS
New section in the Packages area for CentOS.

(From yocto-docs rev: 7ee9f2d09fe9b83bccdf4b4f431672f34c31aca7)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-12 12:35:47 +01:00
Scott Rifenbark
853c5613ac documentation: Run-through changes for 1.2
Reading through the manual I discovered some inconsistencies with
how links were handled.  I fixed this in both the QS and one anchor
in the FAQ appendix of the YP Reference Manual.

(From yocto-docs rev: 32444e839a1541ab2c02fa31cd094605d1a2429a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-12 12:35:47 +01:00
Scott Rifenbark
17c4134ebd documentation/yocto-project-qs/yocto-project-qs.xml: fixed URL
In the "Super User" section I had the URL for the wget command
wrong.  Replaced the "." character with a "/" character.

(From yocto-docs rev: 87ec41694d6665c0dbaaab94679b1f22335aa070)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-12 12:35:47 +01:00
Elizabeth Flanagan
a9be1accab poky.ent: Updating for coming release
Flipping values for the upcoming release

(From yocto-docs rev: 00a7b706af352d6103db712ec3f1f0a1b08f0eff)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-12 12:35:46 +01:00
Richard Purdie
58d2ff3955 package_rpm.bbclass: Use the correct macros file to avoid empty solvedb path issues
(From OE-Core rev: f714f54df01e02a1115b42f3637f74a11eb51edb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-12 08:22:00 +01:00
Joshua Lock
7e5d41ab22 packageselectionpage: add missing method
This is just a copy of the same method from the recipeselectionpage so
that we can actually run hob again.

Fixes [YOCTO #2281]

(Bitbake rev: b6e68019494044305ab28492a517d1eafea851c3)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-12 08:12:07 +01:00
Saul Wold
376bf4a390 builder: fix missing \ for if continuation
(Bitbake rev: f44f12b812d246da994519bc39789bf2dcfbac4b)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-12 08:11:30 +01:00
Richard Purdie
0923ee40ae package_rpm: Fix useradd preinst ordering issues
We were already having occasional ordering issues with package_rpm.
Fixing the ldconfig postinstall issue pushed rpm over the cliff and
totally broke rpm builds with the packages getting installed in
effectively a random order and the useradd preinstalls getting executed
out of order and breaking.

The only explanation I can find for this is that rpm is special. It will
happily run a preinst for a package without any of that package's
dependencies being present regardless of whether there are any circular
dependency issues or not. I attempted various ways of solving this such
as ordering the total_solution.manifest in creative ways but the bottom
line is RPM ignores this. It takes little account of any request to
ignore /bin/sh dependencies for the purposes of constructing the final
image.

The end result is we're having to install the base-passwd, base-files
and shadow packages first (if there is a request to install them), then
install any other packages.

It this wasn't in the middle of a release I'd be rewriting this bbclass
file, its horrible.

(From OE-Core rev: 2c136255a7db8c57ab595a9c2ee1f32aebefc480)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-12 00:24:35 +01:00
Saul Wold
9789ed626b hig/builder: use the new which_terminal() function
Also adjusted the cmdline ordering to work correctly
with both xterm and vte.

(Bitbake rev: 4219e2ea033232d95117211947b751bdb5efafd4)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 17:58:51 +01:00
Saul Wold
4be09eec6a ui/crumbs/utils.py: new file for choosing terminals
Adding this simple version of a terminal selector for use
hob since it's needed. Moving forward in the 1.3 release
the existing code in meta/lib/oe/termnial.py will be migrated
to core bitbake code and this will use that code.

(Bitbake rev: 359a9ea4c8d61247064db3eaefb816ef116d332a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 17:58:49 +01:00
Saul Wold
eaf299419a distro-tracking: Fix syslinux NO_UPDATE_REASON
(From OE-Core rev: 19e3c031ccbcce655e4a60c4a488e27b09259fba)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 15:38:11 +01:00
Noor Ahsan
75a604bbf5 insane.bbclass: Add missing variable bpn
* bpn variable was used but it was not defined. Add bpn to resolve that issue.

(From OE-Core rev: 5756d4a7d34fbb370ef54a99dff06afba7a80d8f)

Signed-off-by: Noor Ahsan <noor_ahsan@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 13:10:37 +01:00
Andrei Gherzan
00a6199b92 "The suite of statements in a function definition executes with a local namespace that is different from the global namespace. This means that all variables created within a function are local to that function. When the suite finishes, these working variables are discarded."
In this way the needs_ldconfig variable in linux_so never gets True in the statements
below this function. As global statement is generally discouraged, a return value
would be a clean and fast way to solve this issue.

[YOCTO #2205]

RP: Added logic to ensure the value doesn't get overwritten once set
(From OE-Core rev: 6d39af4f85220f20bad09b0fdd3ee0a7ec19c12d)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>---
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 12:57:17 +01:00
Lianhao Lu
f03d66bcc1 python: multilib header support.
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>
2012-04-11 12:48:37 +01:00
Yang Shi
b23b2b42a0 initrdscripts: fix init-live.sh and use unionfs
[YOCTO #1487]

When booting up with liveCD image, init scripts can't work well on read-only filesystem. Unionfs,
which is supported in Yocto kernel, allows a filesystem to appear as writeable, but without
actually allowing writes to change the filesystem.

Use unionfs to mount rootfs and make root file system can be writen when using liveCD to boot up.
Set UNION_FS variable depending on kernel config, so that it can work with kernel which doesn't
have unionfs feature.

[RP: Mark recipe as machine specific due to kernel dependency]
(From OE-Core rev: b7f4e8d153c2aebbcf6556e7e926f6b94801d6aa)

Signed-off-by: Yang Shi <yang.shi@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 12:15:32 +01:00
Nitin A Kamble
88b399bb2c tclibc-eglibc.inc: make locale packages dependency conditional
Only add locale package dependencies if the eglibc is configured
with locale support.
  This avoids dependencies issues for distros such as poky-tiny

[RP: Add PR bump]
(From OE-Core rev: bcaea8ec9c9c333f76b368225f60d4fb54c1c7b2)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 12:12:43 +01:00
Bruce Ashfield
6abc4c46fd linux-yocto/meta-yocto: update hardware reference boards to v3.0.24
The meta-yocto hardware reference boards missed a SRCREV update when the
base recipe when to v3.0.24. This updates the SRCREVs to ensure that the
kernel that is built and booted matches the version information conveyed
from the base recipe.

Fixes [YOCTO #2265]

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2012-04-11 12:10:14 +01:00
Robert Yang
0f21f39fad beagleboard.conf: fix hardcode of virtual/xserver
Here is the message from the bug 2260:

meta-yocto/conf/machine/beagleboard.conf hardcodes the virtual/xserver
provider, i.e., it includes the following:

PREFERRED_PROVIDER_virtual/xserver = "xserver-xorg-lite"

I don't think machine conf is the correct place for selecting what is
essentially a distro feature, but at least this should use the '?='
operator; as is to select a different provider one must provide a
complete beagleboard.conf file.

[YOCTO #2260]

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
2012-04-11 12:10:14 +01:00
Nitin A Kamble
8c48ab6183 poky-tiny.conf: adjust eglibc options for poky-tiny
Avoid errors for building meta-toolchain for poky-tiny

This Fixes Bug: [YOCTO #2259]

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2012-04-11 12:10:13 +01:00
Richard Purdie
06a7ffdeca python: Fix host contamination issue
python-nativesdk could fail with:

| /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/sysroots/x86_64-linux/usr/bin/python: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-ppc/build/build/tmp/work/x86_64-nativesdk-pokysdk-linux/python-nativesdk-2.7.2-r1.9/Python-2.7.2/libpython2.7.so.1.0)
| make: *** [sharedmods] Error 1

which is caused by the fact LD_LIBRARY_PATH is being set to include WORKDIR
when calling HOSTPYTHON. HOSTPYTHON is from python-native and needs no such
help so the easiest fix here is not to set crazy LD_LIBRARY_PATH values
since we should never be running anything from WORKDIR given the way we build
things.

The patch clears out the RUNSHARED variable which would contain the
LD_LIBRARY_PATH value prior to this patch.

(From OE-Core rev: 546175abbac8a3c7ec4b5a4d014b05378bbb092f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 12:08:14 +01:00
Xiaofeng Yan
5fb36b041c archiver.bbclass: Amend the problem for moving tarballs in ${DL_DIR} to ${DEPLOY_DIR}/source when enable archiver
When running "bitbake core-imamge-minmal", the error information like the following  will appear:
ERROR: Error executing a python function in
/buildarea2/yzhao-test/poky-test/meta/recipes-core/zlib/zlib_1.2.6.bb:
IOError: [Errno 2] No such file or directory:
'/buildarea2/yzhao-test/poky-test/build-archive/downloads/zlib-1.2.6.tar.bz2'

An absolute path from variable "file" pointed to tarballs in ${DL_DIR} \
cause this problem. So return base-name of "file" for fixing this bug here.

[YOCTO #2272]

(From OE-Core rev: 40c34087dea6869e5ec9a655980de3c3baa01960)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 12:08:14 +01:00
Andreas Oberritter
acdcb3c7e0 busybox: fix options -b, -a and -P
* busybox-udhcpc-no_deconfig.patch broke the options,
  preventing udhcpc from forking into the background
  if no lease can be obtained.

(From OE-Core rev: 24ad7ca9bd99cd6cd11f7d2d49a79fe3521cbcec)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 12:08:14 +01:00
Paul Eggleton
91a77020eb classes/package_deb: create .gz index instead of .bz2
apt is looking for Packages.gz files instead of the .bz2 files we are
currently creating and failing when they cannot be found. It is not
immediately obvious how to make the current version use the .bz2
indexes; thus create .gz indexes for now which allows us to
successfully create images.

Tested on both a Fedora 14 and an Ubuntu 11.10 host machine.

Fixes [YOCTO #1858].

(From OE-Core rev: 518f4af617f91b209086acb51454393147aa92dd)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 12:08:14 +01:00
Saul Wold
0dca188d2d task-self-hosted: Add vte and eglibc-gconv-ibm850
Adding vte for a more full featured terminal
adding eglibc-gconv-ibm850 for mcopy

(From OE-Core rev: b30a6eb08640b25bb0b0530f51a8cb749de1c311)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 12:08:14 +01:00
Saul Wold
394445fdf9 boot-directdisk: remove the default setting of SYSLINUXCFG and SYSLINUXMENU
These two should get setup in {S} and installed into {HDDDIR}, by
having them defined with {HDDDIR} they try to get created when the
directory does not exist yet.

(From OE-Core rev: 215ea5ea8b97270a3602b3f20469226a56442552)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 12:08:13 +01:00
Lianhao Lu
73aab2c289 connman: add ofono dependency.
Added dependency to ofono because we always enable ofono plug-in.

We did this because the 1.2 release cycle is coming to an end. We should
use PACKAGECONFIG in 1.3.

This is part of the 1.2 bug fixing [YOCTO #2216].

(From OE-Core rev: bfd6bf92ddf371d9be937ec0605e08667749fd88)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 12:08:13 +01:00
Liming An
9067f7bfc2 Hob:Fixed some incorrect values of Build configuration tab
Because some variables not be updated when building started, so add them
to the updating function of configuration class, and add reset function of
configurate treeview of building detail page

[YOCTO #2244]

(Bitbake rev: 06ce753fd4680a204ccc63949ace637dc1c115e2)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:05:23 +01:00
Shane Wang
6486d39fb1 Hob: show those appliable buttons on the image details page only
We don't use "grayed out" but use "show/hide" for those appliable buttons
in the image details page.

[Yocto #2143]

(Bitbake rev: df1564d78d081ceab51d628d227e57b7a197259b)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:05:23 +01:00
Shane Wang
ccf4f7653b Hob: forget selected_recipes and selected_packages after users change the machine
The patch is to fix [Yocto #2255]. Now the logic is:

- If users change the machine, the image combo is empty for users to select.
- If users load the template, the image combo should set the value of
  selected_image specified in the template.
- After loading a template, if users change the machine, the selected_image
  specified in the template should be removed from the image combo because
  it is probably invalid for a new machine.
- If users customize the recipe/package list, and change the settings which
  causes reparsing, selected_recipes and selected_packages should be remembered.
- If users add more layers, selected_recipes and selected_packages should be
  remembered.

(Bitbake rev: e549b11f4f31863393f62a253ee96bead4594523)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:05:22 +01:00
Shane Wang
793058e6f2 Hob: add tooltips into image details screen
[Yocto #2243]

(Bitbake rev: 543e81b87b48de9c5285b81c856376c9f52d7902)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:05:22 +01:00
Shane Wang
0043ed8fa6 Hob: tooltip change for "Build image" button
[Yocto #2242]

(Bitbake rev: a36bd8ddf62397c554dadb97841532e260b01b91)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:05:22 +01:00
Shane Wang
59cd6a56e3 Hob: clean up and reword stop_parse()
(Bitbake rev: f6e0d93c96d1626e7da298e296b1be9e425173b2)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:05:22 +01:00
Shane Wang
62e5a4df09 Hob: clean up generate_configuration()
(Bitbake rev: 569d5ac3a3e89c7a8d69ec611b69edbae414b5fe)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:05:22 +01:00
Shane Wang
655476f9d1 Hob: clean up cancel_build()
(Bitbake rev: ef441d51700f73577e72c106ee2a0ecd4eceda08)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:05:21 +01:00
Shane Wang
c5964a79c7 Hob: clean up request_package_info_async()
(Bitbake rev: e95b52820f26a7a35865e8978ea752053dccd4b1)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:05:21 +01:00
Shane Wang
2176e14894 Hob: clean up and unify get_parameters() to be get_parameters_sync()
(Bitbake rev: 16fecd0d0f95285bf774030cd24006206185faee)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:05:21 +01:00
Shane Wang
f511b8cd07 Hob: clean up to call clear_busy() in hobeventhandler.py
(Bitbake rev: 7b6414e2b82666c3cfa5432ce8fe8c348b227441)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:05:21 +01:00
Shane Wang
21901e0ada Hob: clean up and unify the steps for IMAGE_GENERATING to call generate_image_async()
For the steps in IMAGE_GENERATING, the patch consolidates them into
generate_image_async() to call.

(Bitbake rev: d4f2335e40d4d667847d3faed79bcee74baeea37)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:04:45 +01:00
Shane Wang
35317bd2c2 Hob: clean up and unify the steps for PACKAGE_GENERATING and FAST_IMAGE_GENERATING to call generate_packages_async() and fast_generate_image_async()
For the steps in PACKAGE_GENERATING, the patch consolidates them into
generate_packages_async() to call.

For the steps in FAST_IMAGE_GENERATING, the patch also consolidates them
into fast_generate_image_async() to call.

(Bitbake rev: 1ec53d41774528ab01e835d1cf4166f0202a7c38)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:04:45 +01:00
Shane Wang
47caae2f21 Hob: clean up and unify the steps for RCPPKGINFO_POPULATING to call populate_recipe_package_info_async()
For the steps in RCPPKGINFO_POPULATING, This patch consolidates them into
populate_recipe_package_info_async() to call.

(Bitbake rev: ed2aa6f235e1b789af8a33729302a4269674c6b4)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:04:45 +01:00
Shane Wang
27caa6b89d Hob: clean up and unify the steps for CONFIG_UPDATE to call update_config_async()
For the steps in CONFIG_UPDATE, the patch consolidates them into
update_config_async() to call.
consequently remove CONFIG_UPDATE since MACHINE_SELECTION covers it.

(Bitbake rev: f583d43e87c049bdee88890e289f14520c7c31a1)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:04:45 +01:00
Shane Wang
8d353411c1 Hob: clean up and unify the steps for new build to call initiate_new_build_async()
initiate_new_build() (changed the function name into initiate_new_build_async()
to indicate it is an async function) or the similar sub-functions are called at
different places.

This patch is unify to call initiate_new_build_async().

(Bitbake rev: ec42be626a5d6362a09f12f4f4025ad92d70c89b)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:04:44 +01:00
Shane Wang
e2c1092905 Hob: correct indent
(Bitbake rev: 684e0eddfbbb4618a1adcf179296f3f1066ae1c0)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:04:44 +01:00
Liming An
4495a73abc Hob: Add the tooltips for recipe view page as request
[YOCTO #2229]

(Bitbake rev: 37c969164a6ef9adcaa743a3909102b005a55163)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:04:44 +01:00
Liming An
e1d463eb39 Hob: add fadeout display effection for package view include page
[YOCTO #2100]

(Bitbake rev: c0c81647dc5e72fe3abb1fb3b65a978aa4b226a5)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:04:44 +01:00
Liming An
a46aafb8b2 Hob: add fadeout display effection for recipe view include page
As UI request, in recipes selection page, if user exclude a item,
the related depends recipes will be excluded together,so the view
clearly to add it.

[YOCTO #2100]

(Bitbake rev: c9eed04c6275ef2c694f89e047f85c7de76f89b6)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:04:44 +01:00
Dongxiao Xu
9fd56fad6c Hob: Add an extra 50M space if zypper is selected
If zypper is selected, RPM packaging will add extra 50M free space to
the final image. We need to reflect it in package selection page.

(Bitbake rev: 22344f13d5e201be0d6381c6542d05c6fde7eec3)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:04:43 +01:00
Dongxiao Xu
44b08a96b8 Hob: Fix tooltips in Settings dialog
This fixes [YOCTO #2229]

(Bitbake rev: 0f57e1d1d85a2c86d68e604e294ea4b0ceff03ca)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:04:43 +01:00
Dongxiao Xu
f9d7043b62 Hob: Fix tooltips in image configuration page
This fixes [YOCTO #2228]

(Bitbake rev: f99e90726716bc89bdd980a3db027f1c3a66f2fa)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:04:43 +01:00
Dongxiao Xu
4c72ee98c2 Hob: Fix the pattern patch for image name
Sometimes, users may open an image that is not built by Hob, therefore
its image name is not started with "hob-image-". This commit sets a
looser rule for runnable image matching.

This fixes [YOCTO #2240]

(Bitbake rev: 7b81389566cb27451557ca11ec8ed40ef2630543)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:04:43 +01:00
Dongxiao Xu
c546037dc9 Hob: Change base image to "Create your own image" if customized
Once user did customization to his base image, we change the base image
to be "Create your own image" to avoid some issues caused by the
relationship between base image and its default recipes and packages.

This fixes [YOCTO #2211]

(Bitbake rev: 8edad8d282b69896237e956a00c66cd4d10ef494)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:04:42 +01:00
Joshua Lock
0aff9a5824 selectionpage: show persistent tooltips on click
Requiring a double click to show the tooltips isn't very intuitive, add
a callback to show the persistent tooltips on button release.

(Bitbake rev: 80af7e72a9404044910fca7f9265e66354f747a6)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:04:42 +01:00
Joshua Lock
df64e7f884 lib/bb/ui/crumbs/[recipe|package]selectionpage: fixed width Included col
Set the expand property on all columns other than the 'Included' column
so that the included column remains at the max size set.

(Bitbake rev: e1406d75c0643a2e65bb61649958e05e730fb332)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:04:42 +01:00
Joshua Lock
4cf1aa5ae4 lib/bb/ui/crumbs/recipeselectionpage: include 'Group' in 'Included' view
The 'Included' tab of the notebook should show the 'Group' a recipe
belongs to, per the design.

(Bitbake rev: 4f45d791644e383b11cbcfd4fb02866518cb9c04)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:04:42 +01:00
Joshua Lock
49cd60e3c3 lib/bb/ui/crumbs: only display one 'Brought in by' item in Hob trees
The design calls for a single 'Brought in by' item to be shown in the
tree views with any extra items to be shown in the tooltip.

(Bitbake rev: 6866271da738237d3a119e291ac8f9d2c517e124)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:04:41 +01:00
Joshua Lock
e5a63fd66b hob: update required versions of (py)gtk et al
With the previous two changes we now work on Gtk+ 2.18 and PyGtk 2.16

(Bitbake rev: 5ccbcdf8c47f2f20655a3ea0f60e5870cdba6f83)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:04:41 +01:00
Joshua Lock
0d001e8c04 lib/bb/ui/crumbs/hobwidget: replace new API
The gtk.Widget.get_sensitive() convenience method is only available
in Gtk+ 2.22 or later, instead use the sensitive property of the
gobject to determine whether the widget is sensitive or not.

(Bitbake rev: 82ea0619e9ecf9107b75692385bcf1434ea8a307)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:04:41 +01:00
Joshua Lock
b2fb7ddedd lib/bb/ui/crumbs/persistenttooltip: replace 2.22 API
CentOS 6.x doesn't ship with new enough pygtk for this API.

(Bitbake rev: 2b6ce54cdc23c5fc1325e42634287134f55aacbf)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:04:41 +01:00
Robert Yang
0d5e808777 diskspace monitor: assign a default value when only of the interval is set
Assign a default value to the other one when either disk space interval
or amount of inodes interval value is set for example:

BB_DISKMON_WARNINTERVAL = "50M,"
or
BB_DISKMON_WARNINTERVAL = ",5K"

The diskspace monitor would not enable in the past, that seemed
unreasonable, assign a default value to the other one currently, so the
monitor will be enabled, and will warn both of diskspace and free
amount of inode if they have been set in BB_DISKMON_DIRS.

(Bitbake rev: 09592c119550550edcc59c871f754536d5b7bf65)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-11 00:04:40 +01:00
Scott Rifenbark
c0a812c222 documentation/bsp-guide/bsp.xml: Added a info about meta-intel layer
I put a bit of explanation in the "BSP Layers" section about
meta-intel being a layer that in fact contains other BSP layers.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: c57ba6050d7923018709221f7058443293ea6838)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-10 13:32:45 +01:00
Scott Rifenbark
ec33e21004 documentation/bsp-guide/bsp.xml: Edits to intro sections
Adding the new section "Customizing a Recipe for a BSP" has added
enough sections to this book such that the introductory area needed
some attention.  I pared down the intro text to basically just
cover the manual's organization and a bit about BSPs.  I moved
all the introductory common form stuff into the section that
just addresses the BSP form.  This is better organization for the
manual as it is evolving.

(From yocto-docs rev: 9aec4ce47fb090ae2f6c5bed93da03e77ae49a4c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-10 13:32:45 +01:00
Scott Rifenbark
273e05bb0d documentation/bsp-guide/bsp.xml: Added new section
Fixes [YOCTO #1962]

Added a new section called "Customizing a Recipe for a BSP".
The text was rooted in Darren Hart's comments.  I implemented
them and then we iterated a bit on it.

Reported-by: Joshua Lock <joshua.lock@intel.com>
(From yocto-docs rev: f5e51d60312d9335a790023f193cae1ba76277ae)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-10 13:32:44 +01:00
Darren Hart
adc13fc925 hello-mod: Move hello-mod from meta to meta-skeleton
Fixes [YOCTO #1501]

hello-mod is an example kernel module, and does not provide any real
functionality. As such, it would be better placed under meta-skeleton than
meta.

(From OE-Core rev: bde1744018afd4616e114b20ffdc21b9abddcedc)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-10 13:32:02 +01:00
Darren Hart
13d62101f6 syslinux: Update distro-tracking fields
Add reason for not updating syslinux this release.

(From OE-Core rev: d037060e2fec073ccfb33c83d426c9775b331457)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-10 13:32:02 +01:00
Saul Wold
5d3d7537dd at: Fix origin location of install pam.conf from from ${P} -> ${BP}
This patch changes P to BP to address where a file is installed
from when building with PAM enabled and using multi-lib.

[YOCTO #2224]

(From OE-Core rev: 7304874058011360070ab28f14423273aa99360e)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-10 13:32:01 +01:00
Martin Jansa
c397384ef4 gdb: add --with-libexpat-prefix
* otherwise it sometimes finds host's expat

(From OE-Core rev: 19d034963cc16392a12db144e04c55cbab245576)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-10 13:32:01 +01:00
Xiaofeng Yan
547cb70473 opkg: Add the condition for the content of arch.conf when enable multilib
After successfully installed some lib32 multilib packages into the
x86-64 image, we just found that the file content of /var/lib/opkg/status in
rootfs changed after the very 1st boot, many lib32 related packages information
are missing in that file.

The missing arch "x86" in arch.conf cause the above problem. Adding the
condition for the content of arch.conf when enable multilib. If build
multilib image, "ALL_MULTILIB_PACKAGE_ARCHS" will be used instead of
"PACKAGE_ARCHS".

[YOCTO #1522]

(From OE-Core rev: 700fc9a5d25ebb1f85cb9db11e41ba502744fe7e)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-10 13:32:01 +01:00
Lianhao Lu
aedff44a9a adt-installer: Fixed ppc kernel naming.
1. Fixed the ppc kernel naming.
2. Disabled opkg shared library to avoid runtime opkg-cl launching
error.
3. Adjusted the variable sequence in adt-installer.conf

Fixed bug [YOCTO #2233]

(From OE-Core rev: fdf65d9f12d67f4290b83253efdbb34e5551fbb2)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-10 13:32:01 +01:00
Robert Yang
a0ccc1fb24 meta-toolchain: runqemu falied on FC16/Opensuse12.1 x86_64
runqemu can't launch a target image on Fedora 16 64bit or Opensuse 12.1
64bit, this is because runqemu needs the host's libGL.so, which requires
GLIBC_2.14 which is defined in libc.so.6, but our default libc.so.6 is
version 2.13, here is the message from Richard:

The easiest solution would be to change the nativesdk libc to 2.15. I don't
think we plan to do this for the target libc for 1.2 but we could change
nativesdk's version if its well tested

[YOCTO #1968]

(From OE-Core rev: 5f1becfba0b801eeacb1c626659fe46cd6df25bf)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-10 13:32:00 +01:00
Robert Yang
b0550403d4 git 1.7.7: remove perl.mak before compile
The git may fail to rebuild when perl's Config.pm or config.h changes,
this is because Makefile detects that perl/perl.mak is out of date.
Remove perl.mak to let Makefile regenerate it would fix the error.
Both git and git-native have this problem.

To reproduce the error: (On x86_64 host)

$ bitbake git-native
$ touch tmp/sysroots/x86_64-linux/usr/lib/perl-native/perl/5.14.2/Config.pm
$ bitbake git-native -ccompile -f

[YOCTO #2156]

(From OE-Core rev: 7f9a3eb4e81f708573cfd5123655441d3b9532a5)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-10 13:32:00 +01:00
Darren Hart
c13afae688 grub-efi: Include GPT partition EXT FS support
Fixes [YOCTO 2257]

GPT partitions are common for EFI systems. Add support for them by
including the part_gpt partition module in the grub-efi image. In
order to allow for loading a Linux kernel from an EXT* filesystem,
include the ext2 module as well.

With this fix applied, I was able to boot from a USB key using a
GPT partition table with the following layout:

  $ sudo gdisk -l /dev/sdc
  GPT fdisk (gdisk) version 0.8.2

  Partition table scan:
    MBR: protective
    BSD: not present
    APM: not present
    GPT: present

  Found valid GPT with protective MBR; using GPT.
  Disk /dev/sdc: 7669824 sectors, 3.7 GiB
  Logical sector size: 512 bytes
  Disk identifier (GUID): 68FA7CD4-E0C3-4A8E-82B5-1331C9B17A3C
  Partition table holds up to 128 entries
  First usable sector is 34, last usable sector is 7669790
  Partitions will be aligned on 2-sector boundaries
  Total free space is 7428816 sectors (3.5 GiB)

  Number  Start (sector)    End (sector)  Size       Code  Name
     1              34           32801   16.0 MiB    0700      # FAT16
     2           32802          240974   101.6 MiB   0700      # EXT3

From within GRUB, booted as bootia32.efi from the BOOT partition, I
booted the OS with the following commands:

  grub> linux (hd0,gpt2)/vmlinuz rootwait root=/dev/sda2 console=ttyS0,115200
  grub> boot

This change will enable BSP developers to use the grub-efi image in
their own images as well as enable upcoming changes to the installer
to support EFI.

(From OE-Core rev: a2c6687410f00623efe8dfcb22385cbbc7f2e1a9)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Kishore Bodke <kishore.k.bodke@intel.com>
CC: Rahul Saxena <rahul.saxena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-10 13:32:00 +01:00
Zhai Edwin
fe0b3333a5 qemu: Fix gl failure from 64b target on 32b host
Data from 64b target is truncated by 32b host. This patch makes type of data
buf in host same as target.

[YOCTO #2221] got fixed.

(From OE-Core rev: d9f12cee3847cbf1cf9fc20cb614f8cd67d2a2ee)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>

[Bumped PR - sgw]

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-10 13:31:59 +01:00
Scott Garman
c54831fa89 shadow-native: disable logging to syslog
Disable use of syslog to prevent sysroot user and group additions
from writing entries to the host's syslog.

This fixes [YOCTO #2012]

(From OE-Core rev: e5aee0a2f5973a7aef81d0f38307a93791f616c6)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-10 13:31:59 +01:00
Joshua Lock
73e3fd88b4 mesa-common: package gl.pc in libgl-dev
gl.pc should be packaged in libgl-dev not the mesa-dev package

Fixes [YOCTO #2059]

(From OE-Core rev: d9d4fe9885e398df2062b3f2aed3fc274c656736)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-10 13:31:58 +01:00
Darren Hart
177171ccf1 create-pull-request: Assume remote branch from local branch
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>
2012-04-10 13:31:58 +01:00
Saul Wold
190f6d791d runqemu-internal: Add console=tty for qemuppc and NFS
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>
2012-04-06 01:12:47 +01:00
Paul Eggleton
07c0a12d72 self-hosted-image: use Clearlooks theme
Use a nicer theme (Clearlooks) to improve Hob's appearance in the self
hosted image and fix the progress bar not changing colour when the build
fails.

Fixes [YOCTO #2208]

(From OE-Core rev: 19a13ecceac1f48fcfe1552e88df18edd96e1bea)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-06 01:12:47 +01:00
Paul Eggleton
0f497f3dcd self-hosted-image: decrease reserved space to 0.5%
The default amount of reserved space for ext2/3 is 5% - this amounts to
about 2GB of a 40GB filesystem that the builder user can't make use of.
We don't need this much reserved so peg it back to 0.5% which should be
more than enough.

(From OE-Core rev: c62d6d119c107fc60894ba25e83c96536a1b423c)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-06 01:12:47 +01:00
Dexuan Cui
91983593f4 self-hosted-image: use the correct location of the file sudoers
(From OE-Core rev: 2abeafa7a43736d6fd8b8ecb22c6f3c840093870)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-06 01:12:47 +01:00
Lianhao Lu
a405ca246e connman: Fixed multilib support.
1. Corrected the package content of connman-test.

This is part of the bug fixing [YOCTO #2216].

(From OE-Core rev: 4df39d673156cc63b94531515d8f92ca4d0da77f)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>

Removed ofono addtion - sgw

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-06 01:12:47 +01:00
Lianhao Lu
c7283aa15f package_ipk.bbclass: fixing muttilib prefix extracting.
Fixed an error in multilib prefix extracting.

(From OE-Core rev: 0e66900cbe6438b9b3ecfef1c348a5575bd27c41)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-06 01:12:46 +01:00
Stefan Herbrechtsmeier
df21414331 u-boot: add machine name to spl image name
(From OE-Core rev: 794225ed3b6fe7878595b7452259cc9bf1973213)

Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-06 01:12:46 +01:00
Stefan Herbrechtsmeier
885485f74c linux-firmware: keep version string in libertas firmware
Recent Linux kernel tries to load the libertas firmware with the version
string in its name first. This results in a delayed firmware load on
system boot. Keep the default libertas firmware name and add a link for
older driver versions.

(From OE-Core rev: baa1323dfff35ccd5aebc036ca97925a1f1a604e)

Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-06 01:12:46 +01:00
Martin Jansa
aed4211cf2 package_ipk: don't generate Packages.filelist
* it works only with 'new' packages and with fixed opkg-utils it will unpack
  *all* packages, because filelist doesn't support 'cache' like Packages does

(From OE-Core rev: ad77d367e1526a805c383ce20f8f81ef3082c3d8)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-06 01:12:46 +01:00
Elizabeth Flanagan
c9173dab9a Hob: Modify Image Descriptions
Fixes [YOCTO #2227]

I've updated the image descriptions per the bug description.

(From OE-Core rev: 479b020edbc609c3ae1e3846e9e0d1643ac10059)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-06 01:12:46 +01:00
Andreas Oberritter
f4e27505b4 gst-plugins-base: fix build of subparse plugin
* Fixes the following configure error by prefixing
  PKG_CONFIG_SYSROOT_DIR:

| grep: /usr/include/gstreamer-0.10/gst/gstconfig.h: No such file or directory

(From OE-Core rev: 3c77f7a3bbd47d33dd7cac7ba536675357991c5f)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-06 01:12:45 +01:00
Darren Hart
d103dae12b syslinux: Avoid using linux.ext2_fs.h if possible
Fixes [YOCTO 2236]

With recent Linux kernel headers, such as 3.3 in Fedora 16, the linux/ext2_fs.h
header has been removed. This causes compile failures for syslinux-native.
Backport a fix to address this from syslinux-4.06-pre3.

(From OE-Core rev: bc875f685f38024ea96ba8570550d4e505a1e4b0)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Ross Burton <ross.burton@intel.com>
CC: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-06 01:12:45 +01:00
Andrei Gherzan
0dacda90b9 gdbm: Activate -enable-libgdbm-compat and add symlinks to headers in include/gdbm
ndbm.h is needed by python for dbm module. This is why -enable-libgdbm-compat was added
to configure.
The second change is because python is looking for the gdbm headers in include/gdbm.
The easiest way to solve this issue is to add symlinks in include/gdbm.

[YOCTO #1937]

(From OE-Core rev: e4d2ee00419f675ba8b7fb5d75256762253d8b32)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-06 01:12:45 +01:00
Robert P. J. Day
98291b5ed2 Fix typo in user manual: "incarantion" -> "incarnation"
(Bitbake rev: dd15a92a0932d3e177c0ca7b2923da1d72046e51)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-06 01:12:42 +01:00
Robert P. J. Day
cb63e37c8f scripts: Clarify "help" info for yocto-bsp and yocto-kernel
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>
2012-04-06 01:10:32 +01:00
Shane Wang
1cf4440aae Hob: a minor fix on pmake
params["pmake"] should be in the format "-j int".
When loading/saving "PARALLEL_MAKE" into templates, configuration.pmake will be
converted into "-j int", as "PACKAGE_CLASSES" and "BBLAYERS" do.

For "PACKAGE_CLASSES" and "BBLAYERS", params["pclass"] and params["layer"] are
also strings rather than the types of configuration.curr_package_format and
configuration.layers.

(Bitbake rev: d49db15badb77855cef855ee73430fcbc16b6916)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-05 18:48:08 +01:00
Shane Wang
3d9f67c2d6 Hob: a minor fix on image_fstypes
image_fstypes in the configuration has been changed into a string rather than
a list. Here we correct it in __init__() of class Configuration. At other places,
image_fstypes are all strings.

(Bitbake rev: 59dd7e91c11e0348f967578f32e13f5984c6a452)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-05 18:48:08 +01:00
Shane Wang
0d76c5b9c5 Hob: avoid the empty white space appearing on top of the gtk.ComboBox
Avoid the empty white space appearing on top of the machine selection combo
box and the image selection combo box in the "Image configuration" screen

[Yocto #2166]

(Bitbake rev: 9d30ad56803c67d2dc7ebddd7c339038438f02ba)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-05 18:48:07 +01:00
Shane Wang
5cad18b188 Hob: unify _size_to_string() and _string_to_size()
We call intsize_to_string (and string_to_intsize) in 3 different places.
We unify the implementations into one place.

(Bitbake rev: 578ce86a9ac2110f5b128aae582c6e0b3e739cec)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-05 18:48:07 +01:00
Shane Wang
b9accbb42a Hob: handle exceptions when loading templates
Handle exceptions during type conversion to integers.

(Bitbake rev: bb3a4e2d40486a347c13563d73e4df6d015a3c6c)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-05 18:48:07 +01:00
Shane Wang
36164b9a9b Hob: handle exceptions in get_parameters() from the bitbake
Handle exceptions during type conversion into integers.

(Bitbake rev: e03da8876045af545303db2b8044a17657337140)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-05 18:48:07 +01:00
Dongxiao Xu
041cc16dd9 Hob: Check "dummy" image while update_image_combo
We also need to check if the selected image is "Create your own image"
and set it as active.

Besides, to avoid the impact of set_active(), we need to move the
connect signal in the end of the update_image_combo() function.

(Bitbake rev: 54ae7ddac450b4717e5ccae3bfe9acb479449451)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-05 15:13:41 +01:00
Dongxiao Xu
cda92e27b4 Hob: Remove the recipe/task type for multilib
We will not display multilib recipes and tasks in separate tabs,
therefore remove the specific types.

(Bitbake rev: da69e665196714b0f2039c11f9f232db7b58bce3)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-05 15:13:40 +01:00
Joshua Lock
a84e353282 lib/bb/ui/hob: exit cleanly if the required pygtk version isn't available
Hob uses API from pygtk 2.22, therefore check to see whether this
version is available and exit cleanly if not.

(Bitbake rev: 192d5fdf9ea27cdc8b043204857ae5b21173a011)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-05 14:01:28 +01:00
Shane Wang
d2402f6c8e Hob: reset issue indication and build status before build starts on build details screen
(Bitbake rev: 5fed953105fd58f09e42dce233aab2c6eced7c37)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-05 14:00:27 +01:00
Shane Wang
3d594b7749 Hob: remove grab_default() for deploy button
When the deploy button is disabled since there is no deployable image,
the console will show the warning message:

WARNING: /home/yocto-build5/poky-contrib/bitbake/lib/bb/ui/crumbs/imagedetailspage.py:333:
GtkWarning: /build/buildd/gtk+2.0-2.22.0/gtk/gtkwidget.c:5684: widget not within a GtkWindow
  self.deploy_button.grab_default()

This patch is to remove the warning message.

(Bitbake rev: 51a9a5557bb798b559874a4e6dc9924380b5d9a4)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-05 14:00:27 +01:00
Shane Wang
17db3877d1 Hob: add the "info" indication icon for "information" in the dialogs.
Previously we reused the info display file which is for indication of tooltips.
But it is too small, when it is shown on the dialog as the dialog indication icon,
it becomes unclear after being stretched out. So, we replace it with a larger
icon.

(Bitbake rev: 87282847f1ba56420b0c6dbf04bea6e518962398)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-05 14:00:27 +01:00
Dongxiao Xu
c15d4a2dde Hob: fix IMAGE_INSTALL setting while save template
If save every selected package into IMAGE_INSTALL field, and then build
the saved bb file by bitbake command line, it will report errors since
some packages could not be found since they are dynamically generated.
With this commit, Hob will only save those packages into the
IMAGE_INSTALL variable which are brought in by user.

(Bitbake rev: 6c970d07422bb9a8fcf339315587cfc9b207a44e)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-05 14:00:26 +01:00
Dongxiao Xu
7b560745f2 Hob: Fix toolchain build
Originally we added -dev and -dbg postfixes to our selected packages as
toolchain packages. However, some package names are modified in recipes,
so we could not rely on its base name. The new approach is to detect if
a package is selected, then include those packages under the same recipe
endswith "-dev" and "-dbg".

This fixes [YOCTO #2185]

(Bitbake rev: f99c66071bce63780301e1639d74316503ca934c)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-05 14:00:26 +01:00
Dongxiao Xu
f414dbbaa0 Hob: Set stop button sensitive after task started
(Bitbake rev: e62a5cfbf21d22ab9f88dcd954132c1c52802360)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-05 14:00:26 +01:00
Dongxiao Xu
048aa0d472 Hob: Remove duplication for certain bitbake variables
Sometimes, certain variables have duplicated values inside, for example,
IMAGE_FSTYPES = "tar.bz2 ext3 tar.bz2 ext3"

We need to remove the redundancy for those values.

(Bitbake rev: 98849cf9201239b23bbbe9247db4d6901f0ed905)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-05 14:00:26 +01:00
Dongxiao Xu
20ea123c28 Hob: Remove some calling of initiate_new_build()
initiate_new_build() function is in async mode and could not be called
before another async function.

Also we could not initialize the build if user simply change a setting,
therefore remove this function.

(Bitbake rev: c184cefe90115623e2312ad2bbe34ea95788c129)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-05 14:00:26 +01:00
Dongxiao Xu
9cc1e86356 Hob: Update the cache when setting changed
If values in advanced is changed, we also need to reparse the cache to
get the latest value.

(Bitbake rev: 7b2f6744201511060f26cd2761e9556efec4b9a2)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-05 14:00:26 +01:00
Dongxiao Xu
c77321180b Hob: Fix MACHINE setting
Define the empty curr_mach to be "" instead of None.
Fix the judgement for ' if self.curr_mach == "" ' to be
' if self.curr_mach '.
Also set machine to bitbake server when "MACHINE" is not empty.

(Bitbake rev: 662fa1b126d5b9b3a80193205c22b2fe29305185)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-05 14:00:26 +01:00
Saul Wold
5607729d99 self-hosted-image: Increase space for build and allow builder user sudo access
We need to have about 40G to do a full sato build even with rm_work enabled
Add sudo priveleges inorder to allow the builder user to setup the tap/tun
devices needed by runqemu

(From OE-Core rev: 3e4562500956550dbae5467a5fe9289f1d32f775)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-04 17:17:55 +01:00
Mark Hatle
af74a8f627 conf/machine/include: Update SH tunings to match README
Update the experimental SH tunings to match the tunings README.

These tunings have not been tested, and are experimental!

(From OE-Core rev: 603a15bf4c838e4b6352e31f70a958d93f91138f)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-04 17:17:55 +01:00
Mark Hatle
449dae1e03 conf/machine/include: Cleanup ARM tunings to match README
Cleanup the ARM tunings to match the new tunings README file.

The ARM tunings define TUNE_PKGARCH in a way that only one main
arm architecture, i.e. armv6, may be defined at the same time.  We
may have to revise these settings in the future, as well as figure
out a way to better differentiate various optimize tunings in the
package arch.  (This was not done, to preserve existing behavior!)

Fix a number of minor issues w/ the armv5 tunings where DSP variants
were referenced but not defined.

Fix incorrect armv7 entries in armv7a.

Fix PACKAGE_EXTRA_ARCHS definitions inside of tune-cortexm3 and tune-cortexr4.

(From OE-Core rev: 0e71abea5458122188d5eddef2c17147f61ff895)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-04 17:17:55 +01:00
Mark Hatle
78e1a7c0d1 conf/machine/include: Cleanup PowerPC tunings to match README
Cleanup the PowerPC tunings to match the new tuning README file.

Default PowerPC to using TUNE_PKGARCH = ${TUNE_PKGARCH_tune-<tune>}

Fix AVAILTUNE settings in ppc603e, and ppce500mc to be addative.

Correct potentially overlapping "spe" definitions in ppce500 and ppce500v2.

(From OE-Core rev: f81f71bcff4bb1032b034b068efe6065113ca9e7)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-04 17:17:55 +01:00
Mark Hatle
d328ae22b7 conf/machine/include: Cleanup MIPS tunings to match README
Cleanup the MIPS tunings to match the new tuning README file.  Also
add a MIPS specific README file to explain the MIPS specifical
architectural issues.

Finally correct the variant configurations within the tune-mips32.inc.

(From OE-Core rev: efbfa2ace3362393a20340af93e8dcab17a8619a)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-04 17:17:54 +01:00
Mark Hatle
d6e7ebb209 conf/machine/include: Cleanup IA tunings to match README
We perform a basic cleanup of the IA32 architecture and related
tunings in order to match the rules and descriptions within the
new tuning README file.

A number of small issues were corrected in the "c3" tuning to
bring it inline with the README.

(From OE-Core rev: ab77d3401908964f3249c761969600b5ec1bfbd0)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-04 17:17:54 +01:00
Mark Hatle
62331ff46b conf/machine/include/README: Add readme to explain cpu tunings
Add a new README that covers the basic items used with various cpu
tunings.  The goal is to better help people understand the various
settings and where things should or should not be defined.

Corresponding architecture README files will also be generated to
explain the particulars of architectural tunings.

Also remove the default TUNE_PKGARCH setting in bitbake.conf.  This
was done to ensure an error occurs if an invalid tuning is defined.

(From OE-Core rev: e138f9f7e48e0af94c5c88045c4f0581cc68248d)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-04 17:17:54 +01:00
Xiaofeng Yan
c87b50ea9d archive-patched-source.bbclass: Archive patched source
This bbclass inherits archiver.bbclass to archive patched source

[YOCTO #1977]

(From OE-Core rev: 8f25bf3881ee568bbe03132d2205da5382fa7dd6)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-04 17:17:54 +01:00
Robert P. J. Day
db7f5c4e94 Remove redundant reference to "task-self-hosted" from self-hosted-image.bb
This recipe already includes "task-self-hosted" in the IMAGE_INSTALL
line:

IMAGE_INSTALL = "task-core-boot task-core-apps-console task-core-ssh-openssh task-self-hosted"

so there's no apparent need to include it again further down.

(From OE-Core rev: bbc7f24d463c11b16f000462528c18bbb86b1e88)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-04 17:17:53 +01:00
Khem Raj
ca0831d92d qt-4.7.4: Fix build with gcc 4.7
g++ 4.7 is detecting inheritence problems
which we solve by explictly specifying
elements in constructors

(From OE-Core rev: 553ac1bf0ebf2ecf4e45ace4016b50c810ef7b26)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-04 17:17:53 +01:00
Khem Raj
30b2b8fdf1 qt-mobility: Fix build with gcc 4.7
C getpid needs unistd.h for getting
its signature

(From OE-Core rev: da89bb83298eaf28faebcc8782f207927fbe190a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-04 17:17:53 +01:00
Khem Raj
6228ba6848 webkit: Fix build with gcc-4.7
Include unistd.h for all linux and not
just for android.

(From OE-Core rev: c870606c9da2fa90df2cd7c4a198e3bf5340304b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-04 17:17:52 +01:00
Xiaofeng Yan
0aaddbc32b archiver.bbclass: enhance code readability
The modification is as follow:

- Modify some codes with more preferable readability and vague description.
- Use existed functions instead of custom functions.

(From OE-Core rev: 514319c4a15156cd63a4ac3c6ee903f64c98884e)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-04 17:17:52 +01:00
Nitin A Kamble
6c73e458da eglibc packaging: locale packaging configuration
The PACKAGE_NO_GCONV var manipulations ware happening in the
eglibc-options.inc file, and the eglibc-locale recipe do not
see it. Moving that into the libc-package.bbclass which is
common to eglibc & eglibc-locale recipes.

This fixes bug: [YOCTO #2089]

This avoids this error for poky-tiny
NOTE: package eglibc-locale-2.13-r19: task do_populate_sysroot: Started
ERROR: Error executing a python function in
/opt/poky.git/meta/recipes-core/eglibc/eglibc-locale_2.13.bb:
OSError: [Errno 2] No such file or directory:
'/home/rchatre/concordia/dev/ccd-distro-work/tmp/work/core2-poky-linux/eglibc-locale-2.13-r19/package/usr/lib/gconv'

ERROR: The stack trace of python calls that resulted in this exception/failure
was:
ERROR:   File "package_do_split_gconvs", line 264, in <module>
ERROR:·
ERROR:   File "package_do_split_gconvs", line 45, in package_do_split_gconvs
ERROR:·
ERROR:   File "package.bbclass", line 30, in do_split_packages
ERROR:·
ERROR: The code that was being executed was:
ERROR:      0260:»------»-------bb.note("generation of binary locales disabled.
this may break i18n!")
ERROR:      0261:
ERROR:      0262:
ERROR:      0263:
ERROR:  *** 0264:package_do_split_gconvs(d)
ERROR:      0265:
ERROR: (file: 'package_do_split_gconvs', lineno: 264, function: <module>)
ERROR:      0041:»------»-------»-------d.setVar('RPROVIDES_%s' % pkg,
pkg.replace(bpn, 'glibc'))
ERROR:      0042:
ERROR:      0043:»------do_split_packages(d, gconv_libdir,
file_regex='^(.*)\.so$', output_pattern=bpn+'-gconv-%s', \
ERROR:      0044:»------»-------description='gconv module for character set
%s', hook=calc_gconv_deps, \
ERROR:  *** 0045:»------»-------extra_depends=bpn+'-gconv')
ERROR:      0046:
ERROR:      0047:»------def calc_charmap_deps(fn, pkg, file_regex,
output_pattern, group):
ERROR:      0048:»------»-------deps = []
ERROR:      0049:»------»-------f = open(fn, "r")
ERROR: (file: 'package_do_split_gconvs', lineno: 45, function:
package_do_split_gconvs)
ERROR: Function failed: package_do_split_gconvs
ERROR: Logfile of failure stored in:
/home/rchatre/concordia/dev/ccd-distro-work/tmp/work/core2-poky-linux/eglibc-locale-2.13-r19/temp/log.do_package.31042
NOTE: package eglibc-locale-2.13-r19: task do_package: Failed
ERROR: Task 552 (/opt/poky.git/meta/recipes-core/eglibc/eglibc-locale_2.13.bb,
do_package) failed with exit code '1'

Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-04 17:17:52 +01:00
Nitin A Kamble
834a17d6d8 gcc-cross-intermediate: fix do_install for x32
This Fixes [Ycoto #2223] bug.

The gcc osdir is obtained in the do_install by invocation of
command "gcc -print-multi-os-directory". For x32 it returns gcc
osdir for the default abi which is x86_64. Fix this by adding
target abi parameter to the gcc command line to get correct gcc
osdir with invocation of command "gcc -mx32 -print-multi-os-directory"

(From OE-Core rev: e65b6a4282d5c4882d0565b79ccba99db90161ff)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-04 17:17:52 +01:00
Andreas Oberritter
8b797c6b6e package_{deb,ipk,rpm}: apply umask to files generated in do_package_write_{deb,ipk,rpm}
* Explicitly set umask to 022. Otherwise the build system's
  umask may leak into the image.

(From OE-Core rev: d2a54427481856238bdfec9723cf575088320512)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-04 17:17:51 +01:00
Eric Bénard
9ce92e439f copyleft_compliance: also print the reason for including a package
(From OE-Core rev: 20996da46aff03e61de50444ab3a0ab46c057dfd)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-04 17:17:51 +01:00
Eric Bénard
029f3c6dec license.py: fix behaviour of copyleft_compliance
actually if a package has a license in its LICENSE variable
which is not in the whitelist nor in the blacklist and even
if an other license in this variable is in the whitelist,
the package gets excluded and is not taken in account in the
copyleft_compliance.
This patch solves this by excluding a recipe _only_ if the
LICENSE variable includes a pattern from the blacklist and
including a recipe only if it includes a variable from the
whitelist _and_ none from the blacklist.

Example in busybox which has LICENSE="GPLv2 & BSD-4-Clause",
with the actual behaviour (where he blacklist contains only
CLOSED Proprietary) we get :
DEBUG: copyleft: busybox-1.19.4 is excluded: recipe has excluded licenses: BSD-4-Clause
which is not sane because busybox is covered by a copyleft license
which is GPLv2 and should match the default whitelist which is
GPL* LGPL*.

(From OE-Core rev: 987d06447d2eacf2e01f08e29469c00fbb0ef1db)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-04 17:17:51 +01:00
Andrei Gherzan
1dc560c9d2 license.bbclass: Check if copyfile succeeded with isfile
A cleaner way to check if copyfile suceeded is to use os.path.isfile.
In this way we can omit warns in some python versions where copyfile
return the same non-0 value even is this action is successfull.

(From OE-Core rev: fa51fe19a1dc1ddc4c9ec879a782953fd6a15117)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-04 17:17:51 +01:00
Mark Hatle
fedad51cb4 binutils: Inform binutils that armv5e really is valid!
A comment in the binutils sources indicate that it should support all of the
-march= parameters that gcc supports.  The tune validations noted that
gas failed on -march=armv5e.

It is not yet clear to me if this patch belongs upstream or not.

(From OE-Core rev: 4f2503ebdb5c491b758cbdf6eb7df96d4295c24f)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-04 17:17:50 +01:00
Scott Rifenbark
cd4d346c0e documentation/yocto-project-qs/yocto-project-qs.xml: Added CentOS distro
Reported-by: David Stewart <david.c.stewart@intel.com>
(From yocto-docs rev: 4df12f3437488f6d8dbfb54dd3de25f5636162c1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-04 00:34:03 +01:00
Robert P. J. Day
4c35d05623 documentation/bsp-guide/bsp.xml: Patch to fix small issues
Applied a patch from Robert P. J. Day to fix some small issues
in the BSP manual.

(From yocto-docs rev: 7744d5101fd2b5a46a53707976b8899eb03f1c08)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-04 00:34:03 +01:00
Paul Eggleton
46600e37cf elfutils: disable lzma (and bzip2 for native)
Fix some library dependency issues:
* Disable lzma as xz-native is unstated in DEPENDS
* Disable bzip2 for native as it is in ASSUME_PROVIDED and thus isn't
  available when elfutils-native is normally built, but if it gets
  rebuilt the link will be made; plus we don't need it.

(From OE-Core rev: 1634d736c55f767fe82a46bbb7f83c32006fece9)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-03 21:32:34 +01:00
Andreas Oberritter
2c20a915c8 gdb: build with expat, add missing RRECOMMENDS_gdbserver
* Fixes communication between gdbserver and gdb-cross
  by using the same expat settings for both recipes.
* Adds missing build dependencies for expat/expat-native.
* Adds missing glibc-thread-db runtime recommendation
  to gdbserver, which was set only for gdb.

(From OE-Core rev: 38ee88e3b32b7444d7f1eb64f1b4f69a48fe0458)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-03 14:13:28 +01:00
Lianhao Lu
4fbc283c00 eglibc: SDK_GLIBC_ADDONS for eglibc-nativesdk.
Use SDK_GLIBC_ADDONS for eglibc-nativesdk so that it is not
dependant on the target eglibc's GLIBC_ADDONS settings.

(From OE-Core rev: e165203a6a7eb1fd47a20c3ede4d5a20ad49487f)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-03 14:08:02 +01:00
Scott Rifenbark
7819e67a9b documentation/dev-manual/dev-manual-common-tasks.xml: removed MULTILIB_IMAGE_INSTALL
Fixes [YOCTO #1980].

Changed MULTILIB_IMAGE_INSTALL to IMAGE_INSTALL in the multilib
example.  This variable is no longer used.

Reported-by: Matthew McClintock <msm@freescale.com>
(From yocto-docs rev: dfcbecf945b19e559b39b5824dc6b8bb37c18702)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-03 14:04:59 +01:00
Scott Rifenbark
7ebbe699cb documentation/dev-manual/dev-manual-common-tasks.xml: Edit to md5sum
Example corrected.

(From yocto-docs rev: 844ffad1e3b998d62ea7c10273785d710dc3541e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-03 14:04:59 +01:00
Scott Rifenbark
f64aae0500 documentation/dev-manual/dev-manual-common-tasks.xml: Updated makefile section
Fixes [YOCTO #1888]

Per Darren Hart I swapped in the real example and added some text
explaining what the user needs to do if their source is from a
tarball.

Reported-by: Darren Hart <darren.hart@intel.com>
(From yocto-docs rev: a1991f0b6f32a0a296ae4d115a834ed61042720b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-03 14:04:58 +01:00
Scott Rifenbark
12e5386477 documentation/bsp-guide/bsp.xml: Added some front-matter
Due to the addition of the BSP Tools section, I needed to add a bit
of front-matter to the start of the chapter indicating that we provide
information on how to create and manage a BSP Layer.

(From yocto-docs rev: 7ae34fa58aba6b17866a5379bdcdffd83491ff20)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-03 14:04:58 +01:00
Tom Zanussi
3c566581bd documentation/bsp-guide/bsp.xml: Removed Note
Remove the 'note' that says that the BSP Guide doesn't show how to
create a new BSP.  With the addition of the Yocto BSP Tools section,
that's no longer true.

Also, the wiki page mentioned is out-of-date and probably shouldn't be
pointed to any longer for that reason.

(From yocto-docs rev: 972c2d2bc9f50f5f65b296b7396dc640710ad5b2)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-03 14:04:58 +01:00
Scott Rifenbark
23e85906e0 documentation/bsp-guide/bsp.xml: Edits to the BSP Tools section
I have scrubbed the new section for the BSP Tools.  Changes reflect
re-wordings, formatting, etc.

(From yocto-docs rev: c13d5a42665d256c6da6d663611291eef9617f1f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-03 14:04:58 +01:00
Tom Zanussi
0be0e3b350 documentation/bsp-guide/bsp.xml: New section on using BSP tools.
Some documentation introducing and helping get people started with the
Yocto BSP Tools (yocto-bsp and yocto-kernel).

(From yocto-docs rev: 56a6db181f5cdf3c23daa021fe1e9ecb15843678)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-03 14:04:57 +01:00
Richard Purdie
723c91297d gettext: Fix sysroot conflict over owner of macros
gettext-minimal-native andgettext-native are trampling over each other's files. This can
be reproduced with:

bitbake gettext-minimal-native
bitbake gettext-native
bitbake gettext-native -c clean
bitbake shadow-native

which will fail since the aclocal gettext macros will have disappeared. This patch
fixes the problem by giving ownership of them to gettext-minimal-native and ensuring
there is a correct dependency on this.

(From OE-Core rev: 5bcb68a232539cf11a30e3b812b2fbd6d7d76e35)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-02 12:54:45 +01:00
Richard Purdie
5dcac2b359 gst-ffmpeg: Fix build failures from sstate relocation
This is a similar situation to:
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=3c96a5386355969428163ddb60216cc989e00b3d

Builds were failing with a failure in configure:

| checking for i586-poky-linux-gcc... ccache  i586-poky-linux-gcc  -m32   -march=i586 -L/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-world/build/build/tmp/sysroots/qemux86/usr/lib
| checking whether the C compiler works... no
| configure: error: in `/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-world/build/build/tmp/work/i586-poky-linux/gst-ffmpeg-0.10.13-r2/gst-ffmpeg-0.10.13':
| configure: error: C compiler cannot create executables
| See `config.log' for more details

config.log shows:

configure:3976: ccache  i586-poky-linux-gcc  -m32   -march=i586 -L/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-world/build/build/tmp/sysroots/qemux86/usr/lib -O2 -pipe -g -feliminate-unused-debug-types  -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed conftest.c  >&5
/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-world/build/build/tmp/sysroots/x86_64-linux/usr/bin/i586-poky-linux/../../libexec/i586-poky-linux/gcc/i586-poky-linux/4.6.4/ld: cannot find crt1.o: No such file or directory
/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-world/build/build/tmp/sysroots/x86_64-linux/usr/bin/i586-poky-linux/../../libexec/i586-poky-linux/gcc/i586-poky-linux/4.6.4/ld: cannot find crti.o: No such file or directory
/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-world/build/build/tmp/sysroots/x86_64-linux/usr/bin/i586-poky-linux/../../libexec/i586-poky-linux/gcc/i586-poky-linux/4.6.4/ld: cannot find crtbegin.o: No such file or directory
/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-world/build/build/tmp/sysroots/x86_64-linux/usr/bin/i586-poky-linux/../../libexec/i586-poky-linux/gcc/i586-poky-linux/4.6.4/ld: cannot find -lgcc
/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-world/build/build/tmp/sysroots/x86_64-linux/usr/bin/i586-poky-linux/../../libexec/i586-poky-linux/gcc/i586-poky-linux/4.6.4/ld: cannot find -lgcc_s
collect2: ld returned 1 exit status

The reason being the --sysroot option is missing from the gcc commandline and
its looking in nightly-x86, not nightly-world in this case.

There is no reason to add extra -L options to the compiler, the sysroot already
takes care of this. We can therefore simply remove this incorrect CC line.

(From OE-Core rev: 78299c87eafbea8331fa062f61095dd8de429109)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-02 12:54:44 +01:00
Khem Raj
ce69eb9341 gst-ffmpeg: Fix build with gcc 4.7
A cmp instruction with two constants is invalid, therefore 'g' constraint
is not correct but must be "rm" instead.

(From OE-Core rev: 1161c40a26146629613bd6a17b263175a492b751)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-02 04:54:17 +01:00
Khem Raj
9d526462fe apt: Fix a latent bug exposed by gcc 4.7
Further Details are in patch itself

(From OE-Core rev: 0dc952e35da00a753317a4f878b23eab8bb7bc4a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-02 04:54:17 +01:00
Darren Hart
38ba438303 tiny: Update linux-yocto-tiny to 3.2
Migrate linux-yocto-tiny from 3.0 to 3.2. The 3.0 recipe was
based entirely on recipe-space fragments and was only a proof of concept.
The 3.2 linux-yocto meta-data now has a proper tiny KTYPE defined.

By default this recipe supports only the qemux86 machine, which builds the
common-pc support (including networking, sound, USB, VGA and serial consoles,
etc.). New machines can be added and will use the tiny KTYPE, but will need to
add any desired hardware support as the base config is very minimal.

No filesystems are supported by default, only the initramfs.

(From OE-Core rev: 44c556f5300b1d811a1ae71f501320d1a6b0fb2e)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-02 04:35:35 +01:00
Bruce Ashfield
126c5c0c57 linux-yocto: update tiny meta and configuration for kernel 3.2
Updating the META SRCREV to pickup these commits:

  59f350e meta: Add common-pc-tiny.scc
  0996ca9 tiny: Minimize the tiny config
  d6b57bb meta: common-pc add dependencies to cfg

Which update the configuration for the tiny profile of the kernel
for the 3.2 release.

cc: Darren Hart <dvhart@linux.intel.com>
(From OE-Core rev: df3b8f716cc9203251cd4d4b5e673d7ecab5111b)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-02 04:33:27 +01:00
Dexuan Cui
2cf38f0d76 self-hosted-image: fix indentation: 8 spaces --> Tab
(From OE-Core rev: 80e1cf4deb2a875449876f947a7a8ba29d6def5b)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-02 04:31:49 +01:00
Dexuan Cui
ac10ef7cfc builder: uncomment the settings for BB_NUMBER_THREADS and PARALLEL_MAKE
We use sed to enable the 2 settingis in conf/local.conf.

(From OE-Core rev: eb985d333eb0f13e142da43b4b2b9ec5ad40ff30)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-02 04:31:48 +01:00
Dexuan Cui
5b9b6a4541 self-hosted-image: renew the poky src's SRCREV that's installed into the target
(From OE-Core rev: 826918b634deaa2b7201f3068d6f1410c5641d63)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-02 04:31:48 +01:00
Dexuan Cui
cf6b3fb482 self-hosted-image: improve do_populate_poky_src
1) remove the assumption ${DL_DIR} ends with downloads/.
Thanks Paul Eggleton for pointing this out.

2) remove downloads/git2_* tarballs to speed up the rootfs creation.
This is ok since we still have the git2/.
Thanks Richard Purdie for suggesting this.

(From OE-Core rev: 58ba59f034941bf167e70ae6c08117e5184a20ec)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-02 04:31:48 +01:00
Dexuan Cui
79c806cb40 genext2fs: support large files and filesystems without using large amounts of memory
update_to_1.95.patch was generated by making a diff bewteen the 1.4.1 release
and the latest 1.9.5 version in the cvs repo:
http://genext2fs.cvs.sourceforge.net/viewvc/genext2fs/genext2fs/genext2fs.c?revision=1.95

The patches 0001-0019 come from mailing list of genext2fs-devel
http://sourceforge.net/mailarchive/forum.php?forum_name=genext2fs-devel&max_rows=100&style=flat&viewmonth=201106

(From OE-Core rev: 8f17e499cf91191727c8767e839738cb39c21655)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-02 04:31:48 +01:00
Zhai Edwin
84b7541abc qemugl: Fix GL apps failure on Ubuntu 11 host with nVidia GLX driver
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>
2012-04-02 04:31:47 +01:00
Koen Kooi
2592a11bde buildhistory: make seperate commits for every changed top level entry in the buildhistory dir
This seperates out image changes from package changes making the image diffs a lot easier to read.

(From OE-Core rev: fba198ac7efe476a25c5761878ef2fcee97bf9f1)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-02 04:31:47 +01:00
Koen Kooi
bcd3db5b02 buildhistory: record all builds
When nothing has changed an empty commit prefixed with "No changes" will get generated so that the commit log of the buildhistory repo provides a complete log of all builds performed, not just those that resulted in changes.

(From OE-Core rev: 2e40558cc33c5c566a9a742c32eda3ea017f8607)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-02 04:31:47 +01:00
Koen Kooi
7e7600f0ff buildhistory: remove duplicate entries from dot graph
There are various conditions that lead to duplicate entries in the dot graph which need to get fixed, but this patch is a catchall. A previous attempt to address this only works on rpm which gives a \n seperated output, opkg doesn't.

Another benefit is that the sort order is now know, leading to less spurious diffs in buildhistory commits.

(From OE-Core rev: 479ae1e9b74aa2f04fb5da2f3541c3de0aa9de87)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-02 04:31:47 +01:00
Darren Hart
869dfaee18 linux-yocto-tiny: Prefer 3.2
With the move to 3.2 from 3.0 in oe-core, the 3.0 no longer exists.
Prefer 3.2 instead.

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-02 04:31:35 +01:00
Paul Eggleton
6a11c78757 README.hardware: extend USB-ZIP instructions
* Note that on some machines booting just stops after the SYSLINUX
  version banner is displayed
* Add an instruction to show how to get the geometry information for
  the disk
* Specify the number of cylinders when running mkdiskimage as it is
  sometimes unable to detect it automatically
* Create the temporary mountpoints before attempting to use them
* Add an instruction to unmount the disk before removing it

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-01 12:52:03 +01:00
Bob Cochran
501f0da47f README.hardware for mpc8315erdb incorrectly specified a null modem serial cable
I noticed this while beta testing 1.2. but patch is against master
(latest commit: bcd4d14425).

Instructions specified a null modem.  This isn't the case.  A straight
serial cable is required.  I verified it with my own setup and
Freescale's user manual.

Signed-off-by: Robert Cochran<yocto@mindchasers.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-01 12:44:45 +01:00
Nitin A Kamble
8691a58826 cross-canadian.bbclass: fix rpath for sdk executables
This makes the libraries located in places like this findable:
/usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/lib

Which avoids linking cross canadian sdk executables with host libraries like this:

$ ldd /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/bin/x86_64-oe-linux/x86_64-oe-linux-gdb
        linux-vdso.so.1 =>  (0x00007fffb7fff000)
        libreadline.so.6 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/lib/x86_64-oe-linux/../libreadline.so.6 (0x00007fbfb5511000)
        libdl.so.2 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libdl.so.2 (0x00007fbfb530c000)
        libncurses.so.5 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libncurses.so.5 (0x00007fbfb50e9000)
        libtinfo.so.5 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libtinfo.so.5 (0x00007fbfb4ec2000)
        libz.so.1 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/lib/x86_64-oe-linux/../libz.so.1 (0x00007fbfb4cac000)
        libm.so.6 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libm.so.6 (0x00007fbfb4a2a000)
        libpthread.so.0 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libpthread.so.0 (0x00007fbfb480d000)
        libutil.so.1 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libutil.so.1 (0x00007fbfb4609000)
        libexpat.so.1 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/usr/lib/x86_64-oe-linux/../libexpat.so.1 (0x00007fbfb43e0000)
        libc.so.6 => /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/libc.so.6 (0x00007fbfb4059000)
        /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x0000003f05000000)

[RP: Whitespace tweaks]
(From OE-Core rev: c97f7f4e4ecd6c431712059c34ebc17b68b055ae)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-31 18:00:59 +01:00
Denys Dmytriyenko
e008fc154f tune-cortexa8/9: fix PACKAGE tunes being all armv7at even for non-Thumb ones
All PACKAGE_EXTRA_ARCHS for cortexa8, cortexa8t and cortexa8-neon have typo in
referencing tune-armv7at even for non-Thumb modes. Probably a copy/paste error.
That's not the case for recently-added hard-fp tunes.

Same for cortexa9.

(From OE-Core rev: 4e91c00bb3a171bebdb716451b901f5f099a04bc)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-31 17:59:10 +01:00
Paul Eggleton
1482da4f3a scripts/bitbake: add/fix some comments
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>
2012-03-31 17:59:10 +01:00
Paul Eggleton
43d819c890 scripts/bitbake: allow switching between build directories
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>
2012-03-31 17:59:09 +01:00
Paul Eggleton
299f890f6d scripts/bitbake: try harder to check if pseudo exists
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>
2012-03-31 17:59:09 +01:00
Nitin A Kamble
6302003eb4 nasm: fix issue with repeat configure
This Fixes bug: [YOCTO #2176]

This fixes the following issue as mentioned in the bug:
If nasm-native has to be rebuilt (due to a signature change) it will fail:

| checking for a BSD-compatible install... /usr/bin/install -c
| /media/large/tmp/work/x86_64-linux/nasm-native-2.07-r1/nasm-2.07/configure:
line 4261: syntax error near unexpected token `-W'
| /media/large/tmp/work/x86_64-linux/nasm-native-2.07-r1/nasm-2.07/configure:
line 4261: `PA_ADD_CFLAGS(-W)'
| ERROR: oe_runconf failed
NOTE: package nasm-native-2.07-r1: task do_configure: Failed

The failure appears to be caused by do_patch_fixaclocal being run a second time

(From OE-Core rev: 2d26b1a4f83a635f96072589289a389675abb305)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-31 17:59:09 +01:00
Lianhao Lu
15e797ccdb pkgconfig.bbclass: corrected dependency for -nativesdk.
For -nativesdk, the dependency should be pkgconfig-nativesdk instead of
pkgconfig.

(From OE-Core rev: 36c0d1fdc71f9c63699049911aeddb07a746ca4a)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-31 17:59:09 +01:00
Lianhao Lu
6333c5fb7f autotools.bbclass: Drop -nativesdk dependency to lib-cross.
-nativesdk recipes should not have dependency to lib-cross, which is
never used. This unnecessary dependency would result different task hash
values in sstate for different MACHINE settings.

(From OE-Core rev: 313deb802c5411c6c88655057f05a7d8823d999c)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-31 17:59:08 +01:00
Lianhao Lu
3180dd2b14 crosssdk.bbclass: Set TUNE_PKGARCH to SDK_PKGARCH.
The TUNE_PKGARCH of crosssdk should be set to SDK_ARCH, not the one
from target machine's configuration.

Fixed bug [YOCTO #2206]

(From OE-Core rev: e809b6657c53616a82e73d2f20ec23bc50ccebc9)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-31 17:59:08 +01:00
Lianhao Lu
404cced0c2 nativesdk.bbclass: Set PACKAGE_ARCHS to SDK_PACKAGE_ARCHS.
This patch fixed the issue of reading incorrect pkgdata files. Previous
appending '-nativesdk' suffix to PACKAGE_ARCHS would result the
i686-nativesdk recipes reading in x86_64-nativesdk pkgdata files if the
MACHINE is set to qemux86-64.

Fixed bug [YOCTO #2203].

(From OE-Core rev: 951a68731f655f597c5dfa541fc913d399eabfb9)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-31 17:59:08 +01:00
Richard Purdie
d55db7b058 bitbake/cooker.py: Bring into sync with upstream bitbake (trivial difference)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-31 08:07:49 +01:00
Scott Rifenbark
06fc2d2ec8 documentation/dev-manual/dev-manual-common-tasks.xml: Title change
Changed title pre Richard.

Reported-by: Richard Purdie <richard.purdie@intel.com>
(From yocto-docs rev: 2ec1368c4bdf5d61e3a7d60d3293ba878939321d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-30 17:20:51 +01:00
Scott Rifenbark
60d48922fa documentation/dev-manual/dev-manual-common-tasks.xml: edits to BBMASK
Some edits to the text of this moved section.

(From yocto-docs rev: 69ba05bbdc8a6fb74efdfbb3214a562e564f5a68)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-30 17:20:51 +01:00
Scott Rifenbark
fdf7db7606 documentation/dev-manual/dev-manual-common-tasks.xml: moved BBMASK
Per Richard Purdie's suggestion, I moved the discussion on using
BBMASK out from the "Customizing Images" section and placed it into
a section of its own titled "Excluding Packages from the Build."

(From yocto-docs rev: edb01b30779117f92e710b8afefa9a5d8a3e78fa)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-30 17:20:51 +01:00
Scott Rifenbark
d19c8c8315 documentation/dev-manual/dev-manual-common-tasks.xml: moved section
Placed the "Customizing Images" section in front of the
"Adding a Package" section.

Reported-by: Rudolf Streif <rstreif@linuxfoundation.org>
(From yocto-docs rev: 68a7ef421b9b66cc7f0a2180c1ef17c8c4ec2ed4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-30 17:20:51 +01:00
Steffen Sledz
3eb0125bde docbook-utils-native: fix syntax problem in jw.in
Fix runtime error occurred e.g. with docbook-to-man calls:

  grep: character class syntax is [[:space:]], not [:space:]
  grep: character class syntax is [[:space:]], not [:space:]
  jw: There is no frontend called "/docbook/utils-0.6.14/frontends/docbook".

See also:

   <https://qa.mandriva.com/show_bug.cgi?id=61127>

(From OE-Core rev: 627998726ca3ee2ed2510c0f666747f688d06c56)

Signed-off-by: Steffen Sledz <sledz@dresearch-fe.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-30 17:20:24 +01:00
Zhai Edwin
5cdb58f683 virtual/libgl: use mesa-xlib for qemuarm/qemumips/qemuppc
Still need mesa-xlib for emulation of GLX interface on qemuarm/mips/ppc, where
mesa-dri doesn't work for pure qemu emulator.

[YOCTO #2066] fixed.

(From OE-Core rev: 22775b5f1d9c6d9860a579245bf7a48a982ab62f)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-30 17:20:24 +01:00
Lianhao Lu
899aa3f216 adt-installer: Adapted environment file name for powerpc.
Adpated to the new environment file name for powerpc, due to the oe-core
commit c2d96179.

Fixed bug [YOCTO #2055].

(From OE-Core rev: bebcac5e6eaceb7bdafa6432e42fe8073a42c6d2)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-30 17:20:24 +01:00
Martin Jansa
caf3f82098 arch-armv7a.inc: fix PACKAGE_EXTRA_ARCHS after armv7.inc was removed
(From OE-Core rev: d1ffae623ea9a6be3d2cb9067f64f33cc1fd1e8a)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-30 17:20:23 +01:00
Richard Purdie
9cb1f86301 gdk-pixbuf: Fix checksum warning issue
(From OE-Core rev: 6a7ea3cf81f3600fec01bdd4af96ed149398a1a1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-30 17:20:23 +01:00
Robert Yang
24f5fe8210 sstate-cache-management.sh: fixes and enhancement
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>
2012-03-30 17:20:23 +01:00
Martin Jansa
debd5d5bb1 rootfs_ipk: don't echo opkg-cl output to log.do_rootfs
* log_check can find some files with ERR or Fail substring e.g. in "Source: " field

(From OE-Core rev: 76c83f107d4a4688a879e30821ab70812052bbdc)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-30 17:20:23 +01:00
Liming An
525275dcfd Hob: In building log page, fixed the issue about 'endpath' not clear when next to start build
Fixed the issue about the building log scrollbar can not auto scroll to page end sometimes

[YOCTO #2098]

(Bitbake rev: 035e146ff92236a3eda71ad71e8389737f91753b)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-30 17:20:21 +01:00
Shane Wang
984c23f7d7 runqueue: wait and deal with those <defunct> sub-processes as soon as they are os.killed() when "Force stop"
When "Force stop" is performed during the build stage, after os.kill() kills the build sub-processes, there are many <defunct> python processes in the system. In Hob, when the user initiates a new build, os.waitpid() in runqueue_process_waitpid() will be called, and the pids of those <defunct> processes will be returned as result[0], then self.build_pids[result[0]] will throw KeyError exception because now for the new build self.build_pids is empty.

This patch is to address the above issue to collect the results and handle the sub-processes as soon as they are killed.

[Yocto #2186]

(Bitbake rev: e9f4ca467e795bbc520d12b0e7a5985b6ff0a20e)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-30 17:20:21 +01:00
Joshua Lock
35acc9edc8 lib/bb/ui/crumbs/hoblistmodel: fix sorting of RecipeListModel
Sort in ascending order on the recipe name (A-Z) and unset the default sort
function so that there's no third (unsorted) state.

(Bitbake rev: c6ab6c7caf16c04e2a0c0f2aefd3377f781206c7)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-30 17:20:20 +01:00
Joshua Lock
b9b0ff98a2 lib/bb/ui/crumbs/hobpages: change title from HOB to Hob
(Bitbake rev: 2ecbd68abbf564be15707f330f80e811d92ef87d)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-30 17:20:20 +01:00
Joshua Lock
8c5536543f Hob: tweak font sizes and layout
Switch to proportional font sizes and tweak padding and layout based on
feedback from design team.

(Bitbake rev: 356f190bb3f0ee9a15df900714edcb85593d6989)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-30 17:20:20 +01:00
Noor Ahsan
bcd4d14425 libc-packgae.bbclass: Add i686 support in locale_arch_options
* While building for i686 architecture an error was coming that
locale_arch_options does not have support for i686. Add missing support.
* Verified on intel architecture.

(From OE-Core rev: c8afc79b5d3205355ad61d2589221bf8babe8395)

Signed-off-by: Noor Ahsan <noor_ahsan@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 22:57:30 +01:00
Denys Dmytriyenko
1fd8c6fe08 bc: use update-alternatives to make dc play nice with busybox
busybox' default configuration enables dc app, which bc also provides,
setup update-alternatives to resolve the conflict.

(From OE-Core rev: f8456e7a0fd8559497db8292c87fee4fd95eb9c6)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 22:57:30 +01:00
Gary Thomas
dd4d49b20f gstreamer: Provide easy way to enable runtime debugging
The gstreamer framework has a very useful debugging setup which is
essential for debugging pipelines and plugins.  This patch makes
it simple to enable this (disabled by default).  To enable debugging,
just add this line to local.conf
  GSTREAMER_DEBUG = "--enable-debug"

(From OE-Core rev: 947c00c78732da48a111228e1325ad42cf57a370)

Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 22:57:30 +01:00
Scott Garman
3af7e95d69 runqemu: set console=ttyS0 when running with nographic option
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>
2012-03-29 22:57:29 +01:00
Tom Rini
db4c830328 qemu.inc: Use '+=' for IMAGE_FSTYPES
As per
http://lists.linuxtogo.org/pipermail/openembedded-core/2012-March/020053.html
a machine conf file should use '+=' to set IMAGE_FSTYPES.

(From OE-Core rev: b04f6504fe049e3e9dd3998377d1fc2d1ef9a13b)

Signed-off-by: Tom Rini <trini@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 22:57:29 +01:00
Richard Purdie
64d9976cdc knotty: Add back getTasks() call to ensure we don't repeat messges
(Bitbake rev: 8fed4fdf4bbbc9ef036ff96755c0bfe15c3a9dd0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:38:37 +01:00
Liming An
b5dad0e563 Hob: in build details page, change error icon to denied icon
For make icongraphy consistently to change the original gtk-icon to hob-icon

[YOCTO #2108]

(Bitbake rev: 8c3401bc11c6f3708b8ee9c0175f389399fdff5a)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:25:55 +01:00
Liming An
2e6ea8565a Hob: fixed the 'error' icon source picture and adjusted corresponding showed icon size
The error source picture is not right, so fixed it and adjusted its size.

[YOCTO #2097]

(Bitbake rev: ce680f10037b42831179a4598a69fb39688fb238)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:25:55 +01:00
Shane Wang
f717cd64cd Hob: some color style changes to make HobTabBar more close to visual design
The change includes:
 - remove the colors which are not used
 - change the background of indicators to deep red
 - change the color style of the texts on HobTabBar, i.e., the tab text and the indicator background are gray when the tab is the current tab; the tab text is white and the indicator background is deep red when the tab is not the current tab.

(Bitbake rev: 95acecbf50cee906dca4abd5ce758701e5761668)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:25:55 +01:00
Shane Wang
ad8fe62cee Hob: make ORANGE to be the same as the color on the dialog
(Bitbake rev: a50d884ebe1af2b9b2a5a54289181bccb751ddab)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:25:55 +01:00
Shane Wang
59ca1af3a1 Hob: Change "Just bake" to "Build image" as required
[Yocto #2160]

(Bitbake rev: 4ed5b8b862027755d5e9e480fd8a1d0250f7a3b7)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:25:54 +01:00
Shane Wang
407c93d3e8 Hob: Change icon to error because parsing error is an error
(Bitbake rev: 66fcc8cdf8fb3365cd4a056b94fe3aa3e1aedc86)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:25:54 +01:00
Shane Wang
1ea547c154 Hob: clear the building state after a successful build, as a failed build does
(Bitbake rev: afd51c524006e8e6db1542cc2ebc5decab3faa1b)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:25:54 +01:00
Dongxiao Xu
00e262e490 Hob: Replace "local.conf" in error message
(Bitbake rev: c8dac1eefab79b12243468986c37f391c3421134)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:25:54 +01:00
Dongxiao Xu
1c3ff8623f Hob: Fix the setting hash calculation
Sometimes even setting are not changed, the hash values differs due to
variable order issue. This commit fixes the issue.

(Bitbake rev: 1fe0996f89952af72cbdc46ca7c6495868d27a56)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:25:54 +01:00
Dongxiao Xu
f5fd769f5a Hob: Change the format to store image_fstype variable
Use string format to store image_fstype instead of a list.

(Bitbake rev: c91fe7f9d21939fd437dbd79a923499f90fc95c6)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:25:54 +01:00
Dongxiao Xu
a8c0323034 Hob: Remember user settings when reparse config
When config reparse is issued (e.x, adding a layer), we will firstly
remember the past user settings by setting them to bitbake server,
and then do the reparse.

(Bitbake rev: 8a1f6953a082d8002585bfd9e8a67d2a7f69d6aa)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:25:53 +01:00
Dongxiao Xu
e24f10e275 Hob: Update configuration after parsing
We need to update the parameters stored in Hob side after
configuration is parsed.

(Bitbake rev: 9560e4ccef497e878f2cb8624136ab8f193c061a)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:25:53 +01:00
Dongxiao Xu
d30b75fecf Hob: Inherit image_types.bbclass in set_user_config()
(Bitbake rev: f34cb901bd9b3598f4da528cc54f6faa57c9d389)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:25:53 +01:00
Dongxiao Xu
72bc345f85 Hob: Improve for init a new build
After a successful build, user can initiate a new build by clicking
"Build a new image" button. The previous solution is simply switch to
the first screen and unset MACHINE. This commit will try to re-init
everything for the new build.

(Bitbake rev: df63e15c41d129fe0cff6b8ab3c97434c4809c83)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:25:53 +01:00
Dongxiao Xu
1da504536a command.py: Move triggerEvent to command async class
The parameters in triggerEvent function is an event object, and it may
cost some time to pass this object through pipe, causing the pipe's
poll() function timeout. Change it to async mode.

(Bitbake rev: 3b5909ebc86a12dedfb30e5446aa81eb58921760)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:25:53 +01:00
Dongxiao Xu
f73ea0e40d Hob: Improve the matching for runnable machine type
(Bitbake rev: 1b14488bcfb345a3258b15ebfdaa2e1235a5fe87)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:25:52 +01:00
Dongxiao Xu
abcb2e0916 Hob: Define a variable to store the image name and toolchain
(Bitbake rev: d0b64d901b33c9e5247dbb2b05c89a1d65abbf8b)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:25:52 +01:00
Dongxiao Xu
345a2dd01c Hob: Fix adding duplicated meta-hob layer
While adding meta-hob layer, we need to detect whether it already
exists in current layers.

(Bitbake rev: b195823d19bcb71bd5eef19acfe22b2dd670d90a)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:25:52 +01:00
Dongxiao Xu
8b26fdcb3a Hob: Remove un-used signal and functions
(Bitbake rev: 9c632467eddc267ed54b78a40d5b1413287e3032)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:25:52 +01:00
Joshua Lock
71c1de347e lib/bb/ui/crumbs/hig: fix layers_changed test
Because we sort the treeview to list specific layers at the top, and
therefore implicitly change the sorting of the underlying model, we can't
be certain that the original layer list will equal the new layer list
despite the included layers being the same.

To ensure we can do a simple equality test to determine whether the layers
have been modified first sort the lists to ensure we're comparing based on
contents alone.

(Bitbake rev: ae86cd8b4ef1e43b79230326ccba69e2900d074f)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:12:57 +01:00
Joshua Lock
57434b40b8 lib/bb/ui/crumbs: hob progress bar should not be red when user stops build
If the user explicitly stops the build telling them the build failed is a
misnomer.

(Bitbake rev: 722f4f0e31f9debf5ad20a91da759a8c25151567)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:12:57 +01:00
Joshua Lock
7463dd803a lib/bb/ui/crumbs/builder: allow user to cancel Layer selection dialogue
Because layer changes may take some time allow the user to cancel out of
the dialogue and prevent Hob from applying any of the changes made.

(Bitbake rev: a2d1c035a5dd3d112a887e4386dfaf9b0c37c104)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:12:57 +01:00
Joshua Lock
c489990f82 lib/bb/ui/crumbs/hobwidget: change text sizes in HobImageButton
(Bitbake rev: 4301cc1e859a68d93eba3122be099bfaa90fbdfb)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:12:57 +01:00
Joshua Lock
25e9e16a39 lib/bb/ui/crumbs/imageconfigurationpage: add extra space between widgets
Add space between the target machine combo and the 'Layers' button.

(Bitbake rev: bdd50d92e90f96bf7ff433bb539cdde4b0d21cdb)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:12:57 +01:00
Joshua Lock
366bf755ac lib/bb/ui/crumbs/hobwidget: add padding to HobImageButton
Add more padding between the icon and the text

(Bitbake rev: a81f6a33cf1fa9fe869ac617f2d14d66e07009ff)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:12:57 +01:00
Shane Wang
19a5489f4c Hob: change some words in settings dialog to make them consistent
(Bitbake rev: 1def8d4d8e725bd9fc4330179557604dda27b917)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:12:56 +01:00
Shane Wang
96be713241 Hob: change some words on recipes screen and package screen to make them consistent
(Bitbake rev: 63bfa397059823bea6fa453703cf0653fc123f0b)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:12:56 +01:00
Shane Wang
3ac86ce2ea Hob: change some words on image configuration screen to make them consistent
(Bitbake rev: 6d5bcf80afbd081d41572985b724c615bd3a16b6)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:12:56 +01:00
Shane Wang
2aa1468054 Hob: change some words for build configurations on build details screen
This patch is to change some words of variables to make them consistent with the GUI.

(Bitbake rev: 4af7ab24ff3b170dfa74159c057e7110a615a8d3)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:12:56 +01:00
Shane Wang
ff43873706 Hob: add Templates and Settings on image details screen
This patch is to add Templates and Settings tool buttons on the image
details screen, which makes things easier and simplier.

In order to fulfill that, the code splits the functions
show_load_template_dialog() and show_adv_settings_dialog() in builder.py
because they will possibly be called from different screens later.

[Yocto #2163]

(Bitbake rev: 29bea7b7076a7b74d36237da86a4eff6605d17ec)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:12:56 +01:00
Shane Wang
3038c0c65d Hob: Set one of deployable images or runnable images as the default toggled item
With this patch, even though there are a lot of images built out, a default image
which is either deployable or runnable is toggled by default. So, for users, one
more action to select an image before running qemu or deploying is not needed any more.

Note: If there are more than one runnable or deployable images (such as ext2, ext3,
jffs2 and btrfs), only the first image is toggled by default for run-qemu or
deployment. If the user wants to run or deploy others, he/she needs to toggle them
manually.

[Yocto #2155]

(Bitbake rev: 4568dfbd5e693cce0e6e947f323eaf08a3176744)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 21:12:55 +01:00
Richard Purdie
eeb0529e13 ui/knotty: Add a footer to the build output for interactive terminals as knotty2 UI
On terminals which support it, add summary information to the end of the
build output about the number of tasks currently running and how many tasks
we've run so far.

This provides a summary at a glace of what the current state of the build is
and what the build is currently doing which is lacking in the current UI.

Also disable echo of characters on stdin since this corrupts the disable,
particularly Crtl+C.

The "waiting for X tasks" code can be merged into this code too since
that is only useful on interactive terminals and this improves the
readability of that output too.

Improvements since v0:

* The tasks are ordered in execution order.
* The display is only updated when the list of tasks changes or there
  is output above the footer.
* Running task x oy y and package messages are supressed from the console

This UI can be accessed with "bitbake -u knotty2".

(From Poky rev: e38b4569648f2916c4370871c79e6a6090eb8bc1)

(Bitbake rev: 156189c799d2bb1f69bdaa04b5cd718fe7881425)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 19:44:01 +01:00
Richard Purdie
5b84c902eb uihelper: Keep track of pids in execution order
(Bitbake rev: cec2f3eaa45a6fd8d3c53c09aaf010ac6101e7ba)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 19:43:04 +01:00
Eric Bénard
3774cf0fdc license.bbclass: remove existing license.manifest before appending new data
without this fix, we append license each time we build again the same image,
ending with a large not up to date file.

(From OE-Core rev: 2d49a8f659694b60cdb706e8993cd9550e2002bd)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 16:50:06 +01:00
Richard Purdie
331f7fa3f2 ghostscript: Fix remaining CP_ prallel make races
(From OE-Core rev: 8fe53bdc807184bc41469d8587368b31192e6252)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 09:44:46 +01:00
Christopher Larson
4d16bc3c5e bb.build: use relative log links, not absolute
Using symlinks to absolute paths isn't gaining us anything, and can cause
problems in situations such as automated build systems when they try to
resolve the link, depending on the mechanism used to pull the build artifacts
(e.g. nfs).

(Bitbake rev: f9cf2671c0ecad153db11bca1aebe151213bfb42)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-29 09:44:45 +01:00
Richard Purdie
4d9f4d6ac2 rpm: Ensure we depend on file
rpm links to libmagic from file so it needs to be listed in DEPENDS else we
can have race conditions causing build failures such as those seen on the
autobuilder recently.

(From OE-Core rev: 432e36300d7231c9b01cd2c6c4b39b84cf4fddca)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 18:40:40 +01:00
Khem Raj
016cf3fc0b eglibc-2.15: Update SRCREV
Get new patches and remove the one that got merged upstream

(From OE-Core rev: 0e1a843a1f0c54f00736170de39a8a8f62d26879)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 17:04:51 +01:00
Scott Rifenbark
241140d0eb documentation: Added TBD entry to 1.2 manual history table.
There needed to be an entry in all the manual history tables
that indicated this version of the manual is for 1.2 but is
WIP.

Reported-by: Rudolf Streif <rudolf.streif@linux.com>
(From yocto-docs rev: 6792b88af4f0171cfc84e4d77bda871d4af3d36c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 16:53:34 +01:00
Richard Purdie
fef7a66d9b clutter: clutter_git is really clutter-1.8_git, rename
Both these clutter recipes provide 1.8. With different PN namespace, a world
build cna build both causing the clutter libraries to "disappear" at certain
points of the build. In particular, this causes issues for mx.

This patch puts then into the same PN namespace so only one can be built.

[YOCTO #2158]

(From OE-Core rev: d5a7a9090b57793be1de63dca86fe40437628e9d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 16:53:09 +01:00
Richard Purdie
eeab5b223d tiff: Make builds deterministic
libtiff now depends on lzma which can be obtained from xz and doesn't use lzo.
Previously, libtiff would detect and use lzma if it was present leading to
a number of race conditions including failures in things linking to libtiff
such as ghostscript since lzma could be removed while being rebuild leading
to failures in linking.

This patch corrects the dependency.

(From OE-Core rev: b6369ed4ea03fb5410f94c1ee646d488bf981987)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 16:53:08 +01:00
Richard Purdie
7fcb7c46b6 gcc-cross-intermediate: Ensure we move the libraries from the correct location
This fixes multilib issues if you try for example to use a BASELIB of /lib32
which wouldn't work without this change since the compiler install location
is taken from gcc -print-multi-os-directory which can still turn out to be
"/lib".

The reason is that a 32 bit gcc has no multilib code enabled and will always
return "." as that value rather than "../${base_libdir}" which our changes
to gcc enable and return in 64 bit mode.

(From OE-Core rev: cc953e2259bf77e9e1f7a1e3d0dbe1509c79477e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 16:53:08 +01:00
Richard Purdie
c39e0dbf3b ghostscript: Fixes for parallel_make
(From OE-Core rev: e3408adc6912629f268795a1d3adb9df7134979b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 16:53:08 +01:00
Shane Wang
8b0bc593b3 Hob: allow users to setup the proxies
This patch is to read the proxy variables such as all_proxy, http_proxy, https_proxy, ftp_proxy, GIT_PROXY_HOST, GIT_PROXY_PORT, CVS_PROXY_HOST, and CVS_PROXY_PORT from the bitbake server, show them on the Settings dialog for users to change and set proxies for the build.

(From Poky rev: bbef66e4005def54d70d3720ec131fa7edc22e2a)

(Bitbake rev: 66c63167cd139706100bfa35eb4ca66c98407615)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 16:49:19 +01:00
Liming An
7990d36f50 Hob: fixed some not compatible places for make runningbuild.py can be reused by another application
The runningbuild.py has been shared by different applications, not only hob, so fixed the some not compatibled codes

(From Poky rev: 99fa7388500fa97fe4629456daa50bb5637e51e6)

(Bitbake rev: 23c13560fa76442c798058700863bd91491ca826)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 16:49:19 +01:00
Liming An
26cce34e4d Hob: change the implementation way about get config info for building log
Make the building log config information to get from the bitbake parameters directly, and then cancel the old way of filting the building log on running

[YOCTO #2144]

(From Poky rev: b52025a0fe2ca65e4d8549b1b90f5813b0c2e39f)

(Bitbake rev: 983f8848da0be02dadb1bb6530ff736325d014ba)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 16:49:18 +01:00
Liming An
044376692d Hob: use hob icon checker to check the gtk icon for make the icon constaintly
Because we have hob icon, so need to make some gtk icon to transfer to hob icon. so use hob icon checker to fixed the gtk icon

[YOCTO #2108]

(From Poky rev: d1d84e5529e0d0752fdcd8d3458ed7595d373115)

(Bitbake rev: 65bbc07a3557ac760c6b900880ea6ae2937afde3)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 16:49:18 +01:00
Liming An
278fcca539 Hob: change the recipe pasing error dialog icon from 'dialog-info' to 'dialog-error'
[YOCTO #2109]

(From Poky rev: 1fbd6eefc68ec38875968b8513739b732da412b8)

(Bitbake rev: 840a566ce4c18a1c63ee82257de06c3ed910fe88)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 16:49:18 +01:00
Liming An
b99680f349 Hob: fixed visually differentiate warnings and errors icon in building log
fixed the bug of 'error' and 'warning' icon is not constaintly with hob ui design

[YOCTO #2097]

(From Poky rev: 5b4f379b5341222e2678043f078b3d33c0556a86)

(Bitbake rev: 3807a95cd48a01486b3ecd5360a59ddfc3a3b6d6)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 16:49:18 +01:00
Liming An
673a8f44c5 Hob: add refresh icon as ui request in building log
add a refresh icon to indicator the running task, for avoid add more heavy to bitbake building process, increased the timer interval counter, and decreased the refresh icon render size.

(From Poky rev: cf76d2cef0905a442e61769560173b2e6a58fb62)

(Bitbake rev: d5923a484f80bc1577f78035152c2d0728e4a1f3)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 16:49:18 +01:00
Joshua Lock
ceee95efb1 lib/bb/ui/crumbs/imagedetails: use secondary button style for 'View files'
Use HobAltButton, rather than gtk.LinkButton, for the 'View files'
button.

Use xdg-open to display the folders contents.

(From Poky rev: 22955b47ac485e0d069ddd8301a11658d76bcfee)

(Bitbake rev: 9647c188c0d06ec045c15281eae785e935c25d2b)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 16:49:18 +01:00
Joshua Lock
9df6a793cb lib/bb/ui/crumbs/imageconfigurationpage: ensure widgets stay positioned
Tweak the table layout and insert some dummy widgets when the buttons
aren't drawn such that when the buttons do get drawn the existing widgets
don't all jump up.

(From Poky rev: 9edd833e7e36aea6a7350a36a5aad0ef300959c4)

(Bitbake rev: c09f71414d459eb926aa567d90a63407407d173e)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 16:49:18 +01:00
Joshua Lock
58c1981205 lib/bb/ui/crumbs: tweak build status display
Use two lines to display the active task and recipe, per visual design.

(From Poky rev: ea61503fc439e033b341bb7a50bac77c5e88834e)

(Bitbake rev: ab508907308e8b1bc1b097df1f583dffd7ef25af)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 16:49:17 +01:00
Joshua Lock
eba155d4d5 lib/bb/ui/crumbs: apply primary/secondary dialogue button styling
The design calls for primary buttons which are orange and large and
secondary buttons which are subtle with pale blue text. This is so that the
user is drawn towards the primary action and their use of the application
is more guided.

This patch uses HobButton and HobAltButton classes to style all dialogue
buttons accordingly.

Fixes [YOCTO #2125]

(From Poky rev: 1a52fe9f9e79f33686bd92613fc93eb97daacab8)

(Bitbake rev: 723ad434d427398b202b70f27762878315ffb22c)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 16:49:17 +01:00
Andreas Oberritter
265903bdff procps: don't print error message with kernel 3.0+
* All procps tools print a message like this when the kernel
  version consists of only two numbers:

| Non-standard uts for running kernel:
| release ... gives version code ...

* Import a patch from Debian to quieten this message.

(From OE-Core rev: ec8c54946572200c4fb779ff1fe2d2848660acab)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 10:16:30 +01:00
Christopher Larson
f1f7680263 powerpc e500: set -mfloat-gprs=double
Use of FPRs instead of GPRs is incompatible with e500/SPE, so let's be
explicit about the use of GPRs to avoid potential errors. For example, with
the Sourcery G++ toolchain, one can hit: conftest.c:1:0: error: E500 and FPRs
not supported.

(From OE-Core rev: 32bb6afe3e6f3e374e4d14edc238b46a90d44169)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 10:10:56 +01:00
Christopher Larson
9192e49426 external-csl: add mapping for powerpc-nf
This ensures we get the files from the correct multilib dir in the external
toolchain when using powerpc with soft-float.

(From OE-Core rev: 27edc9f8c053e2d5fa7c1bb44ae7d028666c5722)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 10:10:56 +01:00
Mark Hatle
9e9d3d4528 scripts/bitbake: Update to help rebuild pseudo-native
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>
2012-03-28 10:10:56 +01:00
Peter Seebach
c718c10b4b Pseudo: Update to 1.3
The various local patches have made it into upstream, so we update
the build files and jump to pseudo 1.3.  This also includes a popen()
fix which fixes some edge cases that caused failures trying to check
git branches and the like.

[Yocto bug #2181]

(From OE-Core rev: 0b007519fcfb1bcf2be9cad40b0f6265f8798518)

Signed-off-by: Seebs <peter.seebach@windriver.com>

Updated the pseudo_git.bb to match.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 10:10:56 +01:00
Richard Purdie
0ba97b4274 local.conf.sample.extended: Add documentation of archive source code configuration
(From OE-Core rev: cb3a2cfd07f016453e42989ec66044a1aa50af12)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 10:10:47 +01:00
Khem Raj
2f2ea4a42a zypper: Fix build with gcc 4.7
More details in patch header

(From OE-Core rev: 38a18c9d52b2f0276445b3f8be7dbf464f5b64c7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 10:09:16 +01:00
Bruce Ashfield
6515bea3a4 linux-yocto: support externalsrc builds
There are a few extra task that modify the source tree that should
be removed when externalsrc is inherited by a recipe that uses a
linux-yocto tree.

Adding those tasks to SRCTREECOVEREDTASKS means that they are skipped
and externalsrc works as intended.

(From OE-Core rev: e3117fb15498c899282f25a195f3dd3dc889168c)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 10:09:16 +01:00
Khem Raj
c73d382296 tune/armv7: Delete
armv7 is least common denominator of armv7-a
armv7-m and armv7-r and armv7-m does not support
ARM instructions but only thumb2 instruction set
which means armv7 when chosen will complain if
code is compiled in arm mode which is default
in OE if not specified other wise

if we chose this tuning errors like below pop up

error: target CPU does not support ARM mode

This tuning seems theoretical and base tune
for armv7 would be one of armv7-a,  armv7-m or
armv7-r

(From OE-Core rev: 75b8adbc042e0f65fb1286bc550d02becd3b6aea)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-28 10:09:16 +01:00
Robert Yang
7b01671f54 nspr 4.8.9: failed to build on x86_64 board
nspr failed to build on x86_64 board(e.g., qemux86-64):

x86_64-poky-linux-gcc    -m64 ... -m32 ...
...
fatal error: gnu/stubs-32.h: No such file or directory

This is because there are both '-m64' and '-m32' in gcc's options, and
the later one is used, but what we need is '-m64' since it is x86_64,
this is caused by an incorrect logic in configure.in, we should assume
that the pkg uses 64bit when target_cpu is x86_64 (it has two options:
--enable-n32 and --enable-64bit, both of them are not set by default),
we only can assume that the pkg uses 32bit when USE_N32 is set. But
what it did was that assumed 32bit when target_cpu was x86_64 unless
--enable-64bit was set, this seems unreasonable and caused the "gcc -m64
-m32" error.

Some had noticed this error before:
https://lists.yoctoproject.org/pipermail/poky/2011-May/005799.html

NOTE:
* Both fix configure and configure.in since we can't run the
  "autoreconf" for nsrp, please see more explanation in
  trickly-fix-build-on-x86_64.patch.

* Also fixed powerpc64, this is just fixed by conclusion since we don't
  suport ppc64.

[YOCTO #2179]

(From OE-Core rev: 1d8fea3b9c9dd8f3e2b72ee8c8a9b834f4a3d729)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-27 13:26:37 +01:00
Robert Yang
c3c5e8933a contacts.inc: conditionally install shema
Install schema should respect to GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL,
If GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL is set, the schema should not
be installed, but it always installed shema before, this was incorrect
and it would cause host contamination since it would read
$HOME/gconf/.gconf.

[YOCTO #2178]

(From OE-Core rev: 674fa286d882ff94830cbf748e3f5abc63a5575a)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-27 13:26:37 +01:00
Robert Yang
21a314e030 contacts 0.9: failed to build
contacts_0.9.bb failed to build since lacks of:

* SRC_URI[md5sum] or SRC_URI[sha256sum]
* LIC_FILES_CHKSUM

And an indent error in Makefile.am.

Fix these problems at the moment, maybe we should remove this old
version recipe since there is a contacts_git.bb

[YOCTO #2178]

(From OE-Core rev: d60b918186cadde05f2cde5b64d5b593ee0a6aba)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-27 13:26:37 +01:00
Saul Wold
401129c5fc image_types: remove duplicate setting of -i for inode count
inode count is already set in the EXTRA_IMAGECMD definition

(From OE-Core rev: db5a1785615f72a707c139a539c1cfa6c5bd0d23)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-27 13:26:37 +01:00
Saul Wold
e195338cf5 builder: Enable auto starting of Hob
(From OE-Core rev: bcf024fa1840d532c61ff56f369039bb1e531465)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-27 13:26:36 +01:00
Saul Wold
a58c37291b vmdk: Update for direstdisk
The conversion to directdisk is necessary due to the limitation
in the mkdosfs version we carry and larger filesystems.

(From OE-Core rev: 0f8a33cfa254f59bb87fe4a6727e329b0772551a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-27 13:26:36 +01:00
Saul Wold
337fbed734 boot-directdisk: Fix Block Calcuation
This also changes the timeout to be settable

The block calcuation was not correctly rounding, see comment

Thanks to Darren Hart for fixing this.

Cc: Darren Hart <dvhart@linux.intel.com>
(From OE-Core rev: 53ae1737611e10e7fef815e8fde9e22165aa1047)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-27 13:26:36 +01:00
Saul Wold
d2e7d49c0d image-vmdk: Add symbolic link for a short named vmdk image
This adds a link from the date stamped vmdk image to a shortened
name file.

(From OE-Core rev: fe157bb9543bbb6c9523c0feb150ae3913802379)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-27 13:26:36 +01:00
Dexuan Cui
a490a71677 self-hosted-image: pre-populate the builder user with poky source
This patch installs the poky source into the /home/builder/poky/ of the
self-hosted-image.
This makes the user of self-hosted-image easier to start a build.

I think the recent poky master is stable enough, so I specify
a commit number by SRCREV -- we may want to update this number before
releasing 1.2.

This patch fixes [YOCTO #2065]

(From OE-Core rev: 1f2d9be4516cd8c1ed5ce468cb2276f062296ad1)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>

Added code for supporting target based pseudo
fixed indentation

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-27 13:26:36 +01:00
Lianhao Lu
2e4ca98b7c gcc-cross-canadian: Clean non shipped empty directories.
Cleaning up non shipped empty directories.

(From OE-Core rev: e2fd32919e1d96136528c61677bdfeee2b064320)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-27 13:26:35 +01:00
Richard Purdie
d3e0beed9e guile: Deal with hardcoded path issues
Without this build of autogen-native break if the guile-native package has been
recloated.

(From OE-Core rev: 644b7503c37fd73730dd3d7841463b158b8934ed)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-27 00:29:00 +01:00
Scott Rifenbark
3787338025 documentation/adt-manual/adt-eclipse.xml: Added new commander section
Hongna Xu realized that the whole Bitbake Commander part
is missing in the ADT manual. This should be Section 4.8. She
sent the info and I created a new section titled
"Customizing and Image Using a BitBake Commander Project and Hob".

Reported-by: Hongna Xu <hongnax.xu@intel.com>
(From yocto-docs rev: eb207806dbd2f73089068ef9e3fa447aa8a38404)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 23:30:30 +01:00
Scott Rifenbark
d420de6e76 documentation/dev-manual/dev-manual-common-tasks.xml: Fixed link
Old link to POKY_EXTRA_INSTALL.  I changed to
CORE_IMAGE_EXTRA_INSTALL.

(From yocto-docs rev: 8c8308025443e2fd061faa03fe4f6245c58603a5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 23:30:30 +01:00
Scott Rifenbark
75f557655b documentation/poky-ref-manual/ref-variables.xml: added CORE_IMAGE_EXTRA_INSTALL
New variable added to the glossary.  This variable replaces the
deprecated POKY_EXTRA_INSTALL.

(From yocto-docs rev: ad764fdd11440c6a46a783c7df38f8445189712f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 23:30:30 +01:00
Robert P. J. Day
c3aef261a6 documentation/poky-ref-manual: Removed some deprecated variables.
Delete reference manual glossary entries of obviously dead/renamed
variables:

 * PACKAGE_SUMMARY
 * PACKAGE_DESCRIPTION
 * POKY_EXTRA_INSTALL (renamed to CORE_IMAGE_EXTRA_INSTALL)
 * POKYMODE (renamed to TCMODE)
 * POKYLIBC (renamed to TCLIBC)
 * SHELLCMDS
 * TERMCMD
 * TERMCMDRUN

In addition, fix some "link"s to not refer to any of the above.

(From yocto-docs rev: 146084b8b0bab5e5333b7da7d6eb1dc90e118eba)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 23:30:30 +01:00
Tom Zanussi
738a9f6ff9 documentation/bsp-guide/bsp.xml: README file not optional
Any shipped BSP needs this file for legal reasons, thus it's
non-optional.

(From yocto-docs rev: 4840f9a9d6b62f61378941c9a8712eb36720efd8)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 23:30:29 +01:00
Tom Zanussi
5c0b28185e documentation/bsp-guide/bsp.xml: Readme description edits
The README section should not be optional, since at minumum it needs
to contain layer dependencies and maintainer info.

(From yocto-docs rev: 0bb2e8baf9ca7b4f1b8d8c08b4901d1f4312b270)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 23:30:29 +01:00
Tom Zanussi
e7cc307097 documentation/bsp-guide/bsp.xml: Removal of certain layers
Wording changed to remove example BSP layers that really weren't
layers (e.g. meta-intel).  One of three patches from Tom.

Reported-by Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: 84677e0ef26f48af9b45585224d6c4dee0406f5e)

Signed-off-by: Tom Zanussi <tom.zanussi>
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 23:30:29 +01:00
Robert P. J. Day
d5318a3358 documentation/poky-ref-manual: Typos fixed.
(From yocto-docs rev: 3f05eca756cb70adbaa639d2b677f88ae720ba4a)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 23:30:29 +01:00
Scott Rifenbark
5df1753a15 documentation/poky-ref-manual/ref-bitbake.xml: Fixed directory name
The /build/tmp/stamps directory was incorrectly referred to as the
"STAMP" directory.  Fixed it.

(From yocto-docs rev: e434b3d555f7bea0b4576c6cf0d638e3e3fe664c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 23:30:29 +01:00
Robert P. J. Day
45bfc3e189 documentation/poky-ref-manual: changed "STAMPS" to "STAMP"
Variable was incorrect in the manual.

(From yocto-docs rev: d1ddb06cdcec48ab64df3a03f3ef845da0b13c80)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 23:30:28 +01:00
Scott Rifenbark
df7e75fff3 documentation/poky-ref-manual/technical-details.xml: typo fixed.
Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: 2ef9f6cc3cccff9d84709b3c3d9ce8e8c1daae41)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 23:30:28 +01:00
Martin Jansa
c5d91b1170 rootfs_ipk: replace 3 opkg-cl calls with one in get_package_filename
* || true is needed for cases where grep doesn't find anything
* and quotes around info are needed to keep line breaks

(From OE-Core rev: 9a8199e4a0f46ed3e9582143b206144aee28b709)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 23:29:45 +01:00
Denis 'GNUtoo' Carikli
46f4df3052 classes: scons: add EXTRA_OESCONS
(From OE-Core rev: 8c9ff3a5df85339e5d2b85fa00e471b6a3d17bd2)

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 23:29:44 +01:00
Xiaofeng Yan
dd61d59c47 archive-configured-source.bbclass: Archive configured source
This bbclass prepares for archiving configured source.

[YOCTO #1977]

(From OE-Core rev: a81c03cf6111106d04f2883b168f5be78900ee5f)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 23:13:21 +01:00
Xiaofeng Yan
0cc11b390d archive-original-source.bbclass: Archive original source
This bbclass prepares for archiving original source.
If original source is tarball, then copy this tarball to
${DEPLOY_DIR}/sources.
If original source is dirctory, then archive this directory to
tarball

[YOCTO #1977]

(From OE-Core rev: bc18dfdf42c8ece353a580671502ad79d37fa476)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 23:13:20 +01:00
Xiaofeng Yan
6dd4ddf7ea archiver.bbclass:
1 Archive sources in ${S} in the different stage
  (do_unpack,do_patch,do_configure).
2 Archive patches including series
3 Archive logs including scripts (.bb and .inc files)
4 dump environment resources which show all variable and functions
  used to xxx.showdata.dump when running a task
5 dump all content in 's' including patches to file xxx.diff.gz

All archiving packages  will be deployed to ${DEPLOY_DIR}/sources/

[YOCTO #1977]

(From OE-Core rev: 2fdc271887db8c0ef0641472d00e850e8b3caa19)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 23:13:20 +01:00
Xiaofeng Yan
6a99e0f8fb package_rpm: Add srpm function to this bbclass
Add a new function to archive source, patches and logs to a source rpm
package. Every source rpm package will be deployed to
${DEPLOY_DIR}/sources/deploy-srpm

[YOCTO #1977]

(From OE-Core rev: be2db850fbe516b92a3991a5eaf646c4a2b8a1b9)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 23:13:20 +01:00
Xiaofeng Yan
b711d7b631 src_distributelocal.bbclass: Remove src_distribute_local.bbclass
This bbclass has been merged into archiver.bbclass

[#YOCTO 1977]

(From OE-Core rev: be5a531b47b6b8875ba03dd5ab5f2fc84088718e)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 23:13:20 +01:00
Xiaofeng Yan
34c93234ca src_distribute.bbclass: Remove src__distribute.bbclass
This bbclass has been merged into archiver.bbclass

[#YOCTO 1977]

(From OE-Core rev: 7a61fc6300a1892e5570352e919f200278153831)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 23:13:19 +01:00
Xiaofeng Yan
e4e1162dc5 sourcepkg.bbclass: Remove sourcepkg.bbclass
This bbclass has been merged into archiver.bbclass.

[YOCTO #1977]

(From OE-Core rev: 23133241f3ed421ecafd8dcc5571a3b3ea8a3e92)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 23:13:19 +01:00
Bruce Ashfield
2e3845c555 linux-yocto: common-pc: Add PCNET32 to the config
Updating the meta SRCREV to pick up this commit:

[
    common-pc: Add PCNET32 to the config

    Qemu and VM Ware both support PCNET32 and the latter requires it for
    32 bit images.

    (From OE-Core rev: 6b431f1a09abde57d03b799e57186afb9a572387)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
]

Signed-off-by: Darren Hart <dvhart@linux.intel.com>5A
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 23:13:19 +01:00
Martin Jansa
cafb94f571 kernel.bbclass: touch .scmversion also in ${S}
(From OE-Core rev: e3bf54731973a444edf69ad8876d019aa404db75)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 23:08:19 +01:00
Jessica Zhang
53f1446ce4 Fix empty file case that caused build error at do_rootfs
(From OE-Core rev: 2035ce464cc41672c98f7efb8c4a966f93aa7bd0)

Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 23:08:19 +01:00
Eric Bénard
62547e70ee speex: fix FILES variables
actually FILES_${PN} and FILES_${PN}-dev match the same files.
these files are supposed to go into ${PN} so remove the other entry.

(From OE-Core rev: 4fc0f65e7d6e6fc6775a9a7e54510b629c9786d9)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 23:08:19 +01:00
Scott Rifenbark
db529f9f7d documentation/poky-ref-manual/development.xml: another env var clarification
One last clarification of what type of environment variable we
are talking about here.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: 18c537d96bde8fac7f62071585b71aed05037410)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 12:13:49 +01:00
Scott Rifenbark
15057c2986 documentation/poky-ref-manual: cleared up environment variable ambiguity
Some instances in the manual where it was not clear on whether
the subject was a shell environment variable or a BitBake
environment variable.  I cleared these up.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: 123bb91a3954c98378cdd8bba0a35311eb53f37a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 12:13:49 +01:00
Scott Rifenbark
264e5978e4 documentation/poky-ref-manual/ref-structure.xml: Clearer reference to variable
Another instance of possible confusion between a shell
environment variable and a BitBake environment variable.
I cleared this one up.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: e02596d940434806820f071218d2eb89c872cf3c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 12:13:49 +01:00
Scott Rifenbark
ceaf19ff67 documentation/poky-ref-manual/ref-structure.xml: Clearer variable ref
There is confusion in the manual regarding shell environment
variables and BitBake environment variables.  I fixed this
instance to specify shell environment variable.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: f6cd520323e12124217975cff09d03a6f5e03936)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 12:13:49 +01:00
Scott Rifenbark
4096fb2d01 documentation/poky-ref-manual/development.xml: Typo fixed.
(From yocto-docs rev: ae3c0156d026daa5ab9c96958f7e833b2f1ed410)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 12:13:48 +01:00
Scott Rifenbark
453ec12896 documentation/poky-ref-manual/technical-details.xml: Nitin's review
Applied comments from Nitin's review.

Reported by: Nitin Kamble <nitin.a.kamble@intel.com>
(From yocto-docs rev: b1fafd19c20f762daa80480618319ab8afd97227)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 12:13:48 +01:00
Scott Rifenbark
49c911f705 documentation/adt-manual: Edits to fix ADT manual for 1.2 per bug 2025
Addressed all issues specified by [YOCTO #2025] except for the
very first one that says bring the versions up to 1.2.  This will
be accomplished by the poky.ent bump at release time.

Fixes [YOCTO #2025]

(From yocto-docs rev: 926e5635d8cd74fff7e00002108ce8c039252203)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 12:13:48 +01:00
Scott Rifenbark
c3fe9d7a36 documentation/poky-ref-manual/technical-details.xml: new x32 section added.
(From yocto-docs rev: 78f8b0367b3e5bbc71712f71fe87367d929424c8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 12:13:48 +01:00
Gary Thomas
4a0720fd32 python: fix packaging dependencies on minimal systems
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>
2012-03-26 12:13:05 +01:00
Dongxiao Xu
5b86fb09c5 image_types.bbclass: Define runnable and deployable pattern
Define runnable image type and machine pattern.
Define deployable image type.

(From OE-Core rev: 602a0aede00ec961ffb008619cc8f6ee4ae51f58)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 12:13:05 +01:00
Robert P. J. Day
951aa5ea1f Various typoes fixed, all comments or output strings.
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>
2012-03-26 12:13:05 +01:00
Andreas Oberritter
1b5c52f2e8 busybox: move watch to /usr/bin for compatibility with procps
Commit 68dc2a3fa30c03a196d650de34d0c657a7b85454 broke opkg upgrade:

| update-alternatives: Error: cannot register alternative watch to
| /usr/bin/watch since it is already registered to /bin/watch

(From OE-Core rev: fa8b2d2bed63fa4fc2af45f094998b0f9e69d272)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 12:13:04 +01:00
Robert Yang
aff0f018d2 qemu: add fedora pkg names when build failed
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>
2012-03-26 12:13:04 +01:00
Lianhao Lu
1c0afb853a gcc-cross-canadian: Fixed packaging warnings.
Removed non-shipped empty directories:
 -${prefix}/${TARGET_SYS}
 -${libdir}/../lib
 -${prefix}/include

(From OE-Core rev: 04a08bf7e8d7cf4b6b844a88173b5d1d7917c8af)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-26 12:13:03 +01:00
Robert P. J. Day
fb3e59c88e core-image-minimal-mtdutils.bb: Simple DESCRIPTION grammar fix.
(From OE-Core rev: 647595821870693186c9ecad1bdfa12fe4ea334d)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:27:43 +01:00
Elizabeth Flanagan
b8697c32eb setserial: Correct LICENSE
setserial's license is GPL version 2.0 per:

http://sourceforge.net/projects/setserial/develop

(From OE-Core rev: 07480748d0f2d5da5af64284997fe9b51607cc21)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:23:39 +01:00
Elizabeth Flanagan
ec0681fbee common-license: Add ICU generic
Another lone license with no generic available.

(From OE-Core rev: 544dec2bbe8055418e2d28262e59c40d0d55b289)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:23:39 +01:00
Elizabeth Flanagan
709d179490 common-licenses: Adding GPL-2.0-with-OpenSSL-exception
socat uses this. There is no good standardized text for this,
but as socat is the only one who utilizes this, it should do
for now although this package has some licensing issues according
to debian. See:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=632481

(From OE-Core rev: 9a43af4a86d290e730eb3d1683d933ad8ff28710)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:23:38 +01:00
Elizabeth Flanagan
7fdf6b522f license.bbclass: Style guide compliance
4 spaces. Correcting some bash whitespace in license to comply
with the style guide.

(From OE-Core rev: 0945bf7871fd33df3587cdfb1290b028d7843915)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:23:38 +01:00
Elizabeth Flanagan
1fffeb0d21 util-linux: Example of pkg level INCOMPATIBLE_LICENSE
util-linux-lscpu provides an example of pkg level incompatible
license. In this instance, we've set the license for this specific
package as GPLv3. The other packages inherit the recipe LICENSE.

What this allows is the package to not be included on install to
the image.

(From OE-Core rev: ed84f2cee691b16671f93fb68a83ed1b0715c1be)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:23:38 +01:00
Elizabeth Flanagan
bdf2d94c35 INCOMPATIBLE_LICENSE: support for spdx and pkg licenses
This adds a few things to the incompatible license functionality

1. INCOMPATIBLE_LICENSE was unable to distinguish any variation
within LICENSE (e.g. GPLv3 v. GPLv3.0). This now utilizes the
SPDXLICENSEMAP of the license indicated as INCOMPATIBLE_LICENSE

2. Given a recipe where the main LICENSE was incompatible but
a package of the recipe was compatible, the entire recipe would
be excluded. This allows us some finer grained control over what
exactly gets excluded.

(From OE-Core rev: a8d7246f7b13ef2636c325263c8bfa22552d7a57)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:23:38 +01:00
Elizabeth Flanagan
a3da6c381f license.bbclass: Whitespace standardization
Removing tabs within check_license_flags to standardize to
4 space tabbing

(From OE-Core rev: 178be339e09078c56a5231a10551f3b9aed16f9c)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:23:38 +01:00
Elizabeth Flanagan
5de2b70afc license.bbclass: Add spdx mapping to GPL-1.0
Perl is GPL-1.0. For consistency sake, adding an spdx map for
GPLv1

(From OE-Core rev: 2bc1d04e62a8c84e3195d538f844e90c32df8acc)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:23:37 +01:00
Robert P. J. Day
bc709ae2f8 PPP: Remove leftover reference to "nylon" distro from PPP recipe.
Delete reference to what is apparently a remnant from the OE-core
split, according to Paul Eggleton.

(From OE-Core rev: 4b0fcffae17c03c5c6b2223f202e1d6e8ac55c98)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:23:37 +01:00
Shane Wang
a80fc637de Hob: add build status labels in the build details screen to make it more close to the visual design
This patch is to add build status (incl. "Running task XX of XX: XXXXXX") in the build details screen,
in order to provide clear information about task in progress and make the GUI close to the visual design.

[Yocto #2098]

(Bitbake rev: 02d3451b2e0744204a1280f9effe9fd862bb4faf)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:23:34 +01:00
Joshua Lock
fb7eb75f33 lib/bb/ui/crumbs: use a PersistentTooltip for the Brought in by information
(Bitbake rev: c57a45c64a17f1b9dd89743692c3da130ffd38f4)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:23:34 +01:00
Joshua Lock
2206679669 lib/bb/ui/crumbs/persistenttooltip: ensure a reasonable minimum size
The persistent tooltip looks a little weird when it's too small, request
that the toolkit and WM give it a reasonable minimum size.

(Bitbake rev: 637ea3671dda9c5a1065f992fd9ee87d63043cf4)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:23:34 +01:00
Joshua Lock
188cf893dd lib/bb/ui/crumbs/persistenttooltip: layout tweaks
The design documents have the close button vertically aligned with the
tooltip contents - reorganise the interal widget layout to achieve this.

(Bitbake rev: 4f8c36226867291c7b6c413ee2570d61a326ec47)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:23:34 +01:00
Joshua Lock
61f039d57c lib/bb/ui/crumbs/hobwidget: convert button styling logic to static methods
The design calls for all buttons to match the style of either the HobButton
or HobAltButton classes, therefore implement the styling logic as static
methods of the implementing classes so that we can more easily set styles
for the buttons created by a gtk.Dialog (or subclass) without having to
modify too much of the dialog instantiation code.

(Bitbake rev: ccb8f5cd52ee7833129583b9201c65d93cb87d56)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:23:33 +01:00
Joshua Lock
d0bb6d292a lib/bb/ui/crumbs/builddetailspage: fix label on 'Back' button
The buttons taking the user back to image configuration should be prefixed
with '<<'.

(Bitbake rev: e0d598b454c01303a0ea9503feef3ce6f1ed1d69)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:23:33 +01:00
Joshua Lock
61006cf51f lib/bb/ui/crumbs/hobwidget: HobAltButton different visual when insensitive
Use an alternative, grey, colour when the button is insensitive so that
the insensitivity is easily noticed.

(Bitbake rev: 53af6a962aa2f6b4d68d59792be9c7f33cf887b4)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:23:33 +01:00
Joshua Lock
63defc9bf6 lib/bb/ui/crumbs/hig: sort layers in Layer Selection dialogue
The two layers which cannot be removed, meta and meta-hob, should be the
first two items in the tree view.

(Bitbake rev: 6e51643325611f6cfc9090dcbbff20755d09c92d)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:23:33 +01:00
Robert P. J. Day
822af52bb9 Fix typo: BB_NUMBER_THREAD -> BB_NUMBER_THREADS
Correct some apparent misspellings of BB_NUMBER_THREADS.

(Bitbake rev: 175e55db8f0762a2f2f0aaf3ca48169016b9ef6b)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:23:33 +01:00
Dongxiao Xu
e9a5de67e7 Hob: Avoid getting TMPDIR in hardcode
We should get TMPDIR from bitbake server instead of hardcode.

(Bitbake rev: 91bdd43468448385e07a57ac54ce25db9a8edf03)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:23:32 +01:00
Dongxiao Xu
64cb3cde27 Hob: Set empty DISTRO if "defaultsetup" is selected
In Hob advanced setting, if "defaultsetup" is selected, we need to
leave DISTRO variable not set in bitbake server.

Otherwise, defaultsetup.conf will be parsed twice, causing TMPDIR and
its related variables mess up.

(Bitbake rev: 863b14ebf2c7443ce6df362f24af6395e520edbc)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:23:32 +01:00
Dongxiao Xu
bc73876964 Hob: runqemu and deployment functionality filter
Implement the filter for runqemu and deployment functionality.

runqemu
1) suffix should be in the list of RUNNABLE_IMAGE_TYPES.
2) machine should match the pattern of RUNNABLE_MACHINE_PATTERNS.

deployment:
1) suffix should be in the list of DEPLOYMENT_IMAGE_TYPES.

(Bitbake rev: de4d09a8d100b81622300db5f46627c649812abd)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:23:32 +01:00
Dongxiao Xu
9b4e1600ab Hob: Add a supported image type "vmdk"
(Bitbake rev: 1ebc1f68c90890bbc79c801baf0de349eb56e7cb)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:23:31 +01:00
Dongxiao Xu
f83586f1e6 Hob: Fix the workaround to get image types
(Bitbake rev: c8d985ec971c3a18508f9c698cb2df2c1bf96e3a)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:23:31 +01:00
Dongxiao Xu
5098c964c2 Hob: Change the Hob initialization process
This change allows adding extra inherits before getting all the
parameters.

(Bitbake rev: eb993c0bad03718f9d3e133667cd0fefca23611a)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:23:31 +01:00
Dongxiao Xu
9d3620fac8 Hob: Initial an empty label in recipeselectionpage.py
When creating label in recipeselectionpage.py, the builder's
configuration may not be ready yet, so create an empty label in
initialization.

(Bitbake rev: e4f22f6242f489afcadac67cc8dd282936b78586)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:23:30 +01:00
Dongxiao Xu
a18a724769 Hob: Cleanup for hobeventhandler.py
(Bitbake rev: 8bd6d8bb5e5ca0ca0ea2e2d31ffdc6df1aca16a2)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:23:30 +01:00
Dongxiao Xu
09b16096f6 Hob: Remove unnecessary PARSE_BBFILES command
The ASYNC commands can automatically detect if BB file parsing is needed.
Therefore remove this explicit parsing command.

(Bitbake rev: 73692cb55d7d5aaedfbcf6b8a24ab435a1d25a9e)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-25 12:23:30 +01:00
Bruce Ashfield
1c19181599 iptables: fix build error against 3.2+ kernel headers
The iptables local linux/types.h overrides the kernel/sysroot
types.h. As such, we need to provide some defines that are required
to build against 3.2+ kernel headers.

ifndef protection is provided for the defines to ensure that
configuration that already have these defines are still buildable.

This commit is temporary until a new version of iptables can be
used that contains the defines.

(From OE-Core rev: 1642f519bb30b3ebcfb6170cdbbc0e327d057012)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-24 00:12:05 +00:00
Richard Purdie
6c77a0f0fa taglib: Refresh patch after recent accidental breakage
(From OE-Core rev: 7ad7c837bac0cd086098be0d7cdf5cd8388a8696)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 18:36:20 +00:00
Bruce Ashfield
ac56e2ed37 linux-libc-headers-yocto: move to meta-yocto
linux-libc-headers-yocto is not directly required in meta, so we can
safely move it to meta-yocto.

Machines including meta-yocto that are using linux-yocto that need headers
which are completely up to date with the linux-yocto git tree can use this
as their preferred linux-libc-headers.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 18:08:40 +00:00
Khem Raj
0233e6b1a7 libzypp: Fix buiild with gcc 4.7
it needs protype of close() before using it

(From OE-Core rev: 046a236bf0e6005ccc8af7c1449a4fa2e1e9e91c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 17:47:42 +00:00
Martin Jansa
0dd02a5e65 kernel.bbclass: don't create /etc/modutils/*
* update-modules was updated to read /etc/modules-load.d/*.conf

(From OE-Core rev: 60f144d336b5c344e7004d3cbf4d0c3fc9e1a1f2)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 17:47:42 +00:00
Martin Jansa
caaa5709b4 update-modules: update script to read /etc/modules-load.d/ directory
* show warning for old /etc/modutils/* files without .conf extension
* v2: keep adding modules also from old /etc/modutils/* after showing
  warning, this way update-modules will be backward compatible also on
  images without kernel upgrade

(From OE-Core rev: 38302a1353cf072b7c6c54f7f90936e4c2180102)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 17:47:42 +00:00
Martin Jansa
c73e50a91e kernel.bbclass: fix extra + in kernelrelease
* see http://lists.linuxtogo.org/pipermail/openembedded-core/2011-December/014308.html

(From OE-Core rev: 56fe5300ab5ab072c20acd03d7fc26e9cae4e652)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 17:47:42 +00:00
Martin Jansa
39439da555 kernel.bbclass: use better number for KERNEL_PRIORITY
* there is no upgrade from 2.6.X to 3.X.Y
  last part of PV is used as kernel priority for u-a, but X is usually
  higher then Y in 3.x.x so use all 3 parts in one bigger number
* and make it weak assignment if this scheme doesn't work for some
  recipe
* if there are just 2 numbers in PV then last one is repeated twice
  (see linux-openmoko_3.2 example) but that should work fine too

  OE qemux86-64@ ~/oe-core $ grep ^KERNEL_PRIO linux-yocto_*
  linux-yocto_2.6.37.e:KERNEL_PRIORITY="20637"
  linux-yocto_3.0.e:KERNEL_PRIORITY="30024"
  linux-yocto_3.2.e:KERNEL_PRIORITY="30211"
  OE qemux86-64@ ~/oe-core $ grep ^PV linux-yocto_*
  linux-yocto_2.6.37.e:PV="2.6.37+git1+aeea99683c7283f1f3320bf2ee7085ee252d4e7e_1+af2bfbe5f757361b5b027a24d67a93bfdfaaf33c"
  linux-yocto_3.0.e:PV="3.0.24+git2+a4ac64fe873f08ef718e2849b88914725dc99c1c_2+aac580659dc0ce083f250fb05abf82e58d7f4531"
  linux-yocto_3.2.e:PV="3.2.11+git2+514847185c78c07f52e02750fbe0a03ca3a31d8f_2+4ca7e2c5d42e755e1b4c3e1478128f047a8ed2a8"

  OE qemux86-64@ ~/shr-core $ grep ^KERNEL_PRIO linux-openmoko_*
  linux-openmoko_2.6.39.e:KERNEL_PRIORITY="20639"
  linux-openmoko_3.2.e:KERNEL_PRIORITY="30202"
  linux-openmoko_git.e:KERNEL_PRIORITY="30299"
  OE qemux86-64@ ~/shr-core $ grep ^PV linux-openmoko_*
  linux-openmoko_2.6.39.e:PV="2.6.39"
  linux-openmoko_3.2.e:PV="3.2"
  linux-openmoko_git.e:PV="3.2.99+3.3.0-rc0+gitr1+7089727d63b17615fb0a652374d79cb7df0835ad"

(From OE-Core rev: 00999468341efdca1e884594dbfe25a73149e675)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 17:47:41 +00:00
Martin Jansa
42fbaceb44 kernel.bbclass: use symlinks for modutils files
(From OE-Core rev: d5d1508f25299ab215799d85f2ac4b31de69abf6)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 17:47:41 +00:00
Martin Jansa
c6db496be6 kernel.bbclass: populate /etc/modules-load.d/ with module_autoload entries too
* /etc/modules-load.d/foo.conf is used by systemd like /etc/modutils/foo was with sysvinit

(From OE-Core rev: 1487af02b92278dec2eb539377cc29bb1b404153)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 17:47:41 +00:00
Andreas Oberritter
8132ac5f6c procps: use update-alternatives for pwdx, pgrep and watch
* pwdx, pgrep and watch may be provided by busybox.
* Use update-alternatives to avoid conflict.

(From OE-Core rev: 68dc2a3fa30c03a196d650de34d0c657a7b85454)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 17:47:41 +00:00
Andreas Oberritter
b2c6e1ead7 sysvinit: use update-alternatives for mountpoint and runlevel
* mountpoint and runlevel may be provided by busybox.
* Use update-alternatives to avoid conflict.

(From OE-Core rev: 3122da7cb2cbaf2f79c299acd5d2070caf07ec56)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 17:47:40 +00:00
Andreas Oberritter
180d7d391d ppp: drop unneeded pkg-postinst
* pkg-postinst was used to make pppd setuid root, which
  can now be done in do_install() instead.

(From OE-Core rev: bc5d5457ab2d7191db343cfcb2bf3a5c8cd24a93)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 17:47:40 +00:00
Bruce Ashfield
e86605c69c linux-libc-headers-yocto: remove from oe-core
The linux-libc-headers-yocto is not required in oe-core, it can be
moved to yocto specific layers. The linux-libc-headers_* recipes
provide sufficient headers fore core users.

(From OE-Core rev: 6320041fa77514e2d2bf54f0ea6c7052d2a4a89a)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 17:38:33 +00:00
Bruce Ashfield
12cd3311f5 linux-libc-headers: set default LINUXLIBCVERSION to 3.2
Switch the default libc-headers to the 3.2 version.

(From OE-Core rev: fc2f1581d98fccf931cb98a63ee801a444110ce4)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 17:38:33 +00:00
Bruce Ashfield
e7a5236d7c linux-libc-headers: add 3.2 headers and remove 3.1
The 3.1 kernel was never released or directly supported via
oe-core. So as part of update the libc-headers to 3.2 we can
take the opportunity to remove it.

Built and booted on the qemu* targets.

(From OE-Core rev: ce7469ab3b49f8a326ba4c3486a4e63b7cd48799)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 17:38:32 +00:00
Dongxiao Xu
ad88a473bd bitbake.conf: Add XAUTHORITY into config white list
(From OE-Core rev: 257b9e015c549974e5880738bec7e97933e1834f)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 16:17:05 +00:00
Gary Thomas
ada5a0269e python: remove a target dependency
The target dependency DEPENDS_sharprom does not belong in this
core recipe and should be moved to a .bbappend file in the appropriate
layer if still required.

(From OE-Core rev: c82a4b2759cc54b8afa65d545e894d1ac60107fe)

Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 16:14:42 +00:00
Shane Wang
ad5dd7d3ca Hob: Change the descriptions for view_recipe_button and view_package_button
Change the text of view_recipe_button to 'Add/remove recipes and tasks'
Change the text of view_packages_button to 'Add/remove previously built packages'

[Yocto #2146]

(Bitbake rev: 0348ef08db9ac425d83126d2e6eb465adc28b110)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 16:10:25 +00:00
Liming An
98fa27c4c9 Hob: add auto scroll to rows which be new appended in hob building log page
For make the building screen to provide clear information about task in progress by request, so add this function.

At the beginning of building, the vertical scroll bar will go to the active area automatically.
Once the user moves the scroll bar in the middle, the automatic move of the bar is disabled.
However, once the user moves it to the bottom again, it will be kept to the bottom even though more logs come.

[Yocto #2098]

(Bitbake rev: cf43be6685d45c66e6508bbce653f8a67db66a9b)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 16:10:24 +00:00
Liming An
f427bfa0e4 Hob: reset the policy to forbid the horizontal scrolling for building log
This patch is not to show the horizontal scroll bar for building log, and add CellRendererText class to wrap the text.

[Yocto #2091]

(Bitbake rev: 7c5e1297c1af2edd46315e3dec4516f850d5e222)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 16:10:24 +00:00
Joshua Lock
63648b9f1d lib/bb/ui/crumbs/builder: change dialogue title to Layers
(Bitbake rev: 03e645cda56e9f8cf1fa94775534369b77518767)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 16:10:24 +00:00
Joshua Lock
ac53520823 lib/bb/ui/crumbs: make use of HobButton for existing primary action buttons
Replace all gtk.Button instances that have the orange style applied with
HobButton.

(Bitbake rev: f4dfdc23a6498fdaa164a1bfccf616ff8fcbd251)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 16:10:24 +00:00
Joshua Lock
78fb40958a lib/bb/ui/crumbs/hobwidget: add HobButton widget for the primary action
The design uses a big, bold labelled, orange button for the primary action
on each dialogue. The HobButton implements this design as a reusable widget.

HobButton makes use of Pango Markup to use a relative size, x-large, for
the button text to ensure it's relative to the system configured font
sizes.

(Bitbake rev: 9aa477f7bd16d3e360bf9b51c1f9d5032a6c5288)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 16:10:24 +00:00
Joshua Lock
9dd7461eca lib/bb/ui/crumbs: fix 'Back to image configuration' alt button text
Design calls for these buttons to include << at the beginning of the label

(Bitbake rev: 08cc5ec196a51c29f936eccba1644607be2ed759)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 16:10:23 +00:00
Joshua Lock
cef911ecf4 lib/bb/ui/crumbs: add colour for HobAltButton per visual design
The visual design calls for the alternative button to have a pale blue
colour.

(Bitbake rev: c9f61765216a013c7ebc02157ea47c3478252e7c)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 16:10:23 +00:00
Joshua Lock
bad0a86f98 lib/bb/ui/crumbs/hig: tweak 'Add Layer' button per visual design
Use a separate, pre-lit, icon when the button has the cursor over it.

(Bitbake rev: 535d23921dfb7310022099d39b1092edfee51c1a)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 16:10:23 +00:00
Joshua Lock
d4a087fd39 lib/bb/ui/crumbs/builder: only show a close button on the Layer Selector
Per discussion with the design team the LayerSelectionDialog should only
have a close button.

See: https://bugzilla.yoctoproject.org/show_bug.cgi?id=2083#c10

(Bitbake rev: 65d92efe2786f21b8a2790ef0383f87b6dc15b57)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 16:10:23 +00:00
Joshua Lock
f76dcdb1ca lib/bb/ui/crumbs: replace HobXpmLabelButtonBox with HobImageButton
HobImageButton is an gtk.Button subclass, and therefore behaves like a
button with prelight and focus states, with an icon and two lines of text -
primary and secondary. The secondary text is displayed in a lighter colour
using a new module method, soften_color(), per the design.

(Bitbake rev: b91cc96c4ff4195ac26fdfd1fb0c2ff8db06aff8)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 16:10:22 +00:00
Joshua Lock
ce914a6742 lib/bb/ui/icons: add new icons for use in Hob, autocrop some existing ones
Add add-hover and remove-hover icons for the Layer Selection Dialogue.
Autocrop layers_hover, packages_hover and recipe_hover images.

Signed-off-by: Joshua Lock <josh@linux.intel.com>
2012-03-23 16:10:19 +00:00
Richard Purdie
3d69d9462d bitbake/fetch2: Ensure mirror tarballs have .done stamps so we don't redownload and corrupt them
[YOCTO #2154]

(Bitbake rev: 521d6b14151d3bf934b9597557f7ae46e50a3d7a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:54:16 +00:00
Scott Rifenbark
67c83a8c08 documentation: Updated all style sheets for down-sized notes.
(From yocto-docs rev: c4188d6daa81d8309ba71c5b9c3dde5b10ea730e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:51 +00:00
Scott Rifenbark
fd5c4cf03d documenation/dev-manual/dev-manual-model.xml: Hob section first draft
(From yocto-docs rev: 02eb8ac5016ef347a554dfdd214d3e66342f0ee2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:51 +00:00
Scott Rifenbark
0f2f0f9ee2 documentation/dev-manual/dev-manual-model.xml: Updated title
Consistency re-established.

(From yocto-docs rev: 002735dc66ac64d5a80f2e3be1dc47daee583012)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:51 +00:00
Scott Rifenbark
7c689aaace documentation/dev-manual/dev-manual-model.xml: Blank Hob section added.
(From yocto-docs rev: 5af32b14baa2e8ad163ec179c851fe59efafca33)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:51 +00:00
Scott Rifenbark
f98621fdcf documenation/dev-manual/dev-manual-model.xml: Hob added to Intro
Added information about Hob to the introduction part of this
chapter.  The chapter is going to have a section that introduces
and speaks a bit about the Hob.

(From yocto-docs rev: dd98b3132ff4660397c37a223af8c4c2835a5276)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:50 +00:00
Scott Rifenbark
40a45af01f documentation/bsp-guide/bsp.xml: Edits to BSP Licensing section
Grammar, style, and formatting edits applied to the "BSP
Licensing Considerations" section.

(From yocto-docs rev: 9809e0b5081bdc4f27d7d949930c409575a9a083)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:50 +00:00
Scott Rifenbark
2e0b9014e2 documentation/poky-ref-manual/technical-details.xml: Review comments
Applied a couple small corrections to the re-write of the
"Enabling Commercially Licensed Recipes" section.  These small
corrections were suggested and caught by Tom Zanussi.

Reported-by: Tom Zanussi <tom.zanussi@intel.com>
(From yocto-docs rev: ce9218386ec265f7eec2ec5916b09a6776b3077b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:50 +00:00
Tom Zanussi
9d2974a31b documentation/bsp-guide/bsp.xml: Patch applied for Licensing
"The LICENSE_FLAGS mechanism can now be used to meet the special
license requirements needed by some BSPs.  Update the documentation to
reflect the current BSP licensing mechanisms.

Also add a new blurb about the time-limited kernel."

                                  - Tom Zanussi

I applied this patch verbatim and will check and clean up text
as needed.

(From yocto-docs rev: d05a7ddbc0d6017e5a8be2b3e0117f53e30a204b)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:50 +00:00
Tom Zanussi
9332e39d86 documentation/poky-ref-manual/technical-details.xml: Licensed recipe edits
Applied and modified patch.  Modifications included grammar, active
voice, formatting, links, section creation, etc.

(From yocto-docs rev: 76dc10138161124846c0752c251028ba16c45d7c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:49 +00:00
Scott Rifenbark
4a6e43cd6e documentation/yocto-project-qs/yocto-project-qs.xml: Fixed bad git command
The git clone command did not work when the YOCTO_GIT_URL variable
was used.  I removed the variable and hard-coded the command
into the example.

(From yocto-docs rev: 67f169a7e2540b27acfaf2fcdcc658ce189ec932)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:49 +00:00
Robert P. J. Day
7f102aeb02 documentation/yocto-project-qs/yocto-project-qs.xml: two typos fixed.
(From yocto-docs rev: b45954e8e423f95e3a18dd74fb4cbae1b367aac8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:49 +00:00
Scott Rifenbark
b3d8c48ed4 documentation/adt-manual/style.css: Added new style for Note headings
The style for the note, caution, warning, and tip headings was a bit
over-bearing.  Feedback from the community indicated that those words
needed to be in a smaller, less noticeable font.  I created the style
so that the font's size is about half of what it was and I also changed
the color to match the other headings.

(From yocto-docs rev: f54c6274e1972c52ba17d7ebd2ba84bf6d59c105)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:49 +00:00
Scott Rifenbark
db22f39d1c documentation/dev-manual/dev-manual-common-tasks.xml: Spell check.
(From yocto-docs rev: 3bc8b3a4fc0adcfcda3026e7c209e4f57e750737)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:49 +00:00
Scott Rifenbark
cb4b0aa328 documentation/yocto-project-qs/yocto-project-qs.xml: new expert section
Added a new "expert" section at the end of the QS.  I reference the
section right up front.  This new section is an attempt to divert the
expert user away from most of the QS.  The information was formed from
Robert P. J. Day's wiki at his crashcourse.com site.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: b2981e9fcdd083e15194f520a4160938b02b1275)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:49 +00:00
Scott Rifenbark
3b95307126 documentation/poky-ref-manual/technical-details.xml: Fix Checksums section
Implemented Richard Purdie's changes for the "Checksums (Signatures)
section.  I also performed a spell-check on the chapter and found several
rogue words that I corrected.

Fixes [YOCTO #2024]

Reported-by: Richard Purdie <richard.purdie@intel.com>
(From yocto-docs rev: 3025ee64bc0f046abe87f95f1e8b9092a6079798)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:48 +00:00
Scott Rifenbark
f99aa9453e documentation/poky-ref-manual/ref-variables.xml: New ALLOW_EMPTY variable
Created a new glossary entry for the variable ALLOW_EMPTY.

(From yocto-docs rev: 35e3693c9f6b3f2842cfde55703a1fa1d1f27345)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:48 +00:00
Scott Rifenbark
542d163b5c documentation/README: Updates to explain development
I added information that describes the relationship between
poky/documentation and yocto-docs/documentation.  For developers,
they need to know to work from the yocto-docs Git repository
and not to rely on the poky/documentation Git repository, which
can lag behind the other one.

(From yocto-docs rev: 0cbc781d3e9544c9920fdaf4548d882dd79b3d6c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:48 +00:00
Scott Rifenbark
0f25a65a26 documentation/dev-manual/dev-manual-newbie.xml: Added to append term
I added more information to the YP Term "Append Files."

(From yocto-docs rev: e1a7e9b0a790d394e237a0972140107d11178408)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:48 +00:00
Scott Rifenbark
221d4391da documentation/dev-manual/dev-manual-common-tasks.xml: added link
Put in a link to reference another example of using a .bbappend
file.

(From yocto-docs rev: b5a5433506adfe46276584e51dc19fc153ea098d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:47 +00:00
Scott Rifenbark
73aea6c113 documentation/dev-manual/dev-manual-bsp-appendix.xml: minor edits.
(From yocto-docs rev: f109ca75f7a1d8fdd6051da989adda2207049209)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:47 +00:00
Scott Rifenbark
802ac5e038 documentation/dev-manual/dev-manual-bsp-appendix.xml: removed quotes
(From yocto-docs rev: f4f599db60f3da74ac37db54cc812f9836afc893)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:47 +00:00
Scott Rifenbark
058b00cf11 documentation/dev-manual/dev-manual-bsp-appendix.xml: Added .bbappend
(From yocto-docs rev: 3c7e51fa6ad5eb69f4b09a9041714044edf585d7)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:47 +00:00
Scott Rifenbark
99c1eb5d04 documentation/dev-manual/dev-manual-model.xml: Technical correction
Fixed text that described how a config file was referenced.

(From yocto-docs rev: 29846fcb4fd6f90452023e1f627ef76f1a056ac6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:46 +00:00
Scott Rifenbark
83141b336c documentation/dev-manual/dev-manual-common-tasks.xml: Minor edit.
(From yocto-docs rev: 6a71d919a6a4a0d33aeb793e7ddecfc9fa5c6db1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:46 +00:00
Scott Rifenbark
9ba2e3dc78 documentation/dev-manual/dev-manual-common-tasks.xml: minor edits.
(From yocto-docs rev: 3fd9f32de8f2aabbc7812587dd3f293297323c3b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:46 +00:00
Scott Rifenbark
1ebf41e07a documentation/dev-manual/dev-manual-common-tasks.xml: minor edits.
(From yocto-docs rev: 90daf67e41b0c95ce0e6652f994f79cfb021c4f8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:46 +00:00
Scott Rifenbark
1fc825ebc4 documentation/dev-manual/dev-manual-common-tasks.xml: Edits to append files
Edits to better describe what a .bbappend file is.

(From yocto-docs rev: 81527358615c229a9161568a30785221c9f081ff)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:45 +00:00
Scott Rifenbark
5ad47afea0 documentation/dev-manual/dev-manual-common-tasks.xml: fixed typo
(From yocto-docs rev: 135ca58fa53ffcf94138e0df7857d87c79e001ce)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:45 +00:00
Scott Rifenbark
b059442be5 documentation/dev-manual/dev-manual-common-tasks.xml: Better .bbappend definition.
(From yocto-docs rev: 97cbaa209f03a1d578683e42305c7d98c0e3e7b5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:45 +00:00
Scott Rifenbark
1c63d72756 documentation/dev-manual/dev-manual-start.xml: Defined BitBake append file
Provided a clearer full name for .bbappend files.

(From yocto-docs rev: 4ee07af442c26aa06a6b295df758f41838b407df)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:45 +00:00
Scott Rifenbark
333f776d6c documentation: Updates for [YOCTO #1717].
Minor edits to the BSP Guide, the Development Manual, and the
Kernel Manual to address [YOCTO #1717], which noted confusion
over the kernel manual when a user was trying to find kernel
configuration information.

The fix for this bug involved several areas.  I had previously
created a new section called "Kernel Configuration" in the kernel
manual and "Configuring the Kernel" in the YP Development manual.
There were several rounds of feedback from Bruce Ashfield.

This commit represents the final touches on the three manuals to
address the bug.

Fixes [YOCTO #1717]

(From yocto-docs rev: de8f85753ad1d6dde66adb6bb4cb09e9528c7cd6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:44 +00:00
Scott Rifenbark
6392dffcf8 documentation/dev-manual/dev-manual-common-tasks.xml: More edits to layer
Layer section review comments from Paul Eggleton added.

(From yocto-docs rev: a536fe1635dbe9157e86995e7a78568e41a75957)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:44 +00:00
Scott Rifenbark
f202838fdd documentation/dev-manual/dev-manual-common-tasks.xml: Review edits
Implemented Paul Eggleton's review comments for the "Understanding
and Using Layers" section.

(From yocto-docs rev: ec376754f63122a1bd31d47e153ee3e872aac0b5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:44 +00:00
Scott Rifenbark
9bdc18a820 documentation/poky-ref-manual: Converted to use poky.ent variables.
Fixed all the hard links to use appropriate variables from the
file poky.ent.

(From yocto-docs rev: 9a6267d0d843dc47c1171eba6200387901b77df4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:44 +00:00
Scott Rifenbark
9602c5556b documentation/poky.ent: Fixed two variables
The YOCTO_PYTHON-i686_DL_URL and YOCTO_PYTHON-x86_64_DL_URL
variables were both not resolving.

(From yocto-docs rev: f5e0a2f618daf77f1437a710ce98e88cc0533fd8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:43 +00:00
Scott Rifenbark
d048a99e24 documentation/kernel-manual: Converted to use variables from poky.ent.
Also removed a broken link.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:43 +00:00
Scott Rifenbark
aa3a201629 documentation/dev-manual: Converted to use poky.ent
I converted the hard links to use the variables as established
in the file poky.ent.

Also, Cleaned up some bad text in the term "Yocto Project Files."
Looks like a cut-and-paste problem.

(From yocto-docs rev: e2e20bf4895d80dae73595e93132f37fb31121d1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:43 +00:00
Scott Rifenbark
e9c32b6a85 documentation/poky.ent: Added a new variable.
(From yocto-docs rev: fea22d0f3ded25531ceb06fdcd4374f25b4e5c3b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:43 +00:00
Scott Rifenbark
7c12cb1183 documentation/bsp-guide: Converted links to use poky.ent variables.
(From yocto-docs rev: 5a95fd07deed0c118529b7890857850308b4b5ab)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:24:42 +00:00
Khem Raj
45bc21c275 gdb-cross-canadian: Fix linking issues when python support is enabled
gdb-cross-canadian was linking with static version of libpython
and looking for build host python when run. This could be mismatch
between python-nativesdk and build host provided python. So we
make it consistent to always use python-nativesdk

Instead of adding bunch of -L we add -rpath and -rpath-link
so that gdb finds all needed libraries in SDK and does not
reach out into host

This should fix yocto PR# 2077 as well.

(From OE-Core rev: d56177c59b5e237a501281d806724885456f0193)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 14:00:55 +00:00
Richard Purdie
bb1d7fad7f Revert "bitbake.conf/sstate.bbclass: Change PATH when installing sstate files to avoid issues"
Reluctantly revert this since it breaks the tar-native workaround we have
for old versions of tar :(

This reverts commit 01218e29f9.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 12:29:57 +00:00
Richard Purdie
d95f6d0e32 pigz: Add update-alternatives support since this otherwise conflicts with busybox/gzip
(From OE-Core rev: 8903327ff483cd3dbde8cf692be2092462265188)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 12:29:56 +00:00
Andreas Oberritter
7bbb8930d5 mirrors.bbclass: remove dead kernel.org mirrors
* ftp.{us,uk,hk,au,jp}.kernel.org don't have DNS A records.

(From OE-Core rev: c74af4b29179fa1e6c59672803f5d69f74976dbe)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 12:29:56 +00:00
Richard Purdie
8dbbbffa11 sstate.bbclass: Remove possibility of file corruption and make package writing atomic
There is currently a race window when creating sstate packages since we don't
atomically write the files to SSTATE_DIR. This change ensures we do so by writing
to a temporary file and then doing an atomic move.

(From OE-Core rev: 52bf113e786a57123a9da98f64442afbc2f1471e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 12:29:56 +00:00
Andreas Oberritter
8350c03eec gst-plugins: remove obsolete orcc hack
* The sed script replacing ${bindir}/orcc with
  ${STAGING_BINDIR_NATIVE}/orcc causes orcc to not be found.
  It may have been a workaround for older versions of pkg-config
  or older gst-plugins. Removing it makes gst-plugins use
  orcc from 'orc-native' successfully, if available.

(From OE-Core rev: a5e2277c53a8345a096eee8ccd9622838574a240)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 12:13:09 +00:00
Paul Eggleton
ab69a16b21 scripts/combo-layer: handle diffs in commit messages
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>
2012-03-23 12:13:08 +00:00
Paul Eggleton
fd3f7d5d6a scripts/combo-layer: limit component repo dirty check
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>
2012-03-23 12:13:08 +00:00
Khem Raj
6a44fcb236 pixman: disable iwmmxt
Pixman build system is borked and always wants iwmmxt intrinsics
it errors like below

| ../pixman/.libs/libpixman-1.so: error: undefined reference to
'__builtin_arm_wand'
| ../pixman/.libs/libpixman-1.so: error: undefined reference to
'__builtin_arm_wsrlhi'
| ../pixman/.libs/libpixman-1.so: error: undefined reference to
'__builtin_arm_walign'

(From OE-Core rev: 413449897eed0b7382ae52d59b5e289958220ad5)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 12:13:08 +00:00
Scott Garman
c9537c52f4 useradd.bbclass: retry useradd/groupadd commands to avoid lock race issues
A race condition can occur when adding users and groups to the
passwd and group files, causing errors like the following:

 ERROR: Function 'useradd_sysroot' failed
 Tried to access "/etc/group" but this was locked.

This fix will cause the useradd code to retry the useradd and
groupadd commands up to 10 times (with a 1s sleep in between
attempts) before failing.

This fixes [YOCTO #1794]

(From OE-Core rev: 68c589f1b5ee36f0aff151b728447ffdae14622c)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 12:13:08 +00:00
Scott Garman
c65d82a88a package_rpm.bbclass: ensure base-passwd and shadow get installed first
When generating images, we need to make sure that base-passwd and
shadow get installed before other packages, which might need to create
custom user accounts.

Thanks to Richard Purdie for the initial version of this fix.

This fixes [YOCTO #2127]

(From OE-Core rev: 3d2d3cb379608301b17ce57787d324c2f06bf4f9)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 12:13:07 +00:00
Lianhao Lu
74ee8de04b libgcc: corrected -nativesdk package namings.
1. Corrected the -nativesdk package namings.

2. Fixed package QA warnings:
WARNING: QA Issue: non -staticdev package contains static .a library:
libgcc-nativesdk-dev path
'/work/x86_64-nativesdk-pokysdk-linux/libgcc-nativesdk-4.6.3+svnr184847-r23/packages-split/libgcc-nativesdk-dev/opt/poky/1.1+snapshot/sysroots/x86_64-pokysdk-linux/usr/lib/x86_64-pokysdk-linux/4.6.4/libgcc.a'
WARNING: QA Issue: non -staticdev package contains static .a library:
libgcc-nativesdk-dev path
'/work/x86_64-nativesdk-pokysdk-linux/libgcc-nativesdk-4.6.3+svnr184847-r23/packages-split/libgcc-nativesdk-dev/opt/poky/1.1+snapshot/sysroots/x86_64-pokysdk-linux/usr/lib/x86_64-pokysdk-linux/4.6.4/libgcc_eh.a'

(From OE-Core rev: aff0373d8bfb7e9ea600fcc558433387818c520a)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 12:13:07 +00:00
Lianhao Lu
552eea2cb1 nativesdk/misc: set PKGSUFFIX for correct variable name expansion.
Set PKGSUFFIX in nativesdk.bbclass for correct variable name expansion.
This would fix bunch of "not shipped" packaging warnings in "-nativesdk"
recipes. And also bumping the corresponding PR.

(From OE-Core rev: c69268305e6f814800b64f3a4be724c40b41108c)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 12:13:07 +00:00
Lianhao Lu
065a9a6c3b ncurses: ship clear/reset in package.
Fixed not shipped packaging warnings.

WARNING: For recipe ncurses-nativesdk, the following files/directories
were installed but not shipped in any package:
WARNING:
/opt/poky/1.1+snapshot/sysroots/x86_64-pokysdk-linux/usr/bin/reset
WARNING:
/opt/poky/1.1+snapshot/sysroots/x86_64-pokysdk-linux/usr/bin/clear

(From OE-Core rev: c09a2058f6b2f24ab2ae9c5ea357111dd82af39e)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 12:13:07 +00:00
Lianhao Lu
7987452087 gdb-cross-canadian: not shipping libiberty.
Fixed package QA warnings.

WARNING: QA Issue: non -staticdev package contains static .a library:
gdb-cross-canadian-i586 path
'/work/x86_64-nativesdk-pokysdk-linux/gdb-cross-canadian-i586-7.4-r6.3/packages-split/gdb-cross-canadian-i586/opt/poky/1.1+snapshot/sysroots/x86_64-pokysdk-linux/usr/lib/lib/libiberty.a'

(From OE-Core rev: 231cdeec05f82a8b16141098ca9ca6df41ebe396)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 12:13:06 +00:00
Lianhao Lu
a6ec59c4b2 pseudo: package the var/pseudo directory.
Fixed the "not shipped" packaging warnings.

WARNING: For recipe pseudo-nativesdk, the following files/directories
were installed but not shipped in any package:
WARNING:   /opt/poky/1.1+snapshot/sysroots/x86_64-pokysdk-linux/usr/var
WARNING:
/opt/poky/1.1+snapshot/sysroots/x86_64-pokysdk-linux/usr/var/pseudo

(From OE-Core rev: 91f6d5777e4fc9f261c361f41eda397a4903b334)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 12:13:06 +00:00
Lianhao Lu
8447aa2fae meta-toolchain: Popluated the libc siteconfig files.
Fixed bug [YOCTO #2159] by correctly populate the libc's siteconfig
files.

(From OE-Core rev: eeee4b8c097e60070e4654a223b41fea0c96a12b)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 12:13:06 +00:00
Richard Purdie
5256a6b6c3 bitbake: Fix icon paths that were mismerged
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-23 11:28:02 +00:00
Richard Purdie
cc93f3e4e5 gst-plugins-bluetooth: Don't install headers, man pages or .pc files
We were seeing weird autobuilder failures where the bluetooth headers could disappear.
The reason why is that this recipe was conflicting with them. bluez4 should be handling
them and the plugin shouldn't be installing them so lets not.

(From OE-Core rev: b92aaf764e6de94fb9fdee610e8f6643ccf74894)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 22:06:54 +00:00
Tom Zanussi
5a6ded1355 yocto-kernel: new script
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>
2012-03-22 19:21:15 +00:00
Tom Zanussi
4fdaf05088 yocto-bsp: new script
Implementation of the 'yocto-bsp' command-line tool, for creating BSPs
and listing BSP properties.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
2012-03-22 19:21:15 +00:00
Tom Zanussi
c01dec8819 yocto-bsp: add some useful constants
Some constants used by the templating engine.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
2012-03-22 19:21:15 +00:00
Tom Zanussi
095c80b2be yocto-bsp-tools: add help/usage
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>
2012-03-22 19:21:15 +00:00
Tom Zanussi
1e40e8a230 yocto-bsp: add kernel interface
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>
2012-03-22 19:21:15 +00:00
Tom Zanussi
cd8182e689 yocto-bsp: add templating engine
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>
2012-03-22 19:21:15 +00:00
Tom Zanussi
cf80db1c85 yocto-bsp-tools: add bsp library
Create a home for the yocto bsp tools.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
2012-03-22 19:21:14 +00:00
Tom Zanussi
f76161b1de yocto-bsp: add BSP template files
BSP template files for all supported Yocto architectures, plus qemu
versions of the same.

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
2012-03-22 19:21:14 +00:00
Darren Hart
af193ae15a ddimage: Add script for writing images to boot media
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>
2012-03-22 19:18:24 +00:00
Saul Wold
77106395e1 task-self-hosted: add pseudo
(From OE-Core rev: 2f8c8beec3c6054bf4047f23184ae0ab873c6ce5)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 19:18:24 +00:00
Mike Crowe
16585f53f2 libc-common: Apply Debian-naming to libc debug symbols too
Ensure that the eglibc-dbg package follows Debian naming too if
enabled. Retain backward compatibility with old libc-dbg naming.

(From OE-Core rev: e338607f36fcad89af7d796b2e9f3a31f11e54d6)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 19:18:24 +00:00
Matthew McClintock
39c2e33c39 arch-powerpc.inc: use default value of TUNE_PKGARCH
We can use the default value for TUNE_PKGARCH, and now we just
append "-nf" if TARGET_FPU is fpu-soft

(From OE-Core rev: c2d96179c00e6600698d3fbc5cf5c95313ab7535)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 17:53:02 +00:00
Andreas Müller
961b149496 consolekit: use systemd_unitdir
(From OE-Core rev: 9c52e4b8d4ea63177558a096477b23e8f907ba8e)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 16:47:08 +00:00
Andreas Müller
0a57e38055 alsa-utils: use systemd_unitdir
(From OE-Core rev: 94c05ac1eed246a00ea65853952f947deba200d5)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 16:47:08 +00:00
Andreas Müller
4a781306d8 dbus: use systemd_unitdir
(From OE-Core rev: f014feb73cd96c35735811737a80ee8cd1528f61)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 16:47:08 +00:00
Andreas Müller
a4fcab8d05 ofono: use systemd_unitdir
(From OE-Core rev: d05480ddcfb3270357f578fefba5855f5209714c)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 16:47:08 +00:00
Andreas Müller
fc580dc3a1 bluez4: use systemd_unitdir
(From OE-Core rev: 8df5971aa3656cc3a608c231ec5b4538656f3e3e)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 16:47:07 +00:00
Andreas Müller
04fe3421f6 avahi.inc: use systemd_unitdir
(From OE-Core rev: 979923d67fec5e9e9d3bb55152fbbff7d86e96eb)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 16:47:07 +00:00
Andreas Müller
3e80fcdab5 bitbake.conf: add systemd_unitdir
Some of oe-core's recipes need to know where systemd units are. Since the
directory might change in the future [1], we set the location once globally to
reduce maintenance efforts

[1] http://www.gossamer-threads.com/lists/gentoo/dev/245758

(From OE-Core rev: bac4871105bc6bfa820955f28b4657740ea41961)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 16:47:07 +00:00
Robert P. J. Day
9e3c79cfe8 Fix common typoes "existant", "dependant" and variations
Fix a couple common typoes, all contained within comments so there
should be no effect on functionality.

(From OE-Core rev: dc52c3cbf3a7b7242d53019f7643495eb40c0566)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 16:47:06 +00:00
Robert Yang
54d61ed9f7 insane.bbclass: maybe no log.do_compile or log.do_install
The insane.bbclass grep in log.do_compile and log.do_install
unconditionally, but there maybe no such logs when mirror the pkg from
sstate cache file. We should check whether the log file exists or not
before grep in it.

Additionally, break the one too long line into two (Add a "\n").

[YOCTO #2153]

(From OE-Core rev: bbf38aa898454a2bb9a4ac993eb2696fbd5f4e57)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 16:47:06 +00:00
Lianhao Lu
58ce5121e1 tcf-agent: Using git repository instead of svn.
Fixed bug [YOCTO #2152].

(From OE-Core rev: 6c785bcd4368ea49941ec00bc8c34f334a39d8f3)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 16:47:06 +00:00
Denys Dmytriyenko
0f49983894 rt-tests: add patch to support passing CFLAGS/LDFLAGS
Enable passing OE and Distro-specific CFLAGS/LDFLAGS to the Makefile.

(From OE-Core rev: fb89e4585644db0958a633a637fc70f0459af26a)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 16:47:06 +00:00
Denys Dmytriyenko
22cb225044 rt-tests: replace dependency on eglibc with virtual/libc
That is to support alternative providers of libc, such as glibc, uclibc
or even an external binary toolchain.
No PR bump is necessary here.

(From OE-Core rev: 053f1a0200047949765f34a6c99940adbe8f2c9f)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 16:47:06 +00:00
Denys Dmytriyenko
e2e4e4a5a6 bitbake.conf: fix distro-less failure expanding FILESPATH
If DISTRO is not set, FILESPATH becomes littered with directories like
files/${DISTRO} etc. It won't bomb until you try to eval it - i.e.
manipulating FILESPATH directly with .= works fine, but calling e.g.
base_set_filespath() throws this:

ERROR: Failure expanding variable FILESPATH, expression was ${@blah} which
triggered exception SyntaxError: EOL while scanning string literal (FILESPATH,
line 1)

(From OE-Core rev: abacd7243a2e4cca216797c4a36ff66ae968ddbd)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 16:47:05 +00:00
Shane Wang
8dda137c12 Hob: Revert interfaces of callbacks for layer_button, view_recipes_button, and view_packages_button.
(From Poky rev: 35942a7dd973796673ab0215f68b4a25356ec053)

(Bitbake rev: 96e235a151fa04f5a15cd8b46f50a5852e2ba739)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 14:43:51 +00:00
Joshua Lock
0ac021e8b9 lib/bb/ui/crumbs/hig: disable removal of meta-hob layer
The Hob GUI requires the meta-hob layer to function so prevent its removal
as we do with the core meta layer.

(From Poky rev: a64d71e1e4475236e286cb20dde29c4d099d3693)

(Bitbake rev: 431624678025b3d3fe04f1c6e8fc50820b3129fb)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 14:43:51 +00:00
Joshua Lock
1f3a6379c5 ui/crumbs/hig: make the layer selection dialogue more closely match design
The layer dialogue design includes in-line remove/delete widgets next to
the layer path in the tree view for all layers other than the meta layer as
well as an in-line notice that the meta layer cannot be removed.

This is achieved  in this patch through the use of custom cell_data_func's
for the treeview to render the meta layer differently and a custom
CellRenderer implementation, CellRendererPixbufActivatable, which renders a
pixbuf and emits a clicked signal when the user clicks on it.

Fixes [YOCTO #2083]

(From Poky rev: 83c96b7a0ec4412716090098385a665045909a9a)

(Bitbake rev: b2d8f28c0059992200457a15aef8be09e015a5dd)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 14:43:51 +00:00
Joshua Lock
f9501768c8 lib/bb/ui/crumbs: add icons for use in the layer dialogue
(From Poky rev: 5e5b488952ef2a0dd886fd67993411760855fcee)

(Bitbake rev: e68c37cee0c9fb1b88479888656eae43bfd144d7)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 14:43:51 +00:00
Joshua Lock
631f97812f lib/ui/icons: autocrop images
Remove transparent border from the edge of the layers_display,
packages_display and recipe_display images.

(From Poky rev: d240f17687f34a0c5733a7744e8689420f45381c)

(Bitbake rev: e439de09eb073a50e12021b196f10fc87e33b858)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 14:43:44 +00:00
Joshua Lock
21970f4755 lib/bb/ui/crumbs: Add HobAltButton and use it
This adds a gtk.Button subclass for secondary actions which unsets the
relief so that the user is aware that the button is clickable and yet it is
more subtle than the primary action (such that the primary action is the
most obvious one) - this is per the interaction design.

Further we replace all uses of gtk.LinkButton with the new HobAltButton

Partially addresses [YOCTO #2105], a follow on patch will theme the button
so that it matches the visual design.

(From Poky rev: c3f17fed243180678264168968333463b203bfa0)

(Bitbake rev: 601521c2d7f5568d94529a77b2cbe19fef7cbf48)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 14:40:41 +00:00
Joshua Lock
457ec75e39 ui/crumbs/persistenttooltip: fix whitespace
We use 4 spaces, not a tab, in BitBake

(From Poky rev: 7d9c9fd7c267d69bab51590074d66a2d68e98ca6)

(Bitbake rev: 7658cd6d8e0e558f60df72b294019a40c27bc703)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 14:40:41 +00:00
Joshua Lock
e587c1ef3f ui/crumbs/persistenttooltip: fix colours on darker themes
Darker gtk+ themes, such as the one used in Ubuntu Unity, revealed that the
PersistentTooltip styling wasn't setting the label colour correctly.

Set the label foreground colour to the tooltip_fg_colour value as read from
gtk-color-scheme property of the system settings.

(From Poky rev: 0934cfcea5986dbdc50e7159ee907c70b0b3e587)

(Bitbake rev: ab15ef585e51e4c85a4a55aa6b35fbf3b53f3805)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 14:40:41 +00:00
Joshua Lock
f460c2f10d ui/crumbs/persistenttooltip: tweak borders
Change the layout and borders so that the close button is flush with the
edge of the tooltip window yet leave the contents with a small border such
that text isn't flush with the window edge.

(From Poky rev: 5a0891d144de5d3f73c51adef5a30492a679c66a)

(Bitbake rev: f652d9d28d69a04bc9361599d173625378ac8d33)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 14:40:41 +00:00
Joshua Lock
c9202eb042 ui/crumbs/hobwidget: add clear icon to search entries in HobNotebook
It's a common pattern on Gtk+ desktops to be able to clear a search/filter
entry using an icon in that entry.

(From Poky rev: 6394283522ef2f259397d8bd294291fb20354c8b)

(Bitbake rev: f55372d542995fd0797b11f42dcfdbe57858449a)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 14:40:40 +00:00
Dongxiao Xu
b6817986df Hob: Use inherit information to judge if a recipe is image type
Previously we use pattern "-image-" to match recipe name to judge if
it is image type. This will ignore some images whose name doesn't
match the pattern. The new method is to use the inherit information,
that is, if a recipe inherits image.bbclass, we treat it as an image.

(From Poky rev: 981b81bd39529d2ba9af0d4e2a25bda3d32bd8fc)

(Bitbake rev: bdbee0c899e115ad08b9a77d3e58d6767766da75)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 14:40:40 +00:00
Dongxiao Xu
ef2e881c1b cooker: add inherit information when generating package tree
Inherit information could be used to judge if a recipe is image type
or not.

(From Poky rev: 203f112a84b3971dc71da3dc455fd054d1c16a12)

(Bitbake rev: fe52af99918f61abec8f779efb02926b713f2aac)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 14:40:40 +00:00
Shane Wang
c70e761362 Hob: Change the titles for recipe view and package view
(From Poky rev: cccbf0cc8a3d8c93a141d96bed4763beb7b85786)

(Bitbake rev: 98dd4f20f2e6f50c1cad2c480eebde14eeadc41a)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 14:40:40 +00:00
Shane Wang
b8cbd7e445 Hob: Change "View Packages" description
Change 'View Packages' button description from 'Add/remove packages' to 'Add/remove previously built packages to/from your image'.
And we adjust the size to make "View Packages" button fit into the window.

[Yocto #2146]

(From Poky rev: 279dbff3ef9f8e8bc58b86f8c4f5ffe70d4a2e8b)

(Bitbake rev: 594f5936c2450d596967f062c14434f5357cb5aa)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 14:40:40 +00:00
Shane Wang
9e8e02c1f5 Hob: Change window title from HOB to Hob
[Yocto #2147]

(From Poky rev: 9291e6b751171a49fcd8cd0d13c6b22479e542bd)

(Bitbake rev: 6d9dc83e566b7d3a4903fdba30053233d97e8381)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 14:40:39 +00:00
Dongxiao Xu
df20012654 Hob: Move "Create your own image" to the bottom of image list
Move "Create your own image" item to the bottom of base image list.
Besides, remove an un-used hob list entry.

This fixes [YOCTO #2104]

(From Poky rev: f215ce518ad644ca4747ae17279db4b82d0c715d)

(Bitbake rev: 7e00723a6508023ffbefed2c2de1bc9c55564faa)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 14:40:39 +00:00
Dongxiao Xu
31124e675b Hob: Change package selection tab order
In the package screen, change the tab order to be:
"Included" and "All packages".

Also change some descriptions in tab.

This fixes [YOCTO #2111]

(From Poky rev: 25628f43d16bcc35874bdac3e1ce1b552c049633)

(Bitbake rev: e12a5e478635a0de87060ac20aff8c9b1858596e)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 14:40:39 +00:00
Dongxiao Xu
8cc7b246f3 Hob: Change recipe selection tab order
In the recipe screen, change the tab order to be:
"Included", "All recipes", and "Tasks".

Also change some description name in tab.

This fixes [YOCTO #2110]

(From Poky rev: 400b1092f1bad578b26d1e41aeb87dcb852aa4e3)

(Bitbake rev: f7168e891ce4af5234d53896a7f51489a7c84a6f)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 14:40:39 +00:00
Dongxiao Xu
ec6272396f Hob: Change template button name from "Template" to "Templates"
Change the button name according to UI team's design.

This fixes [YOCTO #2126]

(From Poky rev: 1e4477f9b121b2523685cc6440050c47d3ae1cde)

(Bitbake rev: f75dde11f2d73119702026d4dd531c0b242303c7)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 14:40:39 +00:00
Dongxiao Xu
5b98b26d75 Hob: change package classes selection GUI
This commit change the GUI for package classes selection in advanced
setting dialog, which conforms with UI team's design.

(From Poky rev: 7bbcabdb71d76cdb2ec1de15618d1e47f1149a21)

(Bitbake rev: 4ebce01dde18e67e01ff7c4736c229a3364c04b0)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 14:40:39 +00:00
Dongxiao Xu
8683fa2d63 Hob: Remove split model in GTK Hob
Since the GTK Hob will not use the server/client split model, thus
remove it from current Hob code. But we still keep the core mechanism
in bitbake server.

(From Poky rev: 983ea0265a53e0725dcbf9085ea767ebbc155ae5)

(Bitbake rev: 8c129e05a94d457860d883c9b2934a5559de8d9b)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 14:40:39 +00:00
Dongxiao Xu
e9a9422ec3 Hob: Still use initcmd != None as the if judgement
This commit reverts part of change in 491c87d1, since initcmd has a
possible value of 0, therefore we must explicitly compare the initcmd
with None in if judgement.

(From Poky rev: 5736972974a769ea7ce6c92fdf6842db044f770d)

(Bitbake rev: ee55ca82c94080ef825d6de094e38ba40ee62e8b)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-22 14:40:39 +00:00
Saul Wold
047ce547ed xserver-kdrive: Fix packaging warnings
WARNING: For recipe xserver-kdrive, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/lib
WARNING:   /usr/lib/xorg
WARNING:   /usr/lib/xorg/protocol.txt
WARNING:   /usr/share/X11
WARNING:   /usr/share/X11/xkb
WARNING:   /usr/share/X11/xkb/compiled
WARNING:   /usr/share/X11/xkb/compiled/README.compiled
(From OE-Core rev: d036265de1d9931bedb660e01a763d3d1d9e4097)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 23:17:32 +00:00
Saul Wold
621e5cd992 readline: Fix RPATH Warnings for GPLv2
the norpath.patch with v2 and it worked correctly?
WARNING: QA Issue: readline: /work/i586-poky-linux/readline-5.2-r7/packages-split/readline/usr/lib/libhistory.so.5.2 contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: readline: /work/i586-poky-linux/readline-5.2-r7/packages-split/readline/usr/lib/libreadline.so.5.2 contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: readline: /work/i586-poky-linux/readline-5.2-r7/packages-split/readline/usr/lib/libreadline.so.5 contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: readline: /work/i586-poky-linux/readline-5.2-r7/packages-split/readline/usr/lib/libhistory.so.5 contains probably-redundant RPATH /usr/lib

(From OE-Core rev: 511a9e72f7deac4d31bad6c2d94117d9fd0b97f5)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 23:17:32 +00:00
Richard Purdie
4cc2b9adf2 lttng-ust: Increase PE due to incompatible version changes related to lttng-ust2
(From OE-Core rev: 732b9d6f3528c4c76be0afa911e7e1d5cf781c41)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 23:05:07 +00:00
Richard Purdie
70a03756d4 Add bitbake-dumpsig to make it more obvious how to dump a signatures file
[YOCTO #2057]

(Bitbake rev: c5fdc6c02fe4712d3114caccfd759a626bd9677b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 17:10:17 +00:00
Richard Purdie
287d018518 gettext/awk/sed/grep: Backport WARNING fixes to GPLv2 versions
(From OE-Core rev: b60d0c57a2e16d690fd11c6349917efc57630004)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 16:38:42 +00:00
Richard Purdie
40f95685e6 gzip/pigz-native: Install into a prefix to avoid clashing with system binaries
Due to the system providing a copy of gzip, we face some issues when we
'shadow' that copy with our own leading to a varient of race type bugs,
and issues for example if a dependency such as libz is missing but the
binary is still present. We usually rely on our dependency logic to protect
us from this but for gzip, we don't have this protection since its not listed
by all its users (and doing so would be impractical).

This patch installed pigz and gzip into their own directory which we only
add to PATH when we explictly want these binaries in much the same way we do
with perl-native. This means dependency logic is correct when we use the binary
and everything should work well.

The patch adds an explict dependency into image.bbclass since the accelerated
speed of compression is most appreciated at rootfs time.

(From OE-Core rev: 7a98c0ef28822ae1fcee45b14db3edcfd4c7ad8f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:07 +00:00
Richard Purdie
01218e29f9 bitbake.conf/sstate.bbclass: Change PATH when installing sstate files to avoid issues
This resolves issues related to pigz-native when installing from sstate that people
have been seeing. It also gives us a way to solve issues like the gzip-native race
during sstate package creation covered in Yocto #1774.

(From OE-Core rev: 518dffe20178f5969dddccb17d6ab347afb72beb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:07 +00:00
Paul Eggleton
42c445bc04 buildhistory_analysis: avoid printing PE/PV/PR more than once
Don't print PE/PV/PR changes as related field changes of related field
changes (i.e. only print them once at the top level).

(From OE-Core rev: 33046605549501bed9ceff102614d86ba54a5891)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:07 +00:00
Paul Eggleton
4db604cd3a buildhistory_analysis: report if all items removed from a list
If all items have been removed from a list then state that explicitly.

(From OE-Core rev: 2434a751e9684058786d4595cef3678d397f3c39)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:07 +00:00
Paul Eggleton
275ef4900e buildhistory_analysis: skip FILELIST changes for dbg packages
Don't report when files are added or removed from dbg packages unless
it results in the package being empty.

(From OE-Core rev: ee57a989188519dd40310cb5576cbff4b247ad95)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:07 +00:00
Paul Eggleton
9d8e5ab47a buildhistory_analysis: hide version number increases in dependencies
If an item in RDEPENDS or RRECOMMENDS only increases in its version
number then don't report it as a change, since we don't care about
it. This significantly reduces the noise after upgrades.

(From OE-Core rev: f72b2a1bda35a99292063c1cc6ff563b397e190d)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:06 +00:00
Paul Eggleton
0b8a693fb4 buildhistory_analysis: use bb.utils.explode_dep_versions
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>
2012-03-21 15:33:06 +00:00
Lianhao Lu
fb7eeb3954 lttng-2.0/lttng-ust: Change recipe name to lttng2-ust.
Change the recipe name lttng-ust from lttng-2.0 to lttng2-ust so that
that both the lttng-ust of the old framework and of the new framework
lttng-2.0 can coexist.

Fixed bug [YOCTO #2062].

(From OE-Core rev: 0d9fc8185945328837aa1a3d9d705afa56856853)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:06 +00:00
Andreas Oberritter
5259a706ec parted: update to version 3.1
* Supports disks > 2TB

[RP:Add in missing delta of fixed in subsequent version]
(From OE-Core rev: daa6d80d902cb35af1b3f3f1e9e55cb944eb2de0)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:06 +00:00
Paul Eggleton
e3a848699e syslinux: fix stripped file warnings
Fix the following package warnings:
WARNING: File '/usr/bin/memdiskfind' from syslinux was already stripped, this will prevent future debugging!
WARNING: File '/usr/bin/syslinux' from syslinux was already stripped, this will prevent future debugging!
WARNING: File '/usr/bin/gethostip' from syslinux was already stripped, this will prevent future debugging!
WARNING: File '/usr/bin/isohybrid' from syslinux was already stripped, this will prevent future debugging!

(From OE-Core rev: 90bf61226d1bebd846ad9dc028affc334862e794)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:05 +00:00
Paul Eggleton
8ad75a6e78 libacpi: fix stripped file warning
Fix the following package warning:
WARNING: File '/usr/bin/test-libacpi' from libacpi was already stripped, this will prevent future debugging!

(From OE-Core rev: 678b895fba610c71fcbb13555bf96322dcb15aea)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:05 +00:00
Paul Eggleton
27139083de hdparm: fix stripped file warning
Fix the following package warning:
WARNING: File '/sbin/hdparm.hdparm' from hdparm was already stripped, this will prevent future debugging!

(From OE-Core rev: d2625ddfdee752ed790aa6b9a8b8ceade8358093)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:05 +00:00
Scott Garman
ddfbae197c distro_tracking: update openssl
(From OE-Core rev: 486c0abeaaf9e4467d3f72a24cc6956595c955f3)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:05 +00:00
Scott Garman
96dde9513c openssl: upgrade to 1.0.0.h
Removed pkg-config.patch, which was incorporated upstream.

Addresses CVE-2012-0884.

Fixes bug [YOCTO #2139].

(From OE-Core rev: 50d99fc8c5a158c7f3ce3e72377827f53406d88f)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:04 +00:00
Yi Zhao
ded4c8eea1 scripts/qemuimage-testlib: fix typos
(From OE-Core rev: 69f019c48b40ac3b7a8bce2da819f03072e78020)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:04 +00:00
Dexuan Cui
ba4e37ae0c task-self-hosted: add nfs-utils and nfs-utils-client into the target
Without this, in the target, we don't have the mount.nfs utility.

(From OE-Core rev: 42fb0129c701c52df978430da3d237c924d1d5ee)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:04 +00:00
Kang Kai
24703f8448 cleanup-workdir: add a script to clean up WORKDIR
[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>
2012-03-21 15:33:04 +00:00
Andreas Oberritter
d4129c186c parted: update to version 3.1
* Supports disks > 2TB

(From OE-Core rev: 27dd817838647d43769b400e7829730f7180a79a)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:03 +00:00
Scott Garman
86ff2d7196 distro_tracking: updates for upgraded recipes and manual checks
Upgraded e2fsprogs recipe.

Manual checks done for libpng, libgdbus, expat, chrpath, opensp,
and nfs-utils.

(From OE-Core rev: 4ab84358f072e29c618d4e7532ab903747bbe618)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:03 +00:00
Scott Garman
a731d22551 e2fsprogs: upgrade to 1.42.1
Includes minor tweaks to the formatting of some patch headers and the
addition of a SOB line where needed.

(From OE-Core rev: bb9af542bc69f417d414d92ebf46a9412944c1e1)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:03 +00:00
Darren Hart
35ada8fe03 distro-tracking: Remove trailing whitespace
Remove all trailing whitespace from the distro tracking text.

(From OE-Core rev: 5fe34f0c6a6808a3abb0107c06b13b3d6ceb4ceb)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:03 +00:00
Darren Hart
ca0e59e9c7 distro-tracking: Update rt-tests, trace-cmd, and kernel shark
o Add common fields for these recipes.
o Note no update due to being on the current version.

(From OE-Core rev: 0d5450cf0cca1d414109f34d47c4db5af3d80b6c)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:02 +00:00
Saul Wold
5eba491a58 libxxf86dga: Upgrade to 1.1.3
(From OE-Core rev: 99d3d7c461e3b19ea807dd7aabfcd4c239b531a6)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:02 +00:00
Saul Wold
42cc9b726d distro_tracking: Update
(From OE-Core rev: ed1c17d23836ccfff4e74ab4e2c4cc5ef9df59a3)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:02 +00:00
Saul Wold
562b6e8bd0 resolvconf: Upgrade to 1.64
(From OE-Core rev: a13d00df7768ecb297b47df307c44907b6f6dcb3)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:02 +00:00
Saul Wold
4cbf68c0fd imake: Upgrade to 1.0.5
(From OE-Core rev: fa21e26394a575a51fc1338c83deb20ccc1f4c23)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:02 +00:00
Saul Wold
647ca07b3e gnutls: Update to 2.12.17
(From OE-Core rev: bb7e461b08783a2acfef2f13b577ca9109c065fd)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:01 +00:00
Shane Wang
6c07b145ff libxi: upgrade to 1.4.5
(From OE-Core rev: 9d5bce4b769e78b95fd4d7e373b165f22db57a65)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:01 +00:00
Shane Wang
2a6611c71b libxcb: upgrade to 1.8.1
(From OE-Core rev: 9084854652020f16a21e1214f7bb47cf0bd5a974)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:01 +00:00
Shane Wang
33ca082904 font-util: upgrade to 1.3.0
(From OE-Core rev: c58a6ea0a29960d9b6f683d70318080a39b884c1)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:01 +00:00
Shane Wang
1d4a44896e inputproto: upgrade to 2.2
(From OE-Core rev: 5d42b72f7d813e862adebd0a805aff7caebb0790)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:01 +00:00
Shane Wang
1e14106342 libxres: upgrade to 1.0.6
(From OE-Core rev: 32f4b8621168111c7c0298efd8c046d54a5587e0)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:00 +00:00
Shane Wang
253ba4cd82 libxfont: upgrade to 1.4.5
(From OE-Core rev: 5e62255e0e3d262b88d97ba4cfcffb5d7e307651)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:00 +00:00
Shane Wang
469adf6381 libXvMC: upgrade to 1.0.7
(From OE-Core rev: 938b76383b24a44eb609fb4f88fa8f88179d74d2)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:00 +00:00
Shane Wang
d0a99ebd87 libxtst: upgrade to 1.2.1
(From OE-Core rev: 672046dd2676ff0ff1e44f14f83dbe40e1f14de0)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:33:00 +00:00
Shane Wang
796658cf12 libxft: upgrade to 2.3.0
(From OE-Core rev: 517976cf0c2a6eb5cf3656aa262c367f99fabc44)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:32:59 +00:00
Shane Wang
42c4d68213 libdmx: upgrade to 1.1.2
(From OE-Core rev: 7955ce5e8bd98287a81d2dfa2b82cfa17c8935fd)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:32:59 +00:00
Shane Wang
f058ab66b2 libxau: upgrade to 1.0.7
(From OE-Core rev: b627aebf3930d4c50c10336fc538faa36fce63a3)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:32:59 +00:00
Shane Wang
f6c8b92a24 libxscrnsaver: upgrade to 1.2.2
(From OE-Core rev: 0bb6054c5d107ca8c3f795a899154009d17d350f)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:32:59 +00:00
Shane Wang
ac08a35a07 libfontenc: upgrade to 1.1.1
(From OE-Core rev: fce9ed7b0fdf184d045b353f9e08015c55cef450)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:32:58 +00:00
Shane Wang
96c0a7bfde libXmu: upgrade to 1.1.1
The license change is:

--- libXmu-1.1.0/COPYING        2009-10-17 05:26:51.000000000 +0800
+++ libXmu-1.1.1/COPYING        2012-03-06 15:00:13.000000000 +0800
@@ -28,13 +28,13 @@

                         All Rights Reserved

-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
 provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
+both that copyright notice and this permission notice appear in
 supporting documentation, and that the name of Digital not be
 used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
+software without specific, written prior permission.

 DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL

(From OE-Core rev: a75b4604d79a8d8f9a38ffe347546da856cb4cc1)

Signed-off-by: Shane Wang <shane.wang@intel.com>
2012-03-21 15:32:40 +00:00
Shane Wang
bef3721bd7 libxt: upgrade to 1.1.2
(From OE-Core rev: b61972beebab8cef38d68aca11c0d960e601f744)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:31:55 +00:00
Shane Wang
04e49552e3 libXv: upgrade to 1.0.7
The license change is:

--- libXv-1.0.6/COPYING 2009-10-17 05:27:22.000000000 +0800
+++ libXv-1.0.7/COPYING 2012-03-08 13:25:45.000000000 +0800
@@ -3,13 +3,13 @@

                         All Rights Reserved

-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
 provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
+both that copyright notice and this permission notice appear in
 supporting documentation, and that the names of Digital or MIT not be
 used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
+software without specific, written prior permission.

 DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL

(From OE-Core rev: eb51eebe14e961e63ceb1673cb7e349c8281849b)

Signed-off-by: Shane Wang <shane.wang@intel.com>
2012-03-21 15:30:58 +00:00
Shane Wang
5eb8a94f43 libXext: upgrade to 1.3.1
The license change is:

--- libXext-1.3.0/COPYING       2010-11-22 03:24:13.000000000 +0800
+++ libXext-1.3.1/COPYING       2012-03-08 11:54:58.000000000 +0800
@@ -34,14 +34,14 @@
 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
-DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING,
-BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
+DIGITAL EQUIPMENT CORPORATION BE LIABLE FOR ANY CLAIM, DAMAGES, INCLUDING,
+BUT NOT LIMITED TO CONSEQUENTIAL OR INCIDENTAL DAMAGES, OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
 IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

-Except as contained in this notice, the name of Digital Equipment Corporation
+Except as contained in this notice, the name of Digital Equipment Corporation
 shall not be used in advertising or otherwise to promote the sale, use or other
-dealings in this Software without prior written authorization from Digital
+dealings in this Software without prior written authorization from Digital
 Equipment Corporation.

 Copyright (c) 1997 by Silicon Graphics Computer Systems, Inc.
@@ -81,7 +81,7 @@
 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NCD.
 BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
-OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

 Copyright 1991,1993 by Digital Equipment Corporation, Maynard, Massachusetts,
@@ -116,8 +116,8 @@
 advertising or publicity pertaining to distribution of the
 software without specific, written prior permission.

-Hewlett-Packard makes no representations about the
-suitability of this software for any purpose.  It is provided
+Hewlett-Packard makes no representations about the
+suitability of this software for any purpose.  It is provided
 "as is" without express or implied warranty.

 This software is not subject to any license of the American

(From OE-Core rev: 8e7750c68251fe1525ef01687e64b9c45161ccdd)

Signed-off-by: Shane Wang <shane.wang@intel.com>
2012-03-21 15:28:58 +00:00
Shane Wang
5b1a362362 libxpm: upgrade to 3.5.10
(From OE-Core rev: ff3807abd2d798e74e4b04d3739a9b41ff2f14ea)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:21:40 +00:00
Shane Wang
742e6d06e5 libXrender: upgrade to 0.9.7
The license change is:

--- libXrender-0.9.6/COPYING    2010-01-30 15:39:43.000000000 +0800
+++ libXrender-0.9.7/COPYING    2012-03-08 12:47:00.000000000 +0800
@@ -35,5 +35,5 @@
 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL SuSE
 BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
-OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
+OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
 CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

(From OE-Core rev: fd02e4a4c6774121d67559b09e4b03be42de983e)

Signed-off-by: Shane Wang <shane.wang@intel.com>
2012-03-21 15:21:15 +00:00
Shane Wang
ac1cf8e8e0 libXxf86vm: upgrade to 1.1.2
The license change is:

--- libXxf86vm-1.1.1/COPYING    2010-01-30 15:40:42.000000000 +0800
+++ libXxf86vm-1.1.2/COPYING    2012-03-08 13:39:59.000000000 +0800
@@ -14,12 +14,12 @@
 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-IN NO EVENT SHALL Kaleb S. KEITHLEY BE LIABLE FOR ANY CLAIM, DAMAGES
+IN NO EVENT SHALL Kaleb S. KEITHLEY BE LIABLE FOR ANY CLAIM, DAMAGES
 OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 OTHER DEALINGS IN THE SOFTWARE.

-Except as contained in this notice, the name of Kaleb S. KEITHLEY
-shall not be used in advertising or otherwise to promote the sale, use
+Except as contained in this notice, the name of Kaleb S. KEITHLEY
+shall not be used in advertising or otherwise to promote the sale, use
 or other dealings in this Software without prior written authorization
 from Kaleb S. KEITHLEY.

(From OE-Core rev: b5f1c7ddf30214a649d43dd0fa23160dc37792a6)

Signed-off-by: Shane Wang <shane.wang@intel.com>
2012-03-21 15:21:05 +00:00
Shane Wang
2a7e49a8e9 libxdmcp: upgrade to 1.1.1
(From OE-Core rev: e9b83f963c2989e1eecb5f5aa3051f7680ac2cee)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:19:40 +00:00
Shane Wang
87d4868a71 pixman: upgrade to 0.25.2
(From OE-Core rev: 3da2e126cfec31e89422242cb8fd87004b32e84f)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:19:40 +00:00
Shane Wang
dc7ab6e85e libice: upgrade to 1.0.8
(From OE-Core rev: 5ae0128ac4cd763e6d525834ba077944b1f03920)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 15:19:39 +00:00
Shane Wang
880739ebff libxkbfile: upgrade to 1.0.8
The license change is below (only removing a space in the end of each line):

--- libxkbfile-1.0.7/COPYING    2009-10-17 05:27:13.000000000 +0800
+++ libxkbfile-1.0.8/COPYING    2012-03-08 12:37:23.000000000 +0800
@@ -5,19 +5,19 @@
 fee is hereby granted, provided that the above copyright
 notice appear in all copies and that both that copyright
 notice and this permission notice appear in supporting
-documentation, and that the name of Silicon Graphics not be
-used in advertising or publicity pertaining to distribution
+documentation, and that the name of Silicon Graphics not be
+used in advertising or publicity pertaining to distribution
 of the software without specific prior written permission.
-Silicon Graphics makes no representation about the suitability
+Silicon Graphics makes no representation about the suitability
 of this software for any purpose. It is provided "as is"
 without any express or implied warranty.

-SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
-SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
+SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
 AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
-GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
-DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
-DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
+DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
+DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
 OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION  WITH
 THE USE OR PERFORMANCE OF THIS SOFTWARE.

@@ -48,13 +48,13 @@
 Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
                         All Rights Reserved

-Permission to use, copy, modify, and distribute this software and its
-documentation for any purpose and without fee is hereby granted,
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
 provided that the above copyright notice appear in all copies and that
-both that copyright notice and this permission notice appear in
+both that copyright notice and this permission notice appear in
 supporting documentation, and that the name of Digital not be
 used in advertising or publicity pertaining to distribution of the
-software without specific, written prior permission.
+software without specific, written prior permission.

 DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL

(From OE-Core rev: 5165e1b6fcbfcaabf0d22f8be4e08ee838b198ab)

Signed-off-by: Shane Wang <shane.wang@intel.com>
2012-03-21 15:18:36 +00:00
Shane Wang
278129950f libsm: upgrade to 1.2.1
The license change is because:

--- libsm-1_1.2.0-r1/libSM-1.2.0/COPYING        2010-01-15 12:59:55.000000000 +0800
+++ libsm-1_1.2.1-r0/libSM-1.2.1/COPYING        2012-03-03 12:53:55.000000000 +0800
@@ -1,4 +1,4 @@
-Copyright 2002 Sun Microsystems, Inc.  All rights reserved.
+Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.

 Permission is hereby granted, free of charge, to any person obtaining a
 copy of this software and associated documentation files (the "Software"),
@@ -19,6 +19,7 @@
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 DEALINGS IN THE SOFTWARE.

+
 Copyright 1993, 1998  The Open Group

 Permission to use, copy, modify, distribute, and sell this software and its

(From OE-Core rev: 27fbb481e1b39ce5cfdecf19bb434be096392e72)

Signed-off-by: Shane Wang <shane.wang@intel.com>
2012-03-21 15:17:21 +00:00
Shane Wang
a440440363 libxinerama: upgrade to 1.1.2
(From OE-Core rev: a018782f307265da602e24c6303f48c4c2fc4e78)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:47 +00:00
Shane Wang
fcb6719ac5 libxcursor: upgrade to 1.1.13
(From OE-Core rev: 8ec0242632cc1ec66434b842ac0dd38b58d2ba49)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:46 +00:00
Shane Wang
4ae214c69f util-macros: upgrade to 1.17
(From OE-Core rev: 5c7da2d3599dc7a9e2aa6f015e256af4662a9c24)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:46 +00:00
Shane Wang
e8a238f3e0 tzdata: upgrade to 2012b
(From OE-Core rev: fe25af6ba39a0bf0227d5c3977a74ee0329dc95e)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:46 +00:00
Shane Wang
fbf503aa9f minicom: upgrade to 2.6.1
(From OE-Core rev: 2ac64d0c351c63068a91fec5d73d848cfde8d173)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:45 +00:00
Shane Wang
87f284f70d apr: upgrade to 1.4.6
(From OE-Core rev: f79819fe3d78c1da74753174efbc2fb2b1239da0)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:45 +00:00
Shane Wang
5f83df6da1 dropbear: upgrade to 2012.55
(From OE-Core rev: 1804020514f122a3b3825c627e8eb51017425bbb)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:45 +00:00
Shane Wang
dba0656c1b curl: upgrade to 7.24.0
(From OE-Core rev: ade51262effbf809c23bcf879ba43b7945e459ff)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:45 +00:00
Shane Wang
b52bd42b63 busybox: upgrade to 1.19.4
Removing the patch busybox-1.19.3-getty.patch is because it is already in the upstream.

(From OE-Core rev: f03f8eac4c72be0f16468ebd0ee4dd1f07b0563b)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:44 +00:00
Shane Wang
e556d90ca0 libpcap: upgrade to 1.2.1
(From OE-Core rev: 98b9c17f2c236e1a23d9c74d93cb693b4d7b4d61)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:44 +00:00
Shane Wang
52365cc45f gst-plugins-ugly: upgrade to 0.10.19
(From OE-Core rev: b42e6dbd4c3a780fd9221097b1719a1d62ce4284)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:44 +00:00
Shane Wang
de0e3e5003 gst-plugins-bad: upgrade to 0.10.23
(From OE-Core rev: 42159daa98d17b301c1f64ef61c30c5fbd2a1f4c)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:44 +00:00
Saul Wold
a25a6c6b58 gst-plugins-good: Fix packaging
WARNING: For recipe gst-plugins-base, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/share/gst-plugins-base
WARNING:   /usr/share/gst-plugins-base/license-translations.dict

(From OE-Core rev: 29e37e599fedb355000f532a1607a92ebb3e275f)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:43 +00:00
Shane Wang
fc44b2f181 gst-plugins-good: upgrade to 0.10.31
(From OE-Core rev: a28f20abe0457789b2bb3034635e41e0b2bbdba2)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:43 +00:00
Shane Wang
761b3c37d7 gst-plugins-base: upgrade to 0.10.36
(From OE-Core rev: 10c24f924f46784f91f1113aca6e18838aada0fd)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:43 +00:00
Shane Wang
7fffe07cfa gstreamer: upgrade to 0.10.36
(From OE-Core rev: f19fe90ef79f1311e38eaca7dfe7e5578139069f)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:43 +00:00
Saul Wold
1b083f36fa gst-plugin-bluetooth: Fix package warnings
WARNING: For recipe gst-plugin-bluetooth, the following files/directories were installed but not shipped in any package:
WARNING:   /var
WARNING:   /usr/lib/bluetooth
WARNING:   /usr/lib/bluetooth/plugins
WARNING:   /usr/lib/alsa-lib/libasound_module_pcm_bluetooth.so
WARNING:   /usr/lib/alsa-lib/libasound_module_ctl_bluetooth.so
WARNING:   /usr/lib/alsa-lib/libasound_module_ctl_bluetooth.la
WARNING:   /usr/lib/alsa-lib/libasound_module_pcm_bluetooth.la
WARNING:   /usr/share/alsa
WARNING:   /usr/share/alsa/bluetooth.conf
WARNING:   /var/lib
WARNING:   /var/lib/bluetooth

These are removed because they are packages in the bluez4 package

(From OE-Core rev: eae2b9c21e9d57ad192eeded4301b548f7e3d5b5)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:42 +00:00
Shane Wang
82df422ccd gst-plugin-bluetooth: upgrade to 4.99
(From OE-Core rev: ad9cdcffa219e2c185f0e40f50d44f63ed521c9c)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:42 +00:00
Shane Wang
24c233d8fd bluez-hcidump: upgrade to 2.3
(From OE-Core rev: b96700e2d788624248ef72d49da4296d6c58808e)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:42 +00:00
Shane Wang
11897a9300 bluez4: upgrade to 4.99
(From OE-Core rev: fac7863c0f00b442283689e27fae153ccf5428b0)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:42 +00:00
Shane Wang
987d53f5be ofono: upgrade to 1.5
(From OE-Core rev: 5624201471f9d3fb7c6d9858a40f63dd88354f94)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:41 +00:00
Saul Wold
7e1c71a3b0 telepathy-mission-control: fix package warnings
WARNING: For recipe telepathy-mission-control, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/share/glib-2.0
WARNING:   /usr/share/glib-2.0/schemas
WARNING:   /usr/share/glib-2.0/schemas/im.telepathy.MissionControl.FromEmpathy.gschema.xml
(From OE-Core rev: 9a63238fe3802f3b9e94f90bb092c24cf20a40a5)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:41 +00:00
Shane Wang
44d6487f19 telepathy-mission-control: upgrade to 5.11.0
(From OE-Core rev: dfa9defe54d35e309e0a2a47076692c775488c7b)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:41 +00:00
Shane Wang
fc876faa1c telepathy-glib: upgrade to 0.17.5
(From OE-Core rev: f0481bcc1866c9ead0febd7b7c8355e8416bb2c4)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:40 +00:00
Shane Wang
9cb35be509 tremor: upgrade to 18221
(From OE-Core rev: 2ef8cfa58d0bfca1b9bf6a204ae4a05d6e3af03f)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:40 +00:00
Shane Wang
704284ee0f libvorbis: upgrade to 1.3.3
(From OE-Core rev: 5205af02970fbbf7c2f9b945f38685e0ef283d6a)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:40 +00:00
Shane Wang
14df794d21 glproto: update its info in distro tracking
(From OE-Core rev: 8631db2811a2d51a76a1d76ace425c55fc1858ac)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:40 +00:00
Shane Wang
6e5446cda6 gdk-pixbuf: upgrade to 2.24.1
(From OE-Core rev: a9c128897e7fa496cf8f297819b64bdc7b8c319c)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:39 +00:00
Dongxiao Xu
9963fdb3d1 dbus-glib: upgrade to 0.98
(From OE-Core rev: 4634aa0fabb9646ba61597cb81f74a242144cd14)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:39 +00:00
Shane Wang
3510a59183 glib-2.0: upgrade to 2.30.3
(From OE-Core rev: 19e041720699776c58280d07d5bf5f18246a42d9)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-21 13:03:39 +00:00
Lauri Hintsala
224ff370b4 xserver-kdrive: compile xserver without dtrace support
Cross compiling of xserver-kdrive fails if dtrace is enabled. Configure
script enables dtrace automatically if dtrace binary exists. xserver-kdrive
compiling was failed if systemtap package was builded beforehand because
systemtap provides dtrace binary.

(From OE-Core rev: 5d404fdb36b0535ce758d98408b02134cdbce4ee)

Signed-off-by: Lauri Hintsala <lauri.hintsala@bluegiga.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-20 15:21:39 +00:00
Lianhao Lu
17d42a4682 sysvinit-inittab: Fixed license warning.
WARNING: .../sysvinit-inittab-2.88dsf-r6/sysvinit-2.88dsf/COPYING could
not be copied for some reason. It may not exist. WARN for now.

(From OE-Core rev: 85e4d0c4bb024a67b61afb0f0fedfb15d6aa0d18)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-20 15:21:38 +00:00
Dongxiao Xu
5b09f2c25c Hob: save CONF_VERSION and LCONF_VERSION into template
To pass the sanity check, we need to define CONF_VERSION and
LCONF_VERSION in local.conf and bblayers.conf.

[YOCTO #2119]

(Bitbake rev: d595960fea0988df9004d927bc2ec3439540dd9c)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-20 15:21:37 +00:00
Dongxiao Xu
d03856c611 Hob: Fix advanced setting reparse mechanism
When judging if reparse is needed when change values in advanced
setting, we need also include user's own defined variable pairs.

[YOCTO #2121]

(Bitbake rev: db4b78798e2280736ddce9f54d25cbcdcb779d0a)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-20 15:21:37 +00:00
Dongxiao Xu
34b0f7ac3d Hob: reset the selection if switch to a new base image
(Bitbake rev: 947f1a3cb7ca81608fd04b7a5d7ced5f4da47d05)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-20 15:21:36 +00:00
Richard Purdie
8a2f86ad90 utils: Add split_version function for splitting a version into its components
(Bitbake rev: b7b7c768761d205bc5a60922ff709c9c184d4158)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-20 15:21:36 +00:00
Joshua Lock
d8b3caa085 ui/crumbs/persistenttooltip: try to reflect WM close button position
When the user is running a desktop where the close button is on the left we
try to detect that and position the tooltip close button appropriately.
Where we can't easily determine this we default to placing the close button
on the right.

Tested on Ubuntu/Unity and Fedora/Gnome Shell.

(Bitbake rev: 09147098a63c33dc05dc39b7fe4da4df8e2dbd4c)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-20 15:21:36 +00:00
Joshua Lock
854f3a521a ui/crumbs/hobpage: no need to force a Toolbar button type
This uses a more concise API that will be more flexible whent he Toolbar
style is updated to match the visual design.

(Bitbake rev: 6491b5fd877d6006ebc91e0c73d443a6e7626f3f)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-20 15:21:36 +00:00
Joshua Lock
740bd44c5a ui/crumbs: remove unused return value from append_toolbar_button
No caller of the method uses the returned toolbar variable

(Bitbake rev: 77ed4bb3468d5d256f08329fd307df5a219ae242)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-20 15:21:35 +00:00
Joshua Lock
1aa102b39e ui/crumbs/hig: use close rather than OK for dismis button
Dialogue buttons should have descriptive names

(Bitbake rev: 7b28ed7dfa59d9e7cec662159113a03633f8bb36)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-20 15:21:35 +00:00
Liming An
f1c35a6ad3 Hob: fixed the tabbar search entry retaining focus when user has clicked off it issue
Add reset focus code to fixed the search entry retaining focus issue

(From Poky rev: 75969f92af4b0aae25dcaa3321f835dd729f4bf9)

(Bitbake rev: 0531730b255f41b2804bcd322e10c52cbf13537a)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-20 15:21:35 +00:00
Liming An
89a5428cc1 Hob: fix static variable "self.search" to parameter "search" in signal callback function
To fix the signal callback function code, and make the temp parameter to replaced the static global variable, as required.

(From Poky rev: a95b61d48bf92948ff5a21896e71ed3cb323ab38)

(Bitbake rev: 76f63e70c7b2d6291f8b11bc5baebda510a276d7)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-20 15:21:35 +00:00
Liming An
2abdbaa150 Hob: change HobNoteBook tab edge color from green to gray
To change the notebook tab pressed edge color from green to gray.

(From Poky rev: 8e454749e7f535cf43544eeb167c90632e89cfb0)

(Bitbake rev: 8e4e868e6183fbd52fa455937bb824a52ef15ab5)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-20 15:21:34 +00:00
Liming An
74c00988be Hob: add auto adjust background area function for long issue text
To add auto expand the background area function for long issue text input.

(From Poky rev: f1822f0961bd719de0827e361f7e6fa3bf872746)

(Bitbake rev: f406b0a11b021f8492ed0b083d9ff89de4a14653)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-20 15:21:34 +00:00
Liming An
5e0461c0e0 Hob: Fixed the hobwidget code and make it like a pythonista
fixed the 'for..in..' range dance code, and use the 'iterator' approach to replaced the index for quote the 'children' list

(From Poky rev: 74e7286a4e875eda5e8abeb5db1015031d21c35f)

(Bitbake rev: 3dc443663b97515a54b70c9047a9b22c6b8a0c14)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-20 15:21:34 +00:00
Liming An
4dc552a216 Hob: remove the invalid code in hobwidget.py
To delete some code which is not used

(From Poky rev: a8f5a72d36e9a55ec7a2296e1c9623e177a95a74)

(Bitbake rev: 27e77f6c196e313b5b941238e54b74fc746a0230)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-20 15:21:34 +00:00
Shane Wang
491c87d167 Hob: fix '!= None' and '== None' in the code
This patch is to fix the following:

if foo != None -----> if foo
if foo == None -----> if not foo

(From Poky rev: d771343b1726f166ed8d75543ba68bd2a20aee7b)

(Bitbake rev: 23c140a4d00293d922cbd34b6b837493cac2e93a)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-20 15:21:33 +00:00
Shane Wang
9ecdbc377c Hob: change the code style to enumerate a list in a for-loop
We use the more common style to enumerate a list in a for-loop
(http://docs.python.org/library/functions.html#enumerate), that is:

try to use
for item in mylist,

and try to use
for i, item in enumerate(list)
rather than
for i in range(len(mylist))

(From Poky rev: 33c21bc60bd1542f81d33c328f116dec424728cd)

(Bitbake rev: 9b168239a5d9693573438eb6514938b81de85af3)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-20 15:21:33 +00:00
Shane Wang
dab638e150 Hob: show indicators on the tabs of the Hob notebook
This patch is to show the indicators (e.g., the number of the issues) in the build details page to highlight.

(From Poky rev: 2e08a8e6818b8f1df7eaac499ebc3a5854efe7be)

(Bitbake rev: f2eead1bc20c48b2f36e880a879a5a50e6e6567b)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-20 15:21:33 +00:00
Shane Wang
c4017bc518 Hob: use HobNotebook to implement a notebook in build details page
This patch is to use HobNotebook we defined to implement the notebook in the build details page.

(From Poky rev: 792c5eb29cf44d9ef559ae59802327fb1bb2cb3c)

(Bitbake rev: d51ad20aa00f2af6c7174910b31523fff0e5a639)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-20 15:21:33 +00:00
Shane Wang
88bbc0ce56 Hob: implement a self-defined notebook visual component for Hob
In recipe selection page, package selection page, and build details page, etc, there is a notebook component which is not gtk.Notebook in the design video.
We implement the visual component with a drawing area, and use it to replace the old notebook in recipe selection page and package selection page. The reasons why we do it are:

1) General speaking, gtk.Notebook doesn't look like the designer worked out. (see https://wiki.yoctoproject.org/wiki/File:Hob1.2-screencast2.mov)
2) And the designer version looks better, for example, there is an indicator to show how many recipes or packages are included, and how many issues happened when building? Very straightforward.
But technically, gtk.Notebook can't implement that, as far as we know.
3) Moreover, there is an entry for "search recipes", and "search packages". How to make it horizontal to the tabs is a problem to us.

Regarding those, we give up gtk.Notebook and use our own.

(From Poky rev: e4ebac226cc5e4589bcecd8bada9fde462e925cc)

(Bitbake rev: b0c2ca3f600694c6d37924006de3f9474b2a9a8e)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-20 15:21:32 +00:00
Robert P. J. Day
8b206d38c7 Typo: "nonexistant" -> "non-existent"
(Bitbake rev: c4c8df0e1e77f99f3ee0b07e1748116fc362819f)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-20 15:21:32 +00:00
Eric Bénard
30ff27a71b runningbuild.py: fix goggle ui
* goggle ui actually fails with :
Traceback (most recent call last):
  File ".../bitbake/lib/bb/ui/goggle.py", line 35, in event_handle_idle_func
    build.handle_event (event, pbar)
  File ".../bitbake/lib/bb/ui/crumbs/runningbuild.py", line 234, in handle_event
    pbar.update(0, None, bb.event.getName(event))
TypeError: update() takes exactly 3 arguments (4 given)

(Bitbake rev: 815c113120b73331ecf32d6f57bc034f379bed43)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-20 15:21:32 +00:00
Paul Eggleton
30e35fa094 bitbake-layers: fix traceback in show-overlayed with nothing overlayed
There is no logger.note, use logger.plain instead (which is what we
really want here anyway.)

(Bitbake rev: c4f7fd708c48d4323db4bbeb3074f576f5be7aa2)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-20 15:21:32 +00:00
Tom Zanussi
fd3514f35a blktrace: update to version 1.0.5
Update blktrace to reflect the newer 1.0.5 tag.

(From OE-Core rev: c981fa4fad8a457882293157b7bdca05aad5a778)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 20:28:48 +00:00
Ciprian Ciubotariu
0e471166ca qt-mobility: fix build in the absence of opengl
QMake pro files don't explicitly define QT_NO_OPENGL if the
configuration lacks opengl, but example code relies on this define.

[rebased to current code - sgw]

(From OE-Core rev: 4ca9ecbdd60f99101b0f6d9fadeb431b3790010a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 20:28:47 +00:00
Enric Balletbo i Serra
b3311a2cd6 alsa-utils: move ${datadir}/init files to alsactl package.
The alsa-utils-speakertest contains some files from ${datadir} directory
that are not correct, the files from  ${datadir}/init directory should
be included in alsa-utils-alsactl package instead.

This patch moves the ${datadir}/init files to alsactl package and fixes
following error at boot stage:

  /usr/sbin/alsactl: parse:1655: Unable to open file '/usr/share/alsa/init/00main': No such file or directory

(From OE-Core rev: fc6f49e283423b3ad25b1e7463fdf4e73a8a1f35)

Signed-off-by: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 20:28:47 +00:00
Otavio Salvador
2082a205f2 package_rpm.bbclass: fix bashims at rpm_common_comand() method
(From OE-Core rev: 43d48d60613418acbaf671c7e8c6cd7d1f6b176b)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Cc: Daiane Angolini <daiane.angolini@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 20:28:47 +00:00
Dongxiao Xu
3ced64d7b6 bitbake.conf: Exclude some variables when calculating cache hash
Some variables are not needed when calculating cache's hash, this
commit removes them.

(From OE-Core rev: d5cc38264dc4b0f220db541f94be6219fd2d91f9)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 20:28:47 +00:00
Robert Yang
5b67d645e3 native.bbclass: make TOOLCHAIN_OPTIONS empty
The native pkg doesn't need the TOOLCHAIN_OPTIONS, but it maybe used by
native pkgs, for example, the cmake.bbclass uses TOOLCHAIN_OPTIONS:

OECMAKE_C_FLAGS ?= "${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} ${CPPFLAGS}"

and TOOLCHAIN_OPTIONS is:
TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR_TARGET}"

If a native pkg inherits cmake.bbclass, then:
TOOLCHAIN_OPTIONS = " --sysroot="

and OECMAKE_C_FLAGS would be:
${HOST_CC_ARCH} --sysroot= ${CPPFLAGS}

This would cause unexpected errors, I think that we can make
TOOLCHAIN_OPTIONS empty in native.bbclass since native pkg doesn't need
it.

[YOCTO #2124]

(From OE-Core rev: e5555c743a9637f86a0a2c4c45a63a80838e81ae)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 20:28:46 +00:00
Richard Purdie
5bc142ac6c gdk-pixbuf: Disable xlib library since we don't have anything needing this as yet and no libx11 DEPENDS
This is currently causing builds not to be deterministic.

(From OE-Core rev: 2569711868dac01a0bf4bdfb3484b239862143dc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 20:28:46 +00:00
Richard Purdie
78f91f09e7 apt: Fix parallel make race
I was just going to turn off parallel make but ended up fixing this properly.

(From OE-Core rev: dcad44962fc78741020584edced0526866d09b53)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 20:28:46 +00:00
Robert P. J. Day
46b7131052 Simple typo in qemuarm.conf file: "versaile" -> "versatile"
(From OE-Core rev: 4667f571e334b95716c3247e59742733c48de644)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 20:28:46 +00:00
Bruce Ashfield
da07197040 lttng-modules: fix compliation error with 3.2.x -stable kernels
recent -stable kernels have their own fallback definition of is_compat_task

   #define is_compat_task() (0)

To protect against this double definition of is_compat_task we can check
to see if it is already defined, and skip the lttng variant.

(From OE-Core rev: 53db58982b7af59d75fc11b73475e9d71e6927ac)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 20:28:45 +00:00
Richard Purdie
a9873f12e5 pigz: Ensure DEPENDS on zlib exists for native and target versions
This avoids a build failure for the target version when zlib hasn't built yet.

(From OE-Core rev: 3b0a69a99a3a56aa88d69c9288b17a38fa9956b8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:46 +00:00
Richard Purdie
99b1c63964 default-providers: Set pigz-native as the default provider for gzip-native
(From OE-Core rev: 56cbae8500284af309759099a75b35379a5f962c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:46 +00:00
Shane Wang
c17b692de6 distro_tracking: update the recipe info for manual check
(From OE-Core rev: 2ca0ab2677fa61979d158dc1c28078c1d1cdb9c4)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:46 +00:00
Nitin A Kamble
c5b4b66007 distro-tracking: update status of recipes
(From OE-Core rev: 867c0bf87431f37f0dfecfeb5300f2328a137717)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:45 +00:00
Scott Garman
76bd4374b5 distro_tracking: update sudo, at, base-passwd
(From OE-Core rev: 9783ed3d5cc0c7e50ec9a19a4ea65170c9480cfd)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:45 +00:00
Scott Garman
2a7afb661a base-passwd: upgrade to 3.5.24
Includes minor formatting cleanups.

(From OE-Core rev: 5c0be0af8090839588c04ffdba8fd5d75321126c)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:45 +00:00
Scott Garman
35c4c79fa4 at: upgrade to 3.1.13
Moved patches into a common directory.
Added SOB to use-ldflags.patch.
Removed nonstripbinaries patch which was included in this release.
Minor formatting cleanups.

(From OE-Core rev: 768eb8e8590e3b9cc033d8544a01ae34d3ed16b1)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:45 +00:00
Scott Garman
c5d196063d sudo: upgrade to 1.8.4p4
(From OE-Core rev: 4bdd31625ba9d4f9f0e9dc7775ad650d53dd221a)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:44 +00:00
Saul Wold
b4ee8b1954 lttng-modules: Fix setting of KERNEL_DIR
(From OE-Core rev: 704d1f9ccee541bd448381029718776e3dead218)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:44 +00:00
Saul Wold
1104171c84 slang: fix typo in rpathfix.patch
(From OE-Core rev: b57bc6c8be06bf05b30f35c81e28828013e9fb2d)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:44 +00:00
Saul Wold
aa52518202 ghostscript: fix typo in packaging
(From OE-Core rev: 410784aa6ed80a26d1f2cff1219548909af87cff)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:44 +00:00
Saul Wold
8b0b2d9b24 gnome-desktop: fix package warnings
WARNING: For recipe gnome-desktop, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/share/libgnome-desktop
WARNING:   /usr/share/libgnome-desktop/pnp.ids
(From OE-Core rev: 490d4ffa91004e94143d35538dce7b815f4dee52)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:43 +00:00
Saul Wold
6268c9ee0e make 3.81: add GPLv2 version
(From OE-Core rev: 18fdce9ac2ec51c0c136d1cbc1f4fb5d05c23d33)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:43 +00:00
Saul Wold
7b6e4fe696 make: Add toplevel COPYING File and move BBCLASSEXTEND
BBCLASSEXTEND is moved so that bitbake can use the most recent make
instead of the older version when GPLv3 is set as an INCOMPATIBLE_LICENSE

(From OE-Core rev: 86de6c76e7aeaadb1f4660a5662fbfde96783a93)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:43 +00:00
Saul Wold
02c2f51af9 mktemp: fix packaging warnings
WARNING: For recipe mktemp, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/bin
(From OE-Core rev: 278e840e15c09719765edcc57351427fa704968b)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:42 +00:00
Paul Eggleton
4c26382397 qt4: add RPROVIDES/RREPLACES for qmake2 recipe
OE-Classic and meta-oe provide a qmake2 recipe; since this has been
obsoleted by the recent change to provide qmake within the tools package
and (in the latter case) will soon be removed, add an RREPLACES to aid
upgrades and RPROVIDES to make it easy to install.

(From OE-Core rev: 9ba01c3b7ce3d9f822e1cc08cd032e019a15180f)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:42 +00:00
Paul Eggleton
d3c6832e32 iproute2: fix unpackaged files warning
Fixes the following warnings:
WARNING: For recipe iproute2, the following files/directories were installed but not shipped in any package:
WARNING:   /lib
WARNING:   /lib/tc

(From OE-Core rev: e447c5dcbab8a765d7c35558a240fff17fcc7ea4)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:42 +00:00
Paul Eggleton
fc4439b309 buildhistory: avoid reruns of do_package
Avoid triggering a rerun of all do_package* tasks when OEBasicHash
signature generator is being used and the buildhistory package code or
any of the package related variables change.

Note that adding and removing INHERIT of buildhistory will still force
this rebuild - use the newly added BUILDHISTORY_FEATURES variable to
enable and disable buildhistory instead in order to avoid this.

(From OE-Core rev: 71b41cf7bc81a2767f379f16a408466130ad6523)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:41 +00:00
Paul Eggleton
ee8153e114 buildhistory: allow disabling image and/or package history
Add a BUILDHISTORY_FEATURES variable which can be set to "" to disable
buildhistory with the class still inherited.

BUILDHISTORY_FEATURES by default contains two items - image and package.
You can use these to disable the image and package history functions
individually - this is particularly useful if you want to get the image
contents and dependency graphs but don't need the package history.

Additionally, ensure we quit shell procedures gracefully by using return
instead of exit.

(From OE-Core rev: dd6a521045d5538a8ebf6775899d5e1319bea427)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:41 +00:00
Paul Eggleton
32483f0562 buildhistory_analysis: fix duplicate PE/PV/PR in related fields
Since PE, PV and PR appear in both the recipe history and package
history files these were showing up twice when they were added as
related fields to monitored changes. Only add them when the path is
exactly the same.

(From OE-Core rev: 406d025a15ff15a2edf39f00e0ea4e6b821b224a)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:41 +00:00
Paul Eggleton
c569fcee08 classes/image: avoid cp race condition when building multiple images
Avoid a race condition when building multiple images by ignoring a
failure to copy the README_-_DO_NOT_DELETE_FILES_IN_THIS_DIRECTORY.txt
to DEPLOY_DIR_IMAGE.

(From OE-Core rev: 5a321f5840d4ed813e2a768871b33eff433d748c)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:41 +00:00
Nitin A Kamble
49f05afa7f git: fix packaging warnings
This commits fixes these packaging warnings
 WARNING: For recipe git, the following files/directories were installed
but not shipped in any package:
 WARNING:   /usr/lib/perl-native
 WARNING:   /usr/lib/perl-native/perl
 WARNING:   /usr/lib/perl-native/perl/5.14.2
 WARNING:   /usr/lib/perl-native/perl/5.14.2/Git.pm
 WARNING:   /usr/lib/perl-native/perl/5.14.2/perllocal.pod
 WARNING:   /usr/lib/perl-native/perl/5.14.2/auto
 WARNING:   /usr/lib/perl-native/perl/5.14.2/auto/Git
 WARNING:   /usr/lib/perl-native/perl/5.14.2/auto/Git/.packlist

PR not bumped because no change in the output packages.

(From OE-Core rev: b2dcb79c8c713ffb25d49a355fdb1bfa97d3c10d)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:40 +00:00
Nitin A Kamble
4fa8a67aa7 python-pycurl: fix packaging warnings
This commit fixes these packaging warnings:
 WARNING: For recipe python-pycurl, the following files/directories were
installed but not shipped in any package:
 WARNING:   /usr/share/share

PR not bumber because no change in the output packages.

(From OE-Core rev: 4b646d9e9076137e33b7541d249c1dd6351cc62c)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:40 +00:00
Nitin A Kamble
007ff7b5d3 python-pyrex: quite packaging warnings
This removes these packaging warnings:
WARNING: For recipe python-pyrex, the following files/directories were
installed but not shipped in any package:
WARNING:   /usr/share
WARNING:   /usr/share/lib
WARNING:   /usr/share/lib/python2.7
WARNING:   /usr/share/lib/python2.7/site-packages
WARNING:   /usr/share/lib/python2.7/site-packages/Pyrex
WARNING:   /usr/share/lib/python2.7/site-packages/Pyrex/Compiler
WARNING:   /usr/share/lib/python2.7/site-packages/Pyrex/Compiler/Lexicon.pickle

(From OE-Core rev: b2703365734b8d1d0c55ca48b20205c1623b9648)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:40 +00:00
Nitin A Kamble
ba53417256 pciutils: fix a do_compile failure
Avoid this issue:

| ln -s libpci.so.3.1.9 libpci.so
| ln: failed to create symbolic link `libpci.so': File exists
| make[1]: *** [libpci.so] Error 1
| make[1]: Leaving directory `/srv/home/nitin/builds/build-multilib/tmp/work/x86_64-poky-linux/pciutils-3.1.9-r0/pciutils-3.1.9/lib'
| make: *** [lib/libpci.so] Error 2
| ERROR: oe_runmake failed
NOTE: package pciutils-3.1.9-r0: task do_compile: Failed

PR not bumped as there are no changes in the output packages.

(From OE-Core rev: b1ce043d46f7465daf320d80ddd0db0b69def917)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:39 +00:00
Nitin A Kamble
acc1b66677 python: fix install when libdir is not "lib"
This commit fixes python's install issue of not finding the
native pythong binray modules.

(From OE-Core rev: bf52e32e09423056c8c78760db22ca7497ec357d)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:39 +00:00
Saul Wold
f93c98ecd6 gawk: fix packaging warnings
WARNING: For recipe gawk, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/bin/dgawk
WARNING:   /usr/bin/awk
(From OE-Core rev: 0b3f43c81bea71a5e8c240aba8d97999fcf560ab)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:39 +00:00
Zhai Edwin
7161e47fd1 qemugl: Hide some GLX extensions by default
Exporting these extensions make guest call some missing GLX API then crash.
It's hacky to implement these APIs, so hide these extensions as fix.

[YOCTO #1927] got fixed

(From OE-Core rev: a9e4b94f799e41a2b06f833a8b411ebee3939430)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:38 +00:00
Bruce Ashfield
fcc7e80676 linux-yocto/3.0: update to v3.0.24
Updating the meta and machine branches to the latest 3.0 -stable
release.

To see the full changelog: git log v3.0.23..v3.0.24

(From OE-Core rev: 7ed5780cbae6b60adeb56d4d3deb0b82c2dfec70)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:38 +00:00
Bruce Ashfield
81125c7220 linux-yocto/3.2: update to v3.2.11
Updating the 3.2 meta and board branches to the latest 3.2-stable
update.

(From OE-Core rev: 5de1757cc139565b02c6c56b4aa78a2401b42aa9)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:37 +00:00
Bruce Ashfield
b5ed167161 linux-yocto/3.2: update fri2 configuration
Bumping the meta SRCREV to pickup the following change

    fri2: Update fri2.cfg for hardware specific support

    The FRI2 does not require R8169 or PATA support. It does not need SFF
    or GENERIC ATA options either.

    The FRI2 does require IEEE802154 (Zigbee), BT (Bluetooth), and IWLWIFI.
    The latter is compiled as a module to avoid the need for an initrd
    containing the firmware blobs.

(From OE-Core rev: 97c21129819ee7a3091757879cd2f0b8133f12e7)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:37 +00:00
Bruce Ashfield
a02751a3a9 linux-yocto/3.0: update meta SRCREV
Bumping the meta branch for two changes:

  cac43c1 fri2: Update fri2.cfg for hardware specific support
  892bd13 meta: Create scc file for pvr merge

(From OE-Core rev: 8d1ed5e42358bd33442a6038a9f3931c827bdf94)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:37 +00:00
Robert Yang
969bdb81a9 upgrade logrotate: update the distro_tracking_fields.inc
update the distro_tracking_fields.inc.

(From OE-Core rev: 0de72bbffc373d9a24d9bba468a3ed2d48d05020)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:36 +00:00
Robert Yang
7f33f59c7a upgrade logrotate: update the recipe
update the recipe:
ogrotate_3.7.9.bb -> logrotate_3.8.1.bb

(From OE-Core rev: 9dc1a8c793e1908032be0f0ea3b3f0832b1bf5aa)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:36 +00:00
Robert Yang
a163d2168f upgrade logrotate: split the old patch into 3
Split the old patch into 3 during upgrading, this makes it easier for
the future's upgrade.

(From OE-Core rev: 2ec5f1eab1f3d2eeff9f3984654a3fb4d87679e7)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:36 +00:00
Björn Stenberg
3f23b2f1b0 Add pigz as gzip-native alternative.
pigz, which stands for parallel implementation of gzip, is a fully functional replacement for gzip that exploits multiple processors and multiple cores to the hilt when compressing data. pigz was written by Mark Adler, and uses the zlib and pthread libraries.

This recipe adds pigz as an alternative gzip-native implementation only.

(From OE-Core rev: fe5f165c775ccef36a251bb83ca5dadbd209e355)

Signed-off-by: Björn Stenberg <bjst@enea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-19 14:37:35 +00:00
Gary Thomas
26a46938d3 bitbake/fetch2: Fix typo which broke use of tarballs
(Bitbake rev: 5a1e62a8cdd4f0253b0dc59046b3b4c3186af461)

Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 23:44:23 +00:00
Richard Purdie
0676db7975 tcl: Fix bad RPATH QA warning
WARNING: QA Issue: tcl-lib: /work/i586-poky-linux/tcl-8.5.11-r4/packages-split/tcl-lib/usr/lib/libtcl8.5.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: tcl: /work/i586-poky-linux/tcl-8.5.11-r4/packages-split/tcl/usr/bin/tclsh contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: tcl: /work/i586-poky-linux/tcl-8.5.11-r4/packages-split/tcl/usr/bin/tclsh8.5 contains probably-redundant RPATH /usr/lib

(From OE-Core rev: efd80fd23cb96ccc203893017938c1163d20b898)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 16:47:44 +00:00
Richard Purdie
c66786e0b6 wget: Fix bad RPATH QA warning
WARNING: QA Issue: package wget contains bad RPATH /media/build1/poky/build/tmp/sysroots/qemux86/lib in file /media/build1/poky/build/tmp/work/i586-poky-linux/wget-1.13.4-r13.1/packages-split/wget/usr/bin/wget.wget

(From OE-Core rev: ee9ee5be2ce21d63306de887e97037942f0dfdf0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 16:47:44 +00:00
Richard Purdie
0fb60051c4 foomatic-filters: Ensure cups and ppr files are packaged
(From OE-Core rev: c02446dee5429b61a8764f5927e6b4aa93930e54)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 16:47:44 +00:00
Richard Purdie
5ed180ee3b cups: Ensure cups-config has correct target paths, not sysroot ones for cups_serverbin and cups_datadir variables
These are used by dependent packages to know where to install cups related
pieces into therefore we need to remove the sysroot prefix from these.

(From OE-Core rev: edb8eb566968d386f6995b95d54bc7c25a50b02a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 16:47:44 +00:00
Richard Purdie
1871ec8d01 sed: Fix unpackaged files warnings
WARNING: For recipe sed, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/bin

(From OE-Core rev: 93ba71e53d3295e35ef3a1c424d0a348a66c2f22)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 16:47:44 +00:00
Richard Purdie
59313f2b7c cpio: Fix unpackaged files warnings
WARNING: For recipe cpio, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/bin

(From OE-Core rev: da88ac4b30a367641451167868bd8fc48010f646)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 16:47:43 +00:00
Richard Purdie
a7cd1421cb unzip: Fix unpackaged files warnings
WARNING: For recipe unzip, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/man

(From OE-Core rev: c07c236056ef5b2fe462c3025ac41bd618a62542)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 16:47:43 +00:00
Richard Purdie
61f50d8840 tar: Fix unpackaged files warnings
WARNING: For recipe tar, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/sbin
WARNING:   /usr/bin

(From OE-Core rev: bc63db7bc7dda759ee95ccef37f2ceb257c83777)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 16:47:43 +00:00
Richard Purdie
b6154d4f17 directfb: Fix RPATH warnings
Fix configure not to remove variables which trigger the unneccessary rpaths to get
encoded. Also take the opportunity to clean up the patches directory.

WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfblayer contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbmaster contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/mkdgifft contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbdump contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbinput contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbfx contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbscreen contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/mkdgiff contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbinspector contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/mkdfiff contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbinfo contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbpenmount contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/bin/dfbg contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libfusion-1.4.so.6 contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libdirectfb-1.4.so.6.0.9 contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libdirectfb-1.4.so.6 contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/libfusion-1.4.so.6.0.9 contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/systems/libdirectfb_fbdev.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/systems/libdirectfb_devmem.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/systems/libdirectfb_dummy.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_v4l.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBVideoProvider/libidirectfbvideoprovider_gif.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/ICoreResourceManager/libicoreresourcemanager_test.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_jpeg.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_png.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_dfiff.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBImageProvider/libidirectfbimageprovider_gif.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBFont/libidirectfbfont_ft2.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/interfaces/IDirectFBFont/libidirectfbfont_dgiff.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/wm/libdirectfbwm_default.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_zytronic.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_penmount.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_linux_input.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_serialmouse.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_mutouch.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_tslib.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_joystick.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_sonypi.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_lirc.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_wm97xx_ts.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_ps2mouse.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: directfb: /work/i586-poky-linux/directfb-1.4.15-r1/packages-split/directfb/usr/lib/directfb-1.4-6/inputdrivers/libdirectfb_keyboard.so contains probably-redundant RPATH /usr/lib

(From OE-Core rev: 6481c7d0859217d0aa3edb5423f2a32ccefab4d9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 16:47:42 +00:00
Richard Purdie
a6a866b585 grep: Fix QA warnings
WARNING: For recipe grep, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/bin

(From OE-Core rev: 185f5491176335e98adcf903a40b6399d22850bf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 16:47:42 +00:00
Richard Purdie
c739e19803 xf86-input-synaptics: Fix QA warnings
Remove the .pc file work around since it leads to incorrect paths being encoded and
places the files in the incorrect directory.

WARNING: For recipe xf86-input-synaptics, the following files/directories were installed but not shipped in any package:
WARNING:   /media
WARNING:   /media/build1
WARNING:   /media/build1/poky
WARNING:   /media/build1/poky/build
WARNING:   /media/build1/poky/build/tmp
WARNING:   /media/build1/poky/build/tmp/sysroots
WARNING:   /media/build1/poky/build/tmp/sysroots/qemux86
WARNING:   /media/build1/poky/build/tmp/sysroots/qemux86/usr
WARNING:   /media/build1/poky/build/tmp/sysroots/qemux86/usr/include
WARNING:   /media/build1/poky/build/tmp/sysroots/qemux86/usr/include/xorg
WARNING:   /media/build1/poky/build/tmp/sysroots/qemux86/usr/include/xorg/synaptics-properties.h
WARNING:   /media/build1/poky/build/tmp/sysroots/qemux86/usr/include/xorg/synaptics.h
WARNING:   /usr/share/X11
WARNING:   /usr/share/X11/xorg.conf.d
WARNING:   /usr/share/X11/xorg.conf.d/50-synaptics.conf

(From OE-Core rev: 5fa6f6246ab21007aa39c2936382e8cff3fe9148)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 16:47:42 +00:00
Richard Purdie
69db7852ae chkconfig: Fix unpackaged files warnings
WARNING: For recipe chkconfig, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/man
WARNING:   /usr/man/man5
WARNING:   /usr/man/man8
WARNING:   /usr/man/man8/chkconfig.8
WARNING:   /usr/man/man8/update-alternatives.8
WARNING:   /usr/man/man8/ntsysv.8
WARNING:   /usr/man/man8/alternatives.8

(From OE-Core rev: 9b62f4509e92fc8a88b923a3a77f9f27d7184a0f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 16:47:42 +00:00
Richard Purdie
6f761803a6 mobile-broadband-provider-info: Fix license warning
WARNING: mobile-broadband-provider-info: No generic license file exists for: CCPD in any provider

(From OE-Core rev: a56ac74b3ddea8e55e5e558f3fd59ba7b5bec739)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 16:47:42 +00:00
Richard Purdie
0422aca9f6 make: Fix license warning
WARNING: make: No generic license file exists for: GPL in any provider

(From OE-Core rev: 3b42499043b0f48ae521e4491a27158edcd046e0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 16:47:41 +00:00
Richard Purdie
28c755f7c0 flac: Fix license warning
WARNING: flac: No generic license file exists for: FDLv1.2 in any provider

(From OE-Core rev: 5a05d1ab0f01105551cacb15d46a4a77aedf9777)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 16:47:41 +00:00
Paul Eggleton
98ce344d18 qt-mobility: fix QA warnings
Fix the following warnings:

WARNING: QA Issue: package qt-mobility-x11 contains bad RPATH /home/user/qt/lib:/home/user/qt/lib${WORKDIR}/qt-mobility-opensource-src-1.2.0/lib:/home/user/qt/lib/media/large/tmp/sysroots/qemux86/usr/lib:/home/user/qt/lib/usr/lib in file ${WORKDIR}/packages-split/qt-mobility-x11/usr/bin/qt4/examples/QtMobility/qml_device
WARNING: QA Issue: package qt-mobility-x11 contains bad RPATH /home/user/qt/lib:/home/user/qt/lib${WORKDIR}/qt-mobility-opensource-src-1.2.0/lib:/home/user/qt/lib/media/large/tmp/sysroots/qemux86/usr/lib:/home/user/qt/lib/usr/lib in file ${WORKDIR}/packages-split/qt-mobility-x11/usr/bin/qt4/examples/QtMobility/qml_device

(From OE-Core rev: de5a8e843d85b4d08cc5b75ec10709e96a709a90)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 16:47:41 +00:00
Paul Eggleton
be0f9dd483 python-imaging: bring in fixes from meta-oe
This makes the following changes:
* Replace the /usr/local/bin/python path in all scripts
* Move RDEPENDS_${PN} to the end (but use += or we lose the python-core
  depencency).
* Use PR = "r3" instead of "ml2". (Even without increasing the numeric
  part it is recognised as greater alphabetically.)
* Bring in meta-oe version of the path patch which avoids the following
  warning:

WARNING: python-imaging: The compile log indicates that host include
and/or library paths were used.

(From OE-Core rev: 9950163c91412eb58c3475354cc7f87a7be33c2b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 10:57:09 +00:00
Paul Eggleton
24d1560609 util-linux: restore zlib and ncurses dependencies for native
OE-Core commit 4a158b6ef125b555225472eefbe1ea226dc47c2c unintentionally
removed the dependencies for util-linux-native on zlib-native and
ncurses-native by getting append and virtclass-native overrides swapped
around; later this was tidied up to remove the append (which did not change
anything functionally). These libraries are required, so add them back in.

(From OE-Core rev: 0038a030e605195284c98bc154f500a1343c252b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 10:57:09 +00:00
Darren Hart
510feb640a rt-tests: Add src/backfire to FILES_${PN}
Fixes [YOCTO #2114]

The rt-tests recipe was issuing the following WARNINGs:

WARNING: For recipe rt-tests, the following files/directories were installed
but not shipped in any package:
WARNING:   /usr/src
WARNING:   /usr/src/backfire
WARNING:   /usr/src/backfire/backfire.c
WARNING:   /usr/src/backfire/Makefile

Add ${prefix}/src/backfire to FILES_${PN} to include these files in the package.
These depend on the target kernel and are meant to be able to be rebuilt as
needed.  Ideally we would also build this module and include it with rt-tests or
the linux-yocto-rt kernel. For now, conform with the intent of the rt-tests
Makefile and avoid the WARNINGs.

(From OE-Core rev: 04099ff7c1177b0d676591f3a5db86158738461f)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 10:57:08 +00:00
Richard Purdie
4ca7075b09 runqueue.py: When checking whether stamps are valid for setscene, recurse
Currently the code checking whether stamps are valid only traverses one step
of the dependency graph. This works fine in the normal cases where we've already
validated dependencies but for the setscene code, it doesn't work well. A typical
problem usecase is something like:

bitbake gcc-cross -c unpack -f
bitbake gcc-cross

which will ignore any sstate files already cached which could be used to speed
up the gcc-cross build. This becomes particularly problematic with multiple gcc
builds where only one should rebuild yet they all do.

This patch teaches the stamp code to be able to recurse within a given fn
which gives the behaviour people would expect from the code and allows
bitbake to make better use of prebuild sstate objects.

(Bitbake rev: e68814cb2e8da523d4ddf05e8ceddfaa19244851)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 10:51:17 +00:00
Saul Wold
1d52c11bf3 rpm: Fix FILE_ -> FILES_ packaging
(From OE-Core rev: 1f591ae09a860ae8471c3f9c8f40a4e34f596baf)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 10:40:32 +00:00
Saul Wold
9adf5c0db3 gtk-theme-torturer: Fix license warning
WARNING: gtk-theme-torturer: No generic license file exists for: GPL in any provider

Talk with author of code and confirmed licnese, they will be adding COPYING upstream

(From OE-Core rev: 50daf595dd3f7c738f11c7314ac481b56d952fed)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 10:40:32 +00:00
Saul Wold
98c8b625e9 telepathy-glib: remove package warnings
WARNING: For recipe telepathy-glib, the following files/directories were installed but not shipped in any package:
WARNING:   /srv
WARNING:   /usr/bin
WARNING:   /usr/libexec
(From OE-Core rev: bb917b6268f3a552268a061969b2e0a8e34db515)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 10:40:31 +00:00
Saul Wold
88c9e4f56c texi2html: fix packages warning
Add documentation to the -docs package

WARNING: For recipe texi2html, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/share/texinfo
WARNING:   /usr/share/texinfo/html
WARNING:   /usr/share/texinfo/init
WARNING:   /usr/share/texinfo/html/texi2html.html
WARNING:   /usr/share/texinfo/init/html32.init
WARNING:   /usr/share/texinfo/init/tex4ht.init
WARNING:   /usr/share/texinfo/init/mediawiki.init
WARNING:   /usr/share/texinfo/init/book.init
WARNING:   /usr/share/texinfo/init/chm.init
(From OE-Core rev: 6db5deeea2aff2146d7957246702a76cd4cd7a14)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 10:40:31 +00:00
Saul Wold
79aa3f7d42 glib-networking: Fix packaging warnings
WARNING: QA Issue: non -staticdev package contains static .a library: glib-networking path '/work/armv5te-poky-linux-gnueabi/glib-networking-2.28.7-r1/packages-split/glib-networking/usr/lib/gio/modules/libgiognutls.a'
WARNING: QA Issue: non -staticdev package contains static .a library: glib-networking path '/work/armv5te-poky-linux-gnueabi/glib-networking-2.28.7-r1/packages-split/glib-networking/usr/lib/gio/modules/libgiolibproxy.a'
(From OE-Core rev: 4ff372f76123e82c0cfcbd8c0e12a23c67bb28ee)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 10:40:31 +00:00
Saul Wold
958e675489 libnewt: fix license warnings
WARNING: libnewt: No generic license file exists for: LGPL in any provider
(From OE-Core rev: 8883d4c9ad83b5d0725a4477b87ec8042d5dffb3)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 10:40:31 +00:00
Saul Wold
17895d3559 watchdog: Fix License warning
WARNING: watchdog: No generic license file exists for: GPL in any provider
(From OE-Core rev: c7abbaf6b73191f5580826aac5edbbc1eb0823fa)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 10:40:30 +00:00
Saul Wold
f56eb887fd wget: Fix License warning
WARNING: wget: No generic license file exists for: GPL in any provider
(From OE-Core rev: d1b4410ff348e7f7b422e609b681a5c78e8f25a6)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 10:40:30 +00:00
Saul Wold
837e8c70de usbinit: Fix License warning
WARNING: usbinit: No generic license file exists for: GPL in any provider
(From OE-Core rev: ad9b873774938e21036f367cfaa1a4e1a9bda717)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 10:40:30 +00:00
Saul Wold
b03be6568e eee-acpi-scripts: Fix License warning
WARNING: eee-acpi-scripts: No generic license file exists for: GPL in any provider
(From OE-Core rev: fb31443ac8dad612f1b41b91d172645f15c09d23)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 10:40:30 +00:00
Saul Wold
e07686e83d dtc: Fix License warning
WARNING: dtc: No generic license file exists for: GPL2 in any provider
(From OE-Core rev: bdaa8c17ed8171ce827e84b8680ca8248e10a1d2)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 10:40:29 +00:00
Saul Wold
44f50c3ce1 bitbake.conf: Modify PACKAGE list ordering to insert -staticdev file before PN
(From OE-Core rev: aecc9a8ac625a48792f91afbb40def08e3a06991)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-16 10:40:29 +00:00
Richard Purdie
87ef82dead bitbake/fetch: Fix uri_replace
We were seeing duplicate endings to urls:

DEBUG: For url ['http', 'www.apache.org', '/dist/subversion/subversion-1.7.1.tar.bz2', '', '', {}] comparing ['http', 'www.apache.org', '/dist', '', '', {}] to ['http', 'archive.apache.org', '/dist', '', '', {}]
DEBUG: For url http://www.apache.org/dist/subversion/subversion-1.7.1.tar.bz2 returning http://archive.apache.org/dist/subversion/subversion-1.7.1.tar.bz2/subversion-1.7.1.tar.bz2

This patch addresses this by only performing substitutions when really needed.

(Bitbake rev: a17473d51f54a9dfb4eeaa5ad516c4851d5ac142)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 22:56:16 +00:00
Richard Purdie
d3d9a37aa7 parse/ast: Expand inherit statements before splitting them
This means that statements that expand to more then one entry
such as:

CLASSES = "a b"
inherit ${CLASSES}

work correctly instead of trying to inherit a class called "a b".

(Bitbake rev: 2568e9ace6e6f483e1bf2a9ef2f4d8318d6c85b7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 22:56:16 +00:00
Richard Purdie
b1256965bb ui/uihelper: Keep track of task numbers
Add code so the uihelper keeps track of how may tasks we've run and
how many tasks there are in total so UIs don't have to track
this information themselves.

(Bitbake rev: 17e68cfc6018b93d19738a6a874dfdea23fbab11)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 22:56:16 +00:00
Saul Wold
82b6146ef2 qt4: package static libraries correctly to fix warnings
WARNING: QA Issue: non -staticdev package contains static .a library: qt4-demos path '/work/i586-poky-linux/qt4-x11-free-4.7.4-r39.7/packages-split/qt4-demos/usr/bin/qt4/demos/shared/libdemo_shared.a'
WARNING: QA Issue: non -staticdev package contains static .a library: qt4-examples path '/work/i586-poky-linux/qt4-x11-free-4.7.4-r39.7/packages-split/qt4-examples/usr/bin/qt4/examples/tools/plugandpaint/plugins/libpnp_basictools.a'
(From OE-Core rev: d4f1ef6b8297826230a68e535098709d07de1f48)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 13:33:51 +00:00
Nitin A Kamble
93453f408b gmp: upgrade from 5.0.3 to 5.0.4
gmp_bugfix.patch : removed this patch as it is in upstream now

(From OE-Core rev: 92c43229e202d0115ae68e3ab5c6eecde32ea822)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 13:33:51 +00:00
Nitin A Kamble
ce150811a6 ncurses: fix install error
Fix this issue:
| rm: cannot remove `/srv/home/nitin/builds/build-multilib/tmp/work/x86_64-poky-linux/ncurses-5.9-r6.1/image/usr/lib64/terminfo': No such file or directory
NOTE: package ncurses-5.9-r6.1: task do_install: Failed

PR not bumped as there is no change in the packages output.

(From OE-Core rev: 1e6dce3228a483b2367286e49c4aa8a71733dcbb)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 13:33:51 +00:00
Lauri Hintsala
ad811056d1 .gitignore: expand pyshtables.py ignoring
Bitbake generates pyshtables.py to bitbake/lib/bb/pysh/ folder if the user
has write permissions there. Let's ignore generated file also on that location.

(From OE-Core rev: 975e93fadfc90b7dbdf42fa6ceaef5c38166f2d9)

Signed-off-by: Lauri Hintsala <lauri.hintsala@bluegiga.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 13:13:17 +00:00
Andreas Oberritter
0be2788773 mirrors.bbclass: remove dead GNU mirrors
* ftp.matrix.com.br and sunsite.ust.hk don't have DNS records.
* ftp.cs.ubc.ca doesn't host the referenced directory.
* ftp.ayamura.org doesn't respond to ping or ftp.

(From OE-Core rev: e082f1ff28203f8392cd70e273cdd1edf2592a5f)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 13:11:12 +00:00
Andreas Oberritter
50c0107046 parted: don't pass --disable-Werror to configure
* Fixes the following warning:

| configure: WARNING: unrecognized options: --disable-Werror

(From OE-Core rev: 324c66698d08c94472271f86b6e962678f1b9086)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 13:11:11 +00:00
Richard Purdie
9be93e80d5 opensp: Fix unnecessary rpath warnings
Stale m4 macros seemed to be corrupting the opensp build. By removing
them, we can fix the warnings:

WARNING: QA Issue: opensp: /work/i586-poky-linux/opensp-1.5-r2/packages-split/opensp/usr/bin/spent contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: opensp: /work/i586-poky-linux/opensp-1.5-r2/packages-split/opensp/usr/bin/onsgmls contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: opensp: /work/i586-poky-linux/opensp-1.5-r2/packages-split/opensp/usr/bin/ospcat contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: opensp: /work/i586-poky-linux/opensp-1.5-r2/packages-split/opensp/usr/bin/osgmlnorm contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: opensp: /work/i586-poky-linux/opensp-1.5-r2/packages-split/opensp/usr/bin/sgmlnorm contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: opensp: /work/i586-poky-linux/opensp-1.5-r2/packages-split/opensp/usr/bin/ospent contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: opensp: /work/i586-poky-linux/opensp-1.5-r2/packages-split/opensp/usr/bin/ospam contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: opensp: /work/i586-poky-linux/opensp-1.5-r2/packages-split/opensp/usr/bin/nsgmls contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: opensp: /work/i586-poky-linux/opensp-1.5-r2/packages-split/opensp/usr/bin/spcat contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: opensp: /work/i586-poky-linux/opensp-1.5-r2/packages-split/opensp/usr/bin/osx contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: opensp: /work/i586-poky-linux/opensp-1.5-r2/packages-split/opensp/usr/bin/spam contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: opensp: /work/i586-poky-linux/opensp-1.5-r2/packages-split/opensp/usr/bin/sx contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: opensp: /work/i586-poky-linux/opensp-1.5-r2/packages-split/opensp/usr/bin/sgml2xml contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: opensp: /work/i586-poky-linux/opensp-1.5-r2/packages-split/opensp/usr/lib/libosp.so.3.0.0 contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: opensp: /work/i586-poky-linux/opensp-1.5-r2/packages-split/opensp/usr/lib/libosp.so.3 contains probably-redundant RPATH /usr/lib

(From OE-Core rev: c1a53c9b37b9f3e3369c5aef4c659bbef5ed052d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 13:11:11 +00:00
Dongxiao Xu
602adb0e58 Hob: Change Box's padding value
For Box type of widget, change the padding value to be HIG consistent,
that is an increments of 6 pixels.

(Bitbake rev: 0347e99ca5c232832f2b490584d76872c6d77311)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 10:35:18 +00:00
Dongxiao Xu
7548697a6b Hob: improve recipe/package selection performance
Originally we will send selection chagned notification in each
include_item and exclude_item, which is time cost since these are
recursive functions and we may select hundreds of recipes/packages.

The improvement is to move the notification from include_item and
exclude_item to the place where the two functions are called.
This could greatly improve the selection/deselection speed for recipe
and package lists.

(Bitbake rev: 5ad7c54f4b8739b9ae097c68978093a53f950ed7)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 10:35:17 +00:00
Dongxiao Xu
ea8a7a82da Hob: Add stop button for parsing progress
Add a Stop button to allow user to quit the parsing process.

(Bitbake rev: a1936ff544f21cde0765f24dc9b0af126ca98752)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 10:35:17 +00:00
Dongxiao Xu
a957dbd0a9 Hob: Emit command-failed signal even if error msg is None
(Bitbake rev: f4b5a9f243fcfb48cf01fa6f8bce35897debbd20)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 10:35:17 +00:00
Dongxiao Xu
c1cc10d013 Hob: Show recipe/package editing button after base image is selected
Only show recipe and package editing button after base image is selected.

(Bitbake rev: 5290d99f4d0f36076c59ec0b59e3f69b04d69ebf)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 10:35:16 +00:00
Dongxiao Xu
0fa748e348 Hob: Remove the recipe/package populated signal
Handle the recipe and package list update in
handler_command_succeeded_cb(), which could avoid potential race
condition when doing recipe/package list updating and page switching.

(Bitbake rev: 0c766a8c69782b2dd35a363dc9573b78f9d41995)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 10:35:16 +00:00
Dongxiao Xu
552672abba Hob: Remove the indication in machine/base image combobox
Remove the "--select a machine--" prompt in machine selection.
Also change "--select a base image--" to "Start from scratch" for
base image selection.

(Bitbake rev: ac36d218ed6793d6fbf3edfadaf193629ea1e46d)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 10:35:16 +00:00
Dongxiao Xu
1dd648e941 Hob: Remove the reset button in recipe/package selection page
(Bitbake rev: f576355686804631fd797e2a5d383a70f6fc42cd)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 10:35:16 +00:00
Dongxiao Xu
206431274a Hob: Fix the image installation dependency
Get the image installation content from rdepends and rrecommends
variables.

(Bitbake rev: a16b2245d7f5ef8509df0c543f9432c98367c79c)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 10:35:16 +00:00
Dongxiao Xu
8c6ce63433 cooker: add package rdepends and rrecommends info
When calculating the image installation dependency, we need the
rdepends and rrecommends information of certain packages.

(Bitbake rev: 5eab31ad9e9431e27725dcefa38cbd7f2e37d394)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 10:35:15 +00:00
Dongxiao Xu
354f45865a Hob: Disable the handling of "NoProvider" event
Currently for non-x86 architecture, there are un-resolved dependency
issue when generate universe dependency tree. Therefore disable the
handling of "NoProvider" event in Hob to enable the build for non-x86
architectures. After we resolved the dependency for universe, we still
need to handle this event in Hob.

(Bitbake rev: e3c5eed2244d7885418c59a62c9584f6397ee623)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 10:35:15 +00:00
Dongxiao Xu
3fe627c51c Hob: add "Close" button to "BinbDialog"
For certain distributions, like FC16, it doesn't have close button in
sub-windows or dialogs. Therefore we need to add an "Close" button to
"BinbDialog" to close the dialog.

Besides, let BinbDialog inherits the CrumbsDialog instead of gtk.Dialog

(Bitbake rev: 5d33c355001bec91f4e4c3860db8d7ac2b449782)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 10:35:15 +00:00
Richard Purdie
8bae18bb35 slang: Fix rpath QA warnings
WARNING: QA Issue: slang: /work/i586-poky-linux/slang-2.2.4-r6/packages-split/slang/usr/bin/slsh contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: slang: /work/i586-poky-linux/slang-2.2.4-r6/packages-split/slang/usr/lib/slang/v2/modules/csv-module.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: slang: /work/i586-poky-linux/slang-2.2.4-r6/packages-split/slang/usr/lib/slang/v2/modules/rand-module.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: slang: /work/i586-poky-linux/slang-2.2.4-r6/packages-split/slang/usr/lib/slang/v2/modules/iconv-module.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: slang: /work/i586-poky-linux/slang-2.2.4-r6/packages-split/slang/usr/lib/slang/v2/modules/select-module.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: slang: /work/i586-poky-linux/slang-2.2.4-r6/packages-split/slang/usr/lib/slang/v2/modules/varray-module.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: slang: /work/i586-poky-linux/slang-2.2.4-r6/packages-split/slang/usr/lib/slang/v2/modules/fcntl-module.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: slang: /work/i586-poky-linux/slang-2.2.4-r6/packages-split/slang/usr/lib/slang/v2/modules/sysconf-module.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: slang: /work/i586-poky-linux/slang-2.2.4-r6/packages-split/slang/usr/lib/slang/v2/modules/socket-module.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: slang: /work/i586-poky-linux/slang-2.2.4-r6/packages-split/slang/usr/lib/slang/v2/modules/termios-module.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: slang: /work/i586-poky-linux/slang-2.2.4-r6/packages-split/slang/usr/lib/slang/v2/modules/slsmg-module.so contains probably-redundant RPATH /usr/lib
WARNING: QA Issue: slang: /work/i586-poky-linux/slang-2.2.4-r6/packages-split/slang/usr/lib/slang/v2/modules/fork-module.so contains probably-redundant RPATH /usr/lib

(From OE-Core rev: b055075ba5b9ff5250bc66be1cd8b222bdb86161)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 00:11:40 +00:00
Richard Purdie
50466b6cc3 ghostscript: Fix patch related build issues
The file ${S}/configure.ac is a symlink which seems to confuse some patch
application tools but not in all cases. Whilst I'd love to understand why
there is a difference, this fixes the build failures by applying the patch
to the real file rather than the symlink.

(From OE-Core rev: 34f3127bac9e5a15c33d21a6a6ac83c6060dcac9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 00:11:40 +00:00
Scott Garman
1eac51a76c PR bump for all recipes that DEPEND on ncurses
The packaging changes to ncurses could break package feeds,
so bump the PR on everythong that DEPENDS on ncurses.

(From OE-Core rev: be92256917c157284ef8370bb93bbf443849b2e1)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 00:11:40 +00:00
Scott Garman
73371e121e ncurses: fix packaging of moved libraries
This ensures packaging of the ncurses libraries moved to
base_libdir is done correctly.

(From OE-Core rev: a897c05ae5c70d81f4d88e7186f9bb9a721ee343)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 00:11:39 +00:00
Martin Jansa
a17165ae3a python: regenerate python-2.7-manifest.inc
* only manual change is extra line break in FILES_${PN}-core, because
  git send-email doesn't like long lines
  fatal: /tmp/0wfyzTvlIf/0001-python-regenerate-python-2.7-manifest.inc.patch: 30: patch contains a line longer than 998 characters

* fixes PROVIDES and it will be easier to review next patch without this
  extra changes

(From OE-Core rev: 9cbeae60e892370e50a9dd77ca4a66fb8d102e47)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 00:11:39 +00:00
Saul Wold
e1c7636e99 gpgme: fix packaging warnings
Use rmdir since it is currently empty, and we can catch if
it gets used later

(From OE-Core rev: f38a80cc0cb4affab22080ead179b55d5a665ee6)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-15 00:11:39 +00:00
Saul Wold
7afeaf1d27 distro_tracking_fields: Fix EOL Comments and missing Quotes
(From OE-Core rev: e84496b2d5a0004e697a79ba5792300af282be55)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 23:14:46 +00:00
Richard Purdie
f834d03f66 Revert "alsa-tools: update to 1.0.25"
This reverts commit b2d9f00a4e50180d96b3d201cc425349cc4dd530 since
the checksums are incorrect and even when fixed, it doesn't actually
build.
2012-03-14 23:13:41 +00:00
Richard Purdie
cb771ef55a Revert "gcc-cross: aviod creating invalid symlinks"
This reverts commit 7893e74311e53882d8f93ecb95a6bd9f5b14651e since it breaks
the builds.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 15:23:46 +00:00
Richard Purdie
f2bc4c6a48 alsa-utils: Add rename accidently dropped during patch merge
(From OE-Core rev: 96b7e1780c3a25bc19022b66a9d92a9ccf22dc59)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 14:55:07 +00:00
Martin Jansa
8a2dcd4224 librsvg: really bump PR
* it was downgraded from r4 to r1 in
  http://git.openembedded.org/openembedded-core/commit/meta/recipes-gnome/librsvg/librsvg_2.32.1.bb?id=50ad5230ea9e0982cdfda23fb9fcfccf89d28f29
  so even with latest change making it r3 we had still on lower version that we had before for 2.32.1

(From OE-Core rev: 7109c2b6257427dcb92b5ba0f16b55437e3edb4d)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:37:08 +00:00
Richard Purdie
5d5d5e1de2 perl-modules: Fix LICENSE fields to mention the correct license versions
(From OE-Core rev: aca5eb8cda9a26b5bb9c2f1e45f2e5c1af643da0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:17:45 +00:00
Richard Purdie
3bbbfe491e xorg-cf-files: Fix unpackaged files warning
This fixes the warnings:

WARNING: For recipe xorg-cf-files, the following files/directories were installed but not shipped in any package:
WARNING:   /usr
WARNING:   /usr/lib
WARNING:   /usr/lib/X11
WARNING:   /usr/lib/X11/config
WARNING:   /usr/lib/X11/config/mingw.rules
WARNING:   /usr/lib/X11/config/Oki.cf
WARNING:   /usr/lib/X11/config/cray.cf
WARNING:   /usr/lib/X11/config/OpenBSD.cf
WARNING:   /usr/lib/X11/config/lnxdoc.tmpl
WARNING:   /usr/lib/X11/config/Motif.rules
WARNING:   /usr/lib/X11/config/nec.cf
WARNING:   /usr/lib/X11/config/sv3Lib.rules
WARNING:   /usr/lib/X11/config/sco5.cf
WARNING:   /usr/lib/X11/config/xorgsite.def
WARNING:   /usr/lib/X11/config/minix.cf
WARNING:   /usr/lib/X11/config/cross.rules
WARNING:   /usr/lib/X11/config/bsdi.cf
WARNING:   /usr/lib/X11/config/ServerLib.tmpl
WARNING:   /usr/lib/X11/config/sequentLib.rules
WARNING:   /usr/lib/X11/config/darwin.cf
WARNING:   /usr/lib/X11/config/version.def
WARNING:   /usr/lib/X11/config/scoLib.rules
WARNING:   /usr/lib/X11/config/OpenBSDLib.tmpl
WARNING:   /usr/lib/X11/config/hpLib.tmpl
WARNING:   /usr/lib/X11/config/xf86.tmpl
WARNING:   /usr/lib/X11/config/moto.cf
WARNING:   /usr/lib/X11/config/sv4Lib.tmpl
WARNING:   /usr/lib/X11/config/Library.tmpl
WARNING:   /usr/lib/X11/config/sunLib.tmpl
WARNING:   /usr/lib/X11/config/necLib.tmpl
WARNING:   /usr/lib/X11/config/Imake.tmpl
WARNING:   /usr/lib/X11/config/sv3Lib.tmpl
WARNING:   /usr/lib/X11/config/apollo.cf
WARNING:   /usr/lib/X11/config/sco.cf
WARNING:   /usr/lib/X11/config/linux.cf
WARNING:   /usr/lib/X11/config/osfLib.rules
WARNING:   /usr/lib/X11/config/usl.cf
WARNING:   /usr/lib/X11/config/cygwin.rules
WARNING:   /usr/lib/X11/config/Motif.tmpl
WARNING:   /usr/lib/X11/config/lynx.cf
WARNING:   /usr/lib/X11/config/FreeBSD.cf
WARNING:   /usr/lib/X11/config/cygwin.cf
WARNING:   /usr/lib/X11/config/lnxdoc.rules
WARNING:   /usr/lib/X11/config/sgiLib.rules
WARNING:   /usr/lib/X11/config/Mips.cf
WARNING:   /usr/lib/X11/config/QNX4.rules
WARNING:   /usr/lib/X11/config/lnxLib.tmpl
WARNING:   /usr/lib/X11/config/QNX4.cf
WARNING:   /usr/lib/X11/config/osf1.cf
WARNING:   /usr/lib/X11/config/gnuLib.rules
WARNING:   /usr/lib/X11/config/dmx.cf
WARNING:   /usr/lib/X11/config/cde.tmpl
WARNING:   /usr/lib/X11/config/Imake.rules
WARNING:   /usr/lib/X11/config/xfree86.cf
WARNING:   /usr/lib/X11/config/mingw.cf
WARNING:   /usr/lib/X11/config/pegasus.cf
WARNING:   /usr/lib/X11/config/gnuLib.tmpl
WARNING:   /usr/lib/X11/config/Threads.tmpl
WARNING:   /usr/lib/X11/config/nto.rules
WARNING:   /usr/lib/X11/config/macII.cf
WARNING:   /usr/lib/X11/config/convex.cf
WARNING:   /usr/lib/X11/config/bsdLib.rules
WARNING:   /usr/lib/X11/config/xorgversion.def
WARNING:   /usr/lib/X11/config/bsdiLib.tmpl
WARNING:   /usr/lib/X11/config/date.def
WARNING:   /usr/lib/X11/config/mach.cf
WARNING:   /usr/lib/X11/config/os2Lib.tmpl
WARNING:   /usr/lib/X11/config/lnxLib.rules
WARNING:   /usr/lib/X11/config/os2.rules
WARNING:   /usr/lib/X11/config/mingw.tmpl
WARNING:   /usr/lib/X11/config/svr3.cf
WARNING:   /usr/lib/X11/config/os2Lib.rules
WARNING:   /usr/lib/X11/config/nto.cf
WARNING:   /usr/lib/X11/config/noop.rules
WARNING:   /usr/lib/X11/config/xf86.rules
WARNING:   /usr/lib/X11/config/cross.def
WARNING:   /usr/lib/X11/config/osfLib.tmpl
WARNING:   /usr/lib/X11/config/darwinLib.rules
WARNING:   /usr/lib/X11/config/Server.tmpl
WARNING:   /usr/lib/X11/config/Amoeba.cf
WARNING:   /usr/lib/X11/config/sequent.cf
WARNING:   /usr/lib/X11/config/gnu.cf
WARNING:   /usr/lib/X11/config/DGUX.cf
WARNING:   /usr/lib/X11/config/host.def
WARNING:   /usr/lib/X11/config/WinLib.tmpl
WARNING:   /usr/lib/X11/config/sunLib.rules
WARNING:   /usr/lib/X11/config/OpenBSDLib.rules
WARNING:   /usr/lib/X11/config/X11.tmpl
WARNING:   /usr/lib/X11/config/sony.cf
WARNING:   /usr/lib/X11/config/darwinLib.tmpl
WARNING:   /usr/lib/X11/config/cde.rules
WARNING:   /usr/lib/X11/config/hp.cf
WARNING:   /usr/lib/X11/config/xorg.cf
WARNING:   /usr/lib/X11/config/Imake.cf
WARNING:   /usr/lib/X11/config/sgi.cf
WARNING:   /usr/lib/X11/config/necLib.rules
WARNING:   /usr/lib/X11/config/ultrix.cf
WARNING:   /usr/lib/X11/config/Win32.cf
WARNING:   /usr/lib/X11/config/bsd.cf
WARNING:   /usr/lib/X11/config/isc.cf
WARNING:   /usr/lib/X11/config/oldlib.rules
WARNING:   /usr/lib/X11/config/sv4Lib.rules
WARNING:   /usr/lib/X11/config/svr4.cf
WARNING:   /usr/lib/X11/config/generic.cf
WARNING:   /usr/lib/X11/config/os2.cf
WARNING:   /usr/lib/X11/config/luna.cf
WARNING:   /usr/lib/X11/config/xorg.tmpl
WARNING:   /usr/lib/X11/config/sun.cf
WARNING:   /usr/lib/X11/config/bsdLib.tmpl
WARNING:   /usr/lib/X11/config/DragonFly.cf
WARNING:   /usr/lib/X11/config/x386.cf
WARNING:   /usr/lib/X11/config/X11.rules
WARNING:   /usr/lib/X11/config/bsdiLib.rules
WARNING:   /usr/lib/X11/config/ibmLib.tmpl
WARNING:   /usr/lib/X11/config/Win32.rules
WARNING:   /usr/lib/X11/config/hpLib.rules
WARNING:   /usr/lib/X11/config/ibm.cf
WARNING:   /usr/lib/X11/config/ibmLib.rules
WARNING:   /usr/lib/X11/config/sgiLib.tmpl
WARNING:   /usr/lib/X11/config/cygwin.tmpl
WARNING:   /usr/lib/X11/config/ncr.cf
WARNING:   /usr/lib/X11/config/site.def
WARNING:   /usr/lib/X11/config/xf86site.def
WARNING:   /usr/lib/X11/config/NetBSD.cf
WARNING:   /usr/lib/X11/config/fujitsu.cf

(From OE-Core rev: b59e0035a25c84b99904db46820d4b3ae9e7f805)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:17:44 +00:00
Robert Yang
a80203625a package.bbclass: do not split debug pkg when no debugsources.list
We don't have to split the debug pkg if it is null (No debugsources.list
since the find-debuginfo.sh would not generate it for the null pkg).

Serval pkg's debug pkg is null, and there were a few errors: (53 pkgs
had such errors in a core-image-sato build):

log.do_package:sort: open failed: debugsources.list: No such file or directory

[YOCTO #2076]

(From OE-Core rev: f88e3f420b4e95ab5ba4a075df8ed65b817f8b45)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:17:44 +00:00
Wenzong Fan
f65d96ba2a chkconfig: update it from 1.3.57 to 1.3.58
Update chkconfig and related distro tracking fields.

(From OE-Core rev: 4cd85be17c7964ad24f1877f8b7181df0a0738fb)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:17:44 +00:00
Wenzong Fan
c1076a0724 ccache: update it from 3.1.6 to 3.1.7
Update ccache and related distro tracking fields.

(From OE-Core rev: 34a6b58289672efeaed3ceef4c2095ce39550e8c)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:17:43 +00:00
Kang Kai
7d6eb004db distro_tracking_fields: udpate package status
Update packages' status, includes libsdl, gobject-introspection, newt,
alsa and ghostscript.

(From OE-Core rev: 5fd7dab869dd64213ebb2ffb63083367cb6d6e29)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:17:43 +00:00
Kang Kai
ae2c5f2477 ghostscript: update to 9.05
Update ghostscript to 9.05, and update ghostscript-9.02-genarch.patch
at same time because it can't be applied. Add patch
ghostscript/ghostscript-9.05-NOT-check-endian.patch
to forbid checking endianese.

(From OE-Core rev: 7e7bdb9dc4ca61f8427f07f2ff220767385085c5)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:17:43 +00:00
Kang Kai
e42e695951 alsa-tools: update to 1.0.25
Update to version 1.0.25

(From OE-Core rev: b2d9f00a4e50180d96b3d201cc425349cc4dd530)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:17:43 +00:00
Kang Kai
f7c743040e alsa-utils: update to 1.0.25
Update to version 1.0.25, and update patch
0001-alsactl-don-t-let-systemd-unit-restore-the-volume-wh.patch
because rejected when apply it.

(From OE-Core rev: 23694c3dd5ce3c997f616804e7b01a784c46ff0b)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:17:43 +00:00
Kang Kai
1a467d8d8c alsa-lib: update to 1.0.25
Update to version 1.0.25, rename the patch directory at same time.

(From OE-Core rev: 555bd3102fcd83d728091e074977b5a4228a2b1b)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:17:42 +00:00
Kang Kai
3882f40e57 libsdl: update to 1.2.15
Update libsdl to 1.2.15.
Patch add.XGetRequest.symbol.patch is merged by upstream, so remove it.

(From OE-Core rev: 94e18a1c574b97ba87724c0fea79d2af77ba4186)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:17:42 +00:00
Kang Kai
897cdb692b newt: update to 0.52.14
Update newt to latest verion 0.52.14.

(From OE-Core rev: e28f5ca21f07040e1c62ccd65c94e2df734770e4)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:17:42 +00:00
Kang Kai
43521d7bb3 gobject-introspection: update to 1.31.20
Add a new recipe file to update gobject-introspection to 1.31.20,
instead of git version.

(From OE-Core rev: c3c44a92e6fbc68d8beb5f805c0de16ef2f1c6cd)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:17:41 +00:00
Robert Yang
d6426b63a3 gcc-cross: aviod creating invalid symlinks
There are several invalid symlinks in gcc-cross-initial,
gcc-cross-intermediate and gcc-cross, these cause the error:(56 errors)

tmp/work/i586-poky-linux/gcc-cross-initial-4.6.3+svnr184847-r23/temp/log.do_populate_sysroot:
log.do_populate_sysroot:grep: /path/to/invalid/symlink: No such file or directory

Avoid creating invalid symlinks would fix this problem.

Use the:
[ ! -e file ] || do_something
But not use:
[ -e file ] && do_something
is because that if the "file" doesn't exist, then the whole statement
would return false, and bitbake treats this an error, so use the "||" to
let it always be true.

[YOCTO #2095]

(From OE-Core rev: 7893e74311e53882d8f93ecb95a6bd9f5b14651e)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:17:41 +00:00
Paul Eggleton
089767f71e linux-yocto-tiny: add dependency on xz-native
The kernel configuration requires lzma to compress the kernel image
(CONFIG_KERNEL_LZMA=y), so add a dependency on xz-native which provides
it.

Fixes [YOCTO #1728].

(From OE-Core rev: e1f656492475fb65d1203afe0afeeec7e279a317)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:17:41 +00:00
Paul Eggleton
d1646743bc ncurses: fix build when ENABLE_WIDEC is not set
If wide character support is disabled (as it is with poky-tiny, for
example) then we won't have libncursesw.so.*, so skip moving these files
in that case. (Fixes a regression introduced in OE-Core revision
ccd370ab147b78de7a5bd74818f755f4d3ca6d81).

(From OE-Core rev: fa15b1dfbf338969660a352deb870dfd5727bc47)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:17:41 +00:00
Paul Eggleton
fc33926b7f mx: add dependencies
* Add dependency on startup-notification, which is optional but without
  it mx applications will not send startup notifications.
* Add dependencies on gdk-pixbuf and libxrandr which are usually taken
  care of, but are required and thus should be stated explicitly.

(From OE-Core rev: 42a278ff7dc641b1700e56fbaf5a63947ff1161c)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:17:40 +00:00
Paul Eggleton
cac1d9fc7b gst-plugins-bad: disable directfb in configure
Disable directfb output (as we do with SDL) so that it does not get
auto-detected resulting in a race condition.

(From OE-Core rev: a05070eb3b867f35dd8ce7e41246057589d2a26d)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:17:40 +00:00
Paul Eggleton
4992d99b15 pulseaudio: add X library dependencies
PulseAudio requires libxtst, libice, libsm and libxcb when X11 is
enabled (in our case, when x11 is in DISTRO_FEATURES), so conditionally
add those to DEPENDS.

(From OE-Core rev: a758df3d72942f985fe46455aa075e52100a1156)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:17:40 +00:00
Paul Eggleton
50e4d4c312 scripts/bitbake: ensure user is in build directory
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>
2012-03-14 13:17:40 +00:00
Richard Purdie
5494bfca38 scripts/contrib/python/generate-manifest-2.7.py: Catch up with staticdev fixes
(From OE-Core rev: 0030644f4890ca25894916189470317650ec8246)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:03:13 +00:00
Saul Wold
361d3b971a man: fix configure issue to solve warnings
WARNING: For recipe man, the following files/directories were installed but not shipped in any package:
WARNING:   /intel
WARNING:   /intel/poky
WARNING:   /intel/poky/builds
WARNING:   /intel/poky/builds/world
WARNING:   /intel/poky/builds/world/tmp
WARNING:   /intel/poky/builds/world/tmp/work
WARNING:   /intel/poky/builds/world/tmp/work/i586-poky-linux
WARNING:   /intel/poky/builds/world/tmp/work/i586-poky-linux/man-1.6f-r1
WARNING:   /intel/poky/builds/world/tmp/work/i586-poky-linux/man-1.6f-r1/image
WARNING:   /intel/poky/builds/world/tmp/work/i586-poky-linux/man-1.6f-r1/image/etc
WARNING:   /intel/poky/builds/world/tmp/work/i586-poky-linux/man-1.6f-r1/image/etc/man.config
(From OE-Core rev: d90eadccdb5a2f0fddc79dbdcec80b5f3f7908c8)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:03:12 +00:00
Saul Wold
b14581479f libgalago: Fix package warnings by not packaging autopackage
WARNING: For recipe libgalago, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/share/autopackage
WARNING:   /usr/share/autopackage/skeletons
WARNING:   /usr/share/autopackage/skeletons/@galago.info
WARNING:   /usr/share/autopackage/skeletons/@galago.info/libgalago
WARNING:   /usr/share/autopackage/skeletons/@galago.info/libgalago/skeleton.1
(From OE-Core rev: 9f5219c681a8f6e94de255d5a6874b7f26c04888)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:03:12 +00:00
Saul Wold
59dbdf4bcf man-pages: Update to 3.36
(From OE-Core rev: ca9badb601269015640fa1294b05d41cc71e04ac)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:03:12 +00:00
Saul Wold
e8d1d3d322 avahi: Update to 0.6.31
Removed unneeded patch, because the issue was fixed upstream

(From OE-Core rev: b535d953b08c54411a998e7527b4c2323720fcbf)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:03:12 +00:00
Saul Wold
1bdd2e0d76 distro_tracking: Updates for manual checks
(From OE-Core rev: 29fe4e2e396166ced1a8b79f7254b24e0e727db1)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:03:11 +00:00
Saul Wold
623da05cb0 python: package static libraries correctly in -staticdev
WARNING: QA Issue: non -staticdev package contains static .a library: python-distutils path '/work/i586-poky-linux/python-2.7.2-r1.7/packages-split/python-distutils/usr/lib/python2.7/config/libpython2.7.a'
(From OE-Core rev: a490aee0e41abc9fb82029fd8b64e78aa2b33a8d)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:03:11 +00:00
Saul Wold
05a360bd7f rpm: Package python-rpm static archive correctly
WARNING: QA Issue: non -staticdev package contains static .a library: python-rpm path '/work/i586-poky-linux/rpm-5.4.0-r34/packages-split/python-rpm/usr/lib/python2.7/rpm/_rpmmodule.a'
(From OE-Core rev: 1374c7a8ea7c583d428a9546999a4ec3bee06128)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:03:11 +00:00
Saul Wold
0d1ea0ddcf autoconf: remove emacs mode files to fix warnings
WARNING: For recipe autoconf, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/share/emacs
WARNING:   /usr/share/emacs/site-lisp
WARNING:   /usr/share/emacs/site-lisp/autotest-mode.elc
WARNING:   /usr/share/emacs/site-lisp/autotest-mode.el
WARNING:   /usr/share/emacs/site-lisp/autoconf-mode.el
WARNING:   /usr/share/emacs/site-lisp/autoconf-mode.elc
(From OE-Core rev: abbad3e5e799c7cda5543a48d68fdd0a7a642b96)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:03:11 +00:00
Saul Wold
8776baa318 quilt: Fix docs packaging warnings
WARNING: For recipe quilt, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/share/doc
WARNING:   /usr/share/doc/quilt
WARNING:   /usr/share/doc/quilt/README
WARNING:   /usr/share/doc/quilt/quilt.pdf
WARNING:   /usr/share/doc/quilt/README.MAIL
(From OE-Core rev: b9834c7725420ea22df604edb994f6735927b2e7)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:03:10 +00:00
Saul Wold
d467d902ee ltp: Package static library in -staticdev
WARNING: QA Issue: non -staticdev package contains static .a library: ltp path '/work/i586-poky-linux/ltp-20120104-r0/packages-split/ltp/opt/ltp/lib/libmem.a'
(From OE-Core rev: d989fddba5c086ecabe77aff7fd8c0d05a36b2a5)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:03:10 +00:00
Saul Wold
57cde08c70 owl-video: Fix unpackaged file warning
WARNING: For recipe owl-video, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/share/video
WARNING:   /usr/share/video/gtk-fullscreen.png
(From OE-Core rev: 1a93ad99eb4ce19b45e5f2b61902f1f2936bddff)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-14 13:03:10 +00:00
Richard Purdie
8e9f6fc77a dates: Fix unpackaged files warning
This directory isn't needed so remove it and resolve the warning:

WARNING: For recipe dates, the following files/directories were installed but not shipped in any package:
WARNING:   /srv

(From OE-Core rev: 81379dc141e245307ca391a02b7490b199128991)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 23:18:49 +00:00
Richard Purdie
2a21ddfd72 alsa-utils: Ensure state directory is packaged
This adds the localstatedir to the alsactl package to avoid the warnings:

WARNING: For recipe alsa-utils, the following files/directories were installed but not shipped in any package:
WARNING:   /var
WARNING:   /var/lib
WARNING:   /var/lib/alsa

(From OE-Core rev: 90ea03cd92bbc2c756a5fef6dcb4f797a6dd3fab)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 23:18:49 +00:00
Richard Purdie
29d054a9d7 ppp: Clean up PACKAGES vs. variable mismatch and drop unused RDEPENDS
The RPDEPENDS format is wrong and couldn't have been doing anything useful. The
mismatch between PACKAGES and the DESCRIPTION_* and FILES_*  variable names could
confuse the system under certain conditions so this is a good cleanup to make.

(From OE-Core rev: 24f7351f6ac0408a1682893faf56b9145d698c1b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 23:18:48 +00:00
Richard Purdie
0d9c60f497 ppp: Fix unpackaged files warnings
This patch packages a couple of modules for ppp to resolve the warnings:

WARNING: For recipe ppp, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/lib/pppd/2.4.5/pppol2tp.so
WARNING:   /usr/lib/pppd/2.4.5/openl2tp.so

(From OE-Core rev: 11638ba4fa9f3d76cad2b46326792884ed488ecc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 23:18:48 +00:00
Richard Purdie
546032a422 libxslt: Fix unpackaged directory warning
Fixes the warning:

WARNING: For recipe libxslt, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/lib/libxslt-plugins

It makes sense for the package to own the plugins directory.

(From OE-Core rev: 9be4f5f6e0e28429b1a0c04561bfb79b54f0599d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 23:18:48 +00:00
Richard Purdie
0c79d71cd1 xf86-video-vmware: Fix unpackaged driectory warning
Fixes the warning:

WARNING: For recipe xf86-video-vmware, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/bin

(From OE-Core rev: 58b2b72852389b9454dd9082ad2b22b2efbb2c19)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 23:18:48 +00:00
Richard Purdie
7d8c72dfc6 matchbox-keyboard: Fix unpackaged files warning
Addresses the warnings:

WARNING: For recipe matchbox-keyboard, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/lib/gtk-2.0/2.10.0/immodules/libmb-im-invoker.la
WARNING:   /usr/lib/matchbox-panel/libkeyboard.la

(From OE-Core rev: 684b25e96164eec1c69710eb9c59be8a0db4eeb2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 23:18:47 +00:00
Saul Wold
67a51cd20d docbook-utils: Add check to not sed files twice
This comes about from the code configure code getting run
multiple times on the same WORKDIR and re-sed'ing already
modified files.

(From OE-Core rev: 22510c756aa2b1b8d46f88ec08de47674a24d5c7)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 23:18:47 +00:00
Saul Wold
7cc0db7c42 gettext: Set the LICENSE field to GPLv3+
This change is needed because currently the INCOMPATIBLE_LICENSE
checking code does not map between SPDX and older style naming
(GPL-3+ vs GPLv3+).  Yocto bug number 2093 filed to track this.

(From OE-Core rev: a5cdf764a980624dbf350cb23cd360724c059584)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 23:18:47 +00:00
Andreas Oberritter
d90cfa776f initscripts: test whether /etc/init.d/hwclock.sh exists
* bootmisc.sh executes /etc/init.d/hwclock.sh, which
  is optional (depends on CONFIG_HWCLOCK in busybox).

(From OE-Core rev: 9c8300f030b69652ad39e1bc2979f5d9a03adf1e)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 23:18:47 +00:00
James Limbouris
d074b8ad6f mtd-utils: clean up old files
(From OE-Core rev: d3657fbd3e6cdfa0cfd355de446b474fb2f72e81)

Signed-off-by: James Limbouris <james@digitalmatter.com.au>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 23:18:46 +00:00
Randy MacLeod
7e48717295 xinit: Update to 1.3.2 -- Typo fix.
On 12-02-02 06:47 PM, Saul Wold wrote:
> (From OE-Core rev: 04ab1fb8cc38da6c8a8b1474cf0060402f814a76)

Signed-off-by: Saul Wold<sgw@linux.intel.com>
> ---
>   .../xorg-app/{xinit_1.3.1.bb =>  xinit_1.3.2.bb}    |    6 +++---
>   1 files changed, 3 insertions(+), 3 deletions(-)
>   rename meta/recipes-graphics/xorg-app/{xinit_1.3.1.bb =>  xinit_1.3.2.bb} (79%)
>
> diff --git a/meta/recipes-graphics/xorg-app/xinit_1.3.1.bb b/meta/recipes-graphics/xorg-app/xinit_1.3.2.bb
> similarity index 79%
> rename from meta/recipes-graphics/xorg-app/xinit_1.3.1.bb
> rename to meta/recipes-graphics/xorg-app/xinit_1.3.2.bb
> index 2ddebe6..e029a03 100644
> --- a/meta/recipes-graphics/xorg-app/xinit_1.3.1.bb
> +++ b/meta/recipes-graphics/xorg-app/xinit_1.3.2.bb
> @@ -10,11 +10,11 @@ then terminate."
>
>   LIC_FILES_CHKSUM = "file://COPYING;md5=0d4b5eef75f1584ccbdc5e4a34314407"
>
> -PR = "r2"
> +PR = "r0"
>   PE = "1"
>
> -SRC_URI[md5sum] = "ee234056d8a3dbf37b61b4bcb35b88e4"
> -SRC_URI[sha256sum] = "c7468dfae94bdb42785d79623c27156dc4bf379d8372992830482cb04d8439b0"
> +RC_URI[md5sum] = "9c0943cbd83e489ad1b05221b97efd44"
> +SRC_URI[sha256sum] = "a1867fdaa83f68750b12ba4305c3c62f5992d0f52cfeb98e96c27a8e690e0235"
>
>   EXTRA_OECONF = "ac_cv_path_MCOOKIE=${bindir}/mcookie"
>
Fix this warning:
WARNING: Missing md5 SRC_URI checksum for
   /.../downloads/xinit-1.3.2.tar.bz2, consider adding to the recipe:
SRC_URI[md5sum] = "9c0943cbd83e489ad1b05221b97efd44"

$ git diff meta/recipes-graphics/xorg-app/xinit_1.3.2.bb
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 23:18:46 +00:00
Richard Purdie
c97557ccd5 Revert "gettext: do not set libncurses prefix explicitly"
This reverts commit 37b9d140b5d55af4f77baab0c0b0343d8b5e8b6c since it caused
QA issues for several people. The ncurses location needs to be explicitly
specificed.

(From OE-Core rev: 87f02bdf4b9c0687f466de5c0bc81f510f389fc3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 23:18:46 +00:00
Bruce Ashfield
19d4e0c980 linux-yocto/meta-yocto: v3.2.9, v3.0.23 + fixes and updates
This is an update of the linux-yocto 3.0 and 3.2 SRCREVs to bring
in the following updates:

   - v3.0.23 stable update
   - v3.2.9 stable update
   - 3.0/3.2: fri2 updates (pch + configuration changes) from Darren Hart
   - 3.0: pvr merge from Kishore Bodke
   - linux-yocto/rt: update to 3.0.23-rt38
   - linux-yocto/rt: update to 3.2.9-rt15

These have been built for all qemu targets, and built for the appropriate
hardware platforms.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2012-03-13 16:53:47 +00:00
Scott Garman
af6881fa1e gettext: do not set libncurses prefix explicitly
The --with-libncurses-prefix configure option was added before
this recipe had ncurses in DEPENDS, so it should be safe to
remove it.

(From OE-Core rev: 37b9d140b5d55af4f77baab0c0b0343d8b5e8b6c)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:52:12 +00:00
Scott Garman
7ab3ab9bcb ncurses: move only libncurses and libtinfo to base_libdir
The previous approach to moving the ncurses libraries to
base_libdir was too aggressive, and it broke curses support
in python.

Instead, move only libncurses, libncursesw, and libtinfo to
base_libdir and leave the remaining libraries in libdir.

Also delete ${libdir}/terminfo as it never gets packaged to
avoid a QA warning.

This fixes [YOCTO #2070] and is a partial fix for [YOCTO #1937].

(From OE-Core rev: ccd370ab147b78de7a5bd74818f755f4d3ca6d81)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:52:12 +00:00
Scott Garman
19e92dfe06 path.py: add make_relative_symlink method
This method allows you to convert an absolute symlink into a
relative one.

(From OE-Core rev: 71062c1e0fb45a4b4e58ea5d217706aa2b402d88)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:52:11 +00:00
Andreas Oberritter
5fff3ea93b python, python-native: bump PR
(From OE-Core rev: cd504c7f1bd0440a114cb304f141b2b8197c7f66)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:14 +00:00
Andreas Oberritter
9ff71c3b45 python-native: distutils: don't use libdir, remove dead code path
* Coming from OE-classic it was surprising that python-native now
  requires 'libdir' to be exported. Otherwise autoconf would fail
  to detect python libraries. This happend using a customized
  environment setup script to use OE's compiler and libs without
  bitbake.
* Use STAGING_LIBDIR instead of libdir.
* While at it, remove redundant 'and' statments.

(From OE-Core rev: 2edc929c47ac90eabad74e3726912fb3a57aaecd)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:13 +00:00
Andreas Oberritter
475ecc54db python: depend on bzip2
* Python auto-detects libbz2 and there's no way to
  force-disable it, so just enable it.
* Adds bz2 support to python-compression.

(From OE-Core rev: 744ff417fc0b4ef3096cf5f687f7e3bda20c694e)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:13 +00:00
Andreas Oberritter
c7ac3f49cd python: regenerate plat-linux2/*.py
* If plat-linux2/DLFCN.py was present, python was broken in our
  image, i.e. it was unable to load many modules. This was due
  to changed RTLD_* constants in dlfcn.h
* Python includes a script, plat-linux2/regen, to regenerate
  the py source codes in this directory.
* Do what plat-linux2/regen would do, but use files from
  STAGING_INCDIR.

(From OE-Core rev: 3bb9d027fff925a40c4dea9109df9464a76853b7)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:13 +00:00
Andreas Oberritter
c8f2f585fc python, python-native: always set platform to linux2
* Fixes many problems with linux2 vs. linux3. At least:
  - Detected version was from build-host instead of target-host.
  - linuxaudiodev and ossaudiodev were disabled for linux3.
  - Files were missing in /usr/lib/python2.7/plat-linux3.
* Imported from upstream HG rev c816479f6aaf
* Bugtracker URL: http://bugs.python.org/issue12326

(From OE-Core rev: accb2b728ab10cae20be59253a56ac6410b8de10)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:13 +00:00
Andreas Oberritter
8f3aefa162 linux-firmware: fix permissions of installed files
* The previous copy command preserved the original
  owner and permission bits.
* The new command uses root:root and applies OE's
  umask.

(From OE-Core rev: 710e565beadcf4ea965af688fd08b9b1f274ad57)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:12 +00:00
Andreas Oberritter
7f784b6549 util-linux: explicitly disable udev
* util-linux auto-detects libudev for lsblk, so
  disable it, because it's not listed in DEPENDS.

(From OE-Core rev: f831d4713a24dd56bf09276fb3b293d9c2b508cb)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:12 +00:00
Andreas Oberritter
b9027a9416 package.bbclass: sort dynamically generated packages
* do_split_packages and package_do_split_locales dynamically add
  packages in order of appearance of os.walk() or os.listdir().
  This order varies between multiple build hosts (and probably
  also between successive builds).
* Sort the list of dynamically added packages, to get a consistent
  and reproducible order.
* This reduces the diffs in buildhistory and improves
  comparability between builds.

(From OE-Core rev: 76f46391239d3e123cfde900c52ca12ac73fd84f)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:12 +00:00
Otavio Salvador
e9fdfbbcde connman: update to 0.79
(From OE-Core rev: 3d3a7103f4d068caed202833ffe9db6b47e75082)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:11 +00:00
Dexuan Cui
fd6696a6f5 image_types: ensure .rootfs.ext3 is created before vmdk is created.
In the case of self-hosted-image.bb, IMAGE_FSTYPES = "vmdk", so the
variables alltypes and subimages don't contain ext3, and  .rootfs.ext3
won't be created, and finally the generated .hddimg and .vmdk don't have
an actual rootfs -- the size of the .vmdk file is only about 9MB.

[YOCTO #2067]

(From OE-Core rev: 39f14c66d5df226689238810b759f502644deb5c)

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:11 +00:00
Andreas Oberritter
e867a99d97 udev-164: fixup "don't hardcode path to pidof"
* Remove -e shell option, because pidof may return nonzero.

(From OE-Core rev: b35c5e83d9f2e63917c2604046fb1a6d70a2a524)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:11 +00:00
Andreas Oberritter
7b6cd925d4 qt4: fix deps in libQtWebkit.la and QtWebKit.pc
* Both files contain -L../../WebCore/release -L../../JavaScriptCore/release -lwebcore -ljscore
* These paths and libs don't get installed.
* When building a shared lib with libtool, that links
  with libQtWebKit, libtool adds these unneeded parameters
  to the linker command-line, thus linking fails.

(From OE-Core rev: 4c41a3204ef72f53813ddc86fe525fa9c6714daa)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:10 +00:00
Saul Wold
1a61109d03 image-vmdk: add NOISO to disable iso image creation since it's not needed
(From OE-Core rev: 92a8d604674bd500fdb4008bc34791776c84ae33)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:10 +00:00
Jeff Lance
4ca1820cd8 trace-cmd: modifying License information
* Adding "GPLv2 & LGPLv2.1" to create a dual license to cover the libraries.
* Bump up PR

(From OE-Core rev: 468aab48b07d345aadb6f449421824b0447d29c2)

Signed-off-by: Jeff Lance <j-lance1@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:10 +00:00
Otavio Salvador
96e88c5a06 dpkg: rename postinst trigger script
Use 'run-postinsts' as trigger script name as it describes better the
intent of it.

(From OE-Core rev: 69a4765d63ac6de3f1a6804cfca6b52c008e4c22)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:09 +00:00
Otavio Salvador
792d79f157 opkg: rename postinst trigger script
Use 'run-postinsts' as trigger script name as it describes better the
intent of it.

(From OE-Core rev: 9a0a106f64a913de593877bf47f79cb29ab87716)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:09 +00:00
Otavio Salvador
f473660b5f rootfs_rpm.bbclass: rename postinst trigger script
Use 'run-postinsts' as trigger script name as it describes better the
intent of it.

(From OE-Core rev: 6bc50e531a15728be019af7bec5bce704fb72f8f)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:09 +00:00
Otavio Salvador
f9bdcb2eb1 image.bbclass: fix rootfs generation without package management tools
When building without package management tools the
ROOTFS_BOOTSTRAP_INSTALL packages need to be available to provide the
bare minimal for rootfs unconfigure postinsts to be on first boot.

Those packages where being include in core-image.bbclass' based images
however every image needs those available for proper rootfs generation.

(From OE-Core rev: 4f2845739fc7a1f2c784f4d3be048ee111e7d093)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:08 +00:00
Otavio Salvador
717f9740e5 run-postinsts: fix opkg data path
(From OE-Core rev: 791f7e16d003eb1e116a26eec716e6bbac28b8f9)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:08 +00:00
Saul Wold
e26d3e6aae glib-2.0: Add Upstream Status for nodbus.patch
(From OE-Core rev: 1619bd7aa56f7cd4f7c9696eec3389b150de043a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:08 +00:00
Bruce Ashfield
0f64905840 linux-yocto: respect FILESPATH directories
During the work to enhance the ability to specify out of tree kernel
features, an assumption was made about PN being part of a patch
path. This assumption is incorrect, since patches can be anywhere in
the valid FILESPATH.

To make locating the patches in WORKDIR simple, we can just query
patch.bbclass and return both the absolute directory of the patch
and the subdirectory as it was specified on the src_uri.

(From OE-Core rev: ecade4c986e5045879ea204e31457c9b53a15e33)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:08 +00:00
Richard Purdie
eed3746db9 xserver-xorg: Remove unneeded empty directory, fixing QA warning
(From OE-Core rev: 689c9e6e5487292e3e54faceb741fa59478d9386)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:07 +00:00
Richard Purdie
00d64ef6d5 python-pycairo: Fix incorrect versions in license field
(From OE-Core rev: 6bf473f3721c03adbfd283a65187dd5656e6debf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:07 +00:00
Richard Purdie
0342f7e368 rpm: Add rpmdeps-oecore to appropriate package
(From OE-Core rev: a964e22804705b64202d2852a13ff2be34dc7923)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:07 +00:00
Richard Purdie
c5858a49cf bluez4: Ensure the plugins directory is packaged to avoid warnings
This makes sense in this case even if its empty since this package is the
correct owner for it.

(From OE-Core rev: a5b8067f4d8c4b2aa230d8c998f4188d7b43895b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:06 +00:00
Richard Purdie
f7945b812f qemu-config: Clarify license as GPLv2
(From OE-Core rev: 23af07ffbd861baf5b7e958a02b62c861e5bbfe7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:06 +00:00
Richard Purdie
e25a02eb2b license.bbclass: Add mapping for LGPLv2.0, pango uses it
(From OE-Core rev: 3b9256140bde09f8319a96bc8cbe15288ff5899b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:06 +00:00
Richard Purdie
4ba6ff6df2 perl: Clarify LICENSE with versions. Yes, its really GPLv1
(From OE-Core rev: 1ae8a1b044ea7fc421cf64b5921f6c8dc25b99cf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:05 +00:00
Richard Purdie
0f99e6ba8d shadow: Correct license Artistic -> Artistic-1.0
(From OE-Core rev: 14ae4991d8067eb047acf77b30b3abef2cecef5f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:05 +00:00
Richard Purdie
8c218ddb81 boost: Correct license name BSL-1 -> BSL-1.0
(From OE-Core rev: fe8282824f54fd49a9b53d63b45c76132c3dc04f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:05 +00:00
Richard Purdie
b2d4c6f691 gnome-doc-utils: Clarify license as GPLv2 and LGPLv2.1
(From OE-Core rev: 48b11b323622f1e4294bd3b95e3b54bb4929d941)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:04 +00:00
Richard Purdie
d51e812437 gtk-doc: Clarify license as GPLv2
The .m4 file has no details but the upstream project is clearly GPLv2
so update the LICENSE file to match.

(From OE-Core rev: 25109aa2a4c2814ad89b4b416b4de31d14b65e93)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:04 +00:00
Richard Purdie
374f060836 wireless-tools: Clarify LICENSE field to avoid warnings
The source is unclear which version of the license applies. Since BSD is listed,
we have plenty of choice so lets pick some versions. Most people would pick
BSD out of the three anyway.

(From OE-Core rev: 04c2e69ffb77b43b853170c2b804eab367260063)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:04 +00:00
Richard Purdie
40aef31b22 matchbox-session: Clarify LICENSE as GPLv2
(From OE-Core rev: b6906c8c08dff9f8b3dac0d2d637856296cb4a60)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:03 +00:00
Richard Purdie
d72637c04e librsvg: Fix unpackaged directory warnings
This patch fixes the QA warnings:

WARNING: For recipe librsvg, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/lib/gtk-3.0
WARNING:   /usr/lib/gtk-3.0/engines

(From OE-Core rev: 973fabc6db9398869c5257b9c761d9d741d5c407)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:03 +00:00
Richard Purdie
a10c348763 sato-screenshot: Remove unneeded .la file
This resolves the QA warning:

WARNING: For recipe sato-screenshot, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/lib/matchbox-panel/libscreenshot.la

(From OE-Core rev: c5f4a9261d582a52429cf5a115efed61987b0dd8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:03 +00:00
Richard Purdie
7dfac86166 xf86-input-vmmouse: Package unpackaged files
This addresses the QA warnings:

WARNING: For recipe xf86-input-vmmouse, the following files/directories were installed but not shipped in any package:
WARNING:   /lib
WARNING:   /lib/udev
WARNING:   /lib/udev/rules.d
WARNING:   /lib/udev/rules.d/69-xorg-vmmouse.rules
WARNING:   /usr/share/X11
WARNING:   /usr/share/hal
WARNING:   /usr/share/X11/xorg.conf.d
WARNING:   /usr/share/X11/xorg.conf.d/50-vmmouse.conf
WARNING:   /usr/share/hal/fdi
WARNING:   /usr/share/hal/fdi/policy
WARNING:   /usr/share/hal/fdi/policy/20thirdparty
WARNING:   /usr/share/hal/fdi/policy/20thirdparty/11-x11-vmmouse.fdi
WARNING:   /usr/lib/hal
WARNING:   /usr/lib/hal/hal-probe-vmmouse

The hal files are simply deleted, we don't care about hal.

(From OE-Core rev: fb1e1ca346c617598726609425406b5afc79270d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:02 +00:00
Richard Purdie
a62300a0bf leafpad: Package currently unpackaged files.
This resolves the QA warning:

WARNING: For recipe leafpad, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/share/icons
WARNING:   /usr/share/icons/hicolor
WARNING:   /usr/share/icons/hicolor/16x16
WARNING:   /usr/share/icons/hicolor/22x22
WARNING:   /usr/share/icons/hicolor/scalable
WARNING:   /usr/share/icons/hicolor/32x32
WARNING:   /usr/share/icons/hicolor/24x24
WARNING:   /usr/share/icons/hicolor/16x16/apps
WARNING:   /usr/share/icons/hicolor/16x16/apps/leafpad.png
WARNING:   /usr/share/icons/hicolor/22x22/apps
WARNING:   /usr/share/icons/hicolor/22x22/apps/leafpad.png
WARNING:   /usr/share/icons/hicolor/scalable/apps
WARNING:   /usr/share/icons/hicolor/scalable/apps/leafpad.svg
WARNING:   /usr/share/icons/hicolor/32x32/apps
WARNING:   /usr/share/icons/hicolor/32x32/apps/leafpad.png
WARNING:   /usr/share/icons/hicolor/24x24/apps
WARNING:   /usr/share/icons/hicolor/24x24/apps/leafpad.png

(From OE-Core rev: df48742cfc0c46ae33f28900cfd5a7a2f94c326c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:02 +00:00
Nitin A Kamble
520668862a cmake.bbclass: add ${base_libdir} to CMAKE_LIBRARY_PATH
Some libraries like libcrypto.so are installed at base_libdir
instead of libdir. So add the base_libdir to CMAKE_LIBRARY_PATH
so that these libraries can be found correctly.

This resolves an issues with libzypp, which was not finding the
libcrypo library correctly in an x32 build.

(From OE-Core rev: f47ada62a3da879006e7cb27479dc9b72c56e923)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-13 11:45:02 +00:00
Richard Purdie
bd2d890418 xorg-xserver: Explictly disable dtrace, its not in DEPENDS
(From OE-Core rev: 01c1a0f7671871b4fafaed0712ecdece5c21216b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-12 17:45:41 +00:00
Richard Purdie
48633e5dd5 mesa-dri-glsl-native: Avoid error when running configure a second time
This avoids the error:

ln: creating symbolic link `/media/data1/build1/poky/build/tmp/work/x86_64-linux/mesa-dri-glsl-native-7.11-r0/Mesa-7.11/src/glsl//../../configs/current': File exists

(From OE-Core rev: 7871772c74e65ef472c5bf3776e4b3b30308bd5d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-12 17:45:41 +00:00
Richard Purdie
c27b7aab3c codeparser: Call intern over the set contents for better cache performance
See the comment in the code in the commit for more information.

(Bitbake rev: 2d56dc7b1f0d186e14c4c8a949b280b6b3fc31de)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-12 15:52:33 +00:00
Richard Purdie
7bf0a790b2 codeparser: Compute extra cache components on the fly rather than later
In the initial implementation there was a relcutance on my part to
generate incremental cache components on the fly since it would lead
to some duplicate code.

We are now seeing problems where each thread reading in the saved cache
file causes significant overhead and can make the process appear to hang
on a many core build, particularly when the cache file is large.

This patch changes the code to maintain the delta in a separate dict
right from the start. The code duplication isn't too bad and could be
mitigated in other ways if it becomes an issue.

[YOCTO #2039 partial]

(Bitbake rev: cdd5d0dee6ab12326b252b6b505a316a52638cac)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-12 15:52:33 +00:00
Richard Purdie
c003a30860 cooker.py: Allow parsing shutdown to be called more than once
The parsing shutdown call can occur more than once. Currently
if this happens the code will hang. Add some code to prevent this.

[YOCTO #2039 partial]

(Bitbake rev: 7614c5bdcaf9d70614b4fad2ca02c7e6eaa92f1b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-12 15:52:33 +00:00
Richard Purdie
fe0659991b libx11-trim/diet: Ensure libx11-locale doesn't trigger multiple provider issues
(From OE-Core rev: 028a7319cf9b178bd3a9878dcba35fa9483d13f5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-12 02:28:03 +00:00
Robert Yang
664fb27537 siggen.py: Use basehash if no taskhash
The bitbake-runtask doesn't work since there is no taskhash (it worked
in the past, but seems recent changes made it doesn't work again), use
the basehash when there is no taskhash, just like what dump_sigtask
does.

[YOCTO #1229]

(Bitbake rev: b36f2e3803dfc494d5b171759f55faf33708e6f1)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-12 02:26:23 +00:00
Paul Eggleton
d599d90fd5 bitbake/siggen: output filename on error in finalise
If an error occurs during finalise() (when for example we might get an
expansion error in SRCPV), log a note which mentions which recipe was
being finalised.

Fixes [YOCTO #1782]

(Bitbake rev: 56f9f8ffd92b00b916dbc2386150c83689d5beed)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-12 02:26:22 +00:00
Joshua Lock
67b9706ff2 ui/crumbs/hig: special case stock info icons in CrumbsMesssageDialog
The Hob visual design includes an info icon which should be used
consistently throught the GUI. This change detects use of the stock info
icon in CrumbsMessageDialog and uses the Hob info icon instead.

(Bitbake rev: 37ed1589a19ffc82e8638b5375c99158988b38fc)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-12 02:26:13 +00:00
Joshua Lock
fce8d37144 ui/crumbs/hig: use HobInfoButton in place of gtk.Image with tooltip
Replace all instances of the stock info icon with an attached tooltip with
the new HobInfoButton with associated PersistentTooltip.

(Bitbake rev: cead9a2e32f0196536c51d3a0713c1f28a35bf3d)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-12 02:26:13 +00:00
Joshua Lock
ee0c3023c4 ui/crumbs/imageconfigurationpage: make use of the HobInfoButton
Use the new HobInfoButton widget in place of the existing gtk.Image with
tooltip.

Modify the markup of the tooltip so that the link to the reference manual
is a clickable hyperlink.

(Bitbake rev: 10b4a6770640db49f2f55b8ad7ce55aebb250598)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-12 02:26:13 +00:00
Joshua Lock
26ff0faabd ui/crumbs/hobwidget: implement HobInfoButton per Hob interaction design
This button-like widget will display a persistent tooltip with the
supplied Pango Markup when it is clicked by the user. This widget features
prominently in the interaction design to offer help in a more prominent
manner.

(Bitbake rev: 43f33dcd6b7d1a08651cdf0715c2c2a9d488b103)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-12 02:26:12 +00:00
Joshua Lock
9781b0905d ui/icons: crop the info icons
The info icons include large, transparent borders. Crop this out so that
we can use the icon without using too much space in the GUI.

(Bitbake rev: de5fbbd343081147e6b7a118daee7f678d49d0fa)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-12 02:26:09 +00:00
Joshua Lock
8a8a6568fa crumbs/persistenttooltip: a new Gtk+ widget for use in Hob
The Hob interaction design calls for a top level widget which shows a
persistent tooltip. This tooltip will not disappear until the user
explicitly closes it.

This allows us to provide clickable hyperlinks, longer instructions and
deeper information in the tooltips.

Note: by design the tooltip should dismiss when the user clicks off it,
this implementation does include that functionality. It's a to do item.

(Bitbake rev: b310fd429150d3a96ecde477934fffad4b4031da)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-12 02:24:04 +00:00
Richard Purdie
19b38a6486 package.bbclass: Drop python depends from rpmdeps
This python depends is added by rpmdeps every time it finds a python
script. This is not necessary since we handle this in otherways. It
also breaks things like nativesdk since the dependency is not renamed.
The easiest solution is just to ignore this dependency.

(From OE-Core rev: 5c8ad2638baac0501cecf38f8d3e8467d56afb8a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-11 18:27:45 +00:00
Richard Purdie
7eb3440ac5 rpm 5.4.0: Add rpmdeps-oecore to replace rpmdeps for package.bbclass
This is a performance enhancement by adding a binary allowing batch processing
of individual file dependencies. The second patch in this series uses the binary
this patch creates.

(From OE-Core rev: 50dc8bfbac42b9a9b52a2f7d0568740c41790c13)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-09 06:40:12 -08:00
Richard Purdie
2f4d784699 package_ipk.bbclass: Ensure Source is set to something else packaging can fail
(From OE-Core rev: a91d7a0c27d0ec763cb794be5282f7d34a3135fe)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 23:49:36 -08:00
Lianhao Lu
6bd23e0faf adt-installer: Corrected wrong environment file names.
[YOCTO #2055]
1. Corrected the wrong environment file name for powerpc.

2. Removed unnecessary variables in adt_installer.conf.

(From OE-Core rev: 9c52fe75b7f77feda075e9c5296448dea6ff7922)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:18:52 -08:00
Paul Eggleton
3f6ed2c850 formfactor: use full path to fbset
When using rootless X, /usr/sbin is not in PATH and thus running "fbset"
will fail; so specify /usr/sbin/fbset instead.

Fixes [YOCTO #1986]

(From OE-Core rev: fb2df75e1552e60c67449c06cd80accc40ea534e)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:18:14 -08:00
Lianhao Lu
e189a7113c prservice: Added sanity check for prservice connection.
Fixed bug [YOCTO #2052]. Added sanity check for variables of PRSERV_HOST
and PRSERV_PORT, also for the connection availabity of prservice.

(From OE-Core rev: 7588a4f2e2728da0ff7a773b18527f3711b138f2)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:16:29 -08:00
Andreas Oberritter
10d6c4e056 bzip2: split into binary and library packages
* Create libbz2 (and -dev, -staticdev), which can be
  installed without the bzip2 executables.

(From OE-Core rev: e27af1f273e9a7348dd8f5542df9206acd9210f3)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:12:06 -08:00
Scott Rifenbark
c6bb463995 documentation/dev-manual/dev-manual-start.xml: re-write of meta-intel
The section describing how to set up meta-intel has been re-written
to provide more information about this Git repository and why
it is important.  Also, added information explaining why user
should use the same set up method (tarball or Git repo) as used
to set up the YP files tree.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: 53fbfc59f0183a6b8474ed643302faffef79356b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:09 -08:00
Scott Rifenbark
2ede6c8c44 documentation/adt-manual: Converted manual to use the poky.ent file
Conversion of hard links to use the variables set up in the file
documentation/poky.ent.

(From yocto-docs rev: edbacc1b57f02c31ff6eaee666245be83fb17543)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:09 -08:00
Scott Rifenbark
eebdda725b documentation/poky.ent: added new variable.
(From yocto-docs rev: 688c2ae331b17d4a334c569f2cf656f672e25cd6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:09 -08:00
Scott Rifenbark
c25d7fcbf4 documentation/dev-manual/dev-manual-newbie.xml: Fixed typo.
(From yocto-docs rev: be10660d8a0b08731e763dbe761bfbc2e00f9831)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:09 -08:00
Scott Rifenbark
7431a70248 documentation: Updated copyright notices to 2012.
(From yocto-docs rev: a270fe40606ccbef5c453bb77f009306a7bdfb93)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:08 -08:00
Scott Rifenbark
b8e1fb43fe documentation/kernel-manual/kernel-manual.xml: Copyright updated.
(From yocto-docs rev: 36ebeaf60f8e627edebb0fa202a1cce3a423bac5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:08 -08:00
Scott Rifenbark
ae647f6032 documentation/dev-manual/dev-manual-common-tasks.xml: Review comments
Applied the review comments from Paul Eggleton for the new section
on "Understanding and Using Layers."

(From yocto-docs rev: 6bf5854dd355afdbc01c4c4fb94a4062bd9eae20)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:08 -08:00
Scott Rifenbark
1084bc5d77 documentation/yocto-project-qs/yocto-project-qs.xml: Misc. Edits
I received a patch from Robert P. J. Day that had several changes.
Curiously, several did not apply.  I think that the patch was
applied using a version other than the "latest" version.  In
any case, I applied the changes that did need applied.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: 5af725001cf045040f83e1c891385692f8a3a287)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:08 -08:00
Scott Rifenbark
b257acf053 documentation/dev-manual/dev-manual-start.xml: Wording change
Added a bit more information to the wording where it talks about
creating a Git Repository if you are going to contribute back
into YP.  This change was suggested by Robert P. J. Day and
was submitted to me in the form of a patch.  For reasons unknown
to me the patch Hunk failed even though I believe I had things
saved and applied correctly.  I had to resort to applying it by
hand.  I ended up doing a bit of re-writing on the suggested
change to clean it up.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: 94f90c91e6b1d13bebc7a434210452f222ef0317)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:07 -08:00
Scott Rifenbark
2cae64b94f documentation/dev-manual: Re-org of topics
Several topics in the "Common Tasks" chapter really fit better in
the "Newbie" chapter.  I moved these sections out.  I also combined
information from the section on submitting changes from the
"Common Tasks" and the "Newbie" chapter to live in the "Newbie"
chapter only.

(From yocto-docs rev: 90fa8c125e545c57a5a994dd59715b73c5c4882f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:07 -08:00
Scott Rifenbark
25f74b31b7 documentation/dev-manual/dev-manual-newbie.xml: Fixed link
Removed redundant link to manual.

(From yocto-docs rev: 7e7bc327237cae2be3c67e5b711548a16c4d8648)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:07 -08:00
Scott Rifenbark
0b17271a60 documentation/dev-manual/dev-manual-common-tasks.xml: new section
Added a new section on managing layers.  This is a sub-section that
completes the new layers section.

(From yocto-docs rev: 551f36a75485d0b3ecbd69d94fc359cfa42c875d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:07 -08:00
Scott Rifenbark
4db23d6000 documentation/poky-ref-manual/ref-variables.xml: New glossary entries
Added glossary entries for FILESPATH and FILESEXTRAPATHS.  Although
the user is not supposed to manually edit FILESPATH, the entry is
necessary I feel in order to better understand the FILESEXTRAPATHS
variable.

(From yocto-docs rev: 67357174148859ace6bf605c3ebc0bf49b761753)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:06 -08:00
Scott Rifenbark
c38b2de630 documentation/dev-manual: New Layer section and metadata link anchor
The change to the dev-manual-newbie.xml file was minor.  I added
a link anchor for the term "metadata."

The change to the dev-manual-common-tasks.xml was extensive.  I have
added an entirely new section on layers called "Understanding and
Using Layers."  The new material has several sub-sections.

Information was based on emails from Paul Eggleton.

(From yocto-docs rev: 4fb34abd60180fc2482ddb9f62e476763cee7679)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:06 -08:00
Scott Rifenbark
eb829f2768 documentation: Section change and cross-reference fixes
I renamed the "BitBake Layers" section in the YP Development
Manual to "Understanding and Creating Layers."  Renaming the
section broke three cross-references in the YP documentation
manual set.  I applied fixes to the references.

(From yocto-docs rev: 93f4f5dfb61ed48047a40f5bbbc3f5e844c7c2f4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:06 -08:00
Scott Rifenbark
99d5ff0194 documentation/dev-manual/dev-manual-common-tasks.xml: Moved Layer section
The "BitBake Layers" section was grossly mis-positioned.  It appeared
in the "Making and Maintaining Changes" section.  I have moved the
layer section to the very front of this chapter.  It is fundamental
to know about layers and how to create your own custom layers.

(From yocto-docs rev: 410154f6e0a1e1f3ebc05d3f45ed2ce6f71cc618)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:06 -08:00
Scott Rifenbark
7018654853 documentation/poky-ref-manual: Review edits on B and externalsrc.bbclass
I tried to implement some comments by Richard on the B glossary
entry and the externalsrc.bbclass section.  The comments were a bit
confusing to me but the gist of it was I mis-interpreted Richard's
comments on supporting separate directories for B and S.  I had
indicated that autotools-based recipes did this by default, which
was wrong.  What was confusing to me is where the comments should
be.  I ended up putting them in both areas of the reference manual.

(From yocto-docs rev: a2ddc17bd003b116e593f7df0f59d86cfa0e1cd9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:05 -08:00
Scott Rifenbark
e95d81a8bf documentation/poky-ref-manual/ref-variables.xml: Changed examples
Changed the examples to use "=+" instead of "=".

(From yocto-docs rev: 19958be932ea6401f355f119474da5dd4ac179f9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:05 -08:00
Scott Rifenbark
b206901b2a documentation/poky-ref-manual/development.xml: Fixed cross-reference
There was a broken cross-reference to the YP development manual.
Fixed it.

(From yocto-docs rev: ed89eb1af507a656ff0ef16019d31db639eb5c36)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:05 -08:00
Scott Rifenbark
7aa91dd958 documentation/README: Created a README file
Initial file.

Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: 37fea0686161333338ca79710e0bf75a67b14c5f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:05 -08:00
Scott Rifenbark
72a568425b documentation/yocto-project-qs/yocto-project-qs.xml: Title fixed
The title for the Quick Start should be "The Yocto Project
Quick Start".

(From yocto-docs rev: d70c75674de959e3fe7d8b661dddefb0648ae89a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:05 -08:00
Scott Rifenbark
05cff8adcb documentation/poky-ref-manual/ref-variables.xml: B and BBCLASSEXTEND
Added two new variable entries.  This is part of the fix needed
as a result of the feedback from two Community members inside
Intel whose feedback was initially reported by Darren Hart.

Reported-by: Inaky Perez-Gonzales <inaky.perez-gonzales@intel.com>
Reported-by: Mohamed Abbas <mohamed.abbas@intel.com>
(From yocto-docs rev: ccabb9c905e7a1c9a211f805f8a326048903b7b0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:04 -08:00
Scott Rifenbark
36e3daf7f9 documentation/poky-ref-manual/ref-classes.xml: New externalsrc class
Added a new class description for externalsrc.bbclass.  This
addition was driven by feedback from two community members
inside Intel whose feedback was picked up by Darren Hart.

Reported-by: Inaky Perez-Gonzales <inaky.perez-gonzales@intel.com>
Reported-by: Mohamed Abbas <mohamed.abbas@intel.com>
(From yocto-docs rev: 1217d26993f9e5f3e6914e366b1fed34debbd242)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:04 -08:00
Scott Rifenbark
ad5de9715a documentation/dev-manual/dev-manual-common-tasks.xml: New section
Added a new section on building from an external source tree.
This addition was driven by a need through two community members
whose feedback was picked up by Darren.

Reported-by: Inaky Perez-Gonzales <inaky.perez-gonzales@intel.com>
Reported-by: Mohamed Abbas <mohamed.abbas@intel.com>
(From yocto-docs rev: c9548803f58e5055d6686dbc16c94308296ccf2a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:04 -08:00
Scott Rifenbark
6aeeeba08f documentation/dev-manual: Added anchor point and edits to kernel config
I added a reference anchor to the spot in the dev-manual for the
"Yocto Project Source Repositories".

Other changes were to the bsp guide and were general edits to the
"Linux Kernel Configuration" section.

(From yocto-docs rev: def35923199d48c879ff06a68f81b5cd28d55185)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:04 -08:00
Scott Rifenbark
758dd351a7 documentation/bsp-guide/bsp.xml: Edits to Misc Recipe Files
I added a bit more to the note about BSPs that do not have a
formfactor entry.  The note was vague.  Explanation provided
by Tom Zanussi.

(From yocto-docs rev: 997832850cf01d83bf3b799a5a6e7f5c902d9a8f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:03 -08:00
Scott Rifenbark
b0b5224ab0 documentation: Edits to all style.css files
Updated all the CSS style sheets so that the Note, Warning, Tips,
Caution, etc. boxes are not so prominant.

(From yocto-docs rev: 451568553e9620c1e247c2f67b0665b184c3300b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:03 -08:00
Scott Rifenbark
372fe9f262 documentation/yocto-project-qs/style.css: Changed notes, tips, etc.
I lightened up the bacground box colors used for Notes, Tips, Warnings,
Cautions, etc.  We had some feedback from the community that they heavy
dark boxes were taking away from the main text.

(From yocto-docs rev: d9b5da116bacb847e86c1f5029836308b8ce533c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:03 -08:00
Scott Rifenbark
0e640d4952 documentation/yocto-project-qs/yocto-project-qs.xml: Welcome updated
At the suggestion of Scott Garman, I added a link to his Getting
Started with the Yocto Project - New Developer Screencast Tutorial.
In doing so, the list of "other helpful things to read" was turned
into a list as there are three items now.

(From yocto-docs rev: f43c31d9bcd0e48aced86cc917d0af5f5a48d2e8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:03 -08:00
Scott Rifenbark
2027c9616e documentation/bsp-guide/bsp.xml: Edits to Display Support Files Section
(From yocto-docs rev: c888c1c82dea615175bdb8818409a264d0c749ee)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:02 -08:00
Scott Rifenbark
cfbee010ac documentation/bsp-guide/bsp.xml: Edits to Core Recipe Files section.
(From yocto-docs rev: 8bd330a4d43732a10c4801f27a969adc83ac0e97)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:02 -08:00
Scott Rifenbark
e856eed4e3 documentation/bsp-guide/bsp.xml: Edits to HW Configuration Options Section
Made some minor edits.  I also discovered that the information
describing where tuning files reside was not real helpful.
In particular, tuning files are not limited to the
meta/conf/machine/include directory.  For example, the Crown Bay
BSP layer includes a tuning file from the meta-intel Layer.

(From yocto-docs rev: 3a76ccc4f645f03a6e888b7eb53fa9bc7bfb255e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:02 -08:00
Scott Rifenbark
d035bb875f documentation/bsp-guide/bsp.xml: Edits to "Layer Configuration File" section.
(From yocto-docs rev: 78d36baa57fe9c95bdd39eb63a5bada6a1a5ee64)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:02 -08:00
Scott Rifenbark
93ad9b5f00 documentation/bsp-guide/bsp.xml: Edits to pre-built user binaries section.
(From yocto-docs rev: 1bf460e980ee35e783a64de2cddfdd68c5471871)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:01 -08:00
Scott Rifenbark
1764713763 documentation/bsp-guide/bsp.xml: New "README.sources File" section added.
(From yocto-docs rev: 2f398b278904b26e4cd6ab237c0c9dce7e8d6009)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:01 -08:00
Scott Rifenbark
011738ac7a documentation/bsp-guide/bsp.xml: Edits to point to files
I was introducing each area of the sub-sections by saying
"You can find these files in the Yocto Project Files ....",
which really isn't accurate.  This structure is a BSP structure
or layer.  I am not referring to it as such.

(From yocto-docs rev: f13a89bc7812106abd4ef95dfdccfa48eae11af6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:01 -08:00
Scott Rifenbark
be04e176cb documentation/bsp-guide/bsp.xml: changes to Crownbay example
I brought the example Crown Bay structure up to speed with the
state in the YP source repositories.  I also made a couple minor
edits.

(From yocto-docs rev: 23dbd76952c79b1b3a28b731bef218f4cabfd8fb)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:01 -08:00
Scott Rifenbark
c0859cd2b6 documentation/dev-manual: Fixed YP Build Directory Term
Throughout the manual there is a specific term to refer to the
YP build directory: "Yocto Project Build Directory."  This term
was being loosely referred to and was not consisten in linking to
the actual term definition in the Terms chapter.  All this is
fixed.

(From yocto-docs rev: 9229a512a62780a0e52089cc865d0903cbe7c92e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:00 -08:00
Scott Rifenbark
ee69fb5782 documentation/dev-manual/dev-manual-common-tasks.xml: bblayer.conf edit
changed bblayer.conf to conf/bblayer.conf and also correctly referred
to the Yocto Project Build Directory.

Reported-by: Paul Eggleton <paul.eggleton@intel.com>
(From yocto-docs rev: 64dffc2a4e587f198d44b0ed0cea269bfa16d3be)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:00 -08:00
Scott Rifenbark
a72bea5bf5 documentation/dev-manual/dev-manual-common-tasks.xml: Review comments
Had to back off a bit on the use of the term "working directory".
Paul clarified that it was okay to use the term "temporary source code
location" when talking about where the source code for a package was
located.

(From yocto-docs rev: 8d3f7613f32f1ce91c9d53e2db3c36448abb5a82)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:00 -08:00
Scott Rifenbark
8268a69c40 documentation/dev-manual/dev-manual-common-tasks.xml: review comments
Implemented Paul Eggleton's latest set of review comments to the
"Modifying Temporary Source Code" section.

(From yocto-docs rev: cd43c642308ba7c049e6ba79befa471673c078e7)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:08:00 -08:00
Scott Rifenbark
9b5aedc3bc documentation/dev-manual/dev-manual-common-tasks.xml: S variable edits
More edits to the "Finding the Temporary Source Code" section as
pointed out by Paul Eggleton.

(From yocto-docs rev: 2987abe413687e216c4fe38d1db855409a595dab)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:59 -08:00
Scott Rifenbark
484cc84043 documentation/poky-ref-manual/ref-variables.xml: Formatting changes.
(From yocto-docs rev: a83964d7e96986c473ef1a4a7b46e5383c9316ad)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:59 -08:00
Scott Rifenbark
87133d137a documentation/dev-manual/dev-manual-common-tasks.xml: Review comments
Applied Paul Eggleton's review comments.  Basically trying to clarify
what is the S variable and what is the WORKDIR variable when
determining where unpacked source files are.

(From yocto-docs rev: e139e441653fa00309de204b7ad9f5a7ad7bdcb8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:59 -08:00
Scott Rifenbark
66ce594d28 documentation/dev-manual/dev-manual-newbie.xml: three small corrections
Put in the real link to the YP Source repositories instead of a
click "here" thing.  Put in a reference to the BSP Layer section
from the term layer.  Fixed a grammar type.

(From yocto-docs rev: 6b3b63480f948dad2c5101deedb8deafad291728)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:59 -08:00
Scott Rifenbark
4cf3afbc98 documentation/dev-manual/dev-manual-start.xml: Formatting correction. (From yocto-docs rev: 767ec4659e72622a08ff6d1923d14c46e6dd4331)
Signed-off-by: Scott Rifenbark
 <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:58 -08:00
Scott Rifenbark
1b17e6ac87 documentation/dev-manual/dev-manual-start.xml: Edits to BSP set up
I added some text to explain where the meta-intel repo can be
found within the YP source repositories.  Also provided a link
back to the start of the BSP Guide.

(From yocto-docs rev: 79d513d010637e4a684da64b363ed8d957f06640)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:58 -08:00
Scott Rifenbark
7bc6ffe868 documentation/dev-manual/dev-manual-start.xml: Edits to poky-extras
Added text so the user could locate the poky-extras Git Repository
within the YP Source Repositories.

(From yocto-docs rev: 3778a768ae30e323be0e84b55778040ebe89a3ad)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:58 -08:00
Scott Rifenbark
2c52a78566 documentation/dev-manual/dev-manual-start.xml: Edits to Kernel repo setup
Added a reference into the YP Source Repositories so the user knows
where our supported Linux Yocto Kernels are.  Also, corrected a
mistake in the working about copying the bare clone.

(From yocto-docs rev: 76f3d59dd9e0b30644415f33158d71ec6932fb4f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:58 -08:00
Scott Rifenbark
bacff88df9 documentation/dev-manual/dev-manual-start.xml: Edits to YP files Git method
Added some clarity on where the poky Git repository comes from
with regard to the YP source repositories.

(From yocto-docs rev: 29c0b095daa39256b69cd35f744136d97a239cc3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:57 -08:00
Scott Rifenbark
4dd2dc9886 documentation/bsp-guide/bsp.xml: Edits for BSP Layer understanding
I added a small section at the start of chapter to define a
BSP Layer, note where the YP keeps them, and note that meta-intel
is somewhat of a "super" layer as it contains several BSP layers
of its own.

(From yocto-docs rev: 2e044072660d3f675612e01e3871d6a4fb0894bd)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:57 -08:00
Scott Rifenbark
f7fb723548 documentation/dev-manual/dev-manual-common-tasks.xml: review comments added
Paul Eggleton's review comments on the "Modifying Temporary Source
Code" section have been applied.

(From yocto-docs rev: 8f17f9e556e7027d8aba1fe69d614d17cdbcc054)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:57 -08:00
Scott Rifenbark
452d2764c9 documentation/dev-manual/dev-manual-common-tasks.xml: re-write to 4.4
Complete re-write to the "Modifying Temporary Source Code" section,
Section 4.4.  This strategy now comprises telling the user where
this temporary source code is, how to change it within a Quilt
workflow, and how to change it within a Git workflow.

I consulted with Paul Eggleton quite a bit to come to this conclusion
that the section needed more attention.

(From yocto-docs rev: 8c6c80121c1eeb1ec6f79e1efb6aa27aa9fd111f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:57 -08:00
Scott Rifenbark
797fabdbab documentation/dev-manual/dev-manual-common-tasks.xml: Edits
Applied some edits of Paul Eggleton's.

(From yocto-docs rev: ef5a82d429480c3820db93f0b7207d7e470454af)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:56 -08:00
Scott Rifenbark
70848f308d documentation/dev-manual/dev-manual-common-tasks.xml: Combined sections
I combined the section on changing package source code and
the section on changing package source code with quilt into one
over-arching section named "Modifying Package Source Code."
The section on Quilt was sort of a stand-alone section but Paul
Eggleton suggested that it is a natural follow-on.  So I put the
two sections in as sub-sections.

(From yocto-docs rev: ae4d3cf99e27f74b151939d2f5a2b440b91ac6d6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:56 -08:00
Scott Rifenbark
7a88a29c67 documentation/dev-manual/dev-manual-common-tasks.xml: review comments applied
Applied the review comments from both Paul Eggleton and Joshua
Lock for the "Modifying Package Source Code" section.

Reported-by: Paul Eggleton <paul.eggleton@intel.com>
Reported-by: Joshua Lock <joshual.lock@intel.com>
(From yocto-docs rev: 276c13517c7edda8407fdf82c36d14029c5fcee4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:56 -08:00
Scott Rifenbark
ea70ac509b documentation/dev-manual/dev-manual-common-tasks.xml: new section
Created a new section called "Configuring the Kernel."  This is the
how-to counterpart for the concepts part created in the kernel
manual.  The section consists of three sub-sections:
"Using menuconfig", "Creating Config Fragments", and
"Fine-tuning the Kernel Configuration File."  Primary source for
information on this section was Bruce Ashfield.  He has this section
for review.

(From yocto-docs rev: 3ac718bc69b4914c41a0bb94134c085964ee71a7)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:56 -08:00
Scott Rifenbark
d8b27b6662 documentation/dev-manual/dev-manual-common-tasks.xml: Edits for links.
(From yocto-docs rev: f3a72e580eadca90d0f9f5d4173a3cb6da1579cd)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:56 -08:00
Scott Rifenbark
280addd637 documentation/poky-ref-manual/ref-variables.xml: Fixed typo.
(From yocto-docs rev: a22b8b2de69b7603ef18bc13e0ac05a919b80199)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:55 -08:00
Scott Rifenbark
c8d0effb67 documentation/poky-ref-manual/ref-variables.xml: Update S variable
Added more information to the "S" glossary entry.  Provided
an example.

(From yocto-docs rev: c36896c167d1721647d756210611667c4351b31b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:55 -08:00
Scott Rifenbark
e1b3ba8c95 documentation/poky-ref-manual/ref-variables.xml: Edits to WORKDIR glossary
The edits add much more information to the WORKDIR variable in the
glossary.  There are some examples and it now shows how the
actual working directory is derived.

(From yocto-docs rev: 8b3e671f6088a2fb2d6f496cee979567cf0f222e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:55 -08:00
Scott Rifenbark
5feff482a7 documentation/poky-ref-manual/ref-variables.xml: New TMPDIR glossary term.
(From yocto-docs rev: e3be42d820e0ddc1b365034f41b03cf678001659)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:55 -08:00
Scott Rifenbark
a562fa6bd0 documentation/poky-ref-manual/ref-variables.xml: new TOPDIR glossary entry.
(From yocto-docs rev: 04bca6669972d8f8a9f4ecfbe2403fa669bf2b33)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:54 -08:00
Scott Rifenbark
7b5215b886 documentation/dev-manual/dev-manual-newbie.xml: edits to build dir term
I beefed up the definition for the term "Yocto Project Build
Directory."  I included the TOPDIR role and also expanded the
discussion on how it is created and the control the user has
over it.

(From yocto-docs rev: d00f30708ccd5fb9e1fc3c8e5240e0ab7a892fe0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:54 -08:00
Scott Rifenbark
1e608088cd documentation/dev-manual/dev-manual-common-tasks.xml: re-write
Re-write of the section describing how to update package source
code.  I added some rationale to the process and provided more
detail regarding where to find the source files and the naming
scheme behind it.  The new section is on review so changes could
occur.

(From yocto-docs rev: 2a1d37a87abb82c66a0ad3fc39d5da9f2f5b1b7e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:54 -08:00
Scott Rifenbark
9ad6975035 documentation/dev-manual/dev-manual-newbie.xml: Added text anchor
(From yocto-docs rev: d316f9506e0f94ca7bf75f2bdedb509b327b2ded)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:54 -08:00
Scott Rifenbark
7e23cd115c documentation/dev-manual/dev-manual-common-tasks.xml: Writer notes added.
(From yocto-docs rev: 40d00bde1585dbd0d23bf999e70940e15d52d74f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:53 -08:00
Scott Rifenbark
eed16096e6 documentation/dev-manual/dev-manual-common-tasks.xml: Removed extra space.
(From yocto-docs rev: 734d6b2d9bd46011c8213b76d7cf2e1aa95e6750)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:53 -08:00
Scott Rifenbark
43e6e25bd5 documentation/dev-manual/dev-manual-newbie.xml: Edits to Git section
Last edits to the "Git" section and the bulleted item that defines
the term "Yocto Project Files."  These edits were from a review of
Joshua Lock.

Reported-by: Joshua Lock <joshua.lock@intel.com>
(From yocto-docs rev: 57cbb06aac566e02bb2e2a1ad05c3ff6dbb0359c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:53 -08:00
Scott Rifenbark
c74f732576 documentation/bsp-guide/bsp.xml: qualified the commit ID difference
In the example that shows the linux-yocto_3.0.bbappend file the
commit IDs are pretty much random and taken at the time I wrote
the section.  I have provided a qualifying statement before the
example to explain that the commit ID strings in the manual's
example could differ from those in the actual file in the YP
source repository.

(From yocto-docs rev: f31278a7ebc4271a6cb75da6891d2d9bf82d41f3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:53 -08:00
Scott Rifenbark
70ae82a161 documentation/kernel-manual/kernel-concepts.xml: New kernel section
This section is the first attempt at a new, high-level discussion
of Linux Yocto Kernel configuration.  The section is supposed to
introduce the concepts only and leave the "How to" stuff for other
areas of the documentation.  I have thrown this section out to the
Yocto Projects Discussion list for feedback.  It will change.

(From yocto-docs rev: 8d0eabe88e50d1a16fda4b845267c4ee240ce540)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:52 -08:00
Scott Rifenbark
3ecda3fb02 documentation/bsp-guide/bsp.xml: Updated reference to manual
The reference for changing a BSP configuration was going to the
kernel manual.  This was an old reference.  That information had
been pulled from the kernel manual and is now in the BSP appendix
of the YP Development Manual.  I updated the reference to point
there.

(From yocto-docs rev: 20b386c522b1fedc2249ac72f151192ff69d098a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:52 -08:00
Scott Rifenbark
0bc0d3529a documentation/bsp-guide/bsp.xml: Updated commit IDs
Crownbay commit ID's used in the example did not match what
is in the YP source repository for meta-intel.  I updated them
to match.

(From yocto-docs rev: c090119f59b9f1fe8caebeea8ba61c6c1252a892)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:52 -08:00
Scott Rifenbark
9dc84b77ec documentation: Cross-referencing section fixed for consistency.
(From yocto-docs rev: 8e861c6fc07aefa81ff65e3542de855116e14969)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:52 -08:00
Scott Rifenbark
e8a6970b0c documentation/dev-manual/dev-manual-intro.xml: updated intro
I added "tasks" to the bullet item that says the manual describes
common development models.  Now with the "Common Tasks" chapter
in here the intro needed tweaked.

(From yocto-docs rev: 8faa6308dbee2138f404d18c6d384b9af7bad5cb)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:51 -08:00
Scott Rifenbark
6c9445eacb documentation/dev-manual/dev-manual-common-tasks.xml: fixed autobot link
Broken link fixed.

(From yocto-docs rev: 6c9102ed8651ab93de46781dede05b2312d102d7)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:51 -08:00
Scott Rifenbark
b97cdc1c8c documentation/dev-manual: Reference link clean-up
I made another pass through the document and cleaned up some
mistakes and also removed redundant links to manuals where I had
already provided a link to the specific section.

(From yocto-docs rev: 5da8ffe100127f5fe4bfd2b478f177d6bef3a968)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:51 -08:00
Scott Rifenbark
646bda0f1d documentation/dev-manual/dev-manual-common-tasks.xml: links fixed.
Moving the "Common Tasks" section from the YP Reference Manual into
the YP Development Manual upset a bunch of links.  I have corrected
these links.

(From yocto-docs rev: 69ee73c59958aaab6f6370231c65300d1d8c92f8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:51 -08:00
Scott Rifenbark
797758c0d4 documentation/poky-ref-manual: Link updates
Pulling the "Common Tasks" chapter fromt YP Reference Manual
broke many links.  Each of these links had to be repaired so that
the link is to the YP Develepment Manual now, where the chapter
was moved to.

(From yocto-docs rev: 08176135b8ac856b8cf7872300ce41ada87fa486)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:50 -08:00
Scott Rifenbark
f908723bc6 documentation: top-level manuals edited for new structure
I updated dev-manual.xml to include the new common tasks file
'dev-manual-common-tasks.xml' and updated poky-ref-manual.xml
to not have the file 'extended.xml'.  This reflects the new
chapter swap between the YP reference manual and the YP
development manual.

(From yocto-docs rev: 978e3be4f20b0a95cf124ce1a9136016a3e71da1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:50 -08:00
Scott Rifenbark
a8108a2f17 documentation: File swap
I am moving the "extended.xml" file from the YP Reference Manual
to the YP Development Manual.  This will be the basis for a common
tasks chapter that talks about common things developers do.

(From yocto-docs rev: 874b3a399c69e5eabf5001a5df5a3064a6d1f0ec)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:50 -08:00
Scott Rifenbark
4d09a3c211 documentation/dev-manual/dev-manual-bsp-appendix.xml: Edits to examples
Updated the tarball and Git repo example in section where user
is getting the source files.  I was not using the default
Yocto Project Files top-level name for the tarball method.

Reported-by: Joshua.lock <joshua.lock@intel.com>
(From yocto-docs rev: 770c6799ea58df3d81df8f466f1bb9878532a995)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:50 -08:00
Scott Rifenbark
deddea16d2 documentation/dev-manual/dev-manual-newbie.xml: Git section updated
I split the Git section into a couple sub-sections.  One talks
about concepts and the other is the section on simple commands.
Hopefully the concepts section now addresses the confusion
people are having over branches, tags, etc.

Also changed the definition of the term "Yocto Project Files"
based on some input by Joshua Lock.

(From yocto-docs rev: d76a9942dd12e6bd3ccba5331039477b26c02379)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:49 -08:00
Scott Rifenbark
babc066860 documentation/dev-manual: Updates to names of bare clone and copy
I changed the example to use a different kernel (linux-yocto-3.0-1.1.x)
and the example that creates the bare clone and the copy of the
bare clone to use better names that are more easily distiguishable:
linux-yocto-3.0-1.1.x.git and my-linux-3.0-1.1.x-work, respectively.

(From yocto-docs rev: b1366d35155121f5aa576715541036304c99f13b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:49 -08:00
Scott Rifenbark
9cfbefcc3d documentation/dev-manual: Edits to clarify YP files
These edits help explain the differences between local YP files
created through a tarball extraction vs cloning a Git repository.

(From yocto-docs rev: ed368800c3e9ece71d27d6d690f0ddc264a4c2da)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:49 -08:00
Scott Rifenbark
11c290c3cf documentation/dev-manual/dev-manual-bsp-appendix.xml: tags/branches edits
Edits to the section describing how to set up the YP files before the
BSP example.  I am working with Joshua Lock on these to settle them
down.  The edits are trying to establish understanding between a
Git repository and a tarball... just what the user has a hold of
after getting the files by either method.

Reported-by: Joshua Lock <joshua.lock@intel.com>
(From yocto-docs rev: ddb8333ea2f9898b7016ca01887e1acdc0581c06)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:49 -08:00
Scott Rifenbark
e71d0af563 documentation/poky-ref-manual/ref-variables.xml: CONFFILES and FILES edits
Final edits to the new CONFFILES entry and an updated more robust
FILES entry in the glossary.  These two entries are good examples
of the depth of detail we should have for all glossary entries.
Kudos to Paul Eggleton for tirelessly working with me to get the
descriptions just right.

Reported-by: Paul Eggleton <paul.eggleton@linux.intel.com>
(From yocto-docs rev: 88e9836a964a9057aaf6ac472b4fb09981a069ac)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:48 -08:00
Scott Rifenbark
7a5fa33974 documentation/poky-ref-manual/ref-images.xml: Added three core-images
Added descriptions for 'core-image-rt', 'core-image-rt-sdk', and
'core-image-gtk-directfb'.  These were apparently missing.

Fixes [YOCTO #1921]

Reported by Shane Wang <shane.wang@intel.com>
(From yocto-docs rev: b83f9fa2a2de867ef9973b84aa1bec94e8071e45)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:48 -08:00
Scott Rifenbark
7b03d42f85 documentation/poky-ref-manual/ref-variables.xml: removed DISTRO_EXTRA_RDEPENDS
According to Richard Purdie this is a nasty variable and people
find it hard to use.  I removed the glossary entry for it.

Reported by: Richard Purdie <richard.purdie@intel.com>
(From yocto-docs rev: 602ec3ea42700b8baff096689c732cadec3e5797)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:48 -08:00
Scott Rifenbark
8769a255d7 documentation/poky-ref-manual/ref-variables.xml: Edits to CONFFILES and FILES
Second editing pass to these glossary entries based on Paul
Eggleton's review.

Reported-by: Paul Eggleton <paul.eggleton@linux.intel.com>
(From yocto-docs rev: 690043a7b239479c948e1219dcb44751570cc624)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:48 -08:00
Scott Rifenbark
25cd1baf8c documentation/poky-ref-manual/ref-variables.xml: Edits to IMAGE_INSTALL
Minor tweaks to this glossary entry as requested by Richard Purdie.

Reported by: Richard Purdie <richard.purdie@intel.com>
(From yocto-docs rev: df39b52a89e0ac99d16c8ce1f0f37a284dc5e08a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:47 -08:00
Scott Rifenbark
2e5e02a905 documentation/poky-ref-manual/ref-variables.xml: Added CONFFILES and FILES
Added a new glossary entry fro CONFFILES and I updated the existing
description for FILES.  These two variables are inter-twined.  FILES
was a one-liner and definitely needed expansion.

Reported-by: Paul Eggleton <paul.eggleton@linux.intel.com>
(From yocto-docs rev: 6788128c459ccf04f932c2273aca1e6b88f0def0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:47 -08:00
Scott Rifenbark
739dad2f19 documentation/poky-ref-manual: Removed ROOT_FLASH_SIZE from document.
No longer applicable according to Paul Egglegton.

Reported-by: Paul Eggleton <paul.eggleton@linux.intel.com>
(From yocto-docs rev: 503884d2e3b49bd8102fc64f5487361dae0160aa)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:47 -08:00
Scott Rifenbark
0da071e6a8 documentation/kernel-manual/kernel-concepts.xml: More intermittent edits
These are transitory and related to bug 1717 (the kernel manual
is confusing).  Slow going on this stuff.  The edits are notes only.

(From yocto-docs rev: f4a8cdb710b91892ae73eea41f6059fd9159c4cc)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:47 -08:00
Scott Rifenbark
81629e3aa5 documentation/dev-manual/dev-manual-bsp-appendix.xml: edits to poky repo setup
There is confusion as to how to set up the Git repository and be
sure you have the snapshot of the release.  I have changed the
description to use a tag rather than the branch names.  The
stuff is out for review with Josh.

(From yocto-docs rev: 2521873e1bf8e1ad398fae4b7297f8746a34258f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:46 -08:00
Scott Rifenbark
62907f76bc documentation: More information about DL_DIR added.
The information surrounding the central download directory was
pretty scant.  Jim Abernathy pointed this out in an email sent to
me.  As a start, I have added quite a bit more information to
the glossary description for DL_DIR.  Part of that added information
is a pointer to the FAQ entry that describes exactly how the
build system gets source files.  Then, in the YP Development Manual
in the section that introduces the build process, I added several
references to various variables that are set in the local.conf
file prior to kicking off the build.

Reported-by: Jim Abernathy <jim.abernathy@intel.com>
(From yocto-docs rev: 4d7835a3bff5bd054301fa9ab6954c11c88dad58)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:46 -08:00
Scott Rifenbark
ddaf79d4d4 documentation/poky-ref-manual/ref-variables.xml: Fixed broken reference.
(From yocto-docs rev: 21d5f4558289290bf890e1669f5f45307dd17550)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:46 -08:00
Scott Rifenbark
ba0e818504 documentation/poky-ref-manual: Updates to IMAGE_INSTALL
Updated the glossary entry for the IMAGE_INSTALL variable.
It was not complete.  I also updated the section that describes
how to modify the image through the local.conf file.  These
edits are out on review with Richard and could undergo some
further tweaks.

Fixes [YOCTO #1897]

(From yocto-docs rev: 41124cdd9e69b9f17300a609cce2ae4c9ce57b54)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:46 -08:00
Scott Rifenbark
2a0a3d631a documentation/poky-ref-manual/extendpoky.xml: proposed section
This is a proposed section to describe how to customize an image
through variable setting in the local.conf file.  It is incomplete
but needs to be checked out and discussed.

(From yocto-docs rev: f995b01e9ec9dd12b62e514802000a7b76fe3126)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:46 -08:00
Scott Rifenbark
57f3951f29 documentation/poky-ref-manual/ref-variables.xml: new BBMASK glossary entry
Added a glossary entry for BBMASK.

Fixes [YOCTO #1935]

Reported by: Gary Thomas <gary@mlbassoc.com>
(From yocto-docs rev: 4406a8b0b85ac15070e2ccb1c57ef9801827a7f7)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:45 -08:00
Scott Rifenbark
b94e91043d documentation/kernel-manual/kernel-how-to.xml: edits to tree construction
I made some clarifying edits to the section that describes how
the YP team constructs the kernel repositories (the tree).  There
were some things that just weren't clear.

(From yocto-docs rev: 127f0c8c89ec9b926a4ff348acc39a73f41e6fe7)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:45 -08:00
Scott Rifenbark
8f9dc14e28 documentation/kernel-manual/kernel-concepts.xml: new section starting
This is the start of a new section on configuration.  It is mostly
writer's notes at this point.  More to be added later.

(From yocto-docs rev: db41de4ebd7040f507c5a43739f1a25d7e1d9623)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:45 -08:00
Scott Rifenbark
4baaf11e40 documentation/yocto-project-qs/yocto-project-qs.xml: added xsltproc package
Jim Abernathy pointed out that the docs would not make on his
Ubuntu 11.10 machine without the xsltproc package.  This package
was not listed as a required package.  I added it to the YP
Quick Start.

Fixes [YOCTO #1933]

Reported-by: Jim Abernathy <jim.abernathy@intel.com>
(From yocto-docs rev: 0d4bcdd965e208588bbe283594d9d9528b87bf54)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:45 -08:00
Scott Rifenbark
8cebd209b5 documentation/kernel-manual/kernel-how-to.xml: links to manuals removed
Several redundant links existed to manuals that are not required to
be linked.  The actual link takes the reader to the section being
referenced.  Then, after the link, the manual is referenced.  Previously,
the manual was also linked.  We don't need these links to the manuals.

(From yocto-docs rev: 579f4efd765dc20b38e1b022ae4b7a98a8fa53cd)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:44 -08:00
Scott Rifenbark
c671dde31f documentation/Makefile: new 'edison' variable for YP dev manual.
I discovered that the figures used in this manual differ depending
on the branch.  There are two figures that are different.  Thus,
the TARFILES variable in the makefile needed to be conditionalized.
If it is not, then the process that makes the tarball throws errors
because it cannot find the two figures from the other branch.

To fix this I introduced the 'BRANCH' variable.  It is to be used
only when you make or publish the YP Development Manual.  And, you
only use it to specify 'edison'.  If you are building from the 'master'
branch you don't need to use it.

Comments in the file have been updated to explain usage.

(From yocto-docs rev: a404eadbeeb6eb7476d8739bd07ecd071e9ff7da)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:44 -08:00
Scott Rifenbark
e66c7a5cee documentation/Makefile: fixes for missing tarfiles
I had added some edison-specific figures and they needed to
be included in the TARFILE variable for the YP development manual.
The fix now makes the TARFILE variable all-inclusive for all
.PNG files regardless of branch.  Consequently, there can be
some missing files when the manual is made but the errors are okay.
I documented the exceptions above the variable.

(From yocto-docs rev: 500d4102c5496cb834b93378242599715810386a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:44 -08:00
Scott Rifenbark
f8d248e946 documentation/dev-manual/dev-manual-kernel-appendix.xml: edits to example
Poor flow for the config_smp example.  Upon reading this example
it did not stand well on its own.  I added some text, albeit
redundant but necessary I felt, so that the example would stand on
its own.

(From yocto-docs rev: f8c0c9469eae0788f1bfba309deefb4e03d4bc29)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:44 -08:00
Scott Rifenbark
fe11d654b2 documentation/dev-manual/dev-manual-kernel-appendix.xml: Fixes to examples
Jim Abernathy pointed out an area where the bitbake command is
run from the top-level poky directory.  This is incorrect and the
user should run this from the build directory.  I changed the
instance so that the example instructs the user to either run the
environment setup script first, which would place him into the
build directory.  I also reinforced it by adding supporting text
saying that you should run the bitbake command from the build
directory.

Reported-by: Jim Abernathy <jim.abernathy@intel.com>
(From yocto-docs rev: b111e5e4faa6d4e5e99f48b886aeb72bb12e2914)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:43 -08:00
Scott Rifenbark
bee29889fa documentation/yocto-project-qs/yocto-project-qs.xml: fop added to packages
Jim Abernathy pointed out that the 'fop' package is not in the list
of packages.  Not having 'fop' prevents the user from building the
PDF versions of the documentation.  I added 'fop' to all three
distribution's package lists.

Reported-by: Jim Abernathy <jim.abernathy@intel.com>
(From yocto-docs rev: f481361fbc3330a8f415be8cb992844c2f214ce3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:43 -08:00
Scott Rifenbark
4110fa7f7e documentation/poky-ref-manual/faq.xml: Fixed links to python
The links to the 32-bit and 64-bit Python tarballs in
miscsupport were broken.  I fixed them.

(From yocto-docs rev: cc50d1ea3155cf1dd8d060c2c361b99b4f7d0d8e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:43 -08:00
Scott Rifenbark
a9195b242f documentation/adt-manual/adt-command.xml: Corrected wording for setup
Bad wording fixed to describe the changes to PATH when the setup
script is run.

(From yocto-docs rev: 0f2ae72edfab2a96cb5f82fac641f3b6fa364f36)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:43 -08:00
Scott Rifenbark
bc4b4a9e58 documentation/adt-manual/adt-eclipse.xml: Fixed yoctotools reference
The menu for the YoctoTools in Eclipse moved from underneath
"Windows" to the top level.  I fixed the reference to reflect
that change in the GUI.

(From yocto-docs rev: 10142812f55bce849b31c38337b0a731d71d2ba0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:42 -08:00
Scott Rifenbark
855b56cc65 documentation/adt-manual/adt-eclipse.xml: Fixed menu reference
I changed the wording in an example to use "menu" instead of
the incorrect "navigator pane".

(From yocto-docs rev: 751ac717d17356a77cd3967f9214be74a7bad910)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:42 -08:00
Scott Rifenbark
03a69b6471 documentation/adt-manual/adt-eclipse.xml: Added more info for example.
I added a bit more information to the third step of the
example that reconfigures a project.

(From yocto-docs rev: e21ebe5b665b50705fa863436e83af6cbd00eb5d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:42 -08:00
Scott Rifenbark
f6ffa1240b documentation/adt-manual/adt-eclipse.xml: Removed redundant link
I removed a redundant link to the QS manual.

(From yocto-docs rev: 44ab96f9eaad8e57de760e2612e1a92bfe2ea898)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:42 -08:00
Scott Rifenbark
3d0ad29d55 documentation/adt-manual/adt-eclipse.xml: Updates to plug-in install
I worked through these methods and discovered a bit more on how
they actually work and when the user would use a given method.
The updates reflect this new knowledge.

(From yocto-docs rev: aa588a2bd2c28cc42db3a539ca5aba7233612de7)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:41 -08:00
Scott Rifenbark
b95e5493ca documentation/adt-manual/adt-package.xml: Fixed reference to manual.
Removed redundant link for referencing a section of a different
manual.

(From yocto-docs rev: 5a78f2c4453944e750a0250f585bcb0614dbcbf6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:41 -08:00
Scott Rifenbark
83e8921c06 documentation/poky-ref-manual/ref-variables.xml: PDF formatting fixed.
In the PDF version of the reference guide there were several glossary
variables that did not format correctly.  The issue is that the two-
column list had instances where the variable name overruns the
variable description.  I added an extra line return for these cases.

(From yocto-docs rev: bef1a8dfdc0529b270102d0336a7bd6d1500b68c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:41 -08:00
Scott Rifenbark
2df457033b documentation/poky-ref-manual/ref-variables.xml: updates to rootfs variables
I made another pass over the variables that affect the root filesystem
size generation.  The changes are based on review feedback from both
Saul and Joshua.

(From yocto-docs rev: ccd569d7e464a219a1a3ff9b063e431ba3c946de)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:41 -08:00
Scott Rifenbark
4c6c766baa documentation/adt-manual/adt-prepare.xml: added unpacking text
I added text to show how to unpack the generated ADT Installer
tarball.

(From yocto-docs rev: 32e7413623a5b43484d402989f892527e4a0fc48)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:40 -08:00
Scott Rifenbark
655f357881 documentation/dev-manual/dev-manual-model.xml: Removed 1.1.1 strings
In resolving a commit conflict I accidently inserted some "1.1.1"
strings in some URLs where they should have been "latest".  I fixed
these back.

(From yocto-docs rev: a78a28f317b426413ec0bd8c4115d5e69f609283)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:40 -08:00
Scott Rifenbark
d783a685be documentation/adt-manual/adt-prepare.xml: update link to get ADT inst tarball
(From yocto-docs rev: f1b55e805c9785ef79b53e891acfd96e98ff99a1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:40 -08:00
Scott Rifenbark
aa2df47f00 documentation/adt-manual/adt-intro.xml: Fixed broken perf link
(From yocto-docs rev: 8e507098eb88cf318d439d3109f0a9c63cf4b974)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:40 -08:00
Scott Rifenbark
01f046780f documentation/dev-manual/figures/kernel-example-repos.png: update figure
The figure that shows the kernel repos needed the git push
command fixed.  There was no ":" character in it.

(From yocto-docs rev: 4add1c83a8e3f4fec9ec6b678e31e259c700c077)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:39 -08:00
Scott Rifenbark
e26a00d262 documentation/dev-manual: Updates to index of releases
Had to update the figure again and I updated the surrounding
text.

(From yocto-docs rev: ed0aea8ad3670aace1eb51ca7a72e75a4c129fba)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:39 -08:00
Scott Rifenbark
4f913c67ba documentation/dev-manual/figures/index-downloads.png: updated picture
Updated the picture that shows the index of releases.  they renamed
this from index of downloads.

(From yocto-docs rev: 38ffbb3138fa43fcb44456e6b6f46dc78cc87a14)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:39 -08:00
Scott Rifenbark
e1ebcbc6f8 documentation/dev-manual/dev-manual-kernel-appendix.xml: cleared up note
There is note instructing the user to delete unused .bbappend files
or comment out the COMPATIBLE_MACHINE statements in those unused
files before running the build in the example.  the note was not
clear about the COMPATIBLE_MACHINE statement in the .bbappend file
that is actually being used.  I edited the text to be clear about
that.

(From yocto-docs rev: 73ed4df6f312c25103c41a1ee1dcdb9f7114ca45)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:38 -08:00
Scott Rifenbark
8d170fce75 documentation/dev-manual/dev-manual-start.xml: updated to clone output
Updated the console output created when you create the bare clone
and the copy of the bare clone.

(From yocto-docs rev: cc6290e416fb113f687645517bccf3f6f177395e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:38 -08:00
Scott Rifenbark
40d0c8b784 documentation/dev-manual/dev-manual-start.xml: poky-extra output updated
I updated the console output returned when you set up the
poky-extras repo.

(From yocto-docs rev: f0fe9a6e04f72c727562719244719ce1058256e4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:38 -08:00
Scott Rifenbark
226dfa1151 documentation/dev-manual/dev-manual-kernel-appendix.xml: General Edits
Better wording for the "Local Yocto Project Files Git Repository"
bulleted item.

(From yocto-docs rev: 7be7823b69c0804d4939b3350ff621ce0afebc94)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:38 -08:00
Scott Rifenbark
57acbdad35 documentation/dev-manual/dev-manual-model.xml: Fixed external link
Found a link that had a spacing problem and should not have
been linking to the manual in general.  Fixed the spacing problem
and removed the links to the book in general.

(From yocto-docs rev: ce274c0290c4f8998bb682f8d84f5ee456837c62)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:37 -08:00
Scott Rifenbark
c063c231d1 documentation/dev-manual/dev-manual-newbie.xml: Fixed broken link to Git
Found another broken link to the Git documentation.  They must have changed
this stuff up.  So I set the link to point to the appropriate area in
the Git Community Book.  Talks about distributed workflows.

(From yocto-docs rev: f81d6bbff20629b2b3af73ef53f471090b9d828b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:37 -08:00
Scott Rifenbark
f6d3ca28d9 documentation/dev-manual/dev-manual-newbie.xml: fixed broken link
there was a link to some Git documentation referencing workflows that
apparently had gone stale.  I replaced the reference with a link to
the Git Community Book.

(From yocto-docs rev: 7a2cbe4c45eb9bb53d5ddbc014bd6005c2844d56)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:37 -08:00
Scott Rifenbark
a5f400cd93 documentation/dev-manual/figures/git-workflow.png: Updated figure flow
The Git Workflow was missing a pull line from the second (bottom) contrib
box into the project's master Git repository.  I added the line.

(From yocto-docs rev: e7e2f92a92cec3798395470595ba1a2beaf36575)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:37 -08:00
Scott Rifenbark
39b508fb85 documentation: Variables for docs and QS variablized
Beth has created a scheme that uses a file named "poky.ent" that
contains a load of variables that can be used throughout the
documents for releases.  The variables can be set in the poky.ent
file and then sucked in during the make process to specify
a release.

This commit adds the new file and the changes to the YP QS manual.

(From yocto-docs rev: b08dde630a4f0762d8cc62c5579f6917d93ee854)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 12:07:36 -08:00
Andreas Oberritter
bc911b8af7 bitbake.conf: use empty SRC_URI by default
* Otherwise, recipes that only append to SRC_URI instead of
  overwriting it will get the full path of the recipe written
  into the Source: field of the package.

(From OE-Core rev: 516d2029b31b014de1c87d23dd86208a4480579c)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 11:55:40 -08:00
James Limbouris
20524e147c gtk+: Amend upstream status of configure-nm.patch
(From OE-Core rev: e303673f7f49495a892dbeda11d8295cecc54263)

Signed-off-by: James Limbouris <james@digitalmatter.com.au>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 11:55:40 -08:00
James Limbouris
7172b4b012 gdk-pixbuf: Pick up ${NM} from the environment.
(From OE-Core rev: e48eb65494a234ac82ec04fcbcc04f5e881347c3)

Signed-off-by: James Limbouris <james@digitalmatter.com.au>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 11:55:39 -08:00
Darren Hart
31a03ed08d kernel.bbclass: Remove warnings for modutils and modprobe.d
Fixes [Yocto #2036]

The source and build directories are unused, remove them.

The modutils and modprobe.d directories may be used if modules are built that
are either autoloaded or have modprobe.d entries. This isn't known at install
time, so check after the package split if these directories are empty and
remove them if they are.

(From OE-Core rev: 6068f3229397baf561b1e84a22b570a803d95c49)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 11:55:39 -08:00
Christopher Larson
8cef3e58cd external-csl-toolchain: override PKGV, not PKGV_${PN}
This is needed to ensure that the RDEPENDS_${PN}-dev,
RDEPENDS_${PN}-staticdev, and RRECOMMENDS_${PN}-dbg are accurate with respect
to the PKGV of the ${PN} package, and incidentally fixes an rpm packaging
issue, as rpm dislikes the recipe PV as PKGV.

(From OE-Core rev: 61d5fa2b7ae6b3ce49747a102b3817c36f6cf85d)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 11:55:39 -08:00
Koen Kooi
e1803f2702 xz: split out liblzma as seperate packages
As usual, this creates problems for upgrade paths, but splitting out the lib is worth the short term hassle

(From OE-Core rev: af1a2740bc47d355a3435fc5d36c47e48cb05ad2)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 11:55:38 -08:00
Saul Wold
fef41fee46 polkit: Fix Upstream-Status tag
(From OE-Core rev: 6dc18475127ca53363c20a402455dba68375e49b)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 11:55:38 -08:00
Mike Crowe
a79bddde56 valgrind: Support compilation without X11
Only depend on X libraries if the distribution has X support.

(From OE-Core rev: 8a4bc16b853f3d5092c588703eef0ccb6aeb6ba1)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 11:55:38 -08:00
Samuel Stirtzel
d4d74610f2 mime.bbclass: Fix bracket error.
This fixes the following error:

ERROR: Error executing a python function in ...:
AttributeError: 'str' object has no attribute 'append'

ERROR: The stack trace of python calls that resulted in this exception/failure was:
ERROR:   File "populate_packages", line 193, in <module>
ERROR:
ERROR:   File "populate_packages", line 189, in populate_packages
ERROR:
ERROR: The code that was being executed was:
ERROR:      0189:                       rdepends.append("shared-mime-info-data")
ERROR:      0190:                       d.setVar('RDEPENDS_' + pkg, " " + " ".join(rdepends))
ERROR:      0191:
ERROR:      0192:
ERROR:  *** 0193:populate_packages(d)
ERROR:      0194:
ERROR: (file: 'populate_packages', lineno: 193, function: <module>)
ERROR:      0185:                       postrm += d.getVar('mime_postrm', True)
ERROR:      0186:                       d.setVar('pkg_postrm_%s' % pkg, postrm)
ERROR:      0187:                       bb.note("adding shared-mime-info-data dependency to %s" % pkg)
ERROR:      0188:                       rdepends = explode_deps(d.getVar('RDEPENDS_' + pkg, False) or d.getVar('RDEPENDS', False)) or ""
ERROR:  *** 0189:                       rdepends.append("shared-mime-info-data")
ERROR:      0190:                       d.setVar('RDEPENDS_' + pkg, " " + " ".join(rdepends))
ERROR:      0191:
ERROR:      0192:
ERROR:      0193:populate_packages(d)

(From OE-Core rev: 043abe4e88abb6754909b93129ea162a577aa828)

Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 11:55:37 -08:00
Zhai Edwin
b417983f75 shadow-sysroot: Fix for multilib
Fix following error in multilib build:
"ERROR: Task do_package_setscene depends upon nonexistant task
poky/meta/recipes-extended/shadow/shadow-sysroot_4.1.4.3.bb:do_populate_sysroot_setscene"

>From richard.purdie@linuxfoundation.org

(From OE-Core rev: 5de2c22fb42c12783abc090a81f10db9eb39732f)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 11:55:37 -08:00
Dongxiao Xu
da8dfd8ff0 multilib: extend all recipes in multilib.conf
(From OE-Core rev: 0fce63476f9a376d95ea4f926cb60cb84f7a4d48)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 11:55:37 -08:00
Bruce Ashfield
ec9d3195d3 linux-yocto/rt: udpate SRCREVs to 3.2.9-rt16
Bumping the -rt kernel to pickup the incremental update to -rt16.
No major changes from -rt15, except for a bug fix that we want
to pick up.

(From OE-Core rev: 0b03c2382ad6b2d472555f5054a1ce82eb4e3de9)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 11:55:36 -08:00
Bruce Ashfield
f6bd7d3337 linux-yocto/meta: fix incorrect config references
Updating the meta SRCREV to pickup the following fixes:

  a9ffedb meta/fri2/sys940x: fix incorrect cfg includes
  3d1a678 meta/sys940x: fix incorrect emgd branch merge

During the merge of the 3.0 BSPs forward to 3.2, a few moved config
fragments were missed.

(From OE-Core rev: 51c0c1d07d44b3bffb63d15b6befff6e7ba2549f)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 11:55:36 -08:00
Peter Tworek
7931b644c5 psplash: Add mising commands module import.
Python commands module is used in the recipe, but never imported.
This leads to build errors like:

NameError: global name 'commands' is not defined

ERROR: The stack trace of python calls that resulted in this exception/failure was:
ERROR:   File "do_compile", line 24, in <module>
ERROR:
ERROR:   File "do_compile", line 11, in do_compile
ERROR:
ERROR: The code that was being executed was:
ERROR:      0020:        bb.build.exec_func("oe_runmake", d)
ERROR:      0021:        shutil.copyfile("psplash", outputfile)
ERROR:      0022:
ERROR:      0023:
ERROR:  *** 0024:do_compile(d)
ERROR:      0025:
ERROR: (file: 'do_compile', lineno: 24, function: <module>)
ERROR:      0007:    localfiles = d.getVar('SPLASH_LOCALPATHS', True).split()
ERROR:      0008:    outputfiles = d.getVar('SPLASH_INSTALL', True).split()
ERROR:      0009:    for localfile, outputfile in zip(localfiles, outputfiles):
ERROR:      0010:        if localfile.endswith(".png"):
ERROR:  *** 0011:            outp = commands.getstatusoutput('./make-image-header.sh %s POKY' % localfile)
ERROR:      0012:            print(outp[1])
ERROR:      0013:            fbase = os.path.splitext(os.path.basename(localfile))[0]
ERROR:      0014:            shutil.copyfile("%s-img.h" % fbase, destfile)
ERROR:      0015:        else:

(From OE-Core rev: 34bdb9a459208377210454e54635afb9404ee126)

Signed-off-by: Peter Tworek <tworaz666@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 11:55:36 -08:00
Khem Raj
8ed044e499 gcc: Upgrade to 4.6.3 release
core-image-sato/core-image-minimal builds and boots
on all qemu machines

(From OE-Core rev: 40d7a4b70d342f75e13de7872fb62e2b9d6d40bf)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 11:55:36 -08:00
Robert Yang
d7663ff7ab logrotate 3.7.9: Allow rotate log across filesystems
The logrotate can't save the log across the different filesystems since
it used the "rename(const char *oldpath, const char *newpath)" to save
the file, fix it to act as the "mv" command(first rename, if failed,
read and write) to allow save the log across the different filesystems.

* config.c: Remove the check for different filesystems
* logrotate.c: Act as the "mv" command when rotate log
* logrotate.8: Update the mannual
* logrotate.8: Fix a bug in the mannual(\f should be \fR)

[YOCTO #718]

(From OE-Core rev: fca0a2c597ab40d55da768dac4088234b9b0d773)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 11:55:35 -08:00
Bruce Ashfield
2129519e34 linux-yocto: v3.2.9, v3.0.23 + fixes and updates
This is an update of the linux-yocto 3.0 and 3.2 SRCREVs to bring
in the following updates:

  - v3.0.23 stable update
  - v3.2.9 stable update
  - 3.0/3.2: fri2 updates (pch + configuration changes) from Darren Hart
  - 3.0: pvr merge from Kishore Bodke
  - linux-yocto/rt: update to 3.0.23-rt38
  - linux-yocto/rt: update to 3.2.9-rt15

These have been built for all qemu targets, and built for the appropriate
hardware platforms.

(From OE-Core rev: a9e7131b85e1787e6f76c64d77b2ac6684c8a9c9)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 11:55:35 -08:00
Bruce Ashfield
a8e78d527e linux-yocto: use bareclone option
Instead of specifying nocheckout=1, it provides a better workflow if
the linux-yocto recipes use the new bareclone=1 option to get a mirrored
copy of the source repository. This allows all local and remote branches
to be available during the kernel build and development cycle.

(From OE-Core rev: 2281e14a342639bfd2656ffa220dc023168cb35e)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 11:55:34 -08:00
Ken Werner
cddd52a442 image_types: add IMAGE_ROOTFS_ALIGNMENT
Introduce a new variable called IMAGE_ROOTFS_ALIGNMENT that allows to control
the aligment of the size of the rootfs. Its default value is set to 1KiB so
that the existing behaviour is not changed. In case the SD card emulation of
a QEMU system emulator gets used you may set the alignment to 2MiB.

(From OE-Core rev: 99128c209e3de3e9e175eacb3acf0f06857043fe)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 11:55:34 -08:00
Andreas Oberritter
ce342127ff libsdl: add DirectFB support
* Use conditional dependencies for DirectFB, like
  it's already done for OpenGL and X11.

(From OE-Core rev: 29ba15af6b4a85687bd487779ec2ea2be80644dc)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 11:55:34 -08:00
Chase Maupin
70cff1cb93 bluez4: add dependency on libcheck to enable test modules
* The later versions of bluez such as 4.98 require libcheck
  in order to build the test packages as enabled by the
  --enable-test option passed in EXTRA_OECONF.
* Failure to have the libcheck package available results in the
  configure script ignoring the --enable-test option and not
  building the test modules.
* Adding libcheck, which is greater than the minimum required
  version of the check library of 0.9.6 allows building the
  test modules.
* Build tested for am335x-evm MACHINE type and run time tested
  by back porting this fix to the oe-classic and arago setup
  and booting on am335x-evm.

(From OE-Core rev: 6e5fc682a4d464f62fbba12e61a8bc8e97ff92e2)

Signed-off-by: Chase Maupin <Chase.Maupin@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 11:55:33 -08:00
Andreas Oberritter
62a2a41194 udev-164: don't hardcode path to pidof
* pidof lives in /bin, search it in $PATH.
* Assume pidof's presence.

(From OE-Core rev: 2f9ac0a10f7d1e3144622a5dff5aa6787fcee534)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-08 11:55:33 -08:00
Richard Purdie
a8dc76ee69 base.bbclass: Fix PACKAGECONFIG handling when no flags are set
When the main PACKAGECONFIG variable was empty with no flags set,
the options were not being added to explicitly disable features.
This patch corrects that problem and ensures the disable fields
are correctly parsed and added to variables.

(From OE-Core rev: d7b8c247227f3cc82f92292407f548927e9fde78)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-05 13:04:11 -08:00
Richard Purdie
9195e9670e polkit: Default to shadow, not none to fix build failures
Without this builds would fail due to an invalid confiuration being
selected by the configure script.

(From OE-Core rev: d62b083fe1ee33cbd3ea3929e592c403000fb3b0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-05 13:04:11 -08:00
Richard Purdie
5419dc1bb7 bitbake: Drop fetch v1, v2 provides a much better codebase to build from
(Bitbake rev: 292e3430e5140b602cad86f55b5453e8cebb28a1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-05 10:38:01 -08:00
Richard Purdie
ff73b02a72 meta/classes: Convert to use appendVar and appendVarFlags
(From OE-Core rev: 3b57de68e70e77dbc03c0616a83a29a2e99e40b4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-05 10:36:53 -08:00
Koen Kooi
082cc604f5 libx11: reinstate PE=1 that got lost in the big meta-oe Xorg merge
This prevents package managers 'upgrading' 1.4.4 to 1:1.4.3

(From OE-Core rev: 906641853e8ac6fd296dfb91f8bb647c7da8e23e)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-05 10:34:37 -08:00
Koen Kooi
d0c5202e34 gtk+ 2.24.8: bump PR to force rebuild and feed update
This should errors similar to this one:

/usr/libexec/gdm-simple-greeter: symbol lookup error: /usr/lib/libgdk-x11-2.0.so.0: undefined symbol: _XGetRequest

(From OE-Core rev: 98b95330b66406625c8fef9b58f2ac7983585fcb)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-05 10:34:37 -08:00
Koen Kooi
9da18acb6d polkit 0.104: add 2 backports from upstream to fix crashes during auth
(From OE-Core rev: bcb8e65ab3f7d7f0f884f05c758f8a779c260306)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-05 10:34:36 -08:00
Koen Kooi
f8c0e6e795 polkit 0.104: convert pam code to PACKAGECONFIG and adhere to OE recipe styleguide
(From OE-Core rev: 7a6fcc7f79445e5f290dd499c223619a2a426f78)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-05 10:34:36 -08:00
Richard Purdie
b1aeaa8b0d meta: Replace bb.data.expand(xxx, d) -> d.expand(xxx)
sed \
 -e 's:bb.data.\(expand([^,()]*\), *\([^) ]*\) *):\2.\1):g' \
 -i `grep -ril bb.data.expand *`

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-05 10:23:53 -08:00
Richard Purdie
22f0df2aa7 sstate: Remove unecessary bb.data.expand()
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-05 10:23:20 -08:00
Richard Purdie
06f2f8ce0a meta: Convert getVar/getVarFlag(xxx, 1) -> (xxx, True)
Using "1" with getVar is bad coding style and "True" is preferred.
This patch is a sed over the meta directory of the form:

sed \
 -e 's:\(\.getVar([^,()]*, \)1 *):\1True):g' \
 -e 's:\(\.getVarFlag([^,()]*, [^,()]*, \)1 *):\1True):g' \
 -i `grep -ril getVar *`

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-05 10:22:56 -08:00
Richard Purdie
d01dadfb87 meta/classes: Convert to use appendVar and appendVarFlags
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-05 10:22:36 -08:00
Denys Dmytriyenko
a439d32dd8 soc-family.inc: to be included in machine.conf to add SOC_FAMILY to MACHINEOVERRIDE
Add a soc-family.inc file that can be included in a machine.conf to enable
the use of SOC_FAMILY in MACHINEOVERRIDE, which could be useful to group
multiple machines with the same common base. Some examples can be seen in
meta-ti BSP layer.

(From OE-Core rev: 641cdbc7ee0186053dd541e0dd5fb7b03b1c10d1)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-04 05:41:11 -08:00
Xiaofeng Yan
9a6aadbf0f libx11-trim: Add error information from LSB Test Suite to makekeys_crosscompile.patch
Append error information from LSB Test Suite to this patch for an illustrative purpose \
why this patches should be needed.

(From OE-Core rev: 0e6dfa5dcf324a1d32b634bbcd9487106a6f5413)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-04 05:41:11 -08:00
Xiaofeng Yan
03abe80f3d libx11-1.4.4: Add patch "makekeys_crosscompile.patch"
Add patch "makekeys_crosscompile.patch" to libx11-1.4.4 for fixing
bug 1970.

[YOCTO #1970]

(From OE-Core rev: 21499be467ce14f165b56c1ce67507f7c41c5a1c)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-04 05:41:10 -08:00
Xiaofeng Yan
65c9de58c1 libx11-1.4.4: Add patch makekeys_crosscompile.patch
LSB 4.1 complain a host contamination error from libx11 because of absent
patch "makekeys_crosscompile.patch" from libx11-trim-1.4.4.

The error from LSB Test Suite is as follow:
VSW5TESTSUITE PURPOSE 7
Assertion XStringToKeysym-7.(A)
When the string argument is the name of a KeySym in the
table with the prefix XK_ removed, then a call to
XStringToKeysym returns that KeySym.
METH: For each KeySym name in table with code G:
METH: Call XStringToKeysym to obtain the KeySym defined for that string.
METH: Verify that XStringToKeysym did not return NoSymbol.
METH: Verify that the returned string is correct.
CHECK: XStringToKeysym-7 1, line 130
CHECK: XStringToKeysym-7 2, line 140
CHECK: XStringToKeysym-7 3, line 150
CHECK: XStringToKeysym-7 4, line 160
CHECK: XStringToKeysym-7 5, line 170
CHECK: XStringToKeysym-7 6, line 180
CHECK: XStringToKeysym-7 7, line 190
CHECK: XStringToKeysym-7 8, line 200
CHECK: XStringToKeysym-7 9, line 210
CHECK: XStringToKeysym-7 10, line 220
CHECK: XStringToKeysym-7 11, line 230
CHECK: XStringToKeysym-7 12, line 240
CHECK: XStringToKeysym-7 13, line 250
CHECK: XStringToKeysym-7 14, line 260
CHECK: XStringToKeysym-7 15, line 270
CHECK: XStringToKeysym-7 16, line 280
CHECK: XStringToKeysym-7 17, line 290
CHECK: XStringToKeysym-7 18, line 300
CHECK: XStringToKeysym-7 19, line 310
CHECK: XStringToKeysym-7 20, line 320

[YOCTO #1970]

(From OE-Core rev: c9824083d4ab5bfd37fa1efdfbc3e93288cb47b6)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-04 05:41:10 -08:00
Khem Raj
d3b88ec632 gcc-cross.inc: Fix cross testing scripts to work with dash
dash does not like >& so be explicit and say 2>&1

(From OE-Core rev: 1d262630853e65be9167d904b934b581acf64182)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-04 05:41:10 -08:00
Khem Raj
b6d744ad18 eglibc-testing: Fix testing script to work well with dash
Dash did not like >& so we do 2 >& 1 > /dev/null

(From OE-Core rev: 06c783e2d6f4e3b316b230565b28d9e4c535c31b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-04 05:41:10 -08:00
Steve Sakoman
48fe5bd58c wpa-supplicant: fix breakage during rebuild
Install phase currently edits files in $S with sed. This causes breakage
if install is run a second time (due to sstate hash rebuild for example)

The result is hidden build breakage, in particular
/usr/share/dbus-1/system-services/fi.w1.wpa_supplicant1.service now contains:

Exec=/usr/usr/sbin/wpa_supplicant -u

rather than:

Exec=/usr/sbin/wpa_supplicant -u

This patch does the sed edit after the files are copied to $D, which should be safe.

(From OE-Core rev: 857840472705af1c0fbb8db917b4bb6809b929a6)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-02 22:35:08 +00:00
Richard Purdie
98bb8f76dd image_types: Ensure duplicate compressed types aren't created
This allows IMAGE_FSTYPES = "tar.bz2 tar.bz2" to work (and now
is faster since it will only do it once).

(From OE-Core rev: b24d4bcde21b013e48eaffea5f3a70d8b1df1047)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-02 16:22:49 +00:00
Richard Purdie
1f033532a9 image_types.bbclass: We need to preserve order in the types variable and avoid set()
(From OE-Core rev: c547169f7dfe043affc2ddc5ae0a9091379df6de)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-02 16:22:48 +00:00
Richard Purdie
93b3692ac8 base.bbclass: If unpacking again, wipe out ${S}/patches
If we unpack again, its assumed the data in any patches directory is invalid
since do_patch will run again. This ensures old patch data doesn't get
reused in a confused way.

Ideally we should probably wipe out ${S} here but that is probably a change
for another time.

[YOCTO #2043 partially]

(From OE-Core rev: 5fe5e6a15f26f23f0c5b863fafad7a0d382a55e2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-02 16:22:48 +00:00
Richard Purdie
d1168cc12a lib/oe/patch.py: Fix and improve PatchTree() resolver logic
Currently, if PATCHRESOLVE is user and and PatchTree() is being used, you can
get backtraces if patch application fails. This is because even in the failure
case, self._current is incremented, meaning second time around, there are array
range issues.

This patch changes the code so _current is only incremented upon successful
patch application, thereby resolving this failure.

Secondly, if you bitbake -c patch -f a recipe using PatchTree(), the
clean method was unimplemented leading to patch failures.

The other part of this patch changes the logic so a series file and
set of applied patches are maintained in a quilt like fashion. This
means a the Clean method can be implemented correctly and rerunning
the patch task of an existing patches source now works reliably.

[YOCTO #2043 partially]

(From OE-Core rev: f0fc47aea37793a62c43f10eea27ca014c420924)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-02 16:22:48 +00:00
Paul Eggleton
01954b9c65 qt4: make pulseaudio support conditional upon DISTRO_FEATURES
Add a pulseaudio DISTRO_FEATURES item and disable pulseaudio support in
phonon within Qt4 if it is not present; otherwise it is a race condition
as to whether it is enabled or disabled or breaks the build.

Note that this adds pulseaudio to DISTRO_FEATURES_BACKFILL thus leaving
existing distro configurations unaffected.

(From OE-Core rev: b82c216c1ee8e2a009e87856b7adad08f7f50482)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-02 16:22:48 +00:00
Adrien Bustany
2b918b623b stderr would previously be appended to stdout, corrupting the result when something was outputed to stderr but exit code was still 0 (non-fatal warning messages). This commit makes the code parse only stdout, but output stderr if an error happened.
(Bitbake rev: 4a480a052f450c4ee061ab0e60a495a45f140cf9)

Signed-off-by: Adrien Bustany <adrien.bustany@nokia.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-02 16:22:46 +00:00
Lianhao Lu
d86862456d bitbake/bitbake-prserv: Set file mode bits "x".
[YOCTO #2051] Set 'x' bit to make bitbake-prserv executable.

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-02 16:22:27 +00:00
James Limbouris
348ea458a4 initscripts: Create the volatiles cache atomically.
If a machine loses power while building the volatiles cache, it will
continue to operate with an incomplete set of volatiles. Fix this by
updating atomically.

(From OE-Core rev: a60432ff4588390f5f955a6da234298e958546e6)

Signed-off-by: James Limbouris <james@digitalmatter.com.au>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-02 15:22:54 +00:00
Bruce Ashfield
6c959b13e7 linux-yocto: update to v3.2.8
3.2.8 was released and contains a floating point fix for x86 32
bit and some x86-64 fixes. So it's worth picking up right away.

(From OE-Core rev: 8bd3038b62eaf46f9ac09fcdc1ca5e6f6e53a126)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-02 15:22:53 +00:00
Bruce Ashfield
11f8de9de8 linux-yocto/meta: add pvr feature description
Updating the 3.0 and 3.2 kernel SRCREVS to make the PVR feature
description available to machines with the appropriate hardware.

(From OE-Core rev: 0027bb45a40d209f43088e2c2b38191446ea1190)

Signed-off-by: Kishore Bodke <kishore.k.bodke@intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-02 15:22:53 +00:00
Bruce Ashfield
54d1f5fc3e linux-yocto: make kernel_checkout reentrant
The steps in do_kernel_checkout modify the source tree in WORKDIR.
If it is called multiple times, or interrupted, the tree is left
in an inconsistent state.

This change adds protections around branch names, and around the
manipulations of directories to ensure that it is safe to call
at any point.

(From OE-Core rev: f937977f241e786c5a7438449ed4c9da4c55829b)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-02 15:22:53 +00:00
Scott Garman
60eed3195c sudo: upgrade to 1.8.4
During the upgrade to 1.8.4, the UCB-licensed fnmatch.c was replaced
with a non-recursive BSD-licensed version, hence the removal of UCB
and addition of BSD in the LICENSE field. This led to checksum changes
in the doc/LICENSE file, and we now additionally track the comment
headers in redblack.c.

These changes were confirmed on the sudo mailing list:

http://www.sudo.ws/pipermail/sudo-workers/2012-February/000736.html

This upgrade also fixes CVE-2012-0809.

(From OE-Core rev: 7147a569758414467c9d022e4c11fbc303e050aa)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-02 15:22:53 +00:00
Richard Purdie
78ae63423f image_types: Ensure dependencies for compression types containing multiple dots are handled correctly
This ensures dependencies for image types like ext2.gz.u-boot are handled correctly.

(From OE-Core rev: d94cb18f7f17a492c7a948337d7d2d1d0785573f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-02 12:31:30 +00:00
Robert Yang
8ac3b74dc9 V2 Fix libpam's chmod
The libpam's has an error when generating the rootfs:

chmod: cannot access `/usr/sbin/unix_chkpwd': No such file or directory

This is because the following code in libpam_1.1.5.bb:

pkg_postinst_pam-plugin-unix () {
    # below is necessary to allow unix_chkpwd get user info from shadow file
    # on lsb images
    chmod 4755 ${sbindir}/unix_chkpwd
}

This is to set the setuid permission for unix_chkpwd (the lsb test
requires this), but it lacks a "${D}", and we can do this in the install
stage.

[YOCTO #2049]

(From OE-Core rev: 0725c7f01b173b1cc2090f4a03a274c7017b8a1a)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-02 12:25:20 +00:00
Richard Purdie
6fd4699d07 scripts/oe-git-proxy-socks-command: Add fallback to use nc
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>
2012-03-02 12:25:19 +00:00
Richard Purdie
64bd33d188 scripts/oe-git-proxy-socks-command: Improve error fallback/handling
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>
2012-03-02 12:25:19 +00:00
Gary Thomas
6b6aa170d5 busybox: Restore 'date' compatability
Restore CONFIG_FEATURE_DATE_COMPAT so that all versions of 'date',
whether from busybox or coreutils, agree on the format when
setting the date from the command line.

(From OE-Core rev: 5506cc481b7afd9a30af53e8966bcbe2ff67b6d0)

Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 23:16:43 +00:00
Gary Thomas
8b07ab0cea initscripts: Properly format date when set from timestamp
Reformat date, as stored in /etc/timestamp, to match CLI format.

(From OE-Core rev: 7aa4c51089cc4a2811bd11842647839d1e4b1e95)

Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 23:16:43 +00:00
Khem Raj
1abce24c1f libproxy: Fix build errors due to missing prototypes
g++ really does not like the missing prototypes
here we were missing close() and read() so include
unistd.h to get them

(From OE-Core rev: f32b30ef4711fe602a11549f77be06a0eef2fc0d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 23:16:42 +00:00
Inaky Perez-Gonzalez
7bb36e5da0 site.conf.sample: Fix broken SOCKS proxy setup and configuration
SOCKS proxy specification with git was using conflicting methods and
thus was failing when mixed SOCKS needs were in place (requiring no
proxy for some hosts and proxy for the rest)

- GIT_PROXY_COMMAND is an environment variable GIT uses to OVERRIDE
  all proxy configuration in ~/.gitconfig or any other gitconfig. By
  using it to configure, it was breaking havoc on site git
  configuration or the one generated by bitbake in tmp/.

  Renamed to OE_GIT_PROXY_COMMAND in meta/conf/site.conf.sample
   (with a doc tidbit on the name chosen), meta/classes/base.bbclass.

- The gitconfig generated by bitbake was wrong. There was a typo error
  (gitproxy vs gitProxy), thus all lines were being ignored. Fixed in
  meta/classes/base.bbclass.

- The gitconfig generated was being placed in
  ${STAGING_DIR_NATIVE}/usr/etc/gitconfig; git was looking for it in
  ${STAGING_DIR_NATIVE}/etc/gitconfig. Fixed that in
  meta/classes/base.bbclass, at the same time creating a
  GIT_CONFIG_PATH variable, since it is also referenced in
  generate_git_config() and have all instances refer to that.

(From OE-Core rev: e579eb7f33462258c8e82a0936d970593614840d)

Signed-off-by: Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 16:35:53 +00:00
Richard Purdie
18af1f5b19 externalsrc.bbclass: Add class for handling external source trees
This is loosly based upon srctree.bbclass from OE-Classic but with some
changes appropriate to OE-Core.

(From OE-Core rev: bdb341953ba7d8299cba4d49d857107fb7b01e5b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:56:50 +00:00
Richard Purdie
e682cdc10a toolchain-scripts: Exclude variables causing the recipe to become unecessarily machine specific
basehash changed from 30e97f9eeed1df8488b62b4fb47a3a0c to 72ea9a277e6599ae9052b169b9a94f1b
   Variable TOOLCHAIN_CONFIGSITE_SYSROOTCACHE value changed from
   /OE/oe-core/tmp-eglibc/sysroots/qemux86-64/usr/share/x86_64-oe-linux_config_site.d
   to
   /OE/oe-core/tmp-eglibc/sysroots/qemux86-64copy/usr/share/x86_64-oe-linux_config_site.d
   Variable TIME value changed from 084543 to 085638

(From OE-Core rev: 9a7895b24c09e347e3d708107fb24b9e42b1d9c5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:56:50 +00:00
Khem Raj
a747fd40b0 util-linux: Fix build when NLS is disabled
AC_CHECK_DECLS generated defines should be
checked with #if not #ifdef

(From OE-Core rev: 14b86a350d07b0da550a7a39886a660210918fbf)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:42 +00:00
Saul Wold
4583dcc1da distro_tracking: Upgrade and Manual Checks
(From OE-Core rev: 983c1264e93d19bc9e605633f224c73e961912ae)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:42 +00:00
Saul Wold
100111f6ff util-linux: Fix removal of lscpu for non-GPLv3 Build
(From OE-Core rev: 998abea2748c6c7e0873ffd382b2bb2fd233c3f1)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:41 +00:00
Saul Wold
a9101b1b41 pixman: updat to 0.24.4
(From OE-Core rev: de046e430cf2954ae83dea7e27cb1da5d5ab59d3)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:41 +00:00
Saul Wold
6cdf714b59 glproto: Update to 1.4.15
(From OE-Core rev: 90e72f89757e0fcb9dafa0a87220704e8a4d32f2)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:41 +00:00
Saul Wold
24276c2dee hdparm: update to 9.39
(From OE-Core rev: c81b2241181e373cf07126b80537f2e4d13217df)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:41 +00:00
Saul Wold
f0e0891f68 netbase: fix QA Warnings
WARNING: For recipe netbase, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/sbin
(From OE-Core rev: 64f3a58026909b4462e8e1a3e2ccabdf9bdb4468)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:41 +00:00
Saul Wold
51ab1879a7 perl: remove empty directories to clean QA Warnings
WARNING: For recipe perl, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/lib/perl/site_perl
WARNING:   /usr/lib/perl/site_perl/5.14.2
(From OE-Core rev: 2bda13df6feee87ea6fcecdce96fb5234cfa5674)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:40 +00:00
Richard Purdie
bec2e54d54 libx11-trim: Drop obsolete 1.3.4 version
(From OE-Core rev: 6cb72d5f008c6cbf4960d9dc260b82a056042b0f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:40 +00:00
Saul Wold
e28927de86 self-hosted-image: Create a VMDK image with correct SYSLINUX_* settings
(From OE-Core rev: 1a3bd2ae195d515fe2c93bc178b45cce8505d831)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:40 +00:00
Saul Wold
0e56519b33 image-vmdk: Create image_vmdk class and setup image and image_types to use it
This creates a new image_vmdk class similar to live. The image_vmdk
class needs to have a hddimg created by the image-live class, so it
inherits it directly.

The changes to image_types is to ensure that both live and vmdk images
get the ext3 tools and dependencies.

(From OE-Core rev: aa961e112b07d42c272e01f2d69f3c139e9ae70f)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:40 +00:00
Richard Purdie
157b44cf72 libx11-trim/diet: Add RPROVIDES for libx11-dev
We have things that depend on libx11-dev, this patch ensures the -trim
and -diet versions provide it. This resolves some multiple providers
warnings.

(From OE-Core rev: c051d6c59c71a5f90c2d545491facd2d131592fd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:39 +00:00
Saul Wold
60597ab063 image-live: Allow LABELS to be modified
This is to allow other image types to set the syslinux labels

(From OE-Core rev: 825e5a552bbaa215c55da4425e78df3c2f1cddaf)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:38 +00:00
Bruce Ashfield
e175f94ab6 linux-libc-headers-yocto: bump to v3.2.8
Making two changes for BSPs that prefer linux-libc-headers-yocto:

  - bumping to v3.2.8 headers
  - stubbing out unecessary linux-yocto functions when headers
    are being built

[YOCTO #2032]

Acked-by: Darren Hart <dvhart@linux.intel.com>
(From OE-Core rev: 0889f693916bb8f77003af419f71212201b4d9c9)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:38 +00:00
Paul Eggleton
da5236cf07 bitbake/build: report TaskFailedSilent events as "Failed"
The change for setscene events to fire a TaskFailedSilent event instead
of TaskFailed resulted in "FailedSilent" being reported in the task
finish note log entry, which is not really desirable, so change it back
to reporting "Failed" again.

(Bitbake rev: 224bc74d4e901b7886b845fbb3b5fe7564a2f6cb)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:36 +00:00
Paul Eggleton
db4a199943 bitbake/uihelper: restore line to record failed normal tasks
Save failed real (non-setscene) tasks to uihelper's failed task list.
as before commit e8a3499c95a6d4f2b8fed002fb9504733c5be3c6. Currently
this list is only used by the ncurses UI.

(Bitbake rev: cc74cad0742ea0d4e09e843883cdc55bad39b22e)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:36 +00:00
Paul Eggleton
8078553d7b bitbake/runqueue: fix python error on scenequeue task failure
Fixes a regression introduced in commit
e8a3499c95a6d4f2b8fed002fb9504733c5be3c6 which resulted in a
backtrace on setscene task failure due to trying to dereference
the setscene task ID twice.

(Bitbake rev: 8b846a92a58b5c20d7cfd2efd32b763e95c3c2fd)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:36 +00:00
Dongxiao Xu
ba8538b3a9 runqueue.py: initialize rqexe at RunQueue's init function
Sometimes user stops the build before runqueue is established,
for example, at the stage of running add_unresolved() function. This
will cause RunQueue to use rqexe field in finish_runqeue() before
initialized. This will cause endless print of "Running idle function"
if use process server.

This commit initialize rqexe variable in RunQueue's init function,
and add a judgement in finish_runqueue().

(Bitbake rev: 59f817723172092a87738c79f555e605f55ea375)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:36 +00:00
Dongxiao Xu
13cad7147f Hob: Fix pressing "stop" build
This commit fixes the behavior of clicking stop build button, it will
stay in the build detail screen and show build is failed.

(Bitbake rev: 80291865fa15012a3734e8724eb73c62b4ddc62f)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:35 +00:00
Shane Wang
7ee14c1994 Hob(crumbs/builder.py): adjust the main window's position and ignore the case lower than 1024x768.
* don't set the position of the main window to the center always
* don't show the message to users if their screen dimensions are lower than 1024x768

(Bitbake rev: 1afa500cb1cb5c10fc0a3ea0f65c7ecc8887efa8)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:35 +00:00
Shane Wang
d76e62fdd8 Hob: fix a bug that the image size is shown incorrectly in the image details page.
Originally, the image size shows the last item in the image tree view in the image details page.
That is not correct. We need to show the size of the image which the user chooses.

(Bitbake rev: 01c18a24252b35959a4cc01088678f93cb2f95e5)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:35 +00:00
Dongxiao Xu
24883b4fc7 Hob(crumbs/hoblistmodel.py): Add mapping for rprovides and pkg
When checking the package's RDEPENDS information, we will see some case like
A RDEPENDS virtual-b, and B RPROVIDES virtual-b, we need to reflect this relationship
in packaging selection.

(Bitbake rev: 44562593556e67d7976a124d5a420938aff95e0c)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:35 +00:00
Dongxiao Xu
61d2081d24 Hob(crumbs/hoblistmodel.py): Fix recipe's populate() function
According to the cooker's change, this commit fixes the way to getting
recipe's build dependency.

(Bitbake rev: da64e59f2e738d6103605139ba2d3e2cdaa35b11)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:35 +00:00
Dongxiao Xu
ca566412b1 cooker: fix calculating of depends and rdepends
Remove part of the original logic that stores pkg dependency and pkg
recomends, which will not be used in Hob.

Add the judgement for preferred fn provider of a certain package,
which maps package name to its providing recipe name.

The above approaches correct the build dependency calculation,
and they also reduced the total depend_tree size, which speed up the
tree data generation time.

(Bitbake rev: d668eb1300b3b3115964e98127b1bef554caae17)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:34 +00:00
Dongxiao Xu
2d23943209 cooker.py: Fix a bug due to variable name
fnid is an outer variable and shouldn't be overrided, change the inner variable
name from 'fnid' to 'id'.

(Bitbake rev: c6dc8d6310af22c95adb06c64339e7ec9eaeb315)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:34 +00:00
Dongxiao Xu
612173b48f command.py: remove the resolve parameter in generateTargetsTree
Remove the "resolve" parameter since the original resolve=False
option is no longer be used.

(Bitbake rev: dadce609149cfb09ecdc53bfe1f416a3f57a5033)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:34 +00:00
Shane Wang
222ec1c803 Hob(crumbs/builder.py): remove the code commented out in the builder.py
(Bitbake rev: 7af747778121aa399f69aff58425ede523b2495c)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:34 +00:00
Shane Wang
1faa0c538a crumbs/hig: tweak UI and layout of LayerSelectionDialog
Several minor tweaks for appearance:
* Try to rework the labels so that the English flows better
* Fix spacing
* Remove the separator - it's not needed

(Bitbake rev: 53c5807c38e97d2e44a6f5c48449178b8b6e6261)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:34 +00:00
Shane Wang
776e507b2f hig: try to avoid setting explicit dialogue sizes
Gtk+ does a good job of creating dialogues which fit all of the packed
widgets and respect the spacing. Let it do its job.

(Bitbake rev: 2469784b38f21716c09df89323c78cd20d3a4c14)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:34 +00:00
Shane Wang
1f57d6c180 crumbs: fix button order in several dialogues
GNOME HIG and Gtk+ convention is for the buttons to be ordered
<secondary action> <primary action> so that the primary action can be
selected easily by navigating to the bottom right of the dialogue.

We should try and match the convention and the HIG standard so that we
aren't contrasting the rest of the users applications.

(Bitbake rev: e90828680e3bc655db54ed2797cad4587e8796d0)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:33 +00:00
Shane Wang
7ccdd2007b crumbs: move towards more standard dialogue spacing
Inherit from the base CrumbsDialog class which implements standard border and spacing.

Switch all explicitly set dialogue spacings to 6 to converge towards GNOME HIG.

(Bitbake rev: bf938987a007c94fc4bbacb2b4741b7c18cb62ec)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:33 +00:00
Shane Wang
ec1b95f27c crumbs/builder: use the name Hob consistently
We have mentions of HOB and Hob, the approved name is Hob.

"the name's Hob, BitBake Hob"
   - Surly BitBake GUI

(Bitbake rev: 06adabbb36472625c1e47991e418346ef7438577)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:33 +00:00
Shane Wang
ae9539f2f4 crumbs: Factor common dialogue configuration out
Factor out the base dialogue configuration into CrumbsDialog and create a new CrumbsMessageDialog which acts as the CrumbsDialog did to handle dialogues with buttons.

Adopt CrumbsMessageDialog wherever CrumbsDialog was used.

(Bitbake rev: d8c62f54d9f2421cfe7f1083b9d0acfe0373d38a)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:33 +00:00
Shane Wang
5090837991 Hob: enable indicators on the "Included" tab in the recipe selection page and the package selection page
(Bitbake rev: 504d480b208cacad7a5595312890f49fe19b80be)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:32 +00:00
Shane Wang
69317f70e9 Hob: make the image configuration page not to flash the progress bar
Sometimes the image configuration page flashes the progress bar, that is because we show_all() and then hide() the progress bar. For this case, the patch doesn't add the progress bar onto the gtable. Then, it will not be flashed any more.

(Bitbake rev: ef472710589580b9bfc64d2c02fa42f3ecbdfeb1)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:32 +00:00
Shane Wang
23efe612f6 Hob: fix a bug in builder.configuration.curr_mach
When the user changes the machine to be "--select a machine--", the builder.configuration.curr_mach should be set to empty.
Otherwise, if the user adds more layers after the above, the action will trigger recipe parsing, which is not correct.

(Bitbake rev: d5c7c9471b8e101ebcb91d707415b9c820b1419f)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:32 +00:00
Shane Wang
edf3942403 Hob: image configuration page doesn't need dialogs any more
The dialog references are all in builder.py. We remove the useless "import" in image configuration page.

(Bitbake rev: 804f35e6864aeae2bb02550d9eb34120bbb60fa0)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:32 +00:00
Shane Wang
53cc2c6cac Hob: include hddimg and iso into image types.
For image types, so far we don't include hddimg and iso. Then those files can not be deployed because they are filtered out in the image selection dialog.
This patch is to include hddimg and iso (which are "live" in image types).

Again, we have a TODO in the code for the future, that is to retrieve image types from the bitbake server instead of to use the walkaround.

(Bitbake rev: d565507940be73fb5ea3ae7048d8d143c44c2a95)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:31 +00:00
Shane Wang
73444fb68c Hob: cleanup those class methods in HobWidget
Some dialogs like advanced settings dialog, and layer selection dialog are using the class methods in HobWidget to create widgets for themselves, which is not a good design for OO.

Clean up the code, and split the functions into the separate classes which use them actually.
Finally, remove the class HobWidget.

(Bitbake rev: f9cccea4d1c52ae2173fd94d5b07ceba7e5c0851)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:31 +00:00
Shane Wang
7f61657357 Hob: fixed the issue in the brought-in-by dialog.
When typing any thing in the search entry, the brough-in-by dialog will be shown. That is because we call back "selection-changed" signal to pop up the dialog, which is not correct.
This patch is to fix the problem by using "row-activated" signal.

(Bitbake rev: ea56ae787153460166697bbcae92f51a77ca1571)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:31 +00:00
Shane Wang
b8582dc996 Hob: avoid the image selection dialog to walk through all directories and its sub-directories, when users click "My images".
The current implementation of the image selection dialog walks through all directories and its sub-directories, when users click "My images" to choose a directory. If the directory is /, the system becomes slow. This patch is to avoid walking through all directories but the child directories only, given a directory.

(Bitbake rev: 536fa633b442ff37d43f45cf346ba281d69de496)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:30 +00:00
Shane Wang
030ba4bc71 Hob: make HobViewTable more general in hob and make the image selection dialog and the image details page reuse it.
This patch is to make the class HobViewTable more general as a tree view in Hob.
Now the recipe selection page and the package selection page are using it.
And we have tree views in the image selection dialog and the image details page, which used the class methods in HobWidget to create the tree views. That is not good in OO.

So, make them reuse HobViewTable to create its instances.

(Bitbake rev: 3c900211e8bc0311542873480d79b347d7449f59)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-03-01 15:51:30 +00:00
Richard Purdie
8f07bdc0a4 image_types_uboot: Update to work after recent image_types changes
(From OE-Core rev: 8054497b393d40a2ed8c802c74a02e92a3001297)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-29 18:25:03 +00:00
Richard Purdie
40b81c778b image_types: Correctness fixes
* Add a newline to improve the output formatting
* Use set() to turn the list into a set of unique items to prevnt
  the same image code running twice (for e.g. IMAGE_FSTYPES = "tar.gz tar.bz2")
* Support multiple compression extensions such as ".gz.u-boot"
* Fix basetype/type typo and fix multiple image generation

(From OE-Core rev: eacedb4f2afa98dbd2f5ea7a9f52e6ea952a72d2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-02-29 18:25:03 +00:00
977 changed files with 30239 additions and 12372 deletions

2
.gitignore vendored
View File

@@ -5,7 +5,7 @@ build*/conf/bblayers.conf
build*/downloads
build*/tmp/
build*/sstate-cache
build*/pyshtables.py
pyshtables.py
pstage/
scripts/oe-git-proxy-socks
sources/

View File

@@ -96,8 +96,9 @@ USB Device:
# dd if=core-image-minimal-atom-pc.hddimg of=/dev/sdb
If the device fails to boot with "Boot error" displayed, it is likely the BIOS
cannot understand the physical layout of the disk (or rather it expects a
If the device fails to boot with "Boot error" displayed, or apparently
stops just after the SYSLINUX version banner, it is likely the BIOS cannot
understand the physical layout of the disk (or rather it expects a
particular layout and cannot handle anything else). There are two possible
solutions to this problem:
@@ -106,26 +107,47 @@ USB Device:
geometry from the device.
2. Without such an option, the BIOS generally boots the device in USB-ZIP
mode.
mode. To write an image to a USB device that will be bootable in
USB-ZIP mode, carry out the following actions:
a. Configure the USB device for USB-ZIP mode:
a. Determine the geometry of your USB device using fdisk:
# fdisk /dev/sdb
Command (m for help): p
Disk /dev/sdb: 4011 MB, 4011491328 bytes
124 heads, 62 sectors/track, 1019 cylinders, total 7834944 sectors
...
Command (m for help): q
b. Configure the USB device for USB-ZIP mode:
# mkdiskimage -4 /dev/sdb 0 63 62
# mkdiskimage -4 /dev/sdb 1019 124 62
Where 63 and 62 are the head and sector count as reported by fdisk.
Remove and reinsert the device to allow the kernel to detect the new
partition layout.
Where 1019, 124 and 62 are the cylinder, head and sectors/track counts
as reported by fdisk (substitute the values reported for your device).
When the operation has finished and the access LED (if any) on the
device stops flashing, remove and reinsert the device to allow the
kernel to detect the new partition layout.
b. Copy the contents of the poky image to the USB-ZIP mode device:
c. Copy the contents of the poky image to the USB-ZIP mode device:
# mkdir /tmp/image
# mkdir /tmp/usbkey
# mount -o loop core-image-minimal-atom-pc.hddimg /tmp/image
# mount /dev/sdb4 /tmp/usbkey
# cp -rf /tmp/image/* /tmp/usbkey
c. Install the syslinux boot loader:
d. Install the syslinux boot loader:
# syslinux /dev/sdb4
e. Unmount everything:
# umount /tmp/image
# umount /tmp/usbkey
Install the boot device in the target board and configure the BIOS to boot
from it.
@@ -241,8 +263,8 @@ Setup instructions
You will need the following:
* NFS root setup on your workstation
* TFTP server installed on your workstation
* Null modem cable connected from your workstation to the first serial port
on the board
* Straight-thru 9-conductor serial cable (DB9, M/F) connected from your
PC to UART1
* Ethernet connected to the first ethernet port on the board
--- Preparation ---

View File

@@ -69,7 +69,7 @@ def get_ui(config):
return getattr(module, interface).main
except AttributeError:
sys.exit("FATAL: Invalid user interface '%s' specified.\n"
"Valid interfaces: depexp, goggle, ncurses, knotty [default]." % interface)
"Valid interfaces: depexp, goggle, ncurses, hob, knotty [default], knotty2." % interface)
# Display bitbake/OE warnings via the BitBake.Warnings logger, ignoring others"""

9
bitbake/bin/bitbake-dumpsig Executable file
View File

@@ -0,0 +1,9 @@
#!/usr/bin/env python
import os
import sys
import warnings
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), 'lib'))
import bb.siggen
bb.siggen.dump_sigfile(sys.argv[1])

View File

@@ -213,7 +213,7 @@ Options:
items_listed = True;
if not items_listed:
logger.note('No overlayed files found')
logger.plain('No overlayed files found.')
def do_show_recipes(self, args):

0
bitbake/bin/bitbake-prserv Normal file → Executable file
View File

View File

@@ -251,7 +251,7 @@ of the event and the content of the <varname>FILE</varname> variable.</para>
<section>
<title>Variants</title>
<para>Two BitBake features exist to facilitate the creation of multiple buildable incarnations from a single recipe file.</para>
<para>The first is <varname>BBCLASSEXTEND</varname>. This variable is a space separated list of classes used to "extend" the recipe for each variant. As an example, setting <screen>BBCLASSEXTEND = "native"</screen> results in a second incarnation of the current recipe being available. This second incarantion will have the "native" class inherited.</para>
<para>The first is <varname>BBCLASSEXTEND</varname>. This variable is a space separated list of classes used to "extend" the recipe for each variant. As an example, setting <screen>BBCLASSEXTEND = "native"</screen> results in a second incarnation of the current recipe being available. This second incarnation will have the "native" class inherited.</para>
<para>The second feature is <varname>BBVERSIONS</varname>. This variable allows a single recipe to build multiple versions of a project from a single recipe file, and allows you to specify conditional metadata (using the <varname>OVERRIDES</varname> mechanism) for a single version, or an optionally named range of versions:</para>
<para><screen>BBVERSIONS = "1.0 2.0 git"
SRC_URI_git = "git://someurl/somepath.git"</screen></para>

View File

@@ -79,9 +79,8 @@ if "BBDEBUG" in os.environ:
if level:
bb.msg.set_debug_level(level)
if os.environ.get("BBFETCH2"):
from bb import fetch2 as fetch
sys.modules['bb.fetch'] = sys.modules['bb.fetch2']
from bb import fetch2 as fetch
sys.modules['bb.fetch'] = sys.modules['bb.fetch2']
# Messaging convenience functions
def plain(*args):

View File

@@ -70,9 +70,9 @@ class TaskBase(event.Event):
def __init__(self, t, d ):
self._task = t
self._package = d.getVar("PF", 1)
self._package = d.getVar("PF", True)
event.Event.__init__(self)
self._message = "package %s: task %s: %s" % (d.getVar("PF", 1), t, bb.event.getName(self)[4:])
self._message = "package %s: task %s: %s" % (d.getVar("PF", True), t, self.getDisplayName())
def getTask(self):
return self._task
@@ -80,6 +80,9 @@ class TaskBase(event.Event):
def setTask(self, task):
self._task = task
def getDisplayName(self):
return bb.event.getName(self)[4:]
task = property(getTask, setTask, None, "task property")
class TaskStarted(TaskBase):
@@ -102,6 +105,10 @@ class TaskFailedSilent(TaskBase):
self.logfile = logfile
super(TaskFailedSilent, self).__init__(task, metadata)
def getDisplayName(self):
# Don't need to tell the user it was silent
return "Failed"
class TaskInvalid(TaskBase):
def __init__(self, task, metadata):
@@ -284,12 +291,13 @@ def _exec_task(fn, task, d, quieterr):
bb.utils.mkdirhier(tempdir)
loglink = os.path.join(tempdir, 'log.{0}'.format(task))
logfn = os.path.join(tempdir, 'log.{0}.{1}'.format(task, os.getpid()))
logbase = 'log.{0}.{1}'.format(task, os.getpid())
logfn = os.path.join(tempdir, logbase)
if loglink:
bb.utils.remove(loglink)
try:
os.symlink(logfn, loglink)
os.symlink(logbase, loglink)
except OSError:
pass

View File

@@ -34,6 +34,9 @@ def check_indent(codestr):
pythonparsecache = {}
shellparsecache = {}
pythonparsecacheextras = {}
shellparsecacheextras = {}
def parser_cachefile(d):
cachedir = (d.getVar("PERSISTENT_DIR", True) or
@@ -86,22 +89,8 @@ def parser_cache_save(d):
i = i + 1
continue
try:
p = pickle.Unpickler(file(cachefile, "rb"))
data, version = p.load()
except (IOError, EOFError, ValueError):
data, version = None, None
if version != PARSERCACHE_VERSION:
shellcache = shellparsecache
pythoncache = pythonparsecache
else:
for h in pythonparsecache:
if h not in data[0]:
pythoncache[h] = pythonparsecache[h]
for h in shellparsecache:
if h not in data[1]:
shellcache[h] = shellparsecache[h]
shellcache = shellparsecacheextras
pythoncache = pythonparsecacheextras
p = pickle.Pickler(file(cachefile + "-" + str(i), "wb"), -1)
p.dump([[pythoncache, shellcache], PARSERCACHE_VERSION])
@@ -109,6 +98,12 @@ def parser_cache_save(d):
bb.utils.unlockfile(lf)
bb.utils.unlockfile(glf)
def internSet(items):
new = set()
for i in items:
new.add(intern(i))
return new
def parser_cache_savemerge(d):
cachefile = parser_cachefile(d)
if not cachefile:
@@ -144,6 +139,21 @@ def parser_cache_savemerge(d):
data[1][h] = extradata[1][h]
os.unlink(f)
# When the dicts are originally created, python calls intern() on the set keys
# which significantly improves memory usage. Sadly the pickle/unpickle process
# doesn't call intern() on the keys and results in the same strings being duplicated
# in memory. This also means pickle will save the same string multiple times in
# the cache file. By interning the data here, the cache file shrinks dramatically
# meaning faster load times and the reloaded cache files also consume much less
# memory. This is worth any performance hit from this loops and the use of the
# intern() data storage.
# Python 3.x may behave better in this area
for h in data[0]:
data[0][h]["refs"] = internSet(data[0][h]["refs"])
data[0][h]["execs"] = internSet(data[0][h]["execs"])
for h in data[1]:
data[1][h]["execs"] = internSet(data[1][h]["execs"])
p = pickle.Pickler(file(cachefile, "wb"), -1)
p.dump([data, PARSERCACHE_VERSION])
@@ -230,6 +240,12 @@ class PythonParser():
self.execs = pythonparsecache[h]["execs"]
return
if h in pythonparsecacheextras:
self.references = pythonparsecacheextras[h]["refs"]
self.execs = pythonparsecacheextras[h]["execs"]
return
code = compile(check_indent(str(node)), "<string>", "exec",
ast.PyCF_ONLY_AST)
@@ -240,9 +256,9 @@ class PythonParser():
self.references.update(self.var_references)
self.references.update(self.var_execs)
pythonparsecache[h] = {}
pythonparsecache[h]["refs"] = self.references
pythonparsecache[h]["execs"] = self.execs
pythonparsecacheextras[h] = {}
pythonparsecacheextras[h]["refs"] = self.references
pythonparsecacheextras[h]["execs"] = self.execs
class ShellParser():
def __init__(self, name, log):
@@ -264,6 +280,10 @@ class ShellParser():
self.execs = shellparsecache[h]["execs"]
return self.execs
if h in shellparsecacheextras:
self.execs = shellparsecacheextras[h]["execs"]
return self.execs
try:
tokens, _ = pyshyacc.parse(value, eof=True, debug=False)
except pyshlex.NeedMore:
@@ -273,8 +293,8 @@ class ShellParser():
self.process_tokens(token)
self.execs = set(cmd for cmd in self.allexecs if cmd not in self.funcdefs)
shellparsecache[h] = {}
shellparsecache[h]["execs"] = self.execs
shellparsecacheextras[h] = {}
shellparsecacheextras[h]["execs"] = self.execs
return self.execs

View File

@@ -179,13 +179,6 @@ class CommandsSync:
"""
return bb.utils.cpu_count()
def triggerEvent(self, command, params):
"""
Trigger a certain event
"""
event = params[0]
bb.event.fire(eval(event), command.cooker.configuration.data)
class CommandsAsync:
"""
A class of asynchronous commands
@@ -242,21 +235,11 @@ class CommandsAsync:
included in the package list.
If pkg_list provided use that list (plus any extras brought in by
klass) rather than generating a tree for all packages.
Add a new option "resolve" to indicate if we need to resolve the
replacement for "virtual/xxx" like pn.
"""
klass = params[0]
resolve = False
if len(params) > 2:
pkg_list = params[1]
resolve = params[2]
elif len(params) > 1:
pkg_list = params[1]
else:
pkg_list = []
pkg_list = params[1]
command.cooker.generateTargetsTree(klass, pkg_list, resolve)
command.cooker.generateTargetsTree(klass, pkg_list)
command.finishAsyncCommand()
generateTargetsTree.needcache = True
@@ -369,3 +352,13 @@ class CommandsAsync:
command.cooker.parseConfigurationFiles(prefiles, postfiles)
command.finishAsyncCommand()
parseConfigurationFiles.needcache = False
def triggerEvent(self, command, params):
"""
Trigger a certain event
"""
event = params[0]
bb.event.fire(eval(event), command.cooker.configuration.data)
command.currentAsyncCommand = None
triggerEvent.needcache = False

View File

@@ -178,7 +178,7 @@ class BBCooker:
self.configuration.data = bb.data.init()
if not self.server_registration_cb:
bb.data.setVar("BB_WORKERCONTEXT", "1", self.configuration.data)
self.configuration.data.setVar("BB_WORKERCONTEXT", "1")
filtered_keys = bb.utils.approved_variables()
bb.data.inheritFromOS(self.configuration.data, self.savedenv, filtered_keys)
@@ -298,7 +298,7 @@ class BBCooker:
# this showEnvironment() code path doesn't use the cache
self.parseConfiguration()
self.status = bb.cache.CacheData(self.caches_array)
self.handleCollections( self.configuration.data.getVar("BBFILE_COLLECTIONS", 1) )
self.handleCollections( self.configuration.data.getVar("BBFILE_COLLECTIONS", True) )
fn, cls = bb.cache.Cache.virtualfn2realfn(buildfile)
fn = self.matchFile(fn)
@@ -442,20 +442,7 @@ class BBCooker:
return depend_tree
def append_package(self, taskdata, depend_tree_package, package):
if package not in depend_tree_package:
targetid = taskdata.getrun_id(package)
if targetid in taskdata.run_targets and taskdata.run_targets[targetid]:
fnid = taskdata.run_targets[targetid][0]
fn = taskdata.fn_index[fnid]
pn = self.status.pkg_fn[fn]
version = "%s:%s-%s" % self.status.pkg_pepvpr[fn]
depend_tree_package[package] = {}
depend_tree_package[package]["pn"] = pn
depend_tree_package[package]["filename"] = fn
depend_tree_package[package]["version"] = version
def generatePkgDepTreeData(self, pkgs_to_build, task, resolve=False):
def generatePkgDepTreeData(self, pkgs_to_build, task):
"""
Create a dependency tree of pkgs_to_build, returning the data.
"""
@@ -470,7 +457,6 @@ class BBCooker:
depend_tree["depends"] = {}
depend_tree["pn"] = {}
depend_tree["rdepends-pn"] = {}
depend_tree["packages"] = {}
depend_tree["rdepends-pkg"] = {}
depend_tree["rrecs-pkg"] = {}
@@ -485,6 +471,7 @@ class BBCooker:
description = self.status.description[fn]
rdepends = self.status.rundeps[fn]
rrecs = self.status.runrecs[fn]
inherits = self.status.inherits.get(fn, None)
if pn not in depend_tree["pn"]:
depend_tree["pn"][pn] = {}
depend_tree["pn"][pn]["filename"] = fn
@@ -493,52 +480,39 @@ class BBCooker:
depend_tree["pn"][pn]["license"] = lic
depend_tree["pn"][pn]["section"] = section
depend_tree["pn"][pn]["description"] = description
depend_tree["pn"][pn]["packages"] = rdepends.keys()
depend_tree["pn"][pn]["inherits"] = inherits
if fnid not in seen_fnids:
seen_fnids.append(fnid)
packages = []
depend_tree["depends"][pn] = []
for dep in taskdata.depids[fnid]:
if resolve:
item = taskdata.build_names_index[dep]
pn_provider = ""
targetid = taskdata.getbuild_id(item)
if targetid in taskdata.build_targets and taskdata.build_targets[targetid]:
fnid = taskdata.build_targets[targetid][0]
fn_provider = taskdata.fn_index[fnid]
pn_provider = self.status.pkg_fn[fn_provider]
else:
pn_provider = item
depend_tree["depends"][pn].append(pn_provider)
item = taskdata.build_names_index[dep]
pn_provider = ""
targetid = taskdata.getbuild_id(item)
if targetid in taskdata.build_targets and taskdata.build_targets[targetid]:
id = taskdata.build_targets[targetid][0]
fn_provider = taskdata.fn_index[id]
pn_provider = self.status.pkg_fn[fn_provider]
else:
depend_tree["depends"][pn].append(taskdata.build_names_index[dep])
pn_provider = item
depend_tree["depends"][pn].append(pn_provider)
depend_tree["rdepends-pn"][pn] = []
for rdep in taskdata.rdepids[fnid]:
depend_tree["rdepends-pn"][pn].append(taskdata.run_names_index[rdep])
item = taskdata.run_names_index[rdep]
pn_rprovider = ""
targetid = taskdata.getrun_id(item)
if targetid in taskdata.run_targets and taskdata.run_targets[targetid]:
id = taskdata.run_targets[targetid][0]
fn_rprovider = taskdata.fn_index[id]
pn_rprovider = self.status.pkg_fn[fn_rprovider]
else:
pn_rprovider = item
depend_tree["rdepends-pn"][pn].append(pn_rprovider)
for package in rdepends:
depend_tree["rdepends-pkg"][package] = []
for rdepend in rdepends[package]:
depend_tree["rdepends-pkg"][package].append(rdepend)
if resolve:
self.append_package(taskdata, depend_tree["packages"], rdepend)
if not package in packages:
packages.append(package)
for package in rrecs:
depend_tree["rrecs-pkg"][package] = []
for rrec in rrecs[package]:
depend_tree["rrecs-pkg"][package].append(rrec)
if resolve:
self.append_package(taskdata, depend_tree["packages"], rrec)
if not package in packages:
packages.append(package)
for package in packages:
self.append_package(taskdata, depend_tree["packages"], package)
depend_tree["rdepends-pkg"].update(rdepends)
depend_tree["rrecs-pkg"].update(rrecs)
return depend_tree
@@ -784,7 +758,7 @@ class BBCooker:
return pkg_list
def generateTargetsTree(self, klass=None, pkgs=[], resolve=False):
def generateTargetsTree(self, klass=None, pkgs=[]):
"""
Generate a dependency tree of buildable targets
Generate an event with the result
@@ -799,7 +773,7 @@ class BBCooker:
pkgs = pkgs + extra_pkgs
# generate a dependency tree for all our packages
tree = self.generatePkgDepTreeData(pkgs, 'build', resolve)
tree = self.generatePkgDepTreeData(pkgs, 'build')
bb.event.fire(bb.event.TargetsTreeGenerated(tree), self.configuration.data)
def buildWorldTargetList(self):
@@ -912,7 +886,7 @@ class BBCooker:
min_prio = 0
for c in collection_list:
# Get collection priority if defined explicitly
priority = self.configuration.data.getVar("BBFILE_PRIORITY_%s" % c, 1)
priority = self.configuration.data.getVar("BBFILE_PRIORITY_%s" % c, True)
if priority:
try:
prio = int(priority)
@@ -926,7 +900,7 @@ class BBCooker:
collection_priorities[c] = None
# Check dependencies and store information for priority calculation
deps = self.configuration.data.getVar("LAYERDEPENDS_%s" % c, 1)
deps = self.configuration.data.getVar("LAYERDEPENDS_%s" % c, True)
if deps:
depnamelist = []
deplist = deps.split()
@@ -946,7 +920,7 @@ class BBCooker:
if dep in collection_list:
if depver:
layerver = self.configuration.data.getVar("LAYERVERSION_%s" % dep, 1)
layerver = self.configuration.data.getVar("LAYERVERSION_%s" % dep, True)
if layerver:
try:
lver = int(layerver)
@@ -983,7 +957,7 @@ class BBCooker:
# Calculate all layer priorities using calc_layer_priority and store in bbfile_config_priorities
for c in collection_list:
calc_layer_priority(c)
regex = self.configuration.data.getVar("BBFILE_PATTERN_%s" % c, 1)
regex = self.configuration.data.getVar("BBFILE_PATTERN_%s" % c, True)
if regex == None:
parselog.error("BBFILE_PATTERN_%s not defined" % c)
errors = True
@@ -1057,7 +1031,7 @@ class BBCooker:
# buildFile() doesn't use the cache
self.parseConfiguration()
self.status = bb.cache.CacheData(self.caches_array)
self.handleCollections( self.configuration.data.getVar("BBFILE_COLLECTIONS", 1) )
self.handleCollections( self.configuration.data.getVar("BBFILE_COLLECTIONS", True) )
# If we are told to do the None task then query the default task
if (task == None):
@@ -1211,13 +1185,13 @@ class BBCooker:
del self.status
self.status = bb.cache.CacheData(self.caches_array)
ignore = self.configuration.data.getVar("ASSUME_PROVIDED", 1) or ""
ignore = self.configuration.data.getVar("ASSUME_PROVIDED", True) or ""
self.status.ignored_dependencies = set(ignore.split())
for dep in self.configuration.extra_assume_provided:
self.status.ignored_dependencies.add(dep)
self.handleCollections( self.configuration.data.getVar("BBFILE_COLLECTIONS", 1) )
self.handleCollections( self.configuration.data.getVar("BBFILE_COLLECTIONS", True) )
(filelist, masked) = self.collect_bbfiles()
self.configuration.data.renameVar("__depends", "__base_depends")
@@ -1312,7 +1286,7 @@ class BBCooker:
if g not in newfiles:
newfiles.append(g)
bbmask = self.configuration.data.getVar('BBMASK', 1)
bbmask = self.configuration.data.getVar('BBMASK', True)
if bbmask:
try:
@@ -1461,7 +1435,7 @@ def _parse(fn, data, include=True):
@catch_parse_error
def _inherit(bbclass, data):
bb.parse.BBHandler.inherit([bbclass], "configuration INHERITs", 0, data)
bb.parse.BBHandler.inherit(bbclass, "configuration INHERITs", 0, data)
return data
class ParsingFailure(Exception):
@@ -1586,6 +1560,7 @@ class CookerParser(object):
self.progress_chunk = max(self.toparse / 100, 1)
self.start()
self.haveshutdown = False
def start(self):
self.results = self.load_cached()
@@ -1612,6 +1587,9 @@ class CookerParser(object):
def shutdown(self, clean=True, force=False):
if not self.toparse:
return
if self.haveshutdown:
return
self.haveshutdown = True
if clean:
event = bb.event.ParseCompleted(self.cached, self.parsed,

View File

@@ -58,7 +58,7 @@ class VariableParse:
if self.varname and key:
if self.varname == key:
raise Exception("variable %s references itself!" % self.varname)
var = self.d.getVar(key, 1)
var = self.d.getVar(key, True)
if var is not None:
self.references.add(key)
return var

View File

@@ -1,832 +0,0 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake 'Fetch' implementations
Classes for obtaining upstream sources for the
BitBake build tools.
"""
# Copyright (C) 2003, 2004 Chris Larson
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
from __future__ import absolute_import
from __future__ import print_function
import os, re
import logging
import bb
from bb import data
from bb import persist_data
from bb import utils
__version__ = "1"
logger = logging.getLogger("BitBake.Fetch")
class MalformedUrl(Exception):
"""Exception raised when encountering an invalid url"""
class FetchError(Exception):
"""Exception raised when a download fails"""
class NoMethodError(Exception):
"""Exception raised when there is no method to obtain a supplied url or set of urls"""
class MissingParameterError(Exception):
"""Exception raised when a fetch method is missing a critical parameter in the url"""
class ParameterError(Exception):
"""Exception raised when a url cannot be proccessed due to invalid parameters."""
class MD5SumError(Exception):
"""Exception raised when a MD5SUM of a file does not match the expected one"""
class InvalidSRCREV(Exception):
"""Exception raised when an invalid SRCREV is encountered"""
def decodeurl(url):
"""Decodes an URL into the tokens (scheme, network location, path,
user, password, parameters).
"""
m = re.compile('(?P<type>[^:]*)://((?P<user>.+)@)?(?P<location>[^;]+)(;(?P<parm>.*))?').match(url)
if not m:
raise MalformedUrl(url)
type = m.group('type')
location = m.group('location')
if not location:
raise MalformedUrl(url)
user = m.group('user')
parm = m.group('parm')
locidx = location.find('/')
if locidx != -1 and type.lower() != 'file':
host = location[:locidx]
path = location[locidx:]
else:
host = ""
path = location
if user:
m = re.compile('(?P<user>[^:]+)(:?(?P<pswd>.*))').match(user)
if m:
user = m.group('user')
pswd = m.group('pswd')
else:
user = ''
pswd = ''
p = {}
if parm:
for s in parm.split(';'):
s1, s2 = s.split('=')
p[s1] = s2
return (type, host, path, user, pswd, p)
def encodeurl(decoded):
"""Encodes a URL from tokens (scheme, network location, path,
user, password, parameters).
"""
(type, host, path, user, pswd, p) = decoded
if not type or not path:
raise MissingParameterError("Type or path url components missing when encoding %s" % decoded)
url = '%s://' % type
if user:
url += "%s" % user
if pswd:
url += ":%s" % pswd
url += "@"
if host:
url += "%s" % host
url += "%s" % path
if p:
for parm in p:
url += ";%s=%s" % (parm, p[parm])
return url
def uri_replace(uri, uri_find, uri_replace, d):
if not uri or not uri_find or not uri_replace:
logger.debug(1, "uri_replace: passed an undefined value, not replacing")
uri_decoded = list(decodeurl(uri))
uri_find_decoded = list(decodeurl(uri_find))
uri_replace_decoded = list(decodeurl(uri_replace))
result_decoded = ['', '', '', '', '', {}]
for i in uri_find_decoded:
loc = uri_find_decoded.index(i)
result_decoded[loc] = uri_decoded[loc]
if isinstance(i, basestring):
if (re.match(i, uri_decoded[loc])):
result_decoded[loc] = re.sub(i, uri_replace_decoded[loc], uri_decoded[loc])
if uri_find_decoded.index(i) == 2:
if d:
localfn = bb.fetch.localpath(uri, d)
if localfn:
result_decoded[loc] = os.path.join(os.path.dirname(result_decoded[loc]), os.path.basename(bb.fetch.localpath(uri, d)))
else:
return uri
return encodeurl(result_decoded)
methods = []
urldata_cache = {}
saved_headrevs = {}
def fetcher_init(d):
"""
Called to initialize the fetchers once the configuration data is known.
Calls before this must not hit the cache.
"""
# When to drop SCM head revisions controlled by user policy
srcrev_policy = d.getVar('BB_SRCREV_POLICY', 1) or "clear"
if srcrev_policy == "cache":
logger.debug(1, "Keeping SRCREV cache due to cache policy of: %s", srcrev_policy)
elif srcrev_policy == "clear":
logger.debug(1, "Clearing SRCREV cache due to cache policy of: %s", srcrev_policy)
revs = persist_data.persist('BB_URI_HEADREVS', d)
try:
bb.fetch.saved_headrevs = revs.items()
except:
pass
revs.clear()
else:
raise FetchError("Invalid SRCREV cache policy of: %s" % srcrev_policy)
for m in methods:
if hasattr(m, "init"):
m.init(d)
def fetcher_compare_revisions(d):
"""
Compare the revisions in the persistant cache with current values and
return true/false on whether they've changed.
"""
data = persist_data.persist('BB_URI_HEADREVS', d).items()
data2 = bb.fetch.saved_headrevs
changed = False
for key in data:
if key not in data2 or data2[key] != data[key]:
logger.debug(1, "%s changed", key)
changed = True
return True
else:
logger.debug(2, "%s did not change", key)
return False
# Function call order is usually:
# 1. init
# 2. go
# 3. localpaths
# localpath can be called at any time
def init(urls, d, setup = True):
urldata = {}
fn = d.getVar('FILE', 1)
if fn in urldata_cache:
urldata = urldata_cache[fn]
for url in urls:
if url not in urldata:
urldata[url] = FetchData(url, d)
if setup:
for url in urldata:
if not urldata[url].setup:
urldata[url].setup_localpath(d)
urldata_cache[fn] = urldata
return urldata
def mirror_from_string(data):
return [ i.split() for i in (data or "").replace('\\n','\n').split('\n') if i ]
def verify_checksum(u, ud, d):
"""
verify the MD5 and SHA256 checksum for downloaded src
return value:
- True: checksum matched
- False: checksum unmatched
if checksum is missing in recipes file, "BB_STRICT_CHECKSUM" decide the return value.
if BB_STRICT_CHECKSUM = "1" then return false as unmatched, otherwise return true as
matched
"""
if not ud.type in ["http", "https", "ftp", "ftps"]:
return
md5data = bb.utils.md5_file(ud.localpath)
sha256data = bb.utils.sha256_file(ud.localpath)
if (ud.md5_expected == None or ud.sha256_expected == None):
logger.warn('Missing SRC_URI checksum for %s, consider adding to the recipe:\n'
'SRC_URI[%s] = "%s"\nSRC_URI[%s] = "%s"',
ud.localpath, ud.md5_name, md5data,
ud.sha256_name, sha256data)
if d.getVar("BB_STRICT_CHECKSUM", True) == "1":
raise FetchError("No checksum specified for %s." % u)
return
if (ud.md5_expected != md5data or ud.sha256_expected != sha256data):
logger.error('The checksums for "%s" did not match.\n'
' MD5: expected "%s", got "%s"\n'
' SHA256: expected "%s", got "%s"\n',
ud.localpath, ud.md5_expected, md5data,
ud.sha256_expected, sha256data)
raise FetchError("%s checksum mismatch." % u)
def go(d, urls = None):
"""
Fetch all urls
init must have previously been called
"""
if not urls:
urls = d.getVar("SRC_URI", 1).split()
urldata = init(urls, d, True)
for u in urls:
ud = urldata[u]
m = ud.method
localpath = ""
if not ud.localfile:
continue
lf = bb.utils.lockfile(ud.lockfile)
if m.try_premirror(u, ud, d):
# First try fetching uri, u, from PREMIRRORS
mirrors = mirror_from_string(d.getVar('PREMIRRORS', True))
localpath = try_mirrors(d, u, mirrors, False, m.forcefetch(u, ud, d))
elif os.path.exists(ud.localfile):
localpath = ud.localfile
# Need to re-test forcefetch() which will return true if our copy is too old
if m.forcefetch(u, ud, d) or not localpath:
# Next try fetching from the original uri, u
try:
m.go(u, ud, d)
localpath = ud.localpath
except FetchError:
# Remove any incomplete file
bb.utils.remove(ud.localpath)
# Finally, try fetching uri, u, from MIRRORS
mirrors = mirror_from_string(d.getVar('MIRRORS', True))
localpath = try_mirrors (d, u, mirrors)
if not localpath or not os.path.exists(localpath):
raise FetchError("Unable to fetch URL %s from any source." % u)
ud.localpath = localpath
if os.path.exists(ud.md5):
# Touch the md5 file to show active use of the download
try:
os.utime(ud.md5, None)
except:
# Errors aren't fatal here
pass
else:
# Only check the checksums if we've not seen this item before
verify_checksum(u, ud, d)
Fetch.write_md5sum(u, ud, d)
bb.utils.unlockfile(lf)
def checkstatus(d, urls = None):
"""
Check all urls exist upstream
init must have previously been called
"""
urldata = init([], d, True)
if not urls:
urls = urldata
for u in urls:
ud = urldata[u]
m = ud.method
logger.debug(1, "Testing URL %s", u)
# First try checking uri, u, from PREMIRRORS
mirrors = mirror_from_string(d.getVar('PREMIRRORS', True))
ret = try_mirrors(d, u, mirrors, True)
if not ret:
# Next try checking from the original uri, u
try:
ret = m.checkstatus(u, ud, d)
except:
# Finally, try checking uri, u, from MIRRORS
mirrors = mirror_from_string(d.getVar('MIRRORS', True))
ret = try_mirrors (d, u, mirrors, True)
if not ret:
raise FetchError("URL %s doesn't work" % u)
def localpaths(d):
"""
Return a list of the local filenames, assuming successful fetch
"""
local = []
urldata = init([], d, True)
for u in urldata:
ud = urldata[u]
local.append(ud.localpath)
return local
srcrev_internal_call = False
def get_autorev(d):
return get_srcrev(d)
def get_srcrev(d):
"""
Return the version string for the current package
(usually to be used as PV)
Most packages usually only have one SCM so we just pass on the call.
In the multi SCM case, we build a value based on SRCREV_FORMAT which must
have been set.
"""
#
# Ugly code alert. localpath in the fetchers will try to evaluate SRCREV which
# could translate into a call to here. If it does, we need to catch this
# and provide some way so it knows get_srcrev is active instead of being
# some number etc. hence the srcrev_internal_call tracking and the magic
# "SRCREVINACTION" return value.
#
# Neater solutions welcome!
#
if bb.fetch.srcrev_internal_call:
return "SRCREVINACTION"
scms = []
# Only call setup_localpath on URIs which supports_srcrev()
urldata = init(d.getVar('SRC_URI', 1).split(), d, False)
for u in urldata:
ud = urldata[u]
if ud.method.supports_srcrev():
if not ud.setup:
ud.setup_localpath(d)
scms.append(u)
if len(scms) == 0:
logger.error("SRCREV was used yet no valid SCM was found in SRC_URI")
raise ParameterError
if d.getVar('BB_SRCREV_POLICY', True) != "cache":
d.setVar('__BB_DONT_CACHE', '1')
if len(scms) == 1:
return urldata[scms[0]].method.sortable_revision(scms[0], urldata[scms[0]], d)
#
# Mutiple SCMs are in SRC_URI so we resort to SRCREV_FORMAT
#
format = d.getVar('SRCREV_FORMAT', 1)
if not format:
logger.error("The SRCREV_FORMAT variable must be set when multiple SCMs are used.")
raise ParameterError
for scm in scms:
if 'name' in urldata[scm].parm:
name = urldata[scm].parm["name"]
rev = urldata[scm].method.sortable_revision(scm, urldata[scm], d)
format = format.replace(name, rev)
return format
def localpath(url, d, cache = True):
"""
Called from the parser with cache=False since the cache isn't ready
at this point. Also called from classed in OE e.g. patch.bbclass
"""
ud = init([url], d)
if ud[url].method:
return ud[url].localpath
return url
def runfetchcmd(cmd, d, quiet = False):
"""
Run cmd returning the command output
Raise an error if interrupted or cmd fails
Optionally echo command output to stdout
"""
# Need to export PATH as binary could be in metadata paths
# rather than host provided
# Also include some other variables.
# FIXME: Should really include all export varaiables?
exportvars = ['PATH', 'GIT_PROXY_COMMAND', 'GIT_PROXY_HOST',
'GIT_PROXY_PORT', 'GIT_CONFIG', 'http_proxy', 'ftp_proxy',
'https_proxy', 'no_proxy', 'ALL_PROXY', 'all_proxy',
'KRB5CCNAME', 'SSH_AUTH_SOCK', 'SSH_AGENT_PID', 'HOME']
for var in exportvars:
val = data.getVar(var, d, True)
if val:
cmd = 'export ' + var + '=\"%s\"; %s' % (val, cmd)
logger.debug(1, "Running %s", cmd)
# redirect stderr to stdout
stdout_handle = os.popen(cmd + " 2>&1", "r")
output = ""
while True:
line = stdout_handle.readline()
if not line:
break
if not quiet:
print(line, end=' ')
output += line
status = stdout_handle.close() or 0
signal = status >> 8
exitstatus = status & 0xff
if signal:
raise FetchError("Fetch command %s failed with signal %s, output:\n%s" % (cmd, signal, output))
elif status != 0:
raise FetchError("Fetch command %s failed with exit code %s, output:\n%s" % (cmd, status, output))
return output
def try_mirrors(d, uri, mirrors, check = False, force = False):
"""
Try to use a mirrored version of the sources.
This method will be automatically called before the fetchers go.
d Is a bb.data instance
uri is the original uri we're trying to download
mirrors is the list of mirrors we're going to try
"""
fpath = os.path.join(data.getVar("DL_DIR", d, 1), os.path.basename(uri))
if not check and os.access(fpath, os.R_OK) and not force:
logger.debug(1, "%s already exists, skipping checkout.", fpath)
return fpath
ld = d.createCopy()
for (find, replace) in mirrors:
newuri = uri_replace(uri, find, replace, ld)
if newuri != uri:
try:
ud = FetchData(newuri, ld)
except bb.fetch.NoMethodError:
logger.debug(1, "No method for %s", uri)
continue
ud.setup_localpath(ld)
try:
if check:
found = ud.method.checkstatus(newuri, ud, ld)
if found:
return found
else:
ud.method.go(newuri, ud, ld)
return ud.localpath
except (bb.fetch.MissingParameterError,
bb.fetch.FetchError,
bb.fetch.MD5SumError):
import sys
(type, value, traceback) = sys.exc_info()
logger.debug(2, "Mirror fetch failure: %s", value)
bb.utils.remove(ud.localpath)
continue
return None
class FetchData(object):
"""
A class which represents the fetcher state for a given URI.
"""
def __init__(self, url, d):
self.localfile = ""
(self.type, self.host, self.path, self.user, self.pswd, self.parm) = decodeurl(data.expand(url, d))
self.date = Fetch.getSRCDate(self, d)
self.url = url
if not self.user and "user" in self.parm:
self.user = self.parm["user"]
if not self.pswd and "pswd" in self.parm:
self.pswd = self.parm["pswd"]
self.setup = False
if "name" in self.parm:
self.md5_name = "%s.md5sum" % self.parm["name"]
self.sha256_name = "%s.sha256sum" % self.parm["name"]
else:
self.md5_name = "md5sum"
self.sha256_name = "sha256sum"
self.md5_expected = d.getVarFlag("SRC_URI", self.md5_name)
self.sha256_expected = d.getVarFlag("SRC_URI", self.sha256_name)
for m in methods:
if m.supports(url, self, d):
self.method = m
return
raise NoMethodError("Missing implementation for url %s" % url)
def setup_localpath(self, d):
self.setup = True
if "localpath" in self.parm:
# if user sets localpath for file, use it instead.
self.localpath = self.parm["localpath"]
self.basename = os.path.basename(self.localpath)
else:
premirrors = d.getVar('PREMIRRORS', True)
local = ""
if premirrors and self.url:
aurl = self.url.split(";")[0]
mirrors = mirror_from_string(premirrors)
for (find, replace) in mirrors:
if replace.startswith("file://"):
path = aurl.split("://")[1]
path = path.split(";")[0]
local = replace.split("://")[1] + os.path.basename(path)
if local == aurl or not os.path.exists(local) or os.path.isdir(local):
local = ""
self.localpath = local
if not local:
try:
bb.fetch.srcrev_internal_call = True
self.localpath = self.method.localpath(self.url, self, d)
finally:
bb.fetch.srcrev_internal_call = False
# We have to clear data's internal caches since the cached value of SRCREV is now wrong.
# Horrible...
bb.data.delVar("ISHOULDNEVEREXIST", d)
if self.localpath is not None:
# Note: These files should always be in DL_DIR whereas localpath may not be.
basepath = bb.data.expand("${DL_DIR}/%s" % os.path.basename(self.localpath), d)
self.md5 = basepath + '.md5'
self.lockfile = basepath + '.lock'
class Fetch(object):
"""Base class for 'fetch'ing data"""
def __init__(self, urls = []):
self.urls = []
def supports(self, url, urldata, d):
"""
Check to see if this fetch class supports a given url.
"""
return 0
def localpath(self, url, urldata, d):
"""
Return the local filename of a given url assuming a successful fetch.
Can also setup variables in urldata for use in go (saving code duplication
and duplicate code execution)
"""
return url
def _strip_leading_slashes(self, relpath):
"""
Remove leading slash as os.path.join can't cope
"""
while os.path.isabs(relpath):
relpath = relpath[1:]
return relpath
def setUrls(self, urls):
self.__urls = urls
def getUrls(self):
return self.__urls
urls = property(getUrls, setUrls, None, "Urls property")
def forcefetch(self, url, urldata, d):
"""
Force a fetch, even if localpath exists?
"""
return False
def supports_srcrev(self):
"""
The fetcher supports auto source revisions (SRCREV)
"""
return False
def go(self, url, urldata, d):
"""
Fetch urls
Assumes localpath was called first
"""
raise NoMethodError("Missing implementation for url")
def try_premirror(self, url, urldata, d):
"""
Should premirrors be used?
"""
if urldata.method.forcefetch(url, urldata, d):
return True
elif os.path.exists(urldata.md5) and os.path.exists(urldata.localfile):
return False
else:
return True
def checkstatus(self, url, urldata, d):
"""
Check the status of a URL
Assumes localpath was called first
"""
logger.info("URL %s could not be checked for status since no method exists.", url)
return True
def getSRCDate(urldata, d):
"""
Return the SRC Date for the component
d the bb.data module
"""
if "srcdate" in urldata.parm:
return urldata.parm['srcdate']
pn = data.getVar("PN", d, 1)
if pn:
return data.getVar("SRCDATE_%s" % pn, d, 1) or data.getVar("CVSDATE_%s" % pn, d, 1) or data.getVar("SRCDATE", d, 1) or data.getVar("CVSDATE", d, 1) or data.getVar("DATE", d, 1)
return data.getVar("SRCDATE", d, 1) or data.getVar("CVSDATE", d, 1) or data.getVar("DATE", d, 1)
getSRCDate = staticmethod(getSRCDate)
def srcrev_internal_helper(ud, d):
"""
Return:
a) a source revision if specified
b) True if auto srcrev is in action
c) False otherwise
"""
if 'rev' in ud.parm:
return ud.parm['rev']
if 'tag' in ud.parm:
return ud.parm['tag']
rev = None
if 'name' in ud.parm:
pn = data.getVar("PN", d, 1)
rev = data.getVar("SRCREV_%s_pn-%s" % (ud.parm['name'], pn), d, 1)
if not rev:
rev = data.getVar("SRCREV_pn-%s_%s" % (pn, ud.parm['name']), d, 1)
if not rev:
rev = data.getVar("SRCREV_%s" % (ud.parm['name']), d, 1)
if not rev:
rev = data.getVar("SRCREV", d, 1)
if rev == "INVALID":
raise InvalidSRCREV("Please set SRCREV to a valid value")
if not rev:
return False
if rev == "SRCREVINACTION":
return True
return rev
srcrev_internal_helper = staticmethod(srcrev_internal_helper)
def localcount_internal_helper(ud, d):
"""
Return:
a) a locked localcount if specified
b) None otherwise
"""
localcount = None
if 'name' in ud.parm:
pn = data.getVar("PN", d, 1)
localcount = data.getVar("LOCALCOUNT_" + ud.parm['name'], d, 1)
if not localcount:
localcount = data.getVar("LOCALCOUNT", d, 1)
return localcount
localcount_internal_helper = staticmethod(localcount_internal_helper)
def verify_md5sum(ud, got_sum):
"""
Verify the md5sum we wanted with the one we got
"""
wanted_sum = ud.parm.get('md5sum')
if not wanted_sum:
return True
return wanted_sum == got_sum
verify_md5sum = staticmethod(verify_md5sum)
def write_md5sum(url, ud, d):
md5data = bb.utils.md5_file(ud.localpath)
# verify the md5sum
if not Fetch.verify_md5sum(ud, md5data):
raise MD5SumError(url)
md5out = file(ud.md5, 'w')
md5out.write(md5data)
md5out.close()
write_md5sum = staticmethod(write_md5sum)
def latest_revision(self, url, ud, d):
"""
Look in the cache for the latest revision, if not present ask the SCM.
"""
if not hasattr(self, "_latest_revision"):
raise ParameterError
revs = persist_data.persist('BB_URI_HEADREVS', d)
key = self.generate_revision_key(url, ud, d)
try:
return revs[key]
except KeyError:
revs[key] = rev = self._latest_revision(url, ud, d)
return rev
def sortable_revision(self, url, ud, d):
"""
"""
if hasattr(self, "_sortable_revision"):
return self._sortable_revision(url, ud, d)
localcounts = persist_data.persist('BB_URI_LOCALCOUNT', d)
key = self.generate_revision_key(url, ud, d)
latest_rev = self._build_revision(url, ud, d)
last_rev = localcounts.get(key + '_rev')
uselocalcount = d.getVar("BB_LOCALCOUNT_OVERRIDE", True) or False
count = None
if uselocalcount:
count = Fetch.localcount_internal_helper(ud, d)
if count is None:
count = localcounts.get(key + '_count')
if last_rev == latest_rev:
return str(count + "+" + latest_rev)
buildindex_provided = hasattr(self, "_sortable_buildindex")
if buildindex_provided:
count = self._sortable_buildindex(url, ud, d, latest_rev)
if count is None:
count = "0"
elif uselocalcount or buildindex_provided:
count = str(count)
else:
count = str(int(count) + 1)
localcounts[key + '_rev'] = latest_rev
localcounts[key + '_count'] = count
return str(count + "+" + latest_rev)
def generate_revision_key(self, url, ud, d):
key = self._revision_key(url, ud, d)
return "%s-%s" % (key, d.getVar("PN", True) or "")
from . import cvs
from . import git
from . import local
from . import svn
from . import wget
from . import svk
from . import ssh
from . import perforce
from . import bzr
from . import hg
from . import osc
from . import repo
methods.append(local.Local())
methods.append(wget.Wget())
methods.append(svn.Svn())
methods.append(git.Git())
methods.append(cvs.Cvs())
methods.append(svk.Svk())
methods.append(ssh.SSH())
methods.append(perforce.Perforce())
methods.append(bzr.Bzr())
methods.append(hg.Hg())
methods.append(osc.Osc())
methods.append(repo.Repo())

View File

@@ -1,148 +0,0 @@
"""
BitBake 'Fetch' implementation for bzr.
"""
# Copyright (C) 2007 Ross Burton
# Copyright (C) 2007 Richard Purdie
#
# Classes for obtaining upstream sources for the
# BitBake build tools.
# Copyright (C) 2003, 2004 Chris Larson
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os
import sys
import logging
import bb
from bb import data
from bb.fetch import Fetch, FetchError, runfetchcmd, logger
class Bzr(Fetch):
def supports(self, url, ud, d):
return ud.type in ['bzr']
def localpath (self, url, ud, d):
# Create paths to bzr checkouts
relpath = self._strip_leading_slashes(ud.path)
ud.pkgdir = os.path.join(data.expand('${BZRDIR}', d), ud.host, relpath)
revision = Fetch.srcrev_internal_helper(ud, d)
if revision is True:
ud.revision = self.latest_revision(url, ud, d)
elif revision:
ud.revision = revision
if not ud.revision:
ud.revision = self.latest_revision(url, ud, d)
ud.localfile = data.expand('bzr_%s_%s_%s.tar.gz' % (ud.host, ud.path.replace('/', '.'), ud.revision), d)
return os.path.join(data.getVar("DL_DIR", d, True), ud.localfile)
def _buildbzrcommand(self, ud, d, command):
"""
Build up an bzr commandline based on ud
command is "fetch", "update", "revno"
"""
basecmd = data.expand('${FETCHCMD_bzr}', d)
proto = ud.parm.get('proto', 'http')
bzrroot = ud.host + ud.path
options = []
if command == "revno":
bzrcmd = "%s revno %s %s://%s" % (basecmd, " ".join(options), proto, bzrroot)
else:
if ud.revision:
options.append("-r %s" % ud.revision)
if command == "fetch":
bzrcmd = "%s co %s %s://%s" % (basecmd, " ".join(options), proto, bzrroot)
elif command == "update":
bzrcmd = "%s pull %s --overwrite" % (basecmd, " ".join(options))
else:
raise FetchError("Invalid bzr command %s" % command)
return bzrcmd
def go(self, loc, ud, d):
"""Fetch url"""
if os.access(os.path.join(ud.pkgdir, os.path.basename(ud.pkgdir), '.bzr'), os.R_OK):
bzrcmd = self._buildbzrcommand(ud, d, "update")
logger.debug(1, "BZR Update %s", loc)
os.chdir(os.path.join (ud.pkgdir, os.path.basename(ud.path)))
runfetchcmd(bzrcmd, d)
else:
bb.utils.remove(os.path.join(ud.pkgdir, os.path.basename(ud.pkgdir)), True)
bzrcmd = self._buildbzrcommand(ud, d, "fetch")
logger.debug(1, "BZR Checkout %s", loc)
bb.utils.mkdirhier(ud.pkgdir)
os.chdir(ud.pkgdir)
logger.debug(1, "Running %s", bzrcmd)
runfetchcmd(bzrcmd, d)
os.chdir(ud.pkgdir)
scmdata = ud.parm.get("scmdata", "")
if scmdata == "keep":
tar_flags = ""
else:
tar_flags = "--exclude '.bzr' --exclude '.bzrtags'"
# tar them up to a defined filename
try:
runfetchcmd("tar %s -czf %s %s" % (tar_flags, ud.localpath, os.path.basename(ud.pkgdir)), d)
except:
t, v, tb = sys.exc_info()
try:
os.unlink(ud.localpath)
except OSError:
pass
raise t, v, tb
def supports_srcrev(self):
return True
def _revision_key(self, url, ud, d):
"""
Return a unique key for the url
"""
return "bzr:" + ud.pkgdir
def _latest_revision(self, url, ud, d):
"""
Return the latest upstream revision number
"""
logger.debug(2, "BZR fetcher hitting network for %s", url)
output = runfetchcmd(self._buildbzrcommand(ud, d, "revno"), d, True)
return output.strip()
def _sortable_revision(self, url, ud, d):
"""
Return a sortable revision number which in our case is the revision number
"""
return self._build_revision(url, ud, d)
def _build_revision(self, url, ud, d):
return ud.revision

View File

@@ -1,172 +0,0 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake 'Fetch' implementations
Classes for obtaining upstream sources for the
BitBake build tools.
"""
# Copyright (C) 2003, 2004 Chris Larson
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
#Based on functions from the base bb module, Copyright 2003 Holger Schurig
#
import os
import logging
import bb
from bb import data
from bb.fetch import Fetch, FetchError, MissingParameterError, logger
class Cvs(Fetch):
"""
Class to fetch a module or modules from cvs repositories
"""
def supports(self, url, ud, d):
"""
Check to see if a given url can be fetched with cvs.
"""
return ud.type in ['cvs']
def localpath(self, url, ud, d):
if not "module" in ud.parm:
raise MissingParameterError("cvs method needs a 'module' parameter")
ud.module = ud.parm["module"]
ud.tag = ud.parm.get('tag', "")
# Override the default date in certain cases
if 'date' in ud.parm:
ud.date = ud.parm['date']
elif ud.tag:
ud.date = ""
norecurse = ''
if 'norecurse' in ud.parm:
norecurse = '_norecurse'
fullpath = ''
if 'fullpath' in ud.parm:
fullpath = '_fullpath'
ud.localfile = data.expand('%s_%s_%s_%s%s%s.tar.gz' % (ud.module.replace('/', '.'), ud.host, ud.tag, ud.date, norecurse, fullpath), d)
return os.path.join(data.getVar("DL_DIR", d, True), ud.localfile)
def forcefetch(self, url, ud, d):
if (ud.date == "now"):
return True
return False
def go(self, loc, ud, d):
method = ud.parm.get('method', 'pserver')
localdir = ud.parm.get('localdir', ud.module)
cvs_port = ud.parm.get('port', '')
cvs_rsh = None
if method == "ext":
if "rsh" in ud.parm:
cvs_rsh = ud.parm["rsh"]
if method == "dir":
cvsroot = ud.path
else:
cvsroot = ":" + method
cvsproxyhost = data.getVar('CVS_PROXY_HOST', d, True)
if cvsproxyhost:
cvsroot += ";proxy=" + cvsproxyhost
cvsproxyport = data.getVar('CVS_PROXY_PORT', d, True)
if cvsproxyport:
cvsroot += ";proxyport=" + cvsproxyport
cvsroot += ":" + ud.user
if ud.pswd:
cvsroot += ":" + ud.pswd
cvsroot += "@" + ud.host + ":" + cvs_port + ud.path
options = []
if 'norecurse' in ud.parm:
options.append("-l")
if ud.date:
# treat YYYYMMDDHHMM specially for CVS
if len(ud.date) == 12:
options.append("-D \"%s %s:%s UTC\"" % (ud.date[0:8], ud.date[8:10], ud.date[10:12]))
else:
options.append("-D \"%s UTC\"" % ud.date)
if ud.tag:
options.append("-r %s" % ud.tag)
localdata = data.createCopy(d)
data.setVar('OVERRIDES', "cvs:%s" % data.getVar('OVERRIDES', localdata), localdata)
data.update_data(localdata)
data.setVar('CVSROOT', cvsroot, localdata)
data.setVar('CVSCOOPTS', " ".join(options), localdata)
data.setVar('CVSMODULE', ud.module, localdata)
cvscmd = data.getVar('FETCHCOMMAND', localdata, 1)
cvsupdatecmd = data.getVar('UPDATECOMMAND', localdata, 1)
if cvs_rsh:
cvscmd = "CVS_RSH=\"%s\" %s" % (cvs_rsh, cvscmd)
cvsupdatecmd = "CVS_RSH=\"%s\" %s" % (cvs_rsh, cvsupdatecmd)
# create module directory
logger.debug(2, "Fetch: checking for module directory")
pkg = data.expand('${PN}', d)
pkgdir = os.path.join(data.expand('${CVSDIR}', localdata), pkg)
moddir = os.path.join(pkgdir, localdir)
if os.access(os.path.join(moddir, 'CVS'), os.R_OK):
logger.info("Update " + loc)
# update sources there
os.chdir(moddir)
myret = os.system(cvsupdatecmd)
else:
logger.info("Fetch " + loc)
# check out sources there
bb.utils.mkdirhier(pkgdir)
os.chdir(pkgdir)
logger.debug(1, "Running %s", cvscmd)
myret = os.system(cvscmd)
if myret != 0 or not os.access(moddir, os.R_OK):
try:
os.rmdir(moddir)
except OSError:
pass
raise FetchError(ud.module)
scmdata = ud.parm.get("scmdata", "")
if scmdata == "keep":
tar_flags = ""
else:
tar_flags = "--exclude 'CVS'"
# tar them up to a defined filename
if 'fullpath' in ud.parm:
os.chdir(pkgdir)
myret = os.system("tar %s -czf %s %s" % (tar_flags, ud.localpath, localdir))
else:
os.chdir(moddir)
os.chdir('..')
myret = os.system("tar %s -czf %s %s" % (tar_flags, ud.localpath, os.path.basename(moddir)))
if myret != 0:
try:
os.unlink(ud.localpath)
except OSError:
pass
raise FetchError(ud.module)

View File

@@ -1,339 +0,0 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake 'Fetch' git implementation
"""
#Copyright (C) 2005 Richard Purdie
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os
import bb
import bb.persist_data
from bb import data
from bb.fetch import Fetch
from bb.fetch import runfetchcmd
from bb.fetch import logger
class Git(Fetch):
"""Class to fetch a module or modules from git repositories"""
def init(self, d):
#
# Only enable _sortable revision if the key is set
#
if d.getVar("BB_GIT_CLONE_FOR_SRCREV", True):
self._sortable_buildindex = self._sortable_buildindex_disabled
def supports(self, url, ud, d):
"""
Check to see if a given url can be fetched with git.
"""
return ud.type in ['git']
def localpath(self, url, ud, d):
if 'protocol' in ud.parm:
ud.proto = ud.parm['protocol']
elif not ud.host:
ud.proto = 'file'
else:
ud.proto = "rsync"
ud.branch = ud.parm.get("branch", "master")
gitsrcname = '%s%s' % (ud.host, ud.path.replace('/', '.'))
ud.mirrortarball = 'git_%s.tar.gz' % (gitsrcname)
ud.clonedir = os.path.join(data.expand('${GITDIR}', d), gitsrcname)
tag = Fetch.srcrev_internal_helper(ud, d)
if tag is True:
ud.tag = self.latest_revision(url, ud, d)
elif tag:
ud.tag = tag
if not ud.tag or ud.tag == "master":
ud.tag = self.latest_revision(url, ud, d)
subdir = ud.parm.get("subpath", "")
if subdir != "":
if subdir.endswith("/"):
subdir = subdir[:-1]
subdirpath = os.path.join(ud.path, subdir);
else:
subdirpath = ud.path;
if 'fullclone' in ud.parm:
ud.localfile = ud.mirrortarball
else:
ud.localfile = data.expand('git_%s%s_%s.tar.gz' % (ud.host, subdirpath.replace('/', '.'), ud.tag), d)
ud.basecmd = data.getVar("FETCHCMD_git", d, True) or "git"
if 'noclone' in ud.parm:
ud.localfile = None
return None
return os.path.join(data.getVar("DL_DIR", d, True), ud.localfile)
def forcefetch(self, url, ud, d):
if 'fullclone' in ud.parm:
return True
if 'noclone' in ud.parm:
return False
if os.path.exists(ud.localpath):
return False
if not self._contains_ref(ud.tag, d):
return True
return False
def try_premirror(self, u, ud, d):
if 'noclone' in ud.parm:
return False
if os.path.exists(ud.clonedir):
return False
if os.path.exists(ud.localpath):
return False
return True
def go(self, loc, ud, d):
"""Fetch url"""
if ud.user:
username = ud.user + '@'
else:
username = ""
repofile = os.path.join(data.getVar("DL_DIR", d, 1), ud.mirrortarball)
coname = '%s' % (ud.tag)
codir = os.path.join(ud.clonedir, coname)
# If we have no existing clone and no mirror tarball, try and obtain one
if not os.path.exists(ud.clonedir) and not os.path.exists(repofile):
try:
Fetch.try_mirrors(ud.mirrortarball)
except:
pass
# If the checkout doesn't exist and the mirror tarball does, extract it
if not os.path.exists(ud.clonedir) and os.path.exists(repofile):
bb.utils.mkdirhier(ud.clonedir)
os.chdir(ud.clonedir)
runfetchcmd("tar -xzf %s" % (repofile), d)
# If the repo still doesn't exist, fallback to cloning it
if not os.path.exists(ud.clonedir):
runfetchcmd("%s clone -n %s://%s%s%s %s" % (ud.basecmd, ud.proto, username, ud.host, ud.path, ud.clonedir), d)
os.chdir(ud.clonedir)
# Update the checkout if needed
if not self._contains_ref(ud.tag, d) or 'fullclone' in ud.parm:
# Remove all but the .git directory
runfetchcmd("rm * -Rf", d)
if 'fullclone' in ud.parm:
runfetchcmd("%s fetch --all" % (ud.basecmd), d)
else:
runfetchcmd("%s fetch %s://%s%s%s %s" % (ud.basecmd, ud.proto, username, ud.host, ud.path, ud.branch), d)
runfetchcmd("%s fetch --tags %s://%s%s%s" % (ud.basecmd, ud.proto, username, ud.host, ud.path), d)
runfetchcmd("%s prune-packed" % ud.basecmd, d)
runfetchcmd("%s pack-redundant --all | xargs -r rm" % ud.basecmd, d)
# Generate a mirror tarball if needed
os.chdir(ud.clonedir)
mirror_tarballs = data.getVar("BB_GENERATE_MIRROR_TARBALLS", d, True)
if mirror_tarballs != "0" or 'fullclone' in ud.parm:
logger.info("Creating tarball of git repository")
runfetchcmd("tar -czf %s %s" % (repofile, os.path.join(".", ".git", "*") ), d)
if 'fullclone' in ud.parm:
return
if os.path.exists(codir):
bb.utils.prunedir(codir)
subdir = ud.parm.get("subpath", "")
if subdir != "":
if subdir.endswith("/"):
subdirbase = os.path.basename(subdir[:-1])
else:
subdirbase = os.path.basename(subdir)
else:
subdirbase = ""
if subdir != "":
readpathspec = ":%s" % (subdir)
codir = os.path.join(codir, "git")
coprefix = os.path.join(codir, subdirbase, "")
else:
readpathspec = ""
coprefix = os.path.join(codir, "git", "")
scmdata = ud.parm.get("scmdata", "")
if scmdata == "keep":
runfetchcmd("%s clone -n %s %s" % (ud.basecmd, ud.clonedir, coprefix), d)
os.chdir(coprefix)
runfetchcmd("%s checkout -q -f %s%s" % (ud.basecmd, ud.tag, readpathspec), d)
else:
bb.utils.mkdirhier(codir)
os.chdir(ud.clonedir)
runfetchcmd("%s read-tree %s%s" % (ud.basecmd, ud.tag, readpathspec), d)
runfetchcmd("%s checkout-index -q -f --prefix=%s -a" % (ud.basecmd, coprefix), d)
os.chdir(codir)
logger.info("Creating tarball of git checkout")
runfetchcmd("tar -czf %s %s" % (ud.localpath, os.path.join(".", "*") ), d)
os.chdir(ud.clonedir)
bb.utils.prunedir(codir)
def supports_srcrev(self):
return True
def _contains_ref(self, tag, d):
basecmd = data.getVar("FETCHCMD_git", d, True) or "git"
output = runfetchcmd("%s log --pretty=oneline -n 1 %s -- 2> /dev/null | wc -l" % (basecmd, tag), d, quiet=True)
return output.split()[0] != "0"
def _revision_key(self, url, ud, d, branch=False):
"""
Return a unique key for the url
"""
key = 'git:' + ud.host + ud.path.replace('/', '.')
if branch:
return key + ud.branch
else:
return key
def generate_revision_key(self, url, ud, d, branch=False):
key = self._revision_key(url, ud, d, branch)
return "%s-%s" % (key, d.getVar("PN", True) or "")
def _latest_revision(self, url, ud, d):
"""
Compute the HEAD revision for the url
"""
if ud.user:
username = ud.user + '@'
else:
username = ""
basecmd = data.getVar("FETCHCMD_git", d, True) or "git"
cmd = "%s ls-remote %s://%s%s%s %s" % (basecmd, ud.proto, username, ud.host, ud.path, ud.branch)
output = runfetchcmd(cmd, d, True)
if not output:
raise bb.fetch.FetchError("Fetch command %s gave empty output\n" % (cmd))
return output.split()[0]
def latest_revision(self, url, ud, d):
"""
Look in the cache for the latest revision, if not present ask the SCM.
"""
revs = bb.persist_data.persist('BB_URI_HEADREVS', d)
key = self.generate_revision_key(url, ud, d, branch=True)
try:
return revs[key]
except KeyError:
# Compatibility with old key format, no branch included
oldkey = self.generate_revision_key(url, ud, d, branch=False)
try:
rev = revs[oldkey]
except KeyError:
rev = self._latest_revision(url, ud, d)
else:
del revs[oldkey]
revs[key] = rev
return rev
def sortable_revision(self, url, ud, d):
"""
"""
localcounts = bb.persist_data.persist('BB_URI_LOCALCOUNT', d)
key = self.generate_revision_key(url, ud, d, branch=True)
oldkey = self.generate_revision_key(url, ud, d, branch=False)
latest_rev = self._build_revision(url, ud, d)
last_rev = localcounts.get(key + '_rev')
if last_rev is None:
last_rev = localcounts.get(oldkey + '_rev')
if last_rev is not None:
del localcounts[oldkey + '_rev']
localcounts[key + '_rev'] = last_rev
uselocalcount = d.getVar("BB_LOCALCOUNT_OVERRIDE", True) or False
count = None
if uselocalcount:
count = Fetch.localcount_internal_helper(ud, d)
if count is None:
count = localcounts.get(key + '_count')
if count is None:
count = localcounts.get(oldkey + '_count')
if count is not None:
del localcounts[oldkey + '_count']
localcounts[key + '_count'] = count
if last_rev == latest_rev:
return str(count + "+" + latest_rev)
buildindex_provided = hasattr(self, "_sortable_buildindex")
if buildindex_provided:
count = self._sortable_buildindex(url, ud, d, latest_rev)
if count is None:
count = "0"
elif uselocalcount or buildindex_provided:
count = str(count)
else:
count = str(int(count) + 1)
localcounts[key + '_rev'] = latest_rev
localcounts[key + '_count'] = count
return str(count + "+" + latest_rev)
def _build_revision(self, url, ud, d):
return ud.tag
def _sortable_buildindex_disabled(self, url, ud, d, rev):
"""
Return a suitable buildindex for the revision specified. This is done by counting revisions
using "git rev-list" which may or may not work in different circumstances.
"""
cwd = os.getcwd()
# Check if we have the rev already
if not os.path.exists(ud.clonedir):
print("no repo")
self.go(None, ud, d)
if not os.path.exists(ud.clonedir):
logger.error("GIT repository for %s doesn't exist in %s, cannot get sortable buildnumber, using old value", url, ud.clonedir)
return None
os.chdir(ud.clonedir)
if not self._contains_ref(rev, d):
self.go(None, ud, d)
output = runfetchcmd("%s rev-list %s -- 2> /dev/null | wc -l" % (ud.basecmd, rev), d, quiet=True)
os.chdir(cwd)
buildindex = "%s" % output.split()[0]
logger.debug(1, "GIT repository for %s in %s is returning %s revisions in rev-list before %s", url, ud.clonedir, buildindex, rev)
return buildindex

View File

@@ -1,180 +0,0 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake 'Fetch' implementation for mercurial DRCS (hg).
"""
# Copyright (C) 2003, 2004 Chris Larson
# Copyright (C) 2004 Marcin Juszkiewicz
# Copyright (C) 2007 Robert Schuster
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
import os
import sys
import logging
import bb
from bb import data
from bb.fetch import Fetch
from bb.fetch import FetchError
from bb.fetch import MissingParameterError
from bb.fetch import runfetchcmd
from bb.fetch import logger
class Hg(Fetch):
"""Class to fetch from mercurial repositories"""
def supports(self, url, ud, d):
"""
Check to see if a given url can be fetched with mercurial.
"""
return ud.type in ['hg']
def forcefetch(self, url, ud, d):
revTag = ud.parm.get('rev', 'tip')
return revTag == "tip"
def localpath(self, url, ud, d):
if not "module" in ud.parm:
raise MissingParameterError("hg method needs a 'module' parameter")
ud.module = ud.parm["module"]
# Create paths to mercurial checkouts
relpath = self._strip_leading_slashes(ud.path)
ud.pkgdir = os.path.join(data.expand('${HGDIR}', d), ud.host, relpath)
ud.moddir = os.path.join(ud.pkgdir, ud.module)
if 'rev' in ud.parm:
ud.revision = ud.parm['rev']
else:
tag = Fetch.srcrev_internal_helper(ud, d)
if tag is True:
ud.revision = self.latest_revision(url, ud, d)
elif tag:
ud.revision = tag
else:
ud.revision = self.latest_revision(url, ud, d)
ud.localfile = data.expand('%s_%s_%s_%s.tar.gz' % (ud.module.replace('/', '.'), ud.host, ud.path.replace('/', '.'), ud.revision), d)
return os.path.join(data.getVar("DL_DIR", d, True), ud.localfile)
def _buildhgcommand(self, ud, d, command):
"""
Build up an hg commandline based on ud
command is "fetch", "update", "info"
"""
basecmd = data.expand('${FETCHCMD_hg}', d)
proto = ud.parm.get('proto', 'http')
host = ud.host
if proto == "file":
host = "/"
ud.host = "localhost"
if not ud.user:
hgroot = host + ud.path
else:
hgroot = ud.user + "@" + host + ud.path
if command is "info":
return "%s identify -i %s://%s/%s" % (basecmd, proto, hgroot, ud.module)
options = [];
if ud.revision:
options.append("-r %s" % ud.revision)
if command is "fetch":
cmd = "%s clone %s %s://%s/%s %s" % (basecmd, " ".join(options), proto, hgroot, ud.module, ud.module)
elif command is "pull":
# do not pass options list; limiting pull to rev causes the local
# repo not to contain it and immediately following "update" command
# will crash
cmd = "%s pull" % (basecmd)
elif command is "update":
cmd = "%s update -C %s" % (basecmd, " ".join(options))
else:
raise FetchError("Invalid hg command %s" % command)
return cmd
def go(self, loc, ud, d):
"""Fetch url"""
logger.debug(2, "Fetch: checking for module directory '" + ud.moddir + "'")
if os.access(os.path.join(ud.moddir, '.hg'), os.R_OK):
updatecmd = self._buildhgcommand(ud, d, "pull")
logger.info("Update " + loc)
# update sources there
os.chdir(ud.moddir)
logger.debug(1, "Running %s", updatecmd)
runfetchcmd(updatecmd, d)
else:
fetchcmd = self._buildhgcommand(ud, d, "fetch")
logger.info("Fetch " + loc)
# check out sources there
bb.utils.mkdirhier(ud.pkgdir)
os.chdir(ud.pkgdir)
logger.debug(1, "Running %s", fetchcmd)
runfetchcmd(fetchcmd, d)
# Even when we clone (fetch), we still need to update as hg's clone
# won't checkout the specified revision if its on a branch
updatecmd = self._buildhgcommand(ud, d, "update")
os.chdir(ud.moddir)
logger.debug(1, "Running %s", updatecmd)
runfetchcmd(updatecmd, d)
scmdata = ud.parm.get("scmdata", "")
if scmdata == "keep":
tar_flags = ""
else:
tar_flags = "--exclude '.hg' --exclude '.hgrags'"
os.chdir(ud.pkgdir)
try:
runfetchcmd("tar %s -czf %s %s" % (tar_flags, ud.localpath, ud.module), d)
except:
t, v, tb = sys.exc_info()
try:
os.unlink(ud.localpath)
except OSError:
pass
raise t, v, tb
def supports_srcrev(self):
return True
def _latest_revision(self, url, ud, d):
"""
Compute tip revision for the url
"""
output = runfetchcmd(self._buildhgcommand(ud, d, "info"), d)
return output.strip()
def _build_revision(self, url, ud, d):
return ud.revision
def _revision_key(self, url, ud, d):
"""
Return a unique key for the url
"""
return "hg:" + ud.moddir

View File

@@ -1,73 +0,0 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake 'Fetch' implementations
Classes for obtaining upstream sources for the
BitBake build tools.
"""
# Copyright (C) 2003, 2004 Chris Larson
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
import os
import bb
import bb.utils
from bb import data
from bb.fetch import Fetch
class Local(Fetch):
def supports(self, url, urldata, d):
"""
Check to see if a given url represents a local fetch.
"""
return urldata.type in ['file']
def localpath(self, url, urldata, d):
"""
Return the local filename of a given url assuming a successful fetch.
"""
path = url.split("://")[1]
path = path.split(";")[0]
newpath = path
if path[0] != "/":
filespath = data.getVar('FILESPATH', d, 1)
if filespath:
newpath = bb.utils.which(filespath, path)
if not newpath:
filesdir = data.getVar('FILESDIR', d, 1)
if filesdir:
newpath = os.path.join(filesdir, path)
# We don't set localfile as for this fetcher the file is already local!
return newpath
def go(self, url, urldata, d):
"""Fetch urls (no-op for Local method)"""
# no need to fetch local files, we'll deal with them in place.
return 1
def checkstatus(self, url, urldata, d):
"""
Check the status of the url
"""
if urldata.localpath.find("*") != -1:
logger.info("URL %s looks like a glob and was therefore not checked.", url)
return True
if os.path.exists(urldata.localpath):
return True
return False

View File

@@ -1,143 +0,0 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
Bitbake "Fetch" implementation for osc (Opensuse build service client).
Based on the svn "Fetch" implementation.
"""
import os
import sys
import logging
import bb
from bb import data
from bb import utils
from bb.fetch import Fetch
from bb.fetch import FetchError
from bb.fetch import MissingParameterError
from bb.fetch import runfetchcmd
class Osc(Fetch):
"""Class to fetch a module or modules from Opensuse build server
repositories."""
def supports(self, url, ud, d):
"""
Check to see if a given url can be fetched with osc.
"""
return ud.type in ['osc']
def localpath(self, url, ud, d):
if not "module" in ud.parm:
raise MissingParameterError("osc method needs a 'module' parameter.")
ud.module = ud.parm["module"]
# Create paths to osc checkouts
relpath = self._strip_leading_slashes(ud.path)
ud.pkgdir = os.path.join(data.expand('${OSCDIR}', d), ud.host)
ud.moddir = os.path.join(ud.pkgdir, relpath, ud.module)
if 'rev' in ud.parm:
ud.revision = ud.parm['rev']
else:
pv = data.getVar("PV", d, 0)
rev = Fetch.srcrev_internal_helper(ud, d)
if rev and rev != True:
ud.revision = rev
else:
ud.revision = ""
ud.localfile = data.expand('%s_%s_%s.tar.gz' % (ud.module.replace('/', '.'), ud.path.replace('/', '.'), ud.revision), d)
return os.path.join(data.getVar("DL_DIR", d, True), ud.localfile)
def _buildosccommand(self, ud, d, command):
"""
Build up an ocs commandline based on ud
command is "fetch", "update", "info"
"""
basecmd = data.expand('${FETCHCMD_osc}', d)
proto = ud.parm.get('proto', 'ocs')
options = []
config = "-c %s" % self.generate_config(ud, d)
if ud.revision:
options.append("-r %s" % ud.revision)
coroot = self._strip_leading_slashes(ud.path)
if command is "fetch":
osccmd = "%s %s co %s/%s %s" % (basecmd, config, coroot, ud.module, " ".join(options))
elif command is "update":
osccmd = "%s %s up %s" % (basecmd, config, " ".join(options))
else:
raise FetchError("Invalid osc command %s" % command)
return osccmd
def go(self, loc, ud, d):
"""
Fetch url
"""
logger.debug(2, "Fetch: checking for module directory '" + ud.moddir + "'")
if os.access(os.path.join(data.expand('${OSCDIR}', d), ud.path, ud.module), os.R_OK):
oscupdatecmd = self._buildosccommand(ud, d, "update")
logger.info("Update "+ loc)
# update sources there
os.chdir(ud.moddir)
logger.debug(1, "Running %s", oscupdatecmd)
runfetchcmd(oscupdatecmd, d)
else:
oscfetchcmd = self._buildosccommand(ud, d, "fetch")
logger.info("Fetch " + loc)
# check out sources there
bb.utils.mkdirhier(ud.pkgdir)
os.chdir(ud.pkgdir)
logger.debug(1, "Running %s", oscfetchcmd)
runfetchcmd(oscfetchcmd, d)
os.chdir(os.path.join(ud.pkgdir + ud.path))
# tar them up to a defined filename
try:
runfetchcmd("tar -czf %s %s" % (ud.localpath, ud.module), d)
except:
t, v, tb = sys.exc_info()
try:
os.unlink(ud.localpath)
except OSError:
pass
raise t, v, tb
def supports_srcrev(self):
return False
def generate_config(self, ud, d):
"""
Generate a .oscrc to be used for this run.
"""
config_path = os.path.join(data.expand('${OSCDIR}', d), "oscrc")
bb.utils.remove(config_path)
f = open(config_path, 'w')
f.write("[general]\n")
f.write("apisrv = %s\n" % ud.host)
f.write("scheme = http\n")
f.write("su-wrapper = su -c\n")
f.write("build-root = %s\n" % data.expand('${WORKDIR}', d))
f.write("urllist = http://moblin-obs.jf.intel.com:8888/build/%(project)s/%(repository)s/%(buildarch)s/:full/%(name)s.rpm\n")
f.write("extra-pkgs = gzip\n")
f.write("\n")
f.write("[%s]\n" % ud.host)
f.write("user = %s\n" % ud.parm["user"])
f.write("pass = %s\n" % ud.parm["pswd"])
f.close()
return config_path

View File

@@ -1,206 +0,0 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake 'Fetch' implementations
Classes for obtaining upstream sources for the
BitBake build tools.
"""
# Copyright (C) 2003, 2004 Chris Larson
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
from future_builtins import zip
import os
import logging
import bb
from bb import data
from bb.fetch import Fetch
from bb.fetch import FetchError
from bb.fetch import logger
class Perforce(Fetch):
def supports(self, url, ud, d):
return ud.type in ['p4']
def doparse(url, d):
parm = {}
path = url.split("://")[1]
delim = path.find("@");
if delim != -1:
(user, pswd, host, port) = path.split('@')[0].split(":")
path = path.split('@')[1]
else:
(host, port) = data.getVar('P4PORT', d).split(':')
user = ""
pswd = ""
if path.find(";") != -1:
keys=[]
values=[]
plist = path.split(';')
for item in plist:
if item.count('='):
(key, value) = item.split('=')
keys.append(key)
values.append(value)
parm = dict(zip(keys, values))
path = "//" + path.split(';')[0]
host += ":%s" % (port)
parm["cset"] = Perforce.getcset(d, path, host, user, pswd, parm)
return host, path, user, pswd, parm
doparse = staticmethod(doparse)
def getcset(d, depot, host, user, pswd, parm):
p4opt = ""
if "cset" in parm:
return parm["cset"];
if user:
p4opt += " -u %s" % (user)
if pswd:
p4opt += " -P %s" % (pswd)
if host:
p4opt += " -p %s" % (host)
p4date = data.getVar("P4DATE", d, 1)
if "revision" in parm:
depot += "#%s" % (parm["revision"])
elif "label" in parm:
depot += "@%s" % (parm["label"])
elif p4date:
depot += "@%s" % (p4date)
p4cmd = data.getVar('FETCHCOMMAND_p4', d, 1)
logger.debug(1, "Running %s%s changes -m 1 %s", p4cmd, p4opt, depot)
p4file = os.popen("%s%s changes -m 1 %s" % (p4cmd, p4opt, depot))
cset = p4file.readline().strip()
logger.debug(1, "READ %s", cset)
if not cset:
return -1
return cset.split(' ')[1]
getcset = staticmethod(getcset)
def localpath(self, url, ud, d):
(host, path, user, pswd, parm) = Perforce.doparse(url, d)
# If a label is specified, we use that as our filename
if "label" in parm:
ud.localfile = "%s.tar.gz" % (parm["label"])
return os.path.join(data.getVar("DL_DIR", d, 1), ud.localfile)
base = path
which = path.find('/...')
if which != -1:
base = path[:which]
base = self._strip_leading_slashes(base)
cset = Perforce.getcset(d, path, host, user, pswd, parm)
ud.localfile = data.expand('%s+%s+%s.tar.gz' % (host, base.replace('/', '.'), cset), d)
return os.path.join(data.getVar("DL_DIR", d, 1), ud.localfile)
def go(self, loc, ud, d):
"""
Fetch urls
"""
(host, depot, user, pswd, parm) = Perforce.doparse(loc, d)
if depot.find('/...') != -1:
path = depot[:depot.find('/...')]
else:
path = depot
module = parm.get('module', os.path.basename(path))
localdata = data.createCopy(d)
data.setVar('OVERRIDES', "p4:%s" % data.getVar('OVERRIDES', localdata), localdata)
data.update_data(localdata)
# Get the p4 command
p4opt = ""
if user:
p4opt += " -u %s" % (user)
if pswd:
p4opt += " -P %s" % (pswd)
if host:
p4opt += " -p %s" % (host)
p4cmd = data.getVar('FETCHCOMMAND', localdata, 1)
# create temp directory
logger.debug(2, "Fetch: creating temporary directory")
bb.utils.mkdirhier(data.expand('${WORKDIR}', localdata))
data.setVar('TMPBASE', data.expand('${WORKDIR}/oep4.XXXXXX', localdata), localdata)
tmppipe = os.popen(data.getVar('MKTEMPDIRCMD', localdata, 1) or "false")
tmpfile = tmppipe.readline().strip()
if not tmpfile:
logger.error("Fetch: unable to create temporary directory.. make sure 'mktemp' is in the PATH.")
raise FetchError(module)
if "label" in parm:
depot = "%s@%s" % (depot, parm["label"])
else:
cset = Perforce.getcset(d, depot, host, user, pswd, parm)
depot = "%s@%s" % (depot, cset)
os.chdir(tmpfile)
logger.info("Fetch " + loc)
logger.info("%s%s files %s", p4cmd, p4opt, depot)
p4file = os.popen("%s%s files %s" % (p4cmd, p4opt, depot))
if not p4file:
logger.error("Fetch: unable to get the P4 files from %s", depot)
raise FetchError(module)
count = 0
for file in p4file:
list = file.split()
if list[2] == "delete":
continue
dest = list[0][len(path)+1:]
where = dest.find("#")
os.system("%s%s print -o %s/%s %s" % (p4cmd, p4opt, module, dest[:where], list[0]))
count = count + 1
if count == 0:
logger.error("Fetch: No files gathered from the P4 fetch")
raise FetchError(module)
myret = os.system("tar -czf %s %s" % (ud.localpath, module))
if myret != 0:
try:
os.unlink(ud.localpath)
except OSError:
pass
raise FetchError(module)
# cleanup
bb.utils.prunedir(tmpfile)

View File

@@ -1,98 +0,0 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake "Fetch" repo (git) implementation
"""
# Copyright (C) 2009 Tom Rini <trini@embeddedalley.com>
#
# Based on git.py which is:
#Copyright (C) 2005 Richard Purdie
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os
import bb
from bb import data
from bb.fetch import Fetch
from bb.fetch import runfetchcmd
class Repo(Fetch):
"""Class to fetch a module or modules from repo (git) repositories"""
def supports(self, url, ud, d):
"""
Check to see if a given url can be fetched with repo.
"""
return ud.type in ["repo"]
def localpath(self, url, ud, d):
"""
We don"t care about the git rev of the manifests repository, but
we do care about the manifest to use. The default is "default".
We also care about the branch or tag to be used. The default is
"master".
"""
ud.proto = ud.parm.get('protocol', 'git')
ud.branch = ud.parm.get('branch', 'master')
ud.manifest = ud.parm.get('manifest', 'default.xml')
if not ud.manifest.endswith('.xml'):
ud.manifest += '.xml'
ud.localfile = data.expand("repo_%s%s_%s_%s.tar.gz" % (ud.host, ud.path.replace("/", "."), ud.manifest, ud.branch), d)
return os.path.join(data.getVar("DL_DIR", d, True), ud.localfile)
def go(self, loc, ud, d):
"""Fetch url"""
if os.access(os.path.join(data.getVar("DL_DIR", d, True), ud.localfile), os.R_OK):
logger.debug(1, "%s already exists (or was stashed). Skipping repo init / sync.", ud.localpath)
return
gitsrcname = "%s%s" % (ud.host, ud.path.replace("/", "."))
repodir = data.getVar("REPODIR", d, True) or os.path.join(data.getVar("DL_DIR", d, True), "repo")
codir = os.path.join(repodir, gitsrcname, ud.manifest)
if ud.user:
username = ud.user + "@"
else:
username = ""
bb.utils.mkdirhier(os.path.join(codir, "repo"))
os.chdir(os.path.join(codir, "repo"))
if not os.path.exists(os.path.join(codir, "repo", ".repo")):
runfetchcmd("repo init -m %s -b %s -u %s://%s%s%s" % (ud.manifest, ud.branch, ud.proto, username, ud.host, ud.path), d)
runfetchcmd("repo sync", d)
os.chdir(codir)
scmdata = ud.parm.get("scmdata", "")
if scmdata == "keep":
tar_flags = ""
else:
tar_flags = "--exclude '.repo' --exclude '.git'"
# Create a cache
runfetchcmd("tar %s -czf %s %s" % (tar_flags, ud.localpath, os.path.join(".", "*") ), d)
def supports_srcrev(self):
return False
def _build_revision(self, url, ud, d):
return ud.manifest
def _want_sortable_revision(self, url, ud, d):
return False

View File

@@ -1,118 +0,0 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
'''
BitBake 'Fetch' implementations
This implementation is for Secure Shell (SSH), and attempts to comply with the
IETF secsh internet draft:
http://tools.ietf.org/wg/secsh/draft-ietf-secsh-scp-sftp-ssh-uri/
Currently does not support the sftp parameters, as this uses scp
Also does not support the 'fingerprint' connection parameter.
'''
# Copyright (C) 2006 OpenedHand Ltd.
#
#
# Based in part on svk.py:
# Copyright (C) 2006 Holger Hans Peter Freyther
# Based on svn.py:
# Copyright (C) 2003, 2004 Chris Larson
# Based on functions from the base bb module:
# Copyright 2003 Holger Schurig
#
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import re, os
from bb import data
from bb.fetch import Fetch
from bb.fetch import FetchError
__pattern__ = re.compile(r'''
\s* # Skip leading whitespace
ssh:// # scheme
( # Optional username/password block
(?P<user>\S+) # username
(:(?P<pass>\S+))? # colon followed by the password (optional)
)?
(?P<cparam>(;[^;]+)*)? # connection parameters block (optional)
@
(?P<host>\S+?) # non-greedy match of the host
(:(?P<port>[0-9]+))? # colon followed by the port (optional)
/
(?P<path>[^;]+) # path on the remote system, may be absolute or relative,
# and may include the use of '~' to reference the remote home
# directory
(?P<sparam>(;[^;]+)*)? # parameters block (optional)
$
''', re.VERBOSE)
class SSH(Fetch):
'''Class to fetch a module or modules via Secure Shell'''
def supports(self, url, urldata, d):
return __pattern__.match(url) != None
def localpath(self, url, urldata, d):
m = __pattern__.match(url)
path = m.group('path')
host = m.group('host')
lpath = os.path.join(data.getVar('DL_DIR', d, True), host, os.path.basename(path))
return lpath
def go(self, url, urldata, d):
dldir = data.getVar('DL_DIR', d, 1)
m = __pattern__.match(url)
path = m.group('path')
host = m.group('host')
port = m.group('port')
user = m.group('user')
password = m.group('pass')
ldir = os.path.join(dldir, host)
lpath = os.path.join(ldir, os.path.basename(path))
if not os.path.exists(ldir):
os.makedirs(ldir)
if port:
port = '-P %s' % port
else:
port = ''
if user:
fr = user
if password:
fr += ':%s' % password
fr += '@%s' % host
else:
fr = host
fr += ':%s' % path
import commands
cmd = 'scp -B -r %s %s %s/' % (
port,
commands.mkarg(fr),
commands.mkarg(ldir)
)
(exitstatus, output) = commands.getstatusoutput(cmd)
if exitstatus != 0:
print(output)
raise FetchError('Unable to fetch %s' % url)

View File

@@ -1,104 +0,0 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake 'Fetch' implementations
This implementation is for svk. It is based on the svn implementation
"""
# Copyright (C) 2006 Holger Hans Peter Freyther
# Copyright (C) 2003, 2004 Chris Larson
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
import os
import logging
import bb
from bb import data
from bb.fetch import Fetch
from bb.fetch import FetchError
from bb.fetch import MissingParameterError
from bb.fetch import logger
class Svk(Fetch):
"""Class to fetch a module or modules from svk repositories"""
def supports(self, url, ud, d):
"""
Check to see if a given url can be fetched with svk.
"""
return ud.type in ['svk']
def localpath(self, url, ud, d):
if not "module" in ud.parm:
raise MissingParameterError("svk method needs a 'module' parameter")
else:
ud.module = ud.parm["module"]
ud.revision = ud.parm.get('rev', "")
ud.localfile = data.expand('%s_%s_%s_%s_%s.tar.gz' % (ud.module.replace('/', '.'), ud.host, ud.path.replace('/', '.'), ud.revision, ud.date), d)
return os.path.join(data.getVar("DL_DIR", d, True), ud.localfile)
def forcefetch(self, url, ud, d):
return ud.date == "now"
def go(self, loc, ud, d):
"""Fetch urls"""
svkroot = ud.host + ud.path
svkcmd = "svk co -r {%s} %s/%s" % (ud.date, svkroot, ud.module)
if ud.revision:
svkcmd = "svk co -r %s %s/%s" % (ud.revision, svkroot, ud.module)
# create temp directory
localdata = data.createCopy(d)
data.update_data(localdata)
logger.debug(2, "Fetch: creating temporary directory")
bb.utils.mkdirhier(data.expand('${WORKDIR}', localdata))
data.setVar('TMPBASE', data.expand('${WORKDIR}/oesvk.XXXXXX', localdata), localdata)
tmppipe = os.popen(data.getVar('MKTEMPDIRCMD', localdata, 1) or "false")
tmpfile = tmppipe.readline().strip()
if not tmpfile:
logger.error("Fetch: unable to create temporary directory.. make sure 'mktemp' is in the PATH.")
raise FetchError(ud.module)
# check out sources there
os.chdir(tmpfile)
logger.info("Fetch " + loc)
logger.debug(1, "Running %s", svkcmd)
myret = os.system(svkcmd)
if myret != 0:
try:
os.rmdir(tmpfile)
except OSError:
pass
raise FetchError(ud.module)
os.chdir(os.path.join(tmpfile, os.path.dirname(ud.module)))
# tar them up to a defined filename
myret = os.system("tar -czf %s %s" % (ud.localpath, os.path.basename(ud.module)))
if myret != 0:
try:
os.unlink(ud.localpath)
except OSError:
pass
raise FetchError(ud.module)
# cleanup
bb.utils.prunedir(tmpfile)

View File

@@ -1,204 +0,0 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake 'Fetch' implementation for svn.
"""
# Copyright (C) 2003, 2004 Chris Larson
# Copyright (C) 2004 Marcin Juszkiewicz
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
import os
import sys
import logging
import bb
from bb import data
from bb.fetch import Fetch
from bb.fetch import FetchError
from bb.fetch import MissingParameterError
from bb.fetch import runfetchcmd
from bb.fetch import logger
class Svn(Fetch):
"""Class to fetch a module or modules from svn repositories"""
def supports(self, url, ud, d):
"""
Check to see if a given url can be fetched with svn.
"""
return ud.type in ['svn']
def localpath(self, url, ud, d):
if not "module" in ud.parm:
raise MissingParameterError("svn method needs a 'module' parameter")
ud.module = ud.parm["module"]
# Create paths to svn checkouts
relpath = self._strip_leading_slashes(ud.path)
ud.pkgdir = os.path.join(data.expand('${SVNDIR}', d), ud.host, relpath)
ud.moddir = os.path.join(ud.pkgdir, ud.module)
if 'rev' in ud.parm:
ud.date = ""
ud.revision = ud.parm['rev']
elif 'date' in ud.date:
ud.date = ud.parm['date']
ud.revision = ""
else:
#
# ***Nasty hack***
# If DATE in unexpanded PV, use ud.date (which is set from SRCDATE)
# Should warn people to switch to SRCREV here
#
pv = data.getVar("PV", d, 0)
if "DATE" in pv:
ud.revision = ""
else:
rev = Fetch.srcrev_internal_helper(ud, d)
if rev is True:
ud.revision = self.latest_revision(url, ud, d)
ud.date = ""
elif rev:
ud.revision = rev
ud.date = ""
else:
ud.revision = ""
ud.localfile = data.expand('%s_%s_%s_%s_%s.tar.gz' % (ud.module.replace('/', '.'), ud.host, ud.path.replace('/', '.'), ud.revision, ud.date), d)
return os.path.join(data.getVar("DL_DIR", d, True), ud.localfile)
def _buildsvncommand(self, ud, d, command):
"""
Build up an svn commandline based on ud
command is "fetch", "update", "info"
"""
basecmd = data.expand('${FETCHCMD_svn}', d)
proto = ud.parm.get('proto', 'svn')
svn_rsh = None
if proto == "svn+ssh" and "rsh" in ud.parm:
svn_rsh = ud.parm["rsh"]
svnroot = ud.host + ud.path
# either use the revision, or SRCDATE in braces,
options = []
if ud.user:
options.append("--username %s" % ud.user)
if ud.pswd:
options.append("--password %s" % ud.pswd)
if command is "info":
svncmd = "%s info %s %s://%s/%s/" % (basecmd, " ".join(options), proto, svnroot, ud.module)
else:
suffix = ""
if ud.revision:
options.append("-r %s" % ud.revision)
suffix = "@%s" % (ud.revision)
elif ud.date:
options.append("-r {%s}" % ud.date)
if command is "fetch":
svncmd = "%s co %s %s://%s/%s%s %s" % (basecmd, " ".join(options), proto, svnroot, ud.module, suffix, ud.module)
elif command is "update":
svncmd = "%s update %s" % (basecmd, " ".join(options))
else:
raise FetchError("Invalid svn command %s" % command)
if svn_rsh:
svncmd = "svn_RSH=\"%s\" %s" % (svn_rsh, svncmd)
return svncmd
def go(self, loc, ud, d):
"""Fetch url"""
logger.debug(2, "Fetch: checking for module directory '" + ud.moddir + "'")
if os.access(os.path.join(ud.moddir, '.svn'), os.R_OK):
svnupdatecmd = self._buildsvncommand(ud, d, "update")
logger.info("Update " + loc)
# update sources there
os.chdir(ud.moddir)
logger.debug(1, "Running %s", svnupdatecmd)
runfetchcmd(svnupdatecmd, d)
else:
svnfetchcmd = self._buildsvncommand(ud, d, "fetch")
logger.info("Fetch " + loc)
# check out sources there
bb.utils.mkdirhier(ud.pkgdir)
os.chdir(ud.pkgdir)
logger.debug(1, "Running %s", svnfetchcmd)
runfetchcmd(svnfetchcmd, d)
scmdata = ud.parm.get("scmdata", "")
if scmdata == "keep":
tar_flags = ""
else:
tar_flags = "--exclude '.svn'"
os.chdir(ud.pkgdir)
# tar them up to a defined filename
try:
runfetchcmd("tar %s -czf %s %s" % (tar_flags, ud.localpath, ud.module), d)
except:
t, v, tb = sys.exc_info()
try:
os.unlink(ud.localpath)
except OSError:
pass
raise t, v, tb
def supports_srcrev(self):
return True
def _revision_key(self, url, ud, d):
"""
Return a unique key for the url
"""
return "svn:" + ud.moddir
def _latest_revision(self, url, ud, d):
"""
Return the latest upstream revision number
"""
logger.debug(2, "SVN fetcher hitting network for %s", url)
output = runfetchcmd("LANG=C LC_ALL=C " + self._buildsvncommand(ud, d, "info"), d, True)
revision = None
for line in output.splitlines():
if "Last Changed Rev" in line:
revision = line.split(":")[1].strip()
return revision
def _sortable_revision(self, url, ud, d):
"""
Return a sortable revision number which in our case is the revision number
"""
return self._build_revision(url, ud, d)
def _build_revision(self, url, ud, d):
return ud.revision

View File

@@ -1,93 +0,0 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
"""
BitBake 'Fetch' implementations
Classes for obtaining upstream sources for the
BitBake build tools.
"""
# Copyright (C) 2003, 2004 Chris Larson
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Based on functions from the base bb module, Copyright 2003 Holger Schurig
import os
import logging
import bb
import urllib
from bb import data
from bb.fetch import Fetch, FetchError, encodeurl, decodeurl, logger, runfetchcmd
class Wget(Fetch):
"""Class to fetch urls via 'wget'"""
def supports(self, url, ud, d):
"""
Check to see if a given url can be fetched with wget.
"""
return ud.type in ['http', 'https', 'ftp']
def localpath(self, url, ud, d):
url = encodeurl([ud.type, ud.host, ud.path, ud.user, ud.pswd, {}])
ud.basename = os.path.basename(ud.path)
ud.localfile = data.expand(urllib.unquote(ud.basename), d)
return os.path.join(data.getVar("DL_DIR", d, True), ud.localfile)
def go(self, uri, ud, d, checkonly = False):
"""Fetch urls"""
def fetch_uri(uri, ud, d):
if checkonly:
fetchcmd = data.getVar("CHECKCOMMAND", d, 1)
elif os.path.exists(ud.localpath):
# file exists, but we didnt complete it.. trying again..
fetchcmd = data.getVar("RESUMECOMMAND", d, 1)
else:
fetchcmd = data.getVar("FETCHCOMMAND", d, 1)
uri = uri.split(";")[0]
uri_decoded = list(decodeurl(uri))
uri_type = uri_decoded[0]
uri_host = uri_decoded[1]
fetchcmd = fetchcmd.replace("${URI}", uri.split(";")[0])
fetchcmd = fetchcmd.replace("${FILE}", ud.basename)
logger.info("fetch " + uri)
logger.debug(2, "executing " + fetchcmd)
runfetchcmd(fetchcmd, d)
# Sanity check since wget can pretend it succeed when it didn't
# Also, this used to happen if sourceforge sent us to the mirror page
if not os.path.exists(ud.localpath) and not checkonly:
logger.debug(2, "The fetch command for %s returned success but %s doesn't exist?...", uri, ud.localpath)
return False
return True
localdata = data.createCopy(d)
data.setVar('OVERRIDES', "wget:" + data.getVar('OVERRIDES', localdata), localdata)
data.update_data(localdata)
if fetch_uri(uri, ud, localdata):
return True
raise FetchError(uri)
def checkstatus(self, uri, ud, d):
return self.go(uri, ud, d, True)

View File

@@ -190,14 +190,15 @@ def uri_replace(ud, uri_find, uri_replace, d):
else:
result_decoded[loc] = re.sub(i, uri_replace_decoded[loc], uri_decoded[loc])
if uri_find_decoded.index(i) == 2:
basename = None
if ud.mirrortarball:
if result_decoded[loc].endswith("/"):
result_decoded[loc] = os.path.dirname(result_decoded[loc])
result_decoded[loc] = os.path.join(result_decoded[loc], os.path.basename(ud.mirrortarball))
basename = os.path.basename(ud.mirrortarball)
elif ud.localpath:
if result_decoded[loc].endswith("/"):
result_decoded[loc] = os.path.dirname(result_decoded[loc])
result_decoded[loc] = os.path.join(result_decoded[loc], os.path.basename(ud.localpath))
basename = os.path.basename(ud.localpath)
if basename and result_decoded[loc].endswith("/"):
result_decoded[loc] = os.path.dirname(result_decoded[loc])
if basename and not result_decoded[loc].endswith(basename):
result_decoded[loc] = os.path.join(result_decoded[loc], basename)
else:
return ud.url
result = encodeurl(result_decoded)
@@ -392,6 +393,9 @@ def runfetchcmd(cmd, d, quiet = False, cleanup = []):
Optionally remove the files/directories listed in cleanup upon failure
"""
import bb.process
import subprocess
# Need to export PATH as binary could be in metadata paths
# rather than host provided
# Also include some other variables.
@@ -409,36 +413,27 @@ def runfetchcmd(cmd, d, quiet = False, cleanup = []):
logger.debug(1, "Running %s", cmd)
# redirect stderr to stdout
stdout_handle = os.popen(cmd + " 2>&1", "r")
output = ""
success = False
error_message = ""
while True:
line = stdout_handle.readline()
if not line:
break
if not quiet:
print(line, end=' ')
output += line
try:
(output, errors) = bb.process.run(cmd, shell=True, stderr=subprocess.PIPE)
success = True
except bb.process.NotFoundError as e:
error_message = "Fetch command %s" % (e.command)
except bb.process.CmdError as e:
error_message = "Fetch command %s could not be run:\n%s" % (e.command, e.msg)
except bb.process.ExecutionError as e:
error_message = "Fetch command %s failed with exit code %s, output:\n%s" % (e.command, e.exitcode, e.stderr)
status = stdout_handle.close() or 0
signal = os.WTERMSIG(status)
if os.WIFEXITED(status):
exitstatus = os.WEXITSTATUS(status)
else:
exitstatus = 0
if (signal or status != 0):
if not success:
for f in cleanup:
try:
bb.utils.remove(f, True)
except OSError:
pass
if signal:
raise FetchError("Fetch command %s failed with signal %s, output:\n%s" % (cmd, signal, output))
elif exitstatus:
raise FetchError("Fetch command %s failed with exit code %s, output:\n%s" % (cmd, exitstatus, output))
raise FetchError(error_message)
return output
@@ -481,8 +476,10 @@ def try_mirrors(d, origud, mirrors, check = False):
if not os.path.exists(ud.donestamp) or ud.method.need_update(newuri, ud, ld):
ud.method.download(newuri, ud, ld)
if hasattr(ud.method,"build_mirror_data"):
ud.method.build_mirror_data(newuri, ud, ld)
if os.path.exists(ud.localpath):
open(ud.donestamp, 'w').close()
if hasattr(ud.method,"build_mirror_data"):
ud.method.build_mirror_data(newuri, ud, ld)
if not ud.localpath or not os.path.exists(ud.localpath):
continue

View File

@@ -214,6 +214,7 @@ class Git(FetchMethod):
os.chdir(ud.clonedir)
logger.info("Creating tarball of git repository")
runfetchcmd("tar -czf %s %s" % (ud.fullmirror, os.path.join(".") ), d)
runfetchcmd("touch %s.done" % (ud.fullmirror), d)
def unpack(self, ud, destdir, d):
""" unpack the downloaded src to destdir"""

View File

@@ -136,10 +136,13 @@ def getInterval(configuration):
""" Get the disk space interval """
interval = configuration.getVar("BB_DISKMON_WARNINTERVAL", 1)
# The default value is 50M and 5K.
spaceDefault = 50 * 1024 * 1024
inodeDefault = 5 * 1024
interval = configuration.getVar("BB_DISKMON_WARNINTERVAL", True)
if not interval:
# The default value is 50M and 5K.
return 50 * 1024 * 1024, 5 * 1024
return spaceDefault, inodeDefault
else:
# The disk space or inode interval is optional, but it should
# have a correct value once it is specified
@@ -151,12 +154,16 @@ def getInterval(configuration):
if not intervalSpace:
printErr("Invalid disk space interval value in BB_DISKMON_WARNINTERVAL: %s" % intervalRe.group(1))
return None, None
else:
intervalSpace = spaceDefault
intervalInode = intervalRe.group(2)
if intervalInode:
intervalInode = convertGMK(intervalInode)
if not intervalInode:
printErr("Invalid disk inode interval value in BB_DISKMON_WARNINTERVAL: %s" % intervalRe.group(2))
return None, None
else:
intervalInode = inodeDefault
return intervalSpace, intervalInode
else:
printErr("Invalid interval value in BB_DISKMON_WARNINTERVAL: %s" % interval)
@@ -170,7 +177,7 @@ class diskMonitor:
self.enableMonitor = False
BBDirs = configuration.getVar("BB_DISKMON_DIRS", 1) or None
BBDirs = configuration.getVar("BB_DISKMON_DIRS", True) or None
if BBDirs:
self.devDict = getDiskData(BBDirs, configuration)
if self.devDict:

View File

@@ -304,7 +304,7 @@ def handleBBHandlers(statements, filename, lineno, m):
def handleInherit(statements, filename, lineno, m):
classes = m.group(1)
statements.append(InheritNode(filename, lineno, classes.split()))
statements.append(InheritNode(filename, lineno, classes))
def finalize(fn, d, variant = None):
all_handlers = {}
@@ -452,7 +452,7 @@ def multi_finalize(fn, d):
d.setVar("BBEXTENDVARIANT", variantmap[name])
else:
d.setVar("PN", "%s-%s" % (pn, name))
bb.parse.BBHandler.inherit([extendedmap[name]], fn, 0, d)
bb.parse.BBHandler.inherit(extendedmap[name], fn, 0, d)
safe_d.setVar("BBCLASSEXTEND", extended)
_create_variants(datastores, extendedmap.keys(), extendfunc)

View File

@@ -70,8 +70,8 @@ def supports(fn, d):
def inherit(files, fn, lineno, d):
__inherit_cache = data.getVar('__inherit_cache', d) or []
files = d.expand(files).split()
for file in files:
file = data.expand(file, d)
if not os.path.isabs(file) and not file.endswith(".bbclass"):
file = os.path.join('classes', '%s.bbclass' % file)

View File

@@ -58,7 +58,7 @@ def include(oldfn, fn, lineno, data, error_out):
if not os.path.isabs(fn):
dname = os.path.dirname(oldfn)
bbpath = "%s:%s" % (dname, data.getVar("BBPATH", 1))
bbpath = "%s:%s" % (dname, data.getVar("BBPATH", True))
abs_fn = bb.utils.which(bbpath, fn)
if abs_fn:
fn = abs_fn

View File

@@ -284,7 +284,7 @@ def filterProviders(providers, item, cfgData, dataCache):
eligible = _filterProviders(providers, item, cfgData, dataCache)
prefervar = cfgData.getVar('PREFERRED_PROVIDER_%s' % item, 1)
prefervar = cfgData.getVar('PREFERRED_PROVIDER_%s' % item, True)
if prefervar:
dataCache.preferred[item] = prefervar
@@ -322,7 +322,7 @@ def filterProvidersRunTime(providers, item, cfgData, dataCache):
pn = dataCache.pkg_fn[p]
provides = dataCache.pn_provides[pn]
for provide in provides:
prefervar = cfgData.getVar('PREFERRED_PROVIDER_%s' % provide, 1)
prefervar = cfgData.getVar('PREFERRED_PROVIDER_%s' % provide, True)
logger.debug(1, "checking PREFERRED_PROVIDER_%s (value %s) against %s", provide, prefervar, pns.keys())
if prefervar in pns and pns[prefervar] not in preferred:
var = "PREFERRED_PROVIDER_%s = %s" % (provide, prefervar)

View File

@@ -190,8 +190,8 @@ class RunQueueData:
self.rq = rq
self.warn_multi_bb = False
self.stampwhitelist = cfgData.getVar("BB_STAMP_WHITELIST", 1) or ""
self.multi_provider_whitelist = (cfgData.getVar("MULTI_PROVIDER_WHITELIST", 1) or "").split()
self.stampwhitelist = cfgData.getVar("BB_STAMP_WHITELIST", True) or ""
self.multi_provider_whitelist = (cfgData.getVar("MULTI_PROVIDER_WHITELIST", True) or "").split()
self.reset()
@@ -472,7 +472,7 @@ class RunQueueData:
dep = taskData.fn_index[depdata]
taskid = taskData.gettask_id(dep, idependtask, False)
if taskid is None:
bb.msg.fatal("RunQueue", "Task %s in %s depends upon nonexistant task %s in %s" % (taskData.tasks_name[task], fn, idependtask, dep))
bb.msg.fatal("RunQueue", "Task %s in %s depends upon non-existent task %s in %s" % (taskData.tasks_name[task], fn, idependtask, dep))
depends.append(taskid)
if depdata != fnid:
tdepends_fnid[fnid].add(taskid)
@@ -779,6 +779,8 @@ class RunQueue:
# For disk space monitor
self.dm = monitordisk.diskMonitor(cfgData)
self.rqexe = None
def check_stamps(self):
unchecked = {}
current = []
@@ -873,7 +875,7 @@ class RunQueue:
bb.msg.fatal("RunQueue", "check_stamps fatal internal error")
return current
def check_stamp_task(self, task, taskname = None):
def check_stamp_task(self, task, taskname = None, recurse = False):
def get_timestamp(f):
try:
if not os.access(f, os.F_OK):
@@ -928,7 +930,8 @@ class RunQueue:
if t1 < t2:
logger.debug(2, 'Stampfile %s < %s', stampfile, stampfile2)
iscurrent = False
if recurse and iscurrent:
iscurrent = self.check_stamp_task(dep, recurse=True)
return iscurrent
def execute_runqueue(self):
@@ -996,6 +999,9 @@ class RunQueue:
return retval
def finish_runqueue(self, now = False):
if not self.rqexe:
return
if now:
self.rqexe.finish_now()
else:
@@ -1024,8 +1030,8 @@ class RunQueueExecute:
self.cfgData = rq.cfgData
self.rqdata = rq.rqdata
self.number_tasks = int(self.cfgData.getVar("BB_NUMBER_THREADS", 1) or 1)
self.scheduler = self.cfgData.getVar("BB_SCHEDULER", 1) or "speed"
self.number_tasks = int(self.cfgData.getVar("BB_NUMBER_THREADS", True) or 1)
self.scheduler = self.cfgData.getVar("BB_SCHEDULER", True) or "speed"
self.runq_buildable = []
self.runq_running = []
@@ -1062,6 +1068,7 @@ class RunQueueExecute:
for k, v in self.build_pids.iteritems():
try:
os.kill(-k, signal.SIGTERM)
os.waitpid(-1, 0)
except:
pass
for pipe in self.build_pipes:
@@ -1507,7 +1514,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
dep = self.rqdata.taskData.fn_index[depdata]
taskid = self.rqdata.get_task_id(self.rqdata.taskData.getfn_id(dep), idependtask.replace("_setscene", ""))
if taskid is None:
bb.msg.fatal("RunQueue", "Task %s depends upon nonexistant task %s:%s" % (self.rqdata.taskData.tasks_name[realid], dep, idependtask))
bb.msg.fatal("RunQueue", "Task %s depends upon non-existent task %s:%s" % (self.rqdata.taskData.tasks_name[realid], dep, idependtask))
sq_revdeps_squash[self.rqdata.runq_setscene.index(task)].add(self.rqdata.runq_setscene.index(taskid))
# Have to zero this to avoid circular dependencies
@@ -1606,8 +1613,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
def task_fail(self, task, result):
self.stats.taskFailed()
index = self.rqdata.runq_setscene[task]
bb.event.fire(sceneQueueTaskFailed(index, self.stats, result, self), self.cfgData)
bb.event.fire(sceneQueueTaskFailed(task, self.stats, result, self), self.cfgData)
self.scenequeue_notcovered.add(task)
self.scenequeue_updatecounters(task)
@@ -1644,7 +1650,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[realtask]]
taskname = self.rqdata.runq_task[realtask] + "_setscene"
if self.rq.check_stamp_task(realtask, self.rqdata.runq_task[realtask]):
if self.rq.check_stamp_task(realtask, self.rqdata.runq_task[realtask], recurse = True):
logger.debug(2, 'Stamp for underlying task %s(%s) is current, so skipping setscene variant',
task, self.rqdata.get_user_idstring(realtask))
self.task_failoutright(task)

View File

@@ -126,7 +126,11 @@ class SignatureGeneratorBasic(SignatureGenerator):
if variant:
fn = "virtual:" + variant + ":" + fn
taskdeps = self._build_data(fn, d)
try:
taskdeps = self._build_data(fn, d)
except:
bb.note("Error during finalise of %s" % fn)
raise
#Slow but can be useful for debugging mismatched basehashes
#for task in self.taskdeps[fn]:
@@ -219,7 +223,11 @@ class SignatureGeneratorBasicHash(SignatureGeneratorBasic):
k = fn + "." + taskname[:-9]
else:
k = fn + "." + taskname
h = self.taskhash[k]
if k in self.taskhash:
h = self.taskhash[k]
else:
# If k is not in basehash, then error
h = self.basehash[k]
return ("%s.%s.%s.%s" % (stampbase, taskname, h, extrainfo)).rstrip('.')
def dump_this_task(outfile, d):

View File

@@ -21,11 +21,93 @@
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import gtk
import pango
import gobject
from bb.ui.crumbs.progressbar import HobProgressBar
from bb.ui.crumbs.hobwidget import hic
from bb.ui.crumbs.hobwidget import hic, HobNotebook, HobAltButton, HobWarpCellRendererText
from bb.ui.crumbs.runningbuild import RunningBuildTreeView
from bb.ui.crumbs.runningbuild import BuildFailureTreeView
from bb.ui.crumbs.hobpages import HobPage
class BuildConfigurationTreeView(gtk.TreeView):
def __init__ (self):
gtk.TreeView.__init__(self)
self.set_rules_hint(False)
self.set_headers_visible(False)
self.set_property("hover-expand", True)
self.get_selection().set_mode(gtk.SELECTION_SINGLE)
# The icon that indicates whether we're building or failed.
renderer0 = gtk.CellRendererText()
renderer0.set_property('font-desc', pango.FontDescription('courier bold 12'))
col0 = gtk.TreeViewColumn ("Name", renderer0, text=0)
self.append_column (col0)
# The message of configuration.
renderer1 = HobWarpCellRendererText(col_number=1)
col1 = gtk.TreeViewColumn ("Values", renderer1, text=1)
self.append_column (col1)
def set_vars(self, key="", var=[""]):
d = {}
if type(var) == str:
d = {key: [var]}
elif type(var) == list and len(var) > 1:
#create the sub item line
l = []
text = ""
for item in var:
text = " - " + item
l.append(text)
d = {key: var}
return d
def set_config_model(self, show_vars):
listmodel = gtk.TreeStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
parent = None
for var in show_vars:
for subitem in var.items():
name = subitem[0]
is_parent = True
for value in subitem[1]:
if is_parent:
parent = listmodel.append(parent, (name, value))
is_parent = False
else:
listmodel.append(parent, (None, value))
name = " - "
parent = None
# renew the tree model after get the configuration messages
self.set_model(listmodel)
def show(self, src_config_info):
vars = []
vars.append(self.set_vars("BB version:", src_config_info.bb_version))
vars.append(self.set_vars("Target arch:", src_config_info.target_arch))
vars.append(self.set_vars("Target OS:", src_config_info.target_os))
vars.append(self.set_vars("Machine:", src_config_info.curr_mach))
vars.append(self.set_vars("Distro:", src_config_info.curr_distro))
vars.append(self.set_vars("Distro version:", src_config_info.distro_version))
vars.append(self.set_vars("SDK machine:", src_config_info.curr_sdk_machine))
vars.append(self.set_vars("Tune feature:", src_config_info.tune_pkgarch))
vars.append(self.set_vars("Layers:", src_config_info.layers))
for path in src_config_info.layers:
import os, os.path
if os.path.exists(path):
f = os.popen('cd %s; git branch 2>&1 | grep "^* " | tr -d "* "' % path)
if f:
branch = f.readline().lstrip('\n').rstrip('\n')
vars.append(self.set_vars("Branch:", branch))
f.close()
break
self.set_config_model(vars)
def reset(self):
self.set_model(None)
#
# BuildDetailsPage
#
@@ -35,31 +117,76 @@ class BuildDetailsPage (HobPage):
def __init__(self, builder):
super(BuildDetailsPage, self).__init__(builder, "Building ...")
self.num_of_issues = 0
self.endpath = (0,)
# create visual elements
self.create_visual_elements()
def create_visual_elements(self):
# create visual elements
self.vbox = gtk.VBox(False, 15)
self.vbox = gtk.VBox(False, 12)
self.progress_box = gtk.HBox(False, 5)
self.progress_box = gtk.VBox(False, 12)
self.task_status = gtk.Label("\n") # to ensure layout is correct
self.task_status.set_alignment(0.0, 0.5)
self.progress_box.pack_start(self.task_status, expand=False, fill=False)
self.progress_hbox = gtk.HBox(False, 6)
self.progress_box.pack_end(self.progress_hbox, expand=True, fill=True)
self.progress_bar = HobProgressBar()
self.progress_box.pack_start(self.progress_bar, expand=True, fill=True)
self.stop_button = gtk.LinkButton("Stop the build process", "Stop")
self.progress_hbox.pack_start(self.progress_bar, expand=True, fill=True)
self.stop_button = HobAltButton("Stop")
self.stop_button.connect("clicked", self.stop_button_clicked_cb)
self.progress_box.pack_end(self.stop_button, expand=False, fill=False)
self.stop_button.set_sensitive(False)
self.progress_hbox.pack_end(self.stop_button, expand=False, fill=False)
self.build_tv = RunningBuildTreeView(readonly=True)
self.notebook = HobNotebook()
self.config_tv = BuildConfigurationTreeView()
self.scrolled_view_config = gtk.ScrolledWindow ()
self.scrolled_view_config.set_policy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS)
self.scrolled_view_config.add(self.config_tv)
self.notebook.append_page(self.scrolled_view_config, gtk.Label("Build configuration"))
self.failure_tv = BuildFailureTreeView()
self.failure_model = self.builder.handler.build.model.failure_model()
self.failure_tv.set_model(self.failure_model)
self.scrolled_view_failure = gtk.ScrolledWindow ()
self.scrolled_view_failure.set_policy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS)
self.scrolled_view_failure.add(self.failure_tv)
self.notebook.append_page(self.scrolled_view_failure, gtk.Label("Issues"))
self.build_tv = RunningBuildTreeView(readonly=True, hob=True)
self.build_tv.set_model(self.builder.handler.build.model)
self.scrolled_view = gtk.ScrolledWindow ()
self.scrolled_view.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
self.scrolled_view.add(self.build_tv)
self.scrolled_view_build = gtk.ScrolledWindow ()
self.scrolled_view_build.set_policy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS)
self.scrolled_view_build.add(self.build_tv)
self.notebook.append_page(self.scrolled_view_build, gtk.Label("Log"))
self.button_box = gtk.HBox(False, 5)
self.back_button = gtk.LinkButton("Go back to Image Configuration screen", "<< Back to image configuration")
self.builder.handler.build.model.connect_after("row-changed", self.scroll_to_present_row, self.scrolled_view_build.get_vadjustment(), self.build_tv)
self.button_box = gtk.HBox(False, 6)
self.back_button = HobAltButton("<< Back to image configuration")
self.back_button.connect("clicked", self.back_button_clicked_cb)
self.button_box.pack_start(self.back_button, expand=False, fill=False)
def update_build_status(self, current, total, task):
recipe_path, recipe_task = task.split(", ")
recipe = os.path.basename(recipe_path).rstrip(".bb")
tsk_msg = "<b>Running task %s of %s:</b> %s\n<b>Recipe:</b> %s" % (current, total, recipe_task, recipe)
self.task_status.set_markup(tsk_msg)
self.stop_button.set_sensitive(True)
def reset_build_status(self):
self.task_status.set_markup("\n") # to ensure layout is correct
self.endpath = (0,)
def show_issues(self):
self.num_of_issues += 1
self.notebook.show_indicator_icon("Issues", self.num_of_issues)
def reset_issues(self):
self.num_of_issues = 0
self.notebook.hide_indicator_icon("Issues")
def _remove_all_widget(self):
children = self.vbox.get_children() or []
for child in children:
@@ -84,15 +211,19 @@ class BuildDetailsPage (HobPage):
self.box_group_area.pack_start(self.vbox, expand=True, fill=True)
self.progress_bar.reset()
self.config_tv.reset()
self.vbox.pack_start(self.progress_box, expand=False, fill=False)
self.vbox.pack_start(self.scrolled_view, expand=True, fill=True)
self.vbox.pack_start(self.notebook, expand=True, fill=True)
self.box_group_area.pack_end(self.button_box, expand=False, fill=False)
self.show_all()
self.back_button.hide()
def update_progress_bar(self, title, fraction, status=True):
self.reset_build_status()
self.reset_issues()
def update_progress_bar(self, title, fraction, status=None):
self.progress_bar.update(fraction)
self.progress_bar.set_title(title)
self.progress_bar.set_rcstyle(status)
@@ -108,3 +239,14 @@ class BuildDetailsPage (HobPage):
def hide_stop_button(self):
self.stop_button.hide()
def scroll_to_present_row(self, model, path, iter, v_adj, treeview):
if treeview and v_adj:
if path[0] > self.endpath[0]: # check the event is a new row append or not
self.endpath = path
# check the gtk.adjustment position is at end boundary or not
if (v_adj.upper <= v_adj.page_size) or (v_adj.value == v_adj.upper - v_adj.page_size):
treeview.scroll_to_cell(path)
def show_configurations(self, configurations):
self.config_tv.show(configurations)

View File

@@ -32,10 +32,12 @@ from bb.ui.crumbs.recipeselectionpage import RecipeSelectionPage
from bb.ui.crumbs.packageselectionpage import PackageSelectionPage
from bb.ui.crumbs.builddetailspage import BuildDetailsPage
from bb.ui.crumbs.imagedetailspage import ImageDetailsPage
from bb.ui.crumbs.hobwidget import hwc
from bb.ui.crumbs.hig import CrumbsDialog, BinbDialog, \
from bb.ui.crumbs.hobwidget import hwc, HobButton, HobAltButton
from bb.ui.crumbs.hig import CrumbsMessageDialog, ImageSelectionDialog, \
AdvancedSettingDialog, LayerSelectionDialog, \
DeployImageDialog, ImageSelectionDialog
DeployImageDialog
from bb.ui.crumbs.persistenttooltip import PersistentTooltip
import bb.ui.crumbs.utils
class Configuration:
'''Represents the data structure of configuration.'''
@@ -47,7 +49,7 @@ class Configuration:
self.dldir = params["dldir"]
self.sstatedir = params["sstatedir"]
self.sstatemirror = params["sstatemirror"]
self.pmake = params["pmake"]
self.pmake = int(params["pmake"].split()[1])
self.bbthread = params["bbthread"]
self.curr_package_format = " ".join(params["pclass"].split("package_")).strip()
self.image_rootfs_size = params["image_rootfs_size"]
@@ -55,9 +57,11 @@ class Configuration:
self.image_overhead_factor = params['image_overhead_factor']
self.incompat_license = params["incompat_license"]
self.curr_sdk_machine = params["sdk_machine"]
self.conf_version = params["conf_version"]
self.lconf_version = params["lconf_version"]
self.extra_setting = {}
self.toolchain_build = False
self.image_fstypes = params["image_fstypes"].split()
self.image_fstypes = params["image_fstypes"]
# bblayers.conf
self.layers = params["layer"].split()
# image/recipes/packages
@@ -65,6 +69,43 @@ class Configuration:
self.selected_recipes = []
self.selected_packages = []
self.user_selected_packages = []
# proxy settings
self.all_proxy = params["all_proxy"]
self.http_proxy = params["http_proxy"]
self.ftp_proxy = params["ftp_proxy"]
self.https_proxy = params["https_proxy"]
self.git_proxy_host = params["git_proxy_host"]
self.git_proxy_port = params["git_proxy_port"]
self.cvs_proxy_host = params["cvs_proxy_host"]
self.cvs_proxy_port = params["cvs_proxy_port"]
def update(self, params):
self.curr_distro = params["distro"]
self.dldir = params["dldir"]
self.sstatedir = params["sstatedir"]
self.sstatemirror = params["sstatemirror"]
self.pmake = int(params["pmake"].split()[1])
self.bbthread = params["bbthread"]
self.curr_package_format = " ".join(params["pclass"].split("package_")).strip()
self.image_rootfs_size = params["image_rootfs_size"]
self.image_extra_size = params["image_extra_size"]
self.image_overhead_factor = params['image_overhead_factor']
self.incompat_license = params["incompat_license"]
self.curr_sdk_machine = params["sdk_machine"]
self.conf_version = params["conf_version"]
self.lconf_version = params["lconf_version"]
self.image_fstypes = params["image_fstypes"]
self.tune_arch = params["tune_arch"]
self.bb_version = params["bb_version"]
self.target_arch = params["target_arch"]
self.target_os = params["target_os"]
self.distro_version = params["distro_version"]
self.tune_pkgarch = params["tune_pkgarch"]
# bblayers.conf
self.layers = params["layer"].split()
def load(self, template):
self.curr_mach = template.getVar("MACHINE")
self.curr_package_format = " ".join(template.getVar("PACKAGE_CLASSES").split("package_")).strip()
@@ -72,22 +113,45 @@ class Configuration:
self.dldir = template.getVar("DL_DIR")
self.sstatedir = template.getVar("SSTATE_DIR")
self.sstatemirror = template.getVar("SSTATE_MIRROR")
self.pmake = int(template.getVar("PARALLEL_MAKE").split()[1])
self.bbthread = int(template.getVar("BB_NUMBER_THREAD"))
self.image_rootfs_size = int(template.getVar("IMAGE_ROOTFS_SIZE"))
self.image_extra_size = int(template.getVar("IMAGE_EXTRA_SPACE"))
try:
self.pmake = int(template.getVar("PARALLEL_MAKE").split()[1])
except:
pass
try:
self.bbthread = int(template.getVar("BB_NUMBER_THREADS"))
except:
pass
try:
self.image_rootfs_size = int(template.getVar("IMAGE_ROOTFS_SIZE"))
except:
pass
try:
self.image_extra_size = int(template.getVar("IMAGE_EXTRA_SPACE"))
except:
pass
# image_overhead_factor is read-only.
self.incompat_license = template.getVar("INCOMPATIBLE_LICENSE")
self.curr_sdk_machine = template.getVar("SDKMACHINE")
self.conf_version = template.getVar("CONF_VERSION")
self.lconf_version = template.getVar("LCONF_VERSION")
self.extra_setting = eval(template.getVar("EXTRA_SETTING"))
self.toolchain_build = eval(template.getVar("TOOLCHAIN_BUILD"))
self.image_fstypes = template.getVar("IMAGE_FSTYPES").split()
self.image_fstypes = template.getVar("IMAGE_FSTYPES")
# bblayers.conf
self.layers = template.getVar("BBLAYERS").split()
# image/recipes/packages
self.selected_image = template.getVar("__SELECTED_IMAGE__")
self.selected_recipes = template.getVar("DEPENDS").split()
self.selected_packages = template.getVar("IMAGE_INSTALL").split()
# proxy
self.all_proxy = template.getVar("all_proxy")
self.http_proxy = template.getVar("http_proxy")
self.ftp_proxy = template.getVar("ftp_proxy")
self.https_proxy = template.getVar("https_proxy")
self.git_proxy_host = template.getVar("GIT_PROXY_HOST")
self.git_proxy_port = template.getVar("GIT_PROXY_PORT")
self.cvs_proxy_host = template.getVar("CVS_PROXY_HOST")
self.cvs_proxy_port = template.getVar("CVS_PROXY_PORT")
def save(self, template, filename):
# bblayers.conf
@@ -99,20 +163,31 @@ class Configuration:
template.setVar("SSTATE_DIR", self.sstatedir)
template.setVar("SSTATE_MIRROR", self.sstatemirror)
template.setVar("PARALLEL_MAKE", "-j %s" % self.pmake)
template.setVar("BB_NUMBER_THREAD", self.bbthread)
template.setVar("BB_NUMBER_THREADS", self.bbthread)
template.setVar("PACKAGE_CLASSES", " ".join(["package_" + i for i in self.curr_package_format.split()]))
template.setVar("IMAGE_ROOTFS_SIZE", self.image_rootfs_size)
template.setVar("IMAGE_EXTRA_SPACE", self.image_extra_size)
template.setVar("INCOMPATIBLE_LICENSE", self.incompat_license)
template.setVar("SDKMACHINE", self.curr_sdk_machine)
template.setVar("CONF_VERSION", self.conf_version)
template.setVar("LCONF_VERSION", self.lconf_version)
template.setVar("EXTRA_SETTING", self.extra_setting)
template.setVar("TOOLCHAIN_BUILD", self.toolchain_build)
template.setVar("IMAGE_FSTYPES", " ".join(self.image_fstypes).lstrip(" "))
template.setVar("IMAGE_FSTYPES", self.image_fstypes)
# image/recipes/packages
self.selected_image = filename
template.setVar("__SELECTED_IMAGE__", self.selected_image)
template.setVar("DEPENDS", self.selected_recipes)
template.setVar("IMAGE_INSTALL", self.selected_packages)
template.setVar("IMAGE_INSTALL", self.user_selected_packages)
# proxy
template.setVar("all_proxy", self.all_proxy)
template.setVar("http_proxy", self.http_proxy)
template.setVar("ftp_proxy", self.ftp_proxy)
template.setVar("https_proxy", self.https_proxy)
template.setVar("GIT_PROXY_HOST", self.git_proxy_host)
template.setVar("GIT_PROXY_PORT", self.git_proxy_port)
template.setVar("CVS_PROXY_HOST", self.cvs_proxy_host)
template.setVar("CVS_PROXY_PORT", self.cvs_proxy_port)
class Parameters:
'''Represents other variables like available machines, etc.'''
@@ -129,13 +204,18 @@ class Parameters:
self.image_names = []
self.image_addr = params["image_addr"]
self.image_types = params["image_types"].split()
self.runnable_image_types = params["runnable_image_types"].split()
self.runnable_machine_patterns = params["runnable_machine_patterns"].split()
self.deployable_image_types = params["deployable_image_types"].split()
self.tmpdir = params["tmpdir"]
self.enable_proxy = False
class Builder(gtk.Window):
(MACHINE_SELECTION,
LAYER_CHANGED,
RCPPKGINFO_POPULATING,
RCPPKGINFO_POPULATED,
BASEIMG_SELECTED,
RECIPE_SELECTION,
PACKAGE_GENERATING,
PACKAGE_GENERATED,
@@ -156,9 +236,9 @@ class Builder(gtk.Window):
__step2page__ = {
MACHINE_SELECTION : IMAGE_CONFIGURATION,
LAYER_CHANGED : IMAGE_CONFIGURATION,
RCPPKGINFO_POPULATING : IMAGE_CONFIGURATION,
RCPPKGINFO_POPULATED : IMAGE_CONFIGURATION,
BASEIMG_SELECTED : IMAGE_CONFIGURATION,
RECIPE_SELECTION : RECIPE_DETAILS,
PACKAGE_GENERATING : BUILD_DETAILS,
PACKAGE_GENERATED : PACKAGE_DETAILS,
@@ -173,40 +253,36 @@ class Builder(gtk.Window):
def __init__(self, hobHandler, recipe_model, package_model):
super(Builder, self).__init__()
self.hob_image = "hob-image"
self.hob_toolchain = "hob-toolchain"
# handler
self.handler = hobHandler
self.template = None
# settings
params = self.handler.get_parameters()
self.configuration = Configuration(params)
self.parameters = Parameters(params)
# build step
self.current_step = None
self.previous_step = None
self.stopping = False
self.build_succeeded = True
# recipe model and package model
self.recipe_model = recipe_model
self.package_model = package_model
# Indicate whether user has customized the image
self.customized = False
# create visual elements
self.create_visual_elements()
# connect the signals to functions
#self.connect("configure-event", self.resize_window_cb)
self.connect("delete-event", self.destroy_window_cb)
self.recipe_model.connect ("recipe-selection-changed", self.recipelist_changed_cb)
self.package_model.connect("package-selection-changed", self.packagelist_changed_cb)
self.recipe_model.connect ("recipelist-populated", self.recipelist_populated_cb)
self.package_model.connect("packagelist-populated", self.packagelist_populated_cb)
self.handler.connect("config-updated", self.handler_config_updated_cb)
self.handler.connect("package-formats-updated", self.handler_package_formats_updated_cb)
self.handler.connect("layers-updated", self.handler_layers_updated_cb)
self.handler.connect("parsing-started", self.handler_parsing_started_cb)
self.handler.connect("parsing", self.handler_parsing_cb)
self.handler.connect("parsing-completed", self.handler_parsing_completed_cb)
@@ -214,30 +290,23 @@ class Builder(gtk.Window):
self.handler.build.connect("build-succeeded", self.handler_build_succeeded_cb)
self.handler.build.connect("build-failed", self.handler_build_failed_cb)
self.handler.build.connect("task-started", self.handler_task_started_cb)
self.handler.build.connect("log-error", self.handler_build_failure_cb)
self.handler.connect("generating-data", self.handler_generating_data_cb)
self.handler.connect("data-generated", self.handler_data_generated_cb)
self.handler.connect("command-succeeded", self.handler_command_succeeded_cb)
self.handler.connect("command-failed", self.handler_command_failed_cb)
self.switch_page(self.MACHINE_SELECTION)
self.initiate_new_build_async()
def create_visual_elements(self):
self.set_title("HOB -- Image Creator")
self.set_title("Hob")
self.set_icon_name("applications-development")
self.set_position(gtk.WIN_POS_CENTER_ALWAYS)
self.set_resizable(True)
window_width = self.get_screen().get_width()
window_height = self.get_screen().get_height()
if window_width >= hwc.MAIN_WIN_WIDTH:
window_width = hwc.MAIN_WIN_WIDTH
window_height = hwc.MAIN_WIN_HEIGHT
else:
lbl = "<b>Screen dimension mismatched</b>\nfor better usability and visual effects,"
lbl = lbl + " the screen dimension should be 1024x768 or above."
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
dialog.run()
dialog.destroy()
self.set_size_request(window_width, window_height)
self.vbox = gtk.VBox(False, 0)
@@ -263,23 +332,78 @@ class Builder(gtk.Window):
self.show_all()
self.nb.set_current_page(0)
def get_split_model(self):
return self.handler.split_model
def initiate_new_build_async(self):
self.switch_page(self.MACHINE_SELECTION)
self.handler.init_cooker()
self.handler.set_extra_inherit("image_types")
self.handler.parse_config()
def update_config_async(self):
self.switch_page(self.MACHINE_SELECTION)
self.set_user_config()
self.handler.parse_generate_configuration()
def populate_recipe_package_info_async(self):
self.switch_page(self.RCPPKGINFO_POPULATING)
# Parse recipes
self.set_user_config()
self.handler.generate_recipes()
def generate_packages_async(self):
self.switch_page(self.PACKAGE_GENERATING)
# Build packages
_, all_recipes = self.recipe_model.get_selected_recipes()
self.set_user_config()
self.handler.reset_build()
self.handler.generate_packages(all_recipes)
def fast_generate_image_async(self):
self.switch_page(self.FAST_IMAGE_GENERATING)
# Build packages
_, all_recipes = self.recipe_model.get_selected_recipes()
self.set_user_config()
self.handler.reset_build()
self.handler.generate_packages(all_recipes)
def generate_image_async(self):
self.switch_page(self.IMAGE_GENERATING)
# Build image
self.set_user_config()
packages = self.package_model.get_selected_packages()
toolchain_packages = []
if self.configuration.toolchain_build:
toolchain_packages = self.package_model.get_selected_packages_toolchain()
self.handler.reset_build()
self.handler.generate_image(packages,
self.hob_image,
self.hob_toolchain,
toolchain_packages)
def get_parameters_sync(self):
return self.handler.get_parameters()
def request_package_info_async(self):
self.handler.request_package_info()
def cancel_build_sync(self, force=False):
self.handler.cancel_build(force)
def generate_configuration_async(self):
self.handler.generate_configuration()
def cancel_parse_sync(self):
self.handler.cancel_parse()
def load_template(self, path):
self.template = TemplateMgr()
self.template.load(path)
self.configuration.load(self.template)
if self.get_split_model():
if not set(self.configuration.layers) <= set(self.parameters.all_layers):
for layer in self.configuration.layers:
if not os.path.exists(layer+'/conf/layer.conf'):
return False
else:
for layer in self.configuration.layers:
if not os.path.exists(layer+'/conf/layer.conf'):
return False
self.switch_page(self.LAYER_CHANGED)
self.update_config_async()
self.template.destroy()
self.template = None
@@ -307,20 +431,17 @@ class Builder(gtk.Window):
if next_step == self.MACHINE_SELECTION: # init step
self.image_configuration_page.show_machine()
elif next_step == self.LAYER_CHANGED:
# after layers is changd by users
self.image_configuration_page.show_machine()
self.handler.refresh_layers(self.configuration.layers)
elif next_step == self.RCPPKGINFO_POPULATING:
# MACHINE CHANGED action or SETTINGS CHANGED
# show the progress bar
self.image_configuration_page.show_info_populating()
self.generate_recipes()
elif next_step == self.RCPPKGINFO_POPULATED:
self.image_configuration_page.show_info_populated()
elif next_step == self.BASEIMG_SELECTED:
self.image_configuration_page.show_baseimg_selected()
elif next_step == self.RECIPE_SELECTION:
pass
@@ -330,7 +451,6 @@ class Builder(gtk.Window):
elif next_step == self.PACKAGE_GENERATING or next_step == self.FAST_IMAGE_GENERATING:
# both PACKAGE_GENEATING and FAST_IMAGE_GENERATING share the same page
self.build_details_page.show_page(next_step)
self.generate_packages()
elif next_step == self.PACKAGE_GENERATED:
pass
@@ -339,7 +459,6 @@ class Builder(gtk.Window):
# after packages are generated, selected_packages need to
# be updated in package_model per selected_image in recipe_model
self.build_details_page.show_page(next_step)
self.generate_image()
elif next_step == self.IMAGE_GENERATED:
self.image_details_page.show_page(next_step)
@@ -370,12 +489,15 @@ class Builder(gtk.Window):
self.handler.set_image_fstypes(self.configuration.image_fstypes)
self.handler.set_extra_config(self.configuration.extra_setting)
self.handler.set_extra_inherit("packageinfo")
def reset_recipe_model(self):
self.recipe_model.reset()
def reset_package_model(self):
self.package_model.reset()
self.handler.set_extra_inherit("image_types")
# set proxies
if self.parameters.enable_proxy:
self.handler.set_http_proxy(self.configuration.http_proxy)
self.handler.set_https_proxy(self.configuration.https_proxy)
self.handler.set_ftp_proxy(self.configuration.ftp_proxy)
self.handler.set_all_proxy(self.configuration.all_proxy)
self.handler.set_git_proxy(self.configuration.git_proxy_host, self.configuration.git_proxy_port)
self.handler.set_cvs_proxy(self.configuration.cvs_proxy_host, self.configuration.cvs_proxy_port)
def update_recipe_model(self, selected_image, selected_recipes):
self.recipe_model.set_selected_image(selected_image)
@@ -385,26 +507,6 @@ class Builder(gtk.Window):
left = self.package_model.set_selected_packages(selected_packages)
self.configuration.selected_packages += left
def generate_packages(self):
# Build packages
_, all_recipes = self.recipe_model.get_selected_recipes()
self.set_user_config()
self.handler.reset_build()
self.handler.generate_packages(all_recipes)
def generate_recipes(self):
# Parse recipes
self.set_user_config()
self.handler.generate_recipes()
def generate_image(self):
# Build image
self.set_user_config()
all_packages = self.package_model.get_selected_packages()
self.handler.reset_build()
self.handler.generate_image(all_packages, self.configuration.toolchain_build)
# Callback Functions
def handler_config_updated_cb(self, handler, which, values):
if which == "distro":
@@ -418,40 +520,66 @@ class Builder(gtk.Window):
def handler_package_formats_updated_cb(self, handler, formats):
self.parameters.all_package_formats = formats
def handler_layers_updated_cb(self, handler, layers):
self.parameters.all_layers = layers
def handler_command_succeeded_cb(self, handler, initcmd):
if initcmd == self.handler.LAYERS_REFRESH:
if initcmd == self.handler.PARSE_CONFIG:
# settings
params = self.get_parameters_sync()
self.configuration = Configuration(params)
self.parameters = Parameters(params)
self.generate_configuration_async()
elif initcmd == self.handler.GENERATE_CONFIGURATION:
params = self.get_parameters_sync()
self.configuration.update(params)
self.image_configuration_page.switch_machine_combo()
elif initcmd in [self.handler.GENERATE_RECIPES,
self.handler.GENERATE_PACKAGES,
self.handler.GENERATE_IMAGE]:
self.handler.request_package_info_async()
params = self.get_parameters_sync()
self.configuration.update(params)
self.request_package_info_async()
elif initcmd == self.handler.POPULATE_PACKAGEINFO:
if self.current_step == self.FAST_IMAGE_GENERATING:
self.switch_page(self.IMAGE_GENERATING)
elif self.current_step == self.RCPPKGINFO_POPULATING:
if self.current_step == self.RCPPKGINFO_POPULATING:
self.switch_page(self.RCPPKGINFO_POPULATED)
self.rcppkglist_populated()
return
self.rcppkglist_populated()
if self.current_step == self.FAST_IMAGE_GENERATING:
self.generate_image_async()
elif self.current_step == self.PACKAGE_GENERATING:
self.switch_page(self.PACKAGE_GENERATED)
elif self.current_step == self.IMAGE_GENERATING:
self.switch_page(self.IMAGE_GENERATED)
def handler_command_failed_cb(self, handler, msg):
lbl = "<b>Error</b>\n"
lbl = lbl + "%s\n\n" % msg
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_WARNING)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
response = dialog.run()
dialog.destroy()
self.handler.clear_busy()
self.configuration.curr_mach = None
if msg:
msg = msg.replace("your local.conf", "Settings")
lbl = "<b>Error</b>\n"
lbl = lbl + "%s\n\n" % msg
dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_ERROR)
button = dialog.add_button("Close", gtk.RESPONSE_OK)
HobButton.style_button(button)
response = dialog.run()
dialog.destroy()
self.configuration.curr_mach = ""
self.image_configuration_page.switch_machine_combo()
self.switch_page(self.MACHINE_SELECTION)
def window_sensitive(self, sensitive):
self.set_sensitive(sensitive)
self.image_configuration_page.machine_combo.set_sensitive(sensitive)
self.image_configuration_page.image_combo.set_sensitive(sensitive)
self.image_configuration_page.layer_button.set_sensitive(sensitive)
self.image_configuration_page.layer_info_icon.set_sensitive(sensitive)
self.image_configuration_page.toolbar.set_sensitive(sensitive)
self.image_configuration_page.view_recipes_button.set_sensitive(sensitive)
self.image_configuration_page.view_packages_button.set_sensitive(sensitive)
self.image_configuration_page.config_build_button.set_sensitive(sensitive)
self.recipe_details_page.set_sensitive(sensitive)
self.package_details_page.set_sensitive(sensitive)
self.build_details_page.set_sensitive(sensitive)
self.image_details_page.set_sensitive(sensitive)
if sensitive:
self.get_root_window().set_cursor(gtk.gdk.Cursor(gtk.gdk.LEFT_PTR))
else:
@@ -464,7 +592,7 @@ class Builder(gtk.Window):
def handler_data_generated_cb(self, handler):
self.window_sensitive(True)
def recipelist_populated_cb(self, recipe_model):
def rcppkglist_populated(self):
selected_image = self.configuration.selected_image
selected_recipes = self.configuration.selected_recipes[:]
selected_packages = self.configuration.selected_packages[:]
@@ -474,11 +602,8 @@ class Builder(gtk.Window):
" ".join(selected_packages))
self.image_configuration_page.update_image_combo(self.recipe_model, selected_image)
self.image_configuration_page.update_image_desc(selected_image)
self.update_recipe_model(selected_image, selected_recipes)
def packagelist_populated_cb(self, package_model):
selected_packages = self.configuration.selected_packages[:]
self.update_package_model(selected_packages)
def recipelist_changed_cb(self, recipe_model):
@@ -494,6 +619,10 @@ class Builder(gtk.Window):
fraction = 0
if message["eventname"] == "TreeDataPreparationStarted":
fraction = 0.6 + fraction
self.image_configuration_page.stop_button.set_sensitive(False)
else:
self.image_configuration_page.stop_button.set_sensitive(True)
self.image_configuration_page.update_progress_bar(message["title"], fraction)
def handler_parsing_cb(self, handler, message):
@@ -528,9 +657,9 @@ class Builder(gtk.Window):
elif self.current_step == self.PACKAGE_GENERATING:
fraction = 0
self.build_details_page.update_progress_bar("Build Started: ", fraction)
self.build_details_page.show_configurations(self.configuration)
def handler_build_succeeded_cb(self, running_build):
self.build_succeeded = True
def build_succeeded(self):
if self.current_step == self.FAST_IMAGE_GENERATING:
fraction = 0.9
elif self.current_step == self.IMAGE_GENERATING:
@@ -544,21 +673,39 @@ class Builder(gtk.Window):
elif self.current_step == self.PACKAGE_GENERATING:
fraction = 1.0
self.build_details_page.update_progress_bar("Build Completed: ", fraction)
self.handler.build_succeeded_async()
self.stopping = False
def handler_build_failed_cb(self, running_build):
self.build_succeeded = False
if self.current_step == self.FAST_IMAGE_GENERATING:
fraction = 0.9
elif self.current_step == self.IMAGE_GENERATING:
fraction = 1.0
elif self.current_step == self.PACKAGE_GENERATING:
fraction = 1.0
self.build_details_page.update_progress_bar("Build Failed: ", fraction, False)
def build_failed(self):
if self.stopping:
status = "stop"
message = "Build stopped: "
fraction = self.build_details_page.progress_bar.get_fraction()
else:
if self.current_step == self.FAST_IMAGE_GENERATING:
fraction = 0.9
elif self.current_step == self.IMAGE_GENERATING:
fraction = 1.0
elif self.current_step == self.PACKAGE_GENERATING:
fraction = 1.0
status = "fail"
message = "Build failed: "
self.build_details_page.update_progress_bar(message, fraction, status)
self.build_details_page.show_back_button()
self.build_details_page.hide_stop_button()
self.handler.build_failed_async()
self.stopping = False
def handler_build_succeeded_cb(self, running_build):
if not self.stopping:
self.build_succeeded()
else:
self.build_failed()
def handler_build_failed_cb(self, running_build):
self.build_failed()
def handler_task_started_cb(self, running_build, message):
fraction = message["current"] * 1.0/message["total"]
title = "Build packages"
@@ -585,13 +732,19 @@ class Builder(gtk.Window):
elif message["eventname"] == "runQueueTaskStarted":
fraction = 0.2 + 0.8 * fraction
self.build_details_page.update_progress_bar(title + ": ", fraction)
self.build_details_page.update_build_status(message["current"], message["total"], message["task"])
def handler_build_failure_cb(self, running_build):
self.build_details_page.show_issues()
def destroy_window_cb(self, widget, event):
lbl = "<b>Do you really want to exit the Hob image creator?</b>"
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_YES, gtk.RESPONSE_YES)
dialog.add_button(gtk.STOCK_NO, gtk.RESPONSE_NO)
dialog.set_default_response(gtk.RESPONSE_NO)
dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
button = dialog.add_button("Cancel", gtk.RESPONSE_NO)
HobAltButton.style_button(button)
button = dialog.add_button("Exit Hob", gtk.RESPONSE_YES)
HobButton.style_button(button)
dialog.set_default_response(gtk.RESPONSE_YES)
response = dialog.run()
dialog.destroy()
if response == gtk.RESPONSE_YES:
@@ -605,24 +758,26 @@ class Builder(gtk.Window):
if not all_recipes:
lbl = "<b>No selections made</b>\nYou have not made any selections"
lbl = lbl + " so there isn't anything to bake at this time."
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
button = dialog.add_button("Close", gtk.RESPONSE_OK)
HobButton.style_button(button)
dialog.run()
dialog.destroy()
return
self.switch_page(self.PACKAGE_GENERATING)
self.generate_packages_async()
def build_image(self):
selected_packages = self.package_model.get_selected_packages()
if not selected_packages:
lbl = "<b>No selections made</b>\nYou have not made any selections"
lbl = lbl + " so there isn't anything to bake at this time."
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
button = dialog.add_button("Close", gtk.RESPONSE_OK)
HobButton.style_button(button)
dialog.run()
dialog.destroy()
return
self.switch_page(self.IMAGE_GENERATING)
self.generate_image_async()
def just_bake(self):
selected_image = self.recipe_model.get_selected_image()
@@ -632,59 +787,67 @@ class Builder(gtk.Window):
if not (selected_packages or selected_image != self.recipe_model.__dummy_image__):
lbl = "<b>No selections made</b>\nYou have not made any selections"
lbl = lbl + " so there isn't anything to bake at this time."
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
button = dialog.add_button("Close", gtk.RESPONSE_OK)
HobButton.style_button(button)
dialog.run()
dialog.destroy()
return
self.switch_page(self.FAST_IMAGE_GENERATING)
self.fast_generate_image_async()
def show_binb_dialog(self, binb):
binb_dialog = BinbDialog("Brought in by:", binb, self)
binb_dialog.run()
binb_dialog.destroy()
markup = "<b>Brought in by:</b>\n%s" % binb
ptip = PersistentTooltip(markup)
ptip.show()
def show_layer_selection_dialog(self):
dialog = LayerSelectionDialog(title = "Layer Selection",
dialog = LayerSelectionDialog(title = "Layers",
layers = copy.deepcopy(self.configuration.layers),
all_layers = self.parameters.all_layers,
split_model = self.get_split_model(),
parent = self,
flags = gtk.DIALOG_MODAL
| gtk.DIALOG_DESTROY_WITH_PARENT
| gtk.DIALOG_NO_SEPARATOR,
buttons = (gtk.STOCK_OK, gtk.RESPONSE_YES,
gtk.STOCK_CANCEL, gtk.RESPONSE_NO))
| gtk.DIALOG_NO_SEPARATOR)
button = dialog.add_button("Cancel", gtk.RESPONSE_NO)
HobAltButton.style_button(button)
button = dialog.add_button("OK", gtk.RESPONSE_YES)
HobButton.style_button(button)
response = dialog.run()
if response == gtk.RESPONSE_YES:
self.configuration.layers = dialog.layers
# DO refresh layers
if dialog.layers_changed:
self.switch_page(self.LAYER_CHANGED)
self.update_config_async()
dialog.destroy()
def show_load_template_dialog(self):
dialog = gtk.FileChooserDialog("Load Template Files", self,
gtk.FILE_CHOOSER_ACTION_SAVE,
(gtk.STOCK_OPEN, gtk.RESPONSE_YES,
gtk.STOCK_CANCEL, gtk.RESPONSE_NO))
gtk.FILE_CHOOSER_ACTION_OPEN)
button = dialog.add_button("Cancel", gtk.RESPONSE_NO)
HobAltButton.style_button(button)
button = dialog.add_button("Open", gtk.RESPONSE_YES)
HobButton.style_button(button)
filter = gtk.FileFilter()
filter.set_name("HOB Files")
filter.set_name("Hob Files")
filter.add_pattern("*.hob")
dialog.add_filter(filter)
response = dialog.run()
path = None
if response == gtk.RESPONSE_YES:
path = dialog.get_filename()
self.load_template(path)
dialog.destroy()
return response == gtk.RESPONSE_YES, path
def show_save_template_dialog(self):
dialog = gtk.FileChooserDialog("Save Template Files", self,
gtk.FILE_CHOOSER_ACTION_SAVE,
(gtk.STOCK_SAVE, gtk.RESPONSE_YES,
gtk.STOCK_CANCEL, gtk.RESPONSE_NO))
gtk.FILE_CHOOSER_ACTION_SAVE)
button = dialog.add_button("Cancel", gtk.RESPONSE_NO)
HobAltButton.style_button(button)
button = dialog.add_button("Save", gtk.RESPONSE_YES)
HobButton.style_button(button)
dialog.set_current_name("hob")
response = dialog.run()
if response == gtk.RESPONSE_YES:
@@ -695,16 +858,18 @@ class Builder(gtk.Window):
def show_load_my_images_dialog(self):
dialog = ImageSelectionDialog(self.parameters.image_addr, self.parameters.image_types,
"Open My Images", self,
gtk.FILE_CHOOSER_ACTION_SAVE,
(gtk.STOCK_OPEN, gtk.RESPONSE_YES,
gtk.STOCK_CANCEL, gtk.RESPONSE_NO))
gtk.FILE_CHOOSER_ACTION_SAVE)
button = dialog.add_button("Cancel", gtk.RESPONSE_NO)
HobAltButton.style_button(button)
button = dialog.add_button("Open", gtk.RESPONSE_YES)
HobButton.style_button(button)
response = dialog.run()
if response == gtk.RESPONSE_YES:
if not dialog.image_names:
lbl = "<b>No selections made</b>\nYou have not made any selections"
crumbs_dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
crumbs_dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
crumbs_dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
button = crumbs_dialog.add_button("Close", gtk.RESPONSE_OK)
HobButton.style_button(button)
crumbs_dialog.run()
crumbs_dialog.destroy()
dialog.destroy()
@@ -724,29 +889,37 @@ class Builder(gtk.Window):
all_distros = self.parameters.all_distros,
all_sdk_machines = self.parameters.all_sdk_machines,
max_threads = self.parameters.max_threads,
split_model = self.get_split_model(),
enable_proxy = self.parameters.enable_proxy,
parent = self,
flags = gtk.DIALOG_MODAL
| gtk.DIALOG_DESTROY_WITH_PARENT
| gtk.DIALOG_NO_SEPARATOR,
buttons = ("Save", gtk.RESPONSE_YES,
gtk.STOCK_CANCEL, gtk.RESPONSE_NO))
| gtk.DIALOG_NO_SEPARATOR)
button = dialog.add_button("Cancel", gtk.RESPONSE_NO)
HobAltButton.style_button(button)
button = dialog.add_button("Save", gtk.RESPONSE_YES)
HobButton.style_button(button)
response = dialog.run()
settings_changed = False
if response == gtk.RESPONSE_YES:
self.parameters.enable_proxy = dialog.enable_proxy
self.configuration = dialog.configuration
# DO reparse recipes
if dialog.settings_changed:
if self.configuration.curr_mach == "":
self.switch_page(self.MACHINE_SELECTION)
else:
self.switch_page(self.RCPPKGINFO_POPULATING)
settings_changed = dialog.settings_changed
dialog.destroy()
return response == gtk.RESPONSE_YES, settings_changed
def reparse_post_adv_settings(self):
# DO reparse recipes
if not self.configuration.curr_mach:
self.update_config_async()
else:
self.populate_recipe_package_info_async()
def deploy_image(self, image_name):
if not image_name:
lbl = "<b>Please select an image to deploy.</b>"
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
button = dialog.add_button("Close", gtk.RESPONSE_OK)
HobButton.style_button(button)
dialog.run()
dialog.destroy()
return
@@ -757,25 +930,30 @@ class Builder(gtk.Window):
parent = self,
flags = gtk.DIALOG_MODAL
| gtk.DIALOG_DESTROY_WITH_PARENT
| gtk.DIALOG_NO_SEPARATOR,
buttons = ("Close", gtk.RESPONSE_NO,
"Make usb image", gtk.RESPONSE_YES))
| gtk.DIALOG_NO_SEPARATOR)
button = dialog.add_button("Close", gtk.RESPONSE_NO)
HobAltButton.style_button(button)
button = dialog.add_button("Make usb image", gtk.RESPONSE_YES)
HobButton.style_button(button)
response = dialog.run()
dialog.destroy()
def runqemu_image(self, image_name):
if not image_name:
lbl = "<b>Please select an image to launch in QEMU.</b>"
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
button = dialog.add_button("Close", gtk.RESPONSE_OK)
HobButton.style_button(button)
dialog.run()
dialog.destroy()
return
dialog = gtk.FileChooserDialog("Load Kernel Files", self,
gtk.FILE_CHOOSER_ACTION_SAVE,
(gtk.STOCK_OPEN, gtk.RESPONSE_YES,
gtk.STOCK_CANCEL, gtk.RESPONSE_NO))
gtk.FILE_CHOOSER_ACTION_SAVE)
button = dialog.add_button("Cancel", gtk.RESPONSE_NO)
HobAltButton.style_button(button)
button = dialog.add_button("Open", gtk.RESPONSE_YES)
HobButton.style_button(button)
filter = gtk.FileFilter()
filter.set_name("Kernel Files")
filter.add_pattern("*.bin")
@@ -791,13 +969,14 @@ class Builder(gtk.Window):
if response == gtk.RESPONSE_YES:
source_env_path = os.path.join(self.parameters.core_base, "oe-init-build-env")
tmp_path = os.path.join(os.getcwd(), "tmp")
tmp_path = self.parameters.tmpdir
cmdline = bb.ui.crumbs.utils.which_terminal()
if os.path.exists(image_path) and os.path.exists(kernel_path) \
and os.path.exists(source_env_path) and os.path.exists(tmp_path):
cmdline = "/usr/bin/xterm -e "
cmdline += "\" export OE_TMPDIR=" + tmp_path + "; "
and os.path.exists(source_env_path) and os.path.exists(tmp_path) \
and cmdline:
cmdline += "\' bash -c \"export OE_TMPDIR=" + tmp_path + "; "
cmdline += "source " + source_env_path + " " + os.getcwd() + "; "
cmdline += "runqemu " + kernel_path + " " + image_path + "; bash\""
cmdline += "runqemu " + kernel_path + " " + image_path + "\"\'"
subprocess.Popen(shlex.split(cmdline))
else:
lbl = "<b>Path error</b>\nOne of your paths is wrong,"
@@ -806,8 +985,10 @@ class Builder(gtk.Window):
lbl = lbl + "kernel path:" + kernel_path + "\n"
lbl = lbl + "source environment path:" + source_env_path + "\n"
lbl = lbl + "tmp path: " + tmp_path + "."
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
lbl = lbl + "You may be missing either xterm or vte for terminal services."
dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_ERROR)
button = dialog.add_button("Close", gtk.RESPONSE_OK)
HobButton.style_button(button)
dialog.run()
dialog.destroy()
@@ -815,15 +996,17 @@ class Builder(gtk.Window):
_, selected_recipes = self.recipe_model.get_selected_recipes()
if selected_recipes and ask:
lbl = "<b>Package list may be incomplete!</b>\nDo you want to build selected recipes"
lbl = lbl + " to get a full list (Yes) or just view the existing packages (No)?"
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
dialog.add_button(gtk.STOCK_YES, gtk.RESPONSE_YES)
dialog.add_button(gtk.STOCK_NO, gtk.RESPONSE_NO)
lbl = lbl + " to get a full list or just view the existing packages?"
dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
button = dialog.add_button("View packages", gtk.RESPONSE_NO)
HobAltButton.style_button(button)
button = dialog.add_button("Build packages", gtk.RESPONSE_YES)
HobButton.style_button(button)
dialog.set_default_response(gtk.RESPONSE_YES)
response = dialog.run()
dialog.destroy()
if response == gtk.RESPONSE_YES:
self.switch_page(self.PACKAGE_GENERATING)
self.generate_packages_async()
else:
self.switch_page(self.PACKAGE_SELECTION)
else:
@@ -832,13 +1015,8 @@ class Builder(gtk.Window):
def show_recipes(self):
self.switch_page(self.RECIPE_SELECTION)
def initiate_new_build(self):
self.configuration.curr_mach = ""
self.image_configuration_page.switch_machine_combo()
self.switch_page(self.MACHINE_SELECTION)
def show_configuration(self):
self.switch_page(self.RCPPKGINFO_POPULATED)
self.switch_page(self.BASEIMG_SELECTED)
def stop_build(self):
if self.stopping:
@@ -847,9 +1025,11 @@ class Builder(gtk.Window):
lbl = lbl + "This will stop the build as quickly as possible but may"
lbl = lbl + " well leave your build directory in an unusable state"
lbl = lbl + " that requires manual steps to fix.\n"
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_WARNING)
dialog.add_button(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL)
dialog.add_button("Force Stop", gtk.RESPONSE_YES)
dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_WARNING)
button = dialog.add_button("Cancel", gtk.RESPONSE_CANCEL)
HobAltButton.style_button(button)
button = dialog.add_button("Force Stop", gtk.RESPONSE_YES)
HobButton.style_button(button)
else:
lbl = "<b>Stop build?</b>\n\nAre you sure you want to stop this"
lbl = lbl + " build?\n\n'Force Stop' will stop the build as quickly as"
@@ -859,15 +1039,18 @@ class Builder(gtk.Window):
lbl = lbl + " progress build tasks are finished. However if a"
lbl = lbl + " lengthy compilation phase is in progress this may take"
lbl = lbl + " some time."
dialog = CrumbsDialog(self, lbl, gtk.STOCK_DIALOG_WARNING)
dialog.add_button(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL)
dialog.add_button("Stop", gtk.RESPONSE_OK)
dialog.add_button("Force Stop", gtk.RESPONSE_YES)
dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_WARNING)
button = dialog.add_button("Cancel", gtk.RESPONSE_CANCEL)
HobAltButton.style_button(button)
button = dialog.add_button("Stop", gtk.RESPONSE_OK)
HobAltButton.style_button(button)
button = dialog.add_button("Force Stop", gtk.RESPONSE_YES)
HobButton.style_button(button)
response = dialog.run()
dialog.destroy()
if response != gtk.RESPONSE_CANCEL:
self.stopping = True
if response == gtk.RESPONSE_OK:
self.handler.cancel_build()
self.cancel_build_sync()
elif response == gtk.RESPONSE_YES:
self.handler.cancel_build(True)
self.cancel_build_sync(True)

File diff suppressed because it is too large Load Diff

View File

@@ -21,13 +21,15 @@
class HobColors:
WHITE = "#ffffff"
PALE_GREEN = "#aaffaa"
ORANGE = "#ff7c24"
ORANGE = "#eb8e68"
PALE_RED = "#ffaaaa"
GRAY = "#aaaaaa"
LIGHT_GRAY = "#dddddd"
SLIGHT_DARK = "#5f5f5f"
DARK = "#3c3b37"
BLACK = "#000000"
LIGHT_ORANGE = "#f7a787"
PALE_BLUE = "#53b8ff"
DEEP_RED = "#aa3e3e"
OK = WHITE
RUNNING = PALE_GREEN

View File

@@ -22,6 +22,7 @@
import gobject
import logging
from bb.ui.crumbs.runningbuild import RunningBuild
from bb.ui.crumbs.hobwidget import hcc
class HobHandler(gobject.GObject):
@@ -29,9 +30,6 @@ class HobHandler(gobject.GObject):
This object does BitBake event handling for the hob gui.
"""
__gsignals__ = {
"layers-updated" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_PYOBJECT,)),
"package-formats-updated" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_PYOBJECT,)),
@@ -61,10 +59,10 @@ class HobHandler(gobject.GObject):
(gobject.TYPE_PYOBJECT,)),
}
(CFG_AVAIL_LAYERS, CFG_PATH_LAYERS, CFG_FILES_DISTRO, CFG_FILES_MACH, CFG_FILES_SDKMACH, FILES_MATCH_CLASS, PARSE_CONFIG, PARSE_BBFILES, GENERATE_TGTS, GENERATE_PACKAGEINFO, BUILD_TARGET_RECIPES, BUILD_TARGET_IMAGE, CMD_END) = range(13)
(LAYERS_REFRESH, GENERATE_RECIPES, GENERATE_PACKAGES, GENERATE_IMAGE, POPULATE_PACKAGEINFO) = range(5)
(PARSE_CONFIG, GENERATE_CONFIGURATION, GENERATE_RECIPES, GENERATE_PACKAGES, GENERATE_IMAGE, POPULATE_PACKAGEINFO) = range(6)
(SUB_PATH_LAYERS, SUB_FILES_DISTRO, SUB_FILES_MACH, SUB_FILES_SDKMACH, SUB_MATCH_CLASS, SUB_PARSE_CONFIG, SUB_GNERATE_TGTS, SUB_GENERATE_PKGINFO, SUB_BUILD_RECIPES, SUB_BUILD_IMAGE) = range(10)
def __init__(self, server, server_addr, client_addr, recipe_model, package_model):
def __init__(self, server, recipe_model, package_model):
super(HobHandler, self).__init__()
self.build = RunningBuild(sequential=True)
@@ -83,30 +81,6 @@ class HobHandler(gobject.GObject):
self.error_msg = ""
self.initcmd = None
self.split_model = False
if server_addr and client_addr:
self.split_model = (server_addr != client_addr)
self.reset_server() # reset server if server was found just now
self.server_addr = server_addr
def kick(self):
import xmlrpclib
try:
# kick the while thing off
if self.split_model:
self.commands_async.append(self.CFG_AVAIL_LAYERS)
else:
self.commands_async.append(self.CFG_PATH_LAYERS)
self.commands_async.append(self.CFG_FILES_DISTRO)
self.commands_async.append(self.CFG_FILES_MACH)
self.commands_async.append(self.CFG_FILES_SDKMACH)
self.commands_async.append(self.FILES_MATCH_CLASS)
self.run_next_command()
return True
except xmlrpclib.Fault as x:
print("XMLRPC Fault getting commandline:\n %s" % x)
return False
def set_busy(self):
if not self.generating:
self.emit("generating-data")
@@ -130,41 +104,36 @@ class HobHandler(gobject.GObject):
self.emit("command-succeeded", self.initcmd)
return
if next_command == self.CFG_AVAIL_LAYERS:
self.server.runCommand(["findCoreBaseFiles", "layers", "conf/layer.conf"])
elif next_command == self.CFG_PATH_LAYERS:
if next_command == self.SUB_PATH_LAYERS:
self.server.runCommand(["findConfigFilePath", "bblayers.conf"])
elif next_command == self.CFG_FILES_DISTRO:
elif next_command == self.SUB_FILES_DISTRO:
self.server.runCommand(["findConfigFiles", "DISTRO"])
elif next_command == self.CFG_FILES_MACH:
elif next_command == self.SUB_FILES_MACH:
self.server.runCommand(["findConfigFiles", "MACHINE"])
elif next_command == self.CFG_FILES_SDKMACH:
elif next_command == self.SUB_FILES_SDKMACH:
self.server.runCommand(["findConfigFiles", "MACHINE-SDK"])
elif next_command == self.FILES_MATCH_CLASS:
elif next_command == self.SUB_MATCH_CLASS:
self.server.runCommand(["findFilesMatchingInDir", "rootfs_", "classes"])
elif next_command == self.PARSE_CONFIG:
elif next_command == self.SUB_PARSE_CONFIG:
self.server.runCommand(["parseConfigurationFiles", "", ""])
elif next_command == self.PARSE_BBFILES:
self.server.runCommand(["parseFiles"])
elif next_command == self.GENERATE_TGTS:
self.server.runCommand(["generateTargetsTree", "classes/image.bbclass", [], True])
elif next_command == self.GENERATE_PACKAGEINFO:
elif next_command == self.SUB_GNERATE_TGTS:
self.server.runCommand(["generateTargetsTree", "classes/image.bbclass", []])
elif next_command == self.SUB_GENERATE_PKGINFO:
self.server.runCommand(["triggerEvent", "bb.event.RequestPackageInfo()"])
elif next_command == self.BUILD_TARGET_RECIPES:
elif next_command == self.SUB_BUILD_RECIPES:
self.clear_busy()
self.building = True
self.server.runCommand(["buildTargets", self.recipe_queue, "build"])
self.recipe_queue = []
elif next_command == self.BUILD_TARGET_IMAGE:
elif next_command == self.SUB_BUILD_IMAGE:
self.clear_busy()
self.building = True
targets = ["hob-image"]
targets = [self.hob_image]
self.server.runCommand(["setVariable", "LINGUAS_INSTALL", ""])
self.server.runCommand(["setVariable", "PACKAGE_INSTALL", " ".join(self.package_queue)])
if self.toolchain_build:
pkgs = self.package_queue + [i+'-dev' for i in self.package_queue] + [i+'-dbg' for i in self.package_queue]
self.server.runCommand(["setVariable", "TOOLCHAIN_TARGET_TASK", " ".join(pkgs)])
targets.append("hob-toolchain")
if self.toolchain_packages:
self.server.runCommand(["setVariable", "TOOLCHAIN_TARGET_TASK", " ".join(self.toolchain_packages)])
targets.append(self.hob_toolchain)
self.server.runCommand(["buildTargets", targets, "build"])
def handle_event(self, event):
@@ -179,7 +148,7 @@ class HobHandler(gobject.GObject):
self.package_model.populate(event._pkginfolist)
self.run_next_command()
elif(isinstance(event, logging.LogRecord)):
elif isinstance(event, logging.LogRecord):
if event.levelno >= logging.ERROR:
self.error_msg += event.msg + '\n'
@@ -187,10 +156,6 @@ class HobHandler(gobject.GObject):
self.current_phase = "data generation"
if event._model:
self.recipe_model.populate(event._model)
elif isinstance(event, bb.event.CoreBaseFilesFound):
self.current_phase = "configuration lookup"
paths = event._paths
self.emit('layers-updated', paths)
elif isinstance(event, bb.event.ConfigFilesFound):
self.current_phase = "configuration lookup"
var = event._variable
@@ -214,29 +179,32 @@ class HobHandler(gobject.GObject):
elif isinstance(event, bb.command.CommandCompleted):
self.current_phase = None
self.run_next_command()
# TODO: Currently there are NoProvider issues when generate
# universe tree dependency for non-x86 architecture.
# Comment the follow code to enable the build of non-x86
# architectures in Hob.
#elif isinstance(event, bb.event.NoProvider):
# if event._runtime:
# r = "R"
# else:
# r = ""
# if event._dependees:
# self.error_msg += " Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)" % (r, event._item, ", ".join(event._dependees), r)
# else:
# self.error_msg += " Nothing %sPROVIDES '%s'" % (r, event._item)
# if event._reasons:
# for reason in event._reasons:
# self.error_msg += " %s" % reason
elif isinstance(event, bb.event.NoProvider):
if event._runtime:
r = "R"
else:
r = ""
if event._dependees:
self.error_msg += " Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)" % (r, event._item, ", ".join(event._dependees), r)
else:
self.error_msg += " Nothing %sPROVIDES '%s'" % (r, event._item)
if event._reasons:
for reason in event._reasons:
self.error_msg += " %s" % reason
self.commands_async = []
self.emit("command-failed", self.error_msg)
self.error_msg = ""
# self.commands_async = []
# self.emit("command-failed", self.error_msg)
# self.error_msg = ""
elif isinstance(event, bb.command.CommandFailed):
self.commands_async = []
if self.error_msg:
self.emit("command-failed", self.error_msg)
self.error_msg = ""
self.clear_busy()
self.emit("command-failed", self.error_msg)
self.error_msg = ""
elif isinstance(event, (bb.event.ParseStarted,
bb.event.CacheLoadStarted,
bb.event.TreeDataPreparationStarted,
@@ -271,15 +239,13 @@ class HobHandler(gobject.GObject):
def init_cooker(self):
self.server.runCommand(["initCooker"])
def refresh_layers(self, bblayers):
self.server.runCommand(["initCooker"])
self.server.runCommand(["setVariable", "BBLAYERS", " ".join(bblayers)])
self.commands_async.append(self.PARSE_CONFIG)
self.commands_async.append(self.CFG_FILES_DISTRO)
self.commands_async.append(self.CFG_FILES_MACH)
self.commands_async.append(self.CFG_FILES_SDKMACH)
self.commands_async.append(self.FILES_MATCH_CLASS)
self.run_next_command(self.LAYERS_REFRESH)
def parse_config(self):
self.commands_async.append(self.SUB_PARSE_CONFIG)
self.run_next_command(self.PARSE_CONFIG)
def parse_generate_configuration(self):
self.commands_async.append(self.SUB_PARSE_CONFIG)
self.generate_configuration()
def set_extra_inherit(self, bbclass):
inherits = self.server.runCommand(["getVariable", "INHERIT"]) or ""
@@ -290,16 +256,18 @@ class HobHandler(gobject.GObject):
self.server.runCommand(["setVariable", "BBLAYERS", " ".join(bblayers)])
def set_machine(self, machine):
self.server.runCommand(["setVariable", "MACHINE", machine])
if machine:
self.server.runCommand(["setVariable", "MACHINE", machine])
def set_sdk_machine(self, sdk_machine):
self.server.runCommand(["setVariable", "SDKMACHINE", sdk_machine])
def set_image_fstypes(self, image_fstypes):
self.server.runCommand(["setVariable", "IMAGE_FSTYPES", " ".join(image_fstypes).lstrip(" ")])
self.server.runCommand(["setVariable", "IMAGE_FSTYPES", image_fstypes])
def set_distro(self, distro):
self.server.runCommand(["setVariable", "DISTRO", distro])
if distro != "defaultsetup":
self.server.runCommand(["setVariable", "DISTRO", distro])
def set_package_format(self, format):
package_classes = ""
@@ -337,37 +305,71 @@ class HobHandler(gobject.GObject):
value = extra_setting[key]
self.server.runCommand(["setVariable", key, value])
def request_package_info_async(self):
self.commands_async.append(self.GENERATE_PACKAGEINFO)
def set_http_proxy(self, http_proxy):
self.server.runCommand(["setVariable", "http_proxy", http_proxy])
def set_https_proxy(self, https_proxy):
self.server.runCommand(["setVariable", "https_proxy", https_proxy])
def set_ftp_proxy(self, ftp_proxy):
self.server.runCommand(["setVariable", "ftp_proxy", ftp_proxy])
def set_all_proxy(self, all_proxy):
self.server.runCommand(["setVariable", "all_proxy", all_proxy])
def set_git_proxy(self, host, port):
self.server.runCommand(["setVariable", "GIT_PROXY_HOST", host])
self.server.runCommand(["setVariable", "GIT_PROXY_PORT", port])
def set_cvs_proxy(self, host, port):
self.server.runCommand(["setVariable", "CVS_PROXY_HOST", host])
self.server.runCommand(["setVariable", "CVS_PROXY_PORT", port])
def request_package_info(self):
self.commands_async.append(self.SUB_GENERATE_PKGINFO)
self.run_next_command(self.POPULATE_PACKAGEINFO)
def generate_configuration(self):
self.commands_async.append(self.SUB_PATH_LAYERS)
self.commands_async.append(self.SUB_FILES_DISTRO)
self.commands_async.append(self.SUB_FILES_MACH)
self.commands_async.append(self.SUB_FILES_SDKMACH)
self.commands_async.append(self.SUB_MATCH_CLASS)
self.run_next_command(self.GENERATE_CONFIGURATION)
def generate_recipes(self):
self.commands_async.append(self.PARSE_CONFIG)
self.commands_async.append(self.GENERATE_TGTS)
self.commands_async.append(self.SUB_PARSE_CONFIG)
self.commands_async.append(self.SUB_GNERATE_TGTS)
self.run_next_command(self.GENERATE_RECIPES)
def generate_packages(self, tgts):
targets = []
targets.extend(tgts)
self.recipe_queue = targets
self.commands_async.append(self.PARSE_CONFIG)
self.commands_async.append(self.PARSE_BBFILES)
self.commands_async.append(self.BUILD_TARGET_RECIPES)
self.commands_async.append(self.SUB_PARSE_CONFIG)
self.commands_async.append(self.SUB_BUILD_RECIPES)
self.run_next_command(self.GENERATE_PACKAGES)
def generate_image(self, tgts, toolchain_build=False):
def generate_image(self, tgts, hob_image, hob_toolchain, toolchain_packages=[]):
self.package_queue = tgts
self.toolchain_build = toolchain_build
self.commands_async.append(self.PARSE_CONFIG)
self.commands_async.append(self.PARSE_BBFILES)
self.commands_async.append(self.BUILD_TARGET_IMAGE)
self.hob_image = hob_image
self.hob_toolchain = hob_toolchain
self.toolchain_packages = toolchain_packages
self.commands_async.append(self.SUB_PARSE_CONFIG)
self.commands_async.append(self.SUB_BUILD_IMAGE)
self.run_next_command(self.GENERATE_IMAGE)
def build_succeeded_async(self):
self.building = False
def build_failed_async(self):
self.initcmd = None
self.commands_async = []
self.building = False
def cancel_parse(self):
self.server.runCommand(["stateStop"])
def cancel_build(self, force=False):
if force:
# Force the cooker to stop as quickly as possible
@@ -377,18 +379,24 @@ class HobHandler(gobject.GObject):
# leave the workdir in a usable state
self.server.runCommand(["stateShutdown"])
def reset_server(self):
self.server.runCommand(["resetCooker"])
def reset_build(self):
self.build.reset()
def _remove_redundant(self, string):
ret = []
for i in string.split():
if i not in ret:
ret.append(i)
return " ".join(ret)
def get_parameters(self):
# retrieve the parameters from bitbake
params = {}
params["core_base"] = self.server.runCommand(["getVariable", "COREBASE"]) or ""
hob_layer = params["core_base"] + "/meta-hob"
params["layer"] = (self.server.runCommand(["getVariable", "BBLAYERS"]) or "") + " " + hob_layer
params["layer"] = self.server.runCommand(["getVariable", "BBLAYERS"]) or ""
if hob_layer not in params["layer"].split():
params["layer"] += (" " + hob_layer)
params["dldir"] = self.server.runCommand(["getVariable", "DL_DIR"]) or ""
params["machine"] = self.server.runCommand(["getVariable", "MACHINE"]) or ""
params["distro"] = self.server.runCommand(["getVariable", "DISTRO"]) or "defaultsetup"
@@ -401,15 +409,22 @@ class HobHandler(gobject.GObject):
num_threads = 1
max_threads = 65536
else:
num_threads = int(num_threads)
max_threads = 16 * num_threads
try:
num_threads = int(num_threads)
max_threads = 16 * num_threads
except:
num_threads = 1
max_threads = 65536
params["max_threads"] = max_threads
bbthread = self.server.runCommand(["getVariable", "BB_NUMBER_THREADS"])
if not bbthread:
bbthread = num_threads
else:
bbthread = int(bbthread)
try:
bbthread = int(bbthread)
except:
bbthread = num_threads
params["bbthread"] = bbthread
pmake = self.server.runCommand(["getVariable", "PARALLEL_MAKE"])
@@ -418,42 +433,74 @@ class HobHandler(gobject.GObject):
elif isinstance(pmake, int):
pass
else:
pmake = int(pmake.lstrip("-j "))
params["pmake"] = pmake
try:
pmake = int(pmake.lstrip("-j "))
except:
pmake = num_threads
params["pmake"] = "-j %s" % pmake
image_addr = self.server.runCommand(["getVariable", "DEPLOY_DIR_IMAGE"]) or ""
if self.server_addr:
image_addr = "http://" + self.server_addr + ":" + image_addr
params["image_addr"] = image_addr
params["image_addr"] = self.server.runCommand(["getVariable", "DEPLOY_DIR_IMAGE"]) or ""
image_extra_size = self.server.runCommand(["getVariable", "IMAGE_ROOTFS_EXTRA_SPACE"])
if not image_extra_size:
image_extra_size = 0
else:
image_extra_size = int(image_extra_size)
try:
image_extra_size = int(image_extra_size)
except:
image_extra_size = 0
params["image_extra_size"] = image_extra_size
image_rootfs_size = self.server.runCommand(["getVariable", "IMAGE_ROOTFS_SIZE"])
if not image_rootfs_size:
image_rootfs_size = 0
else:
image_rootfs_size = int(image_rootfs_size)
try:
image_rootfs_size = int(image_rootfs_size)
except:
image_rootfs_size = 0
params["image_rootfs_size"] = image_rootfs_size
image_overhead_factor = self.server.runCommand(["getVariable", "IMAGE_OVERHEAD_FACTOR"])
if not image_overhead_factor:
image_overhead_factor = 1
else:
image_overhead_factor = float(image_overhead_factor)
try:
image_overhead_factor = float(image_overhead_factor)
except:
image_overhead_factor = 1
params['image_overhead_factor'] = image_overhead_factor
params["incompat_license"] = self.server.runCommand(["getVariable", "INCOMPATIBLE_LICENSE"]) or ""
params["incompat_license"] = self._remove_redundant(self.server.runCommand(["getVariable", "INCOMPATIBLE_LICENSE"]) or "")
params["sdk_machine"] = self.server.runCommand(["getVariable", "SDKMACHINE"]) or self.server.runCommand(["getVariable", "SDK_ARCH"]) or ""
#params["image_types"] = self.server.runCommand(["getVariable", "IMAGE_TYPES"]) or ""
params["image_fstypes"] = self.server.runCommand(["getVariable", "IMAGE_FSTYPES"]) or ""
"""
A workaround
"""
params["image_types"] = "jffs2 sum.jffs2 cramfs ext2 ext2.gz ext2.bz2 ext3 ext3.gz ext2.lzma btrfs live squashfs squashfs-lzma ubi tar tar.gz tar.bz2 tar.xz cpio cpio.gz cpio.xz cpio.lzma"
params["image_fstypes"] = self._remove_redundant(self.server.runCommand(["getVariable", "IMAGE_FSTYPES"]) or "")
params["image_types"] = self._remove_redundant(self.server.runCommand(["getVariable", "IMAGE_TYPES"]) or "")
params["conf_version"] = self.server.runCommand(["getVariable", "CONF_VERSION"]) or ""
params["lconf_version"] = self.server.runCommand(["getVariable", "LCONF_VERSION"]) or ""
params["runnable_image_types"] = self._remove_redundant(self.server.runCommand(["getVariable", "RUNNABLE_IMAGE_TYPES"]) or "")
params["runnable_machine_patterns"] = self._remove_redundant(self.server.runCommand(["getVariable", "RUNNABLE_MACHINE_PATTERNS"]) or "")
params["deployable_image_types"] = self._remove_redundant(self.server.runCommand(["getVariable", "DEPLOYABLE_IMAGE_TYPES"]) or "")
params["tmpdir"] = self.server.runCommand(["getVariable", "TMPDIR"]) or ""
params["distro_version"] = self.server.runCommand(["getVariable", "DISTRO_VERSION"]) or ""
params["target_os"] = self.server.runCommand(["getVariable", "TARGET_OS"]) or ""
params["target_arch"] = self.server.runCommand(["getVariable", "TARGET_ARCH"]) or ""
params["tune_pkgarch"] = self.server.runCommand(["getVariable", "TUNE_PKGARCH"]) or ""
params["bb_version"] = self.server.runCommand(["getVariable", "BB_MIN_VERSION"]) or ""
params["tune_arch"] = self.server.runCommand(["getVariable", "TUNE_ARCH"]) or ""
params["git_proxy_host"] = self.server.runCommand(["getVariable", "GIT_PROXY_HOST"]) or ""
params["git_proxy_port"] = self.server.runCommand(["getVariable", "GIT_PROXY_PORT"]) or ""
params["http_proxy"] = self.server.runCommand(["getVariable", "http_proxy"]) or ""
params["ftp_proxy"] = self.server.runCommand(["getVariable", "ftp_proxy"]) or ""
params["https_proxy"] = self.server.runCommand(["getVariable", "https_proxy"]) or ""
params["all_proxy"] = self.server.runCommand(["getVariable", "all_proxy"]) or ""
params["cvs_proxy_host"] = self.server.runCommand(["getVariable", "CVS_PROXY_HOST"]) or ""
params["cvs_proxy_port"] = self.server.runCommand(["getVariable", "CVS_PROXY_PORT"]) or ""
return params

View File

@@ -22,6 +22,7 @@
import gtk
import gobject
from bb.ui.crumbs.hobpages import HobPage
#
# PackageListModel
@@ -33,12 +34,9 @@ class PackageListModel(gtk.TreeStore):
providing convenience functions to access gtk.TreeModel subclasses which
provide filtered views of the data.
"""
(COL_NAME, COL_VER, COL_REV, COL_RNM, COL_SEC, COL_SUM, COL_RDEP, COL_RPROV, COL_SIZE, COL_BINB, COL_INC) = range(11)
(COL_NAME, COL_VER, COL_REV, COL_RNM, COL_SEC, COL_SUM, COL_RDEP, COL_RPROV, COL_SIZE, COL_BINB, COL_INC, COL_FADE_INC) = range(12)
__gsignals__ = {
"packagelist-populated" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
"package-selection-changed" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
@@ -51,6 +49,7 @@ class PackageListModel(gtk.TreeStore):
self.pkgs_size = 0
self.pn_path = {}
self.pkg_path = {}
self.rprov_pkg = {}
gtk.TreeStore.__init__ (self,
gobject.TYPE_STRING,
@@ -63,6 +62,7 @@ class PackageListModel(gtk.TreeStore):
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_BOOLEAN,
gobject.TYPE_BOOLEAN)
@@ -71,10 +71,15 @@ class PackageListModel(gtk.TreeStore):
Returns the path in the model or None
"""
def find_path_for_item(self, item_name):
pkg = item_name
if item_name not in self.pkg_path.keys():
return None
else:
return self.pkg_path[item_name]
if item_name not in self.rprov_pkg.keys():
return None
pkg = self.rprov_pkg[item_name]
if pkg not in self.pkg_path.keys():
return None
return self.pkg_path[pkg]
def find_item_for_path(self, item_path):
return self[item_path][self.COL_NAME]
@@ -129,14 +134,13 @@ class PackageListModel(gtk.TreeStore):
"""
The populate() function takes as input the data from a
bb.event.PackageInfo event and populates the package list.
Once the population is done it emits gsignal packagelist-populated
to notify any listeners that the model is ready
"""
def populate(self, pkginfolist):
self.clear()
self.pkgs_size = 0
self.pn_path = {}
self.pkg_path = {}
self.rprov_pkg = {}
for pkginfo in pkginfolist:
pn = pkginfo['PN']
@@ -160,6 +164,8 @@ class PackageListModel(gtk.TreeStore):
rdep = pkginfo['RDEPENDS_%s' % pkg] if 'RDEPENDS_%s' % pkg in pkginfo.keys() else ""
rrec = pkginfo['RRECOMMENDS_%s' % pkg] if 'RRECOMMENDS_%s' % pkg in pkginfo.keys() else ""
rprov = pkginfo['RPROVIDES_%s' % pkg] if 'RPROVIDES_%s' % pkg in pkginfo.keys() else ""
for i in rprov.split():
self.rprov_pkg[i] = pkg
if 'ALLOW_EMPTY_%s' % pkg in pkginfo.keys():
allow_empty = pkginfo['ALLOW_EMPTY_%s' % pkg]
@@ -171,10 +177,8 @@ class PackageListModel(gtk.TreeStore):
if pkgsize == "0" and not allow_empty:
continue
if len(pkgsize) > 3:
size = '%.1f' % (int(pkgsize)*1.0/1024) + ' MB'
else:
size = pkgsize + ' KB'
# pkgsize is in KB
size = HobPage._size_to_string(HobPage._string_to_size(pkgsize + ' KB'))
it = self.append(pniter)
self.pkg_path[pkg] = self.get_path(it)
@@ -185,8 +189,6 @@ class PackageListModel(gtk.TreeStore):
self.COL_RPROV, rprov, self.COL_SIZE, size,
self.COL_BINB, "", self.COL_INC, False)
self.emit("packagelist-populated")
"""
Check whether the item at item_path is included or not
"""
@@ -214,8 +216,6 @@ class PackageListModel(gtk.TreeStore):
self[item_path][self.COL_INC] = True
self.selection_change_notification()
it = self.get_iter(item_path)
# If user explicitly selects a recipe, all its providing packages are selected.
@@ -274,8 +274,6 @@ class PackageListModel(gtk.TreeStore):
self[item_path][self.COL_INC] = False
self.selection_change_notification()
item_name = self[item_path][self.COL_NAME]
item_rdep = self[item_path][self.COL_RDEP]
it = self.get_iter(item_path)
@@ -341,8 +339,26 @@ class PackageListModel(gtk.TreeStore):
else:
left.append(pn)
self.selection_change_notification()
return left
def get_user_selected_packages(self):
packagelist = []
it = self.get_iter_first()
while it:
child_it = self.iter_children(it)
while child_it:
if self.get_value(child_it, self.COL_INC):
binb = self.get_value(child_it, self.COL_BINB)
if not binb or binb == "User Selected":
name = self.get_value(child_it, self.COL_NAME)
packagelist.append(name)
child_it = self.iter_next(child_it)
it = self.iter_next(it)
return packagelist
def get_selected_packages(self):
packagelist = []
@@ -358,8 +374,24 @@ class PackageListModel(gtk.TreeStore):
return packagelist
def get_selected_packages_toolchain(self):
packagelist = []
it = self.get_iter_first()
while it:
if self.get_value(it, self.COL_INC):
child_it = self.iter_children(it)
while child_it:
name = self.get_value(child_it, self.COL_NAME)
inc = self.get_value(child_it, self.COL_INC)
if inc or name.endswith("-dev") or name.endswith("-dbg"):
packagelist.append(name)
child_it = self.iter_next(child_it)
it = self.iter_next(it)
return packagelist
"""
Return the selected package size, unit is KB.
Return the selected package size, unit is B.
"""
def get_packages_size(self):
packages_size = 0
@@ -372,16 +404,11 @@ class PackageListModel(gtk.TreeStore):
if not str_size:
continue
unit = str_size.split()
if unit[1] == 'MB':
size = float(unit[0])*1024
else:
size = float(unit[0])
packages_size += size
packages_size += HobPage._string_to_size(str_size)
child_it = self.iter_next(child_it)
it = self.iter_next(it)
return "%f" % packages_size
return packages_size
"""
Empty self.contents by setting the include of each entry to None
@@ -401,6 +428,19 @@ class PackageListModel(gtk.TreeStore):
self.selection_change_notification()
"""
Resync the state of included items to a backup column before performing the fadeout visible effect
"""
def resync_fadeout_column(self, model_first_iter=None):
it = model_first_iter
while it:
active = self.get_value(it, self.COL_INC)
self.set(it, self.COL_FADE_INC, active)
if self.iter_has_child(it):
self.resync_fadeout_column(self.iter_children(it))
it = self.iter_next(it)
#
# RecipeListModel
#
@@ -411,14 +451,11 @@ class RecipeListModel(gtk.ListStore):
providing convenience functions to access gtk.TreeModel subclasses which
provide filtered views of the data.
"""
(COL_NAME, COL_DESC, COL_LIC, COL_GROUP, COL_DEPS, COL_BINB, COL_TYPE, COL_INC, COL_IMG, COL_INSTALL, COL_PN) = range(11)
(COL_NAME, COL_DESC, COL_LIC, COL_GROUP, COL_DEPS, COL_BINB, COL_TYPE, COL_INC, COL_IMG, COL_INSTALL, COL_PN, COL_FADE_INC) = range(12)
__dummy_image__ = "--select a base image--"
__dummy_image__ = "Create your own image"
__gsignals__ = {
"recipelist-populated" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
"recipe-selection-changed" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
@@ -439,7 +476,7 @@ class RecipeListModel(gtk.ListStore):
gobject.TYPE_BOOLEAN,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING)
gobject.TYPE_BOOLEAN)
"""
Find the model path for the item_name
@@ -476,21 +513,25 @@ class RecipeListModel(gtk.ListStore):
return True
def sort_func(self, model, iter1, iter2):
val1 = model.get_value(iter1, RecipeListModel.COL_NAME)
val2 = model.get_value(iter2, RecipeListModel.COL_NAME)
return val1 > val2
def exclude_item_sort_func(self, model, iter1, iter2):
val1 = model.get_value(iter1, RecipeListModel.COL_FADE_INC)
val2 = model.get_value(iter2, RecipeListModel.COL_INC)
return ((val1 == True) and (val2 == False))
"""
Create, if required, and return a filtered gtk.TreeModelSort
containing only the items which are items specified by filter
"""
def tree_model(self, filter):
def tree_model(self, filter, excluded_items_ahead=False):
model = self.filter_new()
model.set_visible_func(self.tree_model_filter, filter)
sort = gtk.TreeModelSort(model)
sort.set_default_sort_func(self.sort_func)
if excluded_items_ahead:
sort.set_default_sort_func(self.exclude_item_sort_func)
else:
sort.set_sort_column_id(RecipeListModel.COL_NAME, gtk.SORT_ASCENDING)
sort.set_default_sort_func(None)
return sort
def convert_vpath_to_path(self, view_model, view_path):
@@ -512,32 +553,9 @@ class RecipeListModel(gtk.ListStore):
it = view_model.iter_next(it)
return None
def map_runtime(self, event_model, runtime, rdep_type, name):
if rdep_type not in ['pkg', 'pn'] or runtime not in ['rdepends', 'rrecs']:
return
package_depends = event_model["%s-%s" % (runtime, rdep_type)].get(name, [])
pn_depends = []
for package_depend in package_depends:
if 'task-' not in package_depend and package_depend in event_model["packages"].keys():
pn_depends.append(event_model["packages"][package_depend]["pn"])
else:
pn_depends.append(package_depend)
return list(set(pn_depends))
def subpkg_populate(self, event_model, pkg, desc, lic, group, atype, pn):
pn_depends = self.map_runtime(event_model, "rdepends", "pkg", pkg)
pn_depends += self.map_runtime(event_model, "rrecs", "pkg", pkg)
self.set(self.append(), self.COL_NAME, pkg, self.COL_DESC, desc,
self.COL_LIC, lic, self.COL_GROUP, group,
self.COL_DEPS, " ".join(pn_depends), self.COL_BINB, "",
self.COL_TYPE, atype, self.COL_INC, False,
self.COL_IMG, False, self.COL_INSTALL, "", self.COL_PN, pn)
"""
The populate() function takes as input the data from a
bb.event.TargetsTreeGenerated event and populates the RecipeList.
Once the population is done it emits gsignal recipelist-populated
to notify any listeners that the model is ready
"""
def populate(self, event_model):
# First clear the model, in case repopulating
@@ -556,40 +574,23 @@ class RecipeListModel(gtk.ListStore):
desc = event_model["pn"][item]["description"]
lic = event_model["pn"][item]["license"]
group = event_model["pn"][item]["section"]
inherits = event_model["pn"][item]["inherits"]
install = []
depends = event_model["depends"].get(item, []) + event_model["rdepends-pn"].get(item, [])
if ('task-' in name):
if ('lib32-' in name or 'lib64-' in name):
atype = 'mltask'
else:
atype = 'task'
for pkg in event_model["pn"][name]["packages"]:
self.subpkg_populate(event_model, pkg, desc, lic, group, atype, name)
continue
elif ('-image-' in name):
atype = 'image'
depends = event_model["depends"].get(item, [])
rdepends = self.map_runtime(event_model, 'rdepends', 'pn', name)
depends = depends + rdepends
install = event_model["rdepends-pn"].get(item, [])
atype = 'task'
elif ('image.bbclass' in " ".join(inherits)):
if name != "hob-image":
atype = 'image'
install = event_model["rdepends-pkg"].get(item, []) + event_model["rrecs-pkg"].get(item, [])
elif ('meta-' in name):
atype = 'toolchain'
elif (name == 'dummy-image' or name == 'dummy-toolchain'):
atype = 'dummy'
else:
if ('lib32-' in name or 'lib64-' in name):
atype = 'mlrecipe'
else:
atype = 'recipe'
depends = event_model["depends"].get(item, [])
depends += self.map_runtime(event_model, 'rdepends', 'pn', item)
for pkg in event_model["pn"][name]["packages"]:
depends += self.map_runtime(event_model, 'rdepends', 'pkg', item)
depends += self.map_runtime(event_model, 'rrecs', 'pkg', item)
atype = 'recipe'
self.set(self.append(), self.COL_NAME, item, self.COL_DESC, desc,
self.COL_LIC, lic, self.COL_GROUP, group,
@@ -605,8 +606,6 @@ class RecipeListModel(gtk.ListStore):
self.pn_path[pn] = path
it = self.iter_next(it)
self.emit("recipelist-populated")
"""
Update the model, send out the notification.
"""
@@ -643,7 +642,6 @@ class RecipeListModel(gtk.ListStore):
item_deps = self[item_path][self.COL_DEPS]
self[item_path][self.COL_INC] = True
self.selection_change_notification()
item_bin = self[item_path][self.COL_BINB].split(', ')
if binb and not binb in item_bin:
@@ -681,8 +679,6 @@ class RecipeListModel(gtk.ListStore):
self[item_path][self.COL_INC] = False
self.selection_change_notification()
item_name = self[item_path][self.COL_NAME]
item_deps = self[item_path][self.COL_DEPS]
if item_deps:
@@ -742,6 +738,7 @@ class RecipeListModel(gtk.ListStore):
path = self.pn_path[pn]
self.include_item(item_path=path,
binb="User Selected")
self.selection_change_notification()
def get_selected_image(self):
it = self.get_iter_first()
@@ -757,9 +754,11 @@ class RecipeListModel(gtk.ListStore):
return None
def set_selected_image(self, img):
if img == None:
if not img:
return
self.reset()
path = self.find_path_for_item(img)
self.include_item(item_path=path,
binb="User Selected",
image_contents=True)
self.selection_change_notification()

View File

@@ -34,12 +34,12 @@ class HobPage (gtk.VBox):
self.builder = builder
self.builder_width, self.builder_height = self.builder.size_request()
if title == None:
self.title = "HOB -- Image Creator"
if not title:
self.title = "Hob -- Image Creator"
else:
self.title = title
self.box_group_area = gtk.VBox(False, 15)
self.box_group_area = gtk.VBox(False, 12)
self.box_group_area.set_size_request(self.builder_width - 73 - 73, self.builder_height - 88 - 15 - 15)
self.group_align = gtk.Alignment(xalign = 0, yalign=0.5, xscale=1, yscale=1)
self.group_align.set_padding(15, 15, 73, 73)
@@ -59,18 +59,18 @@ class HobPage (gtk.VBox):
hbox = gtk.HBox()
label = gtk.Label()
label.set_markup("<span font_desc=\'14\'>%s</span>" % self.title)
label.set_markup("<span size='x-large'>%s</span>" % self.title)
hbox.pack_start(label, expand=False, fill=False, padding=20)
if widget != None:
if widget:
# add the widget in the event box
hbox.pack_end(widget, expand=False, fill=False, padding=padding)
eventbox.add(hbox)
return eventbox
def span_tag(self, px="12px", weight="normal", forground="#1c1c1c"):
span_tag = "weight=\'%s\' foreground=\'%s\' font_desc=\'%s\'" % (weight, forground, px)
def span_tag(self, size="medium", weight="normal", forground="#1c1c1c"):
span_tag = "weight='%s' foreground='%s' size='%s'" % (weight, forground, size)
return span_tag
def append_toolbar_button(self, toolbar, buttonname, icon_disp, icon_hovor, tip, cb):
@@ -81,7 +81,44 @@ class HobPage (gtk.VBox):
pix_buffer = gtk.gdk.pixbuf_new_from_file(icon_display)
icon.set_from_pixbuf(pix_buffer)
tip_text = tip
button = toolbar.append_element(gtk.TOOLBAR_CHILD_RADIOBUTTON, None,
buttonname, tip_text, "Private text", icon,
cb, None)
return toolbar, button
button = toolbar.append_item(buttonname, tip, None, icon, cb)
return button
@staticmethod
def _size_to_string(size):
try:
if not size:
size_str = "0 B"
else:
if len(str(int(size))) > 6:
size_str = '%.1f' % (size*1.0/(1024*1024)) + ' MB'
elif len(str(int(size))) > 3:
size_str = '%.1f' % (size*1.0/1024) + ' KB'
else:
size_str = str(size) + ' B'
except:
size_str = "0 B"
return size_str
@staticmethod
def _string_to_size(str_size):
try:
if not str_size:
size = 0
else:
unit = str_size.split()
if len(unit) > 1:
if unit[1] == 'MB':
size = float(unit[0])*1024*1024
elif unit[1] == 'KB':
size = float(unit[0])*1024
elif unit[1] == 'B':
size = float(unit[0])
else:
size = 0
else:
size = float(unit[0])
except:
size = 0
return size

File diff suppressed because it is too large Load Diff

View File

@@ -24,24 +24,23 @@ import gtk
import glib
from bb.ui.crumbs.progressbar import HobProgressBar
from bb.ui.crumbs.hobcolor import HobColors
from bb.ui.crumbs.hobwidget import hic, HobXpmLabelButtonBox
from bb.ui.crumbs.hobwidget import hic, HobImageButton, HobInfoButton, HobAltButton, HobButton
from bb.ui.crumbs.hoblistmodel import RecipeListModel
from bb.ui.crumbs.hobpages import HobPage
from bb.ui.crumbs.hig import CrumbsDialog, BinbDialog, \
AdvancedSettingDialog, LayerSelectionDialog
#
# ImageConfigurationPage
#
class ImageConfigurationPage (HobPage):
__dummy_machine__ = "--select a machine--"
def __init__(self, builder):
super(ImageConfigurationPage, self).__init__(builder, "Image configuration")
self.image_combo_id = None
# we use machine_combo_changed_by_manual to identify the machine is changed by code
# or by manual. If by manual, all user's recipe selection and package selection are
# cleared.
self.machine_combo_changed_by_manual = True
self.create_visual_elements()
def create_visual_elements(self):
@@ -50,23 +49,23 @@ class ImageConfigurationPage (HobPage):
self.toolbar.set_orientation(gtk.ORIENTATION_HORIZONTAL)
self.toolbar.set_style(gtk.TOOLBAR_BOTH)
_, template_button = self.append_toolbar_button(self.toolbar,
"Template",
template_button = self.append_toolbar_button(self.toolbar,
"Templates",
hic.ICON_TEMPLATES_DISPLAY_FILE,
hic.ICON_TEMPLATES_HOVER_FILE,
"Load a hob building template saved before",
"Load a previously saved template",
self.template_button_clicked_cb)
_, my_images_button = self.append_toolbar_button(self.toolbar,
"My images",
my_images_button = self.append_toolbar_button(self.toolbar,
"Images",
hic.ICON_IMAGES_DISPLAY_FILE,
hic.ICON_IMAGES_HOVER_FILE,
"Open images built out previously for running or deployment",
"Open previously built images",
self.my_images_button_clicked_cb)
_, settings_button = self.append_toolbar_button(self.toolbar,
settings_button = self.append_toolbar_button(self.toolbar,
"Settings",
hic.ICON_SETTINGS_DISPLAY_FILE,
hic.ICON_SETTINGS_HOVER_FILE,
"Other advanced settings for build",
"View additional build settings",
self.settings_button_clicked_cb)
self.config_top_button = self.add_onto_top_bar(self.toolbar)
@@ -87,148 +86,160 @@ class ImageConfigurationPage (HobPage):
for child in children:
self.remove(child)
def _pack_components(self):
def _pack_components(self, pack_config_build_button = False):
self._remove_all_widget()
self.pack_start(self.config_top_button, expand=False, fill=False)
self.pack_start(self.group_align, expand=True, fill=True)
self.box_group_area.pack_start(self.gtable, expand=True, fill=True)
self.box_group_area.pack_end(self.config_build_button, expand=False, fill=False)
if pack_config_build_button:
self.box_group_area.pack_end(self.config_build_button, expand=False, fill=False)
else:
box = gtk.HBox(False, 6)
box.show()
subbox = gtk.HBox(False, 0)
subbox.set_size_request(205, 49)
subbox.show()
box.add(subbox)
self.box_group_area.pack_end(box, False, False)
def show_machine(self):
self._pack_components()
self.set_config_machine_layout()
self.show_all()
self.progress_bar.reset()
self.progress_bar.hide()
self.config_build_button.hide_all()
self._pack_components(pack_config_build_button = False)
self.set_config_machine_layout(show_progress_bar = False)
self.show_all()
def update_progress_bar(self, title, fraction, status=True):
def update_progress_bar(self, title, fraction, status=None):
self.progress_bar.update(fraction)
self.progress_bar.set_title(title)
self.progress_bar.set_rcstyle(status)
def show_info_populating(self):
self._pack_components()
self.set_config_machine_layout()
self._pack_components(pack_config_build_button = False)
self.set_config_machine_layout(show_progress_bar = True)
self.show_all()
self.config_build_button.hide_all()
def show_info_populated(self):
self._pack_components()
self.set_config_machine_layout()
self.progress_bar.reset()
self._pack_components(pack_config_build_button = False)
self.set_config_machine_layout(show_progress_bar = False)
self.set_config_baseimg_layout()
self.show_all()
def show_baseimg_selected(self):
self.progress_bar.reset()
self.progress_bar.hide()
self._pack_components(pack_config_build_button = True)
self.set_config_machine_layout(show_progress_bar = False)
self.set_config_baseimg_layout()
self.set_rcppkg_layout()
self.show_all()
def create_config_machine(self):
self.machine_title = gtk.Label()
self.machine_title.set_alignment(0.0, 0.5)
mark = "<span %s>Select a machine</span>" % self.span_tag('24px', 'bold')
mark = "<span %s>Select a machine</span>" % self.span_tag('x-large', 'bold')
self.machine_title.set_markup(mark)
self.machine_title_desc = gtk.Label()
self.machine_title_desc.set_alignment(0, 0.5)
mark = ("<span %s>This is the profile of the target machine for which you"
" are building the image.\n</span>") % (self.span_tag(px='14px'))
self.machine_title_desc.set_alignment(0.0, 0.5)
mark = ("<span %s>Your selection is the profile of the target machine for which you"
" are building the image.\n</span>") % (self.span_tag('medium'))
self.machine_title_desc.set_markup(mark)
self.machine_combo = gtk.combo_box_new_text()
self.machine_combo.set_wrap_width(1)
self.machine_combo.connect("changed", self.machine_combo_changed_cb)
icon_file = hic.ICON_LAYERS_DISPLAY_FILE
hover_file = hic.ICON_LAYERS_HOVER_FILE
self.layer_button = HobXpmLabelButtonBox(icon_file, hover_file,
"Layers", "Add support for machines, software, etc")
self.layer_button.connect("button-release-event", self.layer_button_clicked_cb)
self.layer_button = HobImageButton("Layers", "Add support for machines, software, etc.",
icon_file, hover_file)
self.layer_button.connect("clicked", self.layer_button_clicked_cb)
icon_file = hic.ICON_INFO_DISPLAY_FILE
self.layer_info_icon = gtk.Image()
pix_buffer = gtk.gdk.pixbuf_new_from_file(icon_file)
self.layer_info_icon.set_from_pixbuf(pix_buffer)
markup = "Layers are a powerful mechanism to extend the Yocto Project "
markup += "with your own functionality.\n"
markup += "For more on layers, check:\n"
markup += "http://www.yoctoproject.org/docs/current/poky-ref-manual/"
markup += "poky-ref-manual.html#usingpoky-changes-layers."
self.layer_info_icon.set_tooltip_markup(markup)
markup += "For more on layers, check the <a href=\""
markup += "http://www.yoctoproject.org/docs/current/dev-manual/"
markup += "dev-manual.html#understanding-and-using-layers\">reference manual</a>."
self.layer_info_icon = HobInfoButton(markup, self.get_parent())
self.progress_box = gtk.HBox(False, 6)
self.progress_bar = HobProgressBar()
self.progress_box.pack_start(self.progress_bar, expand=True, fill=True)
self.stop_button = HobAltButton("Stop")
self.stop_button.connect("clicked", self.stop_button_clicked_cb)
self.progress_box.pack_end(self.stop_button, expand=False, fill=False)
self.machine_separator = gtk.HSeparator()
def set_config_machine_layout(self):
def set_config_machine_layout(self, show_progress_bar = False):
self.gtable.attach(self.machine_title, 0, 40, 0, 4)
self.gtable.attach(self.machine_title_desc, 0, 40, 4, 6)
self.gtable.attach(self.machine_combo, 0, 12, 6, 9)
self.gtable.attach(self.layer_button, 12, 36, 6, 10)
self.gtable.attach(self.layer_info_icon, 36, 40, 6, 9)
self.gtable.attach(self.progress_bar, 0, 40, 13, 17)
self.gtable.attach(self.machine_separator, 0, 40, 12, 13)
self.gtable.attach(self.machine_combo, 0, 12, 7, 10)
self.gtable.attach(self.layer_button, 14, 36, 7, 12)
self.gtable.attach(self.layer_info_icon, 36, 40, 7, 11)
if show_progress_bar:
self.gtable.attach(self.progress_box, 0, 40, 15, 19)
self.gtable.attach(self.machine_separator, 0, 40, 13, 14)
def create_config_baseimg(self):
self.image_title = gtk.Label()
self.image_title.set_alignment(0, 1.0)
mark = "<span %s>Select a base image</span>" % self.span_tag('24px', 'bold')
mark = "<span %s>Select a base image</span>" % self.span_tag('x-large', 'bold')
self.image_title.set_markup(mark)
self.image_title_desc = gtk.Label()
self.image_title_desc.set_alignment(0, 0.5)
mark = ("<span %s>Base images are a starting point for the type of image you want. "
"You can build them as \n"
"they are or customize them to your specific needs.\n</span>") % self.span_tag('14px')
"they are or customize them to your specific needs.\n</span>") % self.span_tag('medium')
self.image_title_desc.set_markup(mark)
self.image_combo = gtk.combo_box_new_text()
self.image_combo.set_wrap_width(1)
self.image_combo_id = self.image_combo.connect("changed", self.image_combo_changed_cb)
self.image_desc = gtk.Label()
self.image_desc.set_alignment(0, 0)
self.image_desc.set_alignment(0.0, 0.5)
self.image_desc.set_line_wrap(True)
# button to view recipes
icon_file = hic.ICON_RCIPE_DISPLAY_FILE
hover_file = hic.ICON_RCIPE_HOVER_FILE
self.view_recipes_button = HobXpmLabelButtonBox(icon_file, hover_file,
"View Recipes", "Add/remove recipes and collections")
self.view_recipes_button.connect("button-release-event", self.view_recipes_button_clicked_cb)
self.view_recipes_button = HobImageButton("View recipes",
"Add/remove recipes and tasks",
icon_file, hover_file)
self.view_recipes_button.connect("clicked", self.view_recipes_button_clicked_cb)
# button to view packages
icon_file = hic.ICON_PACKAGES_DISPLAY_FILE
hover_file = hic.ICON_PACKAGES_HOVER_FILE
self.view_packages_button = HobXpmLabelButtonBox(icon_file, hover_file,
"View Packages", "Add/remove packages")
self.view_packages_button.connect("button-release-event", self.view_packages_button_clicked_cb)
self.view_packages_button = HobImageButton("View packages",
"Add/remove previously built packages",
icon_file, hover_file)
self.view_packages_button.connect("clicked", self.view_packages_button_clicked_cb)
self.image_separator = gtk.HSeparator()
def set_config_baseimg_layout(self):
self.gtable.attach(self.image_title, 0, 40, 13, 17)
self.gtable.attach(self.image_title_desc, 0, 40, 17, 22)
self.gtable.attach(self.image_combo, 0, 12, 22, 25)
self.gtable.attach(self.image_desc, 14, 38, 22, 27)
self.gtable.attach(self.view_recipes_button, 0, 20, 28, 32)
self.gtable.attach(self.view_packages_button, 20, 40, 28, 32)
self.gtable.attach(self.image_title, 0, 40, 15, 17)
self.gtable.attach(self.image_title_desc, 0, 40, 18, 22)
self.gtable.attach(self.image_combo, 0, 12, 23, 26)
self.gtable.attach(self.image_desc, 13, 38, 23, 28)
self.gtable.attach(self.image_separator, 0, 40, 35, 36)
def set_rcppkg_layout(self):
self.gtable.attach(self.view_recipes_button, 0, 20, 28, 33)
self.gtable.attach(self.view_packages_button, 20, 40, 28, 33)
def create_config_build_button(self):
# Create the "Build packages" and "Just bake" buttons at the bottom
button_box = gtk.HBox(False, 5)
# Create the "Build packages" and "Build image" buttons at the bottom
button_box = gtk.HBox(False, 6)
# create button "Just bake"
just_bake_button = gtk.Button()
label = gtk.Label()
mark = "<span %s>Just bake</span>" % self.span_tag('24px', 'bold')
label.set_markup(mark)
just_bake_button.set_image(label)
# create button "Build image"
just_bake_button = HobButton("Build image")
just_bake_button.set_size_request(205, 49)
just_bake_button.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(HobColors.ORANGE))
just_bake_button.modify_bg(gtk.STATE_PRELIGHT, gtk.gdk.Color(HobColors.ORANGE))
just_bake_button.modify_bg(gtk.STATE_SELECTED, gtk.gdk.Color(HobColors.ORANGE))
just_bake_button.set_tooltip_text("Build image to get your target image")
just_bake_button.set_flags(gtk.CAN_DEFAULT)
just_bake_button.grab_default()
just_bake_button.set_tooltip_text("Build target image")
just_bake_button.connect("clicked", self.just_bake_button_clicked_cb)
button_box.pack_end(just_bake_button, expand=False, fill=False)
@@ -236,32 +247,43 @@ class ImageConfigurationPage (HobPage):
button_box.pack_end(label, expand=False, fill=False)
# create button "Build Packages"
build_packages_button = gtk.LinkButton("Build packages first based on recipe selection "
"for late customization on packages for the target image", "Build Packages")
build_packages_button = HobAltButton("Build packages")
build_packages_button.connect("clicked", self.build_packages_button_clicked_cb)
build_packages_button.set_tooltip_text("Build recipes into packages")
button_box.pack_end(build_packages_button, expand=False, fill=False)
return button_box
def stop_button_clicked_cb(self, button):
self.builder.cancel_parse_sync()
def machine_combo_changed_cb(self, machine_combo):
combo_item = machine_combo.get_active_text()
if not combo_item or combo_item == self.__dummy_machine__:
self.builder.switch_page(self.builder.MACHINE_SELECTION)
else:
self.builder.configuration.curr_mach = combo_item
# Do reparse recipes
self.builder.switch_page(self.builder.RCPPKGINFO_POPULATING)
if not combo_item:
return
self.builder.configuration.curr_mach = combo_item
if self.machine_combo_changed_by_manual:
self.builder.configuration.selected_image = None
self.builder.configuration.selected_recipes = []
self.builder.configuration.selected_packages = []
# reset machine_combo_changed_by_manual
self.machine_combo_changed_by_manual = True
# Do reparse recipes
self.builder.populate_recipe_package_info_async()
def update_machine_combo(self):
all_machines = [self.__dummy_machine__] + self.builder.parameters.all_machines
all_machines = self.builder.parameters.all_machines
model = self.machine_combo.get_model()
model.clear()
for machine in all_machines:
self.machine_combo.append_text(machine)
self.machine_combo.set_active(0)
self.machine_combo.set_active(-1)
def switch_machine_combo(self):
self.machine_combo_changed_by_manual = False
model = self.machine_combo.get_model()
active = 0
while active < len(model):
@@ -269,7 +291,17 @@ class ImageConfigurationPage (HobPage):
self.machine_combo.set_active(active)
return
active += 1
self.machine_combo.set_active(0)
self.machine_combo.set_active(-1)
def update_image_desc(self, selected_image):
desc = ""
if selected_image and selected_image in self.builder.recipe_model.pn_path.keys():
image_path = self.builder.recipe_model.pn_path[selected_image]
image_iter = self.builder.recipe_model.get_iter(image_path)
desc = self.builder.recipe_model.get_value(image_iter, self.builder.recipe_model.COL_DESC)
mark = ("<span %s>%s</span>\n") % (self.span_tag('small'), desc)
self.image_desc.set_markup(mark)
def image_combo_changed_idle_cb(self, selected_image, selected_recipes, selected_packages):
self.builder.update_recipe_model(selected_image, selected_recipes)
@@ -282,18 +314,20 @@ class ImageConfigurationPage (HobPage):
if not selected_image:
return
self.builder.customized = False
selected_recipes = []
image_path = self.builder.recipe_model.pn_path[selected_image]
image_iter = self.builder.recipe_model.get_iter(image_path)
selected_packages = self.builder.recipe_model.get_value(image_iter, self.builder.recipe_model.COL_INSTALL).split()
mark = ("<span %s>%s</span>\n") % (self.span_tag('14px'), self.builder.recipe_model.get_value(image_iter, self.builder.recipe_model.COL_DESC))
self.image_desc.set_markup(mark)
self.update_image_desc(selected_image)
self.builder.recipe_model.reset()
self.builder.package_model.reset()
self.show_baseimg_selected()
glib.idle_add(self.image_combo_changed_idle_cb, selected_image, selected_recipes, selected_packages)
def _image_combo_connect_signal(self):
@@ -310,7 +344,7 @@ class ImageConfigurationPage (HobPage):
# populate image combo
filter = {RecipeListModel.COL_TYPE : ['image']}
image_model = recipe_model.tree_model(filter)
active = 0
active = -1
cnt = 0
it = image_model.get_iter_first()
@@ -320,25 +354,34 @@ class ImageConfigurationPage (HobPage):
# append and set active
while it:
path = image_model.get_path(it)
it = image_model.iter_next(it)
image_name = image_model[path][recipe_model.COL_NAME]
if image_name == self.builder.recipe_model.__dummy_image__:
continue
self.image_combo.append_text(image_name)
if image_name == selected_image:
active = cnt
it = image_model.iter_next(it)
cnt = cnt + 1
self._image_combo_connect_signal()
self.image_combo.append_text(self.builder.recipe_model.__dummy_image__)
if selected_image == self.builder.recipe_model.__dummy_image__:
active = cnt
self.image_combo.set_active(-1)
self.image_combo.set_active(active)
def layer_button_clicked_cb(self, event, data):
if active != -1:
self.show_baseimg_selected()
self._image_combo_connect_signal()
def layer_button_clicked_cb(self, button):
# Create a layer selection dialog
self.builder.show_layer_selection_dialog()
def view_recipes_button_clicked_cb(self, event, data):
def view_recipes_button_clicked_cb(self, button):
self.builder.show_recipes()
def view_packages_button_clicked_cb(self, event, data):
def view_packages_button_clicked_cb(self, button):
self.builder.show_packages()
def just_bake_button_clicked_cb(self, button):
@@ -348,11 +391,19 @@ class ImageConfigurationPage (HobPage):
self.builder.build_packages()
def template_button_clicked_cb(self, button):
self.builder.show_load_template_dialog()
response, path = self.builder.show_load_template_dialog()
if not response:
return
if path:
self.builder.load_template(path)
def my_images_button_clicked_cb(self, button):
self.builder.show_load_my_images_dialog()
def settings_button_clicked_cb(self, button):
# Create an advanced settings dialog
self.builder.show_adv_settings_dialog()
response, settings_changed = self.builder.show_adv_settings_dialog()
if not response:
return
if settings_changed:
self.builder.reparse_post_adv_settings()

View File

@@ -23,7 +23,7 @@
import gobject
import gtk
from bb.ui.crumbs.hobcolor import HobColors
from bb.ui.crumbs.hobwidget import hic, HobWidget
from bb.ui.crumbs.hobwidget import hic, HobViewTable, HobAltButton, HobButton
from bb.ui.crumbs.hobpages import HobPage
#
@@ -31,8 +31,28 @@ from bb.ui.crumbs.hobpages import HobPage
#
class ImageDetailsPage (HobPage):
__columns__ = [{
'col_name' : 'Image name',
'col_id' : 0,
'col_style': 'text',
'col_min' : 500,
'col_max' : 500
}, {
'col_name' : 'Image size',
'col_id' : 1,
'col_style': 'text',
'col_min' : 100,
'col_max' : 100
}, {
'col_name' : 'Select',
'col_id' : 2,
'col_style': 'radio toggle',
'col_min' : 100,
'col_max' : 100
}]
class DetailBox (gtk.EventBox):
def __init__(self, varlist, vallist, icon = None, button = None, color = HobColors.LIGHT_GRAY):
def __init__(self, widget = None, varlist = None, vallist = None, icon = None, button = None, color = HobColors.LIGHT_GRAY):
gtk.EventBox.__init__(self)
# set color
@@ -44,37 +64,57 @@ class ImageDetailsPage (HobPage):
self.hbox.set_border_width(15)
self.add(self.hbox)
# pack the icon and the text on the left
row = len(varlist)
if widget:
row = 1
elif varlist and vallist:
# pack the icon and the text on the left
row = len(varlist)
self.table = gtk.Table(row, 20, True)
self.table.set_size_request(100, -1)
self.hbox.pack_start(self.table, expand=True, fill=True, padding=15)
colid = 0
if icon != None:
self.line_widgets = {}
if icon:
self.table.attach(icon, colid, colid + 2, 0, 1)
colid = colid + 2
for line in range(0, row):
self.table.attach(self.text2label(varlist[line], vallist[line]), colid, 20, line, line + 1)
if widget:
self.table.attach(widget, colid, 20, 0, 1)
elif varlist and vallist:
for line in range(0, row):
self.line_widgets[varlist[line]] = self.text2label(varlist[line], vallist[line])
self.table.attach(self.line_widgets[varlist[line]], colid, 20, line, line + 1)
# pack the button on the right
if button != None:
if button:
self.hbox.pack_end(button, expand=False, fill=False)
def update_line_widgets(self, variable, value):
if len(self.line_widgets) == 0:
return
if not isinstance(self.line_widgets[variable], gtk.Label):
return
self.line_widgets[variable].set_markup(self.format_line(variable, value))
def format_line(self, variable, value):
markup = "<span weight=\'bold\'>%s</span>" % variable
markup += "<span weight=\'normal\' foreground=\'#1c1c1c\' font_desc=\'14px\'>%s</span>" % value
return markup
def text2label(self, variable, value):
# append the name:value to the left box
# such as "Name: hob-core-minimal-variant-2011-12-15-beagleboard"
markup = "<span weight=\'bold\'>%s</span>" % variable
markup += "<span weight=\'normal\' foreground=\'#1c1c1c\' font_desc=\'14px\'>%s</span>" % value
label = gtk.Label()
label.set_alignment(0.0, 0.5)
label.set_markup(markup)
label.set_markup(self.format_line(variable, value))
return label
def __init__(self, builder):
super(ImageDetailsPage, self).__init__(builder, "Image details")
self.image_store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_BOOLEAN)
self.button_ids = {}
self.details_bottom_buttons = gtk.HBox(False, 6)
self.create_visual_elements()
def create_visual_elements(self):
@@ -84,12 +124,24 @@ class ImageDetailsPage (HobPage):
self.toolbar.set_orientation(gtk.ORIENTATION_HORIZONTAL)
self.toolbar.set_style(gtk.TOOLBAR_BOTH)
_, my_images_button = self.append_toolbar_button(self.toolbar,
"My images",
template_button = self.append_toolbar_button(self.toolbar,
"Templates",
hic.ICON_TEMPLATES_DISPLAY_FILE,
hic.ICON_TEMPLATES_HOVER_FILE,
"Load a previously saved template",
self.template_button_clicked_cb)
my_images_button = self.append_toolbar_button(self.toolbar,
"Images",
hic.ICON_IMAGES_DISPLAY_FILE,
hic.ICON_IMAGES_HOVER_FILE,
"Open images built out previously for running or deployment",
"Open previously built images",
self.my_images_button_clicked_cb)
settings_button = self.append_toolbar_button(self.toolbar,
"Settings",
hic.ICON_SETTINGS_DISPLAY_FILE,
hic.ICON_SETTINGS_HOVER_FILE,
"View additional build settings",
self.settings_button_clicked_cb)
self.details_top_buttons = self.add_onto_top_bar(self.toolbar)
@@ -100,23 +152,15 @@ class ImageDetailsPage (HobPage):
children = self.box_group_area.get_children() or []
for child in children:
self.box_group_area.remove(child)
def _size_to_string(self, size):
if len(str(int(size))) > 6:
size_str = '%.1f' % (size*1.0/(1024*1024)) + ' MB'
elif len(str(int(size))) > 3:
size_str = '%.1f' % (size*1.0/1024) + ' KB'
else:
size_str = str(size) + ' B'
return size_str
children = self.details_bottom_buttons.get_children() or []
for child in children:
self.details_bottom_buttons.remove(child)
def show_page(self, step):
build_succeeded = (step == self.builder.IMAGE_GENERATED)
image_addr = self.builder.parameters.image_addr
image_names = self.builder.parameters.image_names
if build_succeeded:
image_addr = self.builder.parameters.image_addr
image_names = self.builder.parameters.image_names
machine = self.builder.configuration.curr_mach
base_image = self.builder.recipe_model.get_selected_image()
layers = self.builder.configuration.layers
@@ -124,10 +168,15 @@ class ImageDetailsPage (HobPage):
else:
pkg_num = "N/A"
# remove
for button_id, button in self.button_ids.items():
button.disconnect(button_id)
self._remove_all_widget()
# repack
self.pack_start(self.details_top_buttons, expand=False, fill=False)
self.pack_start(self.group_align, expand=True, fill=True)
self.build_result = None
if build_succeeded:
# building is the previous step
icon = gtk.Image()
@@ -137,22 +186,48 @@ class ImageDetailsPage (HobPage):
icon.set_from_pixbuf(pix_buffer)
varlist = [""]
vallist = ["Your image is ready"]
build_result = self.DetailBox(varlist=varlist, vallist=vallist, icon=icon, button=None, color=color)
self.box_group_area.pack_start(build_result, expand=False, fill=False)
self.build_result = self.DetailBox(varlist=varlist, vallist=vallist, icon=icon, color=color)
self.box_group_area.pack_start(self.build_result, expand=False, fill=False)
# create the buttons at the bottom first because the buttons are used in apply_button_per_image()
if build_succeeded:
self.buttonlist = ["Build new image", "Save as template", "Run image", "Deploy image"]
else: # get to this page from "My images"
self.buttonlist = ["Build new image", "Run image", "Deploy image"]
# Name
self.image_store.clear()
default_toggled = False
default_image_size = 0
i = 0
for image_name in image_names:
image_size = self._size_to_string(os.stat(os.path.join(image_addr, image_name)).st_size)
self.image_store.set(self.image_store.append(), 0, image_name, 1, image_size, 2, False)
images_widget, treeview = HobWidget.gen_images_widget(600, 200, 100)
treeview.set_model(self.image_store)
self.box_group_area.pack_start(images_widget, expand=False, fill=False)
image_size = HobPage._size_to_string(os.stat(os.path.join(image_addr, image_name)).st_size)
if not default_toggled:
default_toggled = (self.test_type_runnable(image_name) and self.test_mach_runnable(image_name)) \
or self.test_deployable(image_name)
if i == (len(image_names) - 1):
default_toggled = True
self.image_store.set(self.image_store.append(), 0, image_name, 1, image_size, 2, default_toggled)
if default_toggled:
default_image_size = image_size
self.create_bottom_buttons(self.buttonlist, image_name)
else:
self.image_store.set(self.image_store.append(), 0, image_name, 1, image_size, 2, False)
i = i + 1
image_table = HobViewTable(self.__columns__)
image_table.set_model(self.image_store)
image_table.connect("toggled", self.toggled_cb)
view_files_button = HobAltButton("View files")
view_files_button.connect("clicked", self.view_files_clicked_cb, image_addr)
view_files_button.set_tooltip_text("Open the directory containing the image files")
self.image_detail = self.DetailBox(widget=image_table, button=view_files_button)
self.box_group_area.pack_start(self.image_detail, expand=True, fill=True)
# Machine, Base image and Layers
layer_num_limit = 15
varlist = ["Machine: ", "Base image: ", "Layers: "]
vallist = []
self.setting_detail = None
if build_succeeded:
vallist.append(machine)
vallist.append(base_image)
@@ -173,90 +248,165 @@ class ImageDetailsPage (HobPage):
vallist.append(layer)
i += 1
edit_config_button = gtk.LinkButton("Changes settings for build", "Edit configuration")
edit_config_button = HobAltButton("Edit configuration")
edit_config_button.set_tooltip_text("Edit machine, base image and recipes")
edit_config_button.connect("clicked", self.edit_config_button_clicked_cb)
setting_detail = self.DetailBox(varlist=varlist, vallist=vallist, icon=None, button=edit_config_button)
self.box_group_area.pack_start(setting_detail, expand=False, fill=False)
self.setting_detail = self.DetailBox(varlist=varlist, vallist=vallist, button=edit_config_button)
self.box_group_area.pack_start(self.setting_detail, expand=False, fill=False)
# Packages included, and Total image size
varlist = ["Packages included: ", "Total image size: "]
vallist = []
vallist.append(pkg_num)
vallist.append(image_size)
vallist.append(default_image_size)
if build_succeeded:
edit_packages_button = gtk.LinkButton("Change package selection for customization", "Edit packages")
edit_packages_button = HobAltButton("Edit packages")
edit_packages_button.set_tooltip_text("Edit the packages included in your image")
edit_packages_button.connect("clicked", self.edit_packages_button_clicked_cb)
else: # get to this page from "My images"
edit_packages_button = None
package_detail = self.DetailBox(varlist=varlist, vallist=vallist, icon=None, button=edit_packages_button)
self.box_group_area.pack_start(package_detail, expand=False, fill=False)
if build_succeeded:
buttonlist = ["Build new image", "Save as template", "Run image", "Deploy image"]
else: # get to this page from "My images"
buttonlist = ["Build new image", "Run image", "Deploy image"]
details_bottom_buttons = self.create_bottom_buttons(buttonlist)
self.box_group_area.pack_end(details_bottom_buttons, expand=False, fill=False)
self.package_detail = self.DetailBox(varlist=varlist, vallist=vallist, button=edit_packages_button)
self.box_group_area.pack_start(self.package_detail, expand=False, fill=False)
# pack the buttons at the bottom, at this time they are already created.
self.box_group_area.pack_end(self.details_bottom_buttons, expand=False, fill=False)
self.show_all()
def create_bottom_buttons(self, buttonlist):
def view_files_clicked_cb(self, button, image_addr):
os.system("xdg-open /%s" % image_addr)
def refresh_package_detail_box(self, image_size):
self.package_detail.update_line_widgets("Total image size: ", image_size)
def test_type_runnable(self, image_name):
type_runnable = False
for t in self.builder.parameters.runnable_image_types:
if image_name.endswith(t):
type_runnable = True
break
return type_runnable
def test_mach_runnable(self, image_name):
mach_runnable = False
for t in self.builder.parameters.runnable_machine_patterns:
if t in image_name:
mach_runnable = True
break
return mach_runnable
def test_deployable(self, image_name):
deployable = False
for t in self.builder.parameters.deployable_image_types:
if image_name.endswith(t):
deployable = True
break
return deployable
def toggled_cb(self, table, cell, path, columnid, tree):
model = tree.get_model()
if not model:
return
iter = model.get_iter_first()
while iter:
rowpath = model.get_path(iter)
model[rowpath][columnid] = False
iter = model.iter_next(iter)
model[path][columnid] = True
self.refresh_package_detail_box(model[path][1])
image_name = model[path][0]
# remove
for button_id, button in self.button_ids.items():
button.disconnect(button_id)
self._remove_all_widget()
# repack
self.pack_start(self.details_top_buttons, expand=False, fill=False)
self.pack_start(self.group_align, expand=True, fill=True)
if self.build_result:
self.box_group_area.pack_start(self.build_result, expand=False, fill=False)
self.box_group_area.pack_start(self.image_detail, expand=True, fill=True)
if self.setting_detail:
self.box_group_area.pack_start(self.setting_detail, expand=False, fill=False)
self.box_group_area.pack_start(self.package_detail, expand=False, fill=False)
self.create_bottom_buttons(self.buttonlist, image_name)
self.box_group_area.pack_end(self.details_bottom_buttons, expand=False, fill=False)
self.show_all()
def create_bottom_buttons(self, buttonlist, image_name):
# Create the buttons at the bottom
bottom_buttons = gtk.HBox(False, 5)
created = False
packed = False
self.button_ids = {}
# create button "Deploy image"
name = "Deploy image"
if name in buttonlist:
deploy_button = gtk.Button()
label = gtk.Label()
mark = "<span %s>Deploy image</span>" % self.span_tag('24px', 'bold')
label.set_markup(mark)
deploy_button.set_image(label)
if name in buttonlist and self.test_deployable(image_name):
deploy_button = HobButton('Deploy image')
deploy_button.set_size_request(205, 49)
deploy_button.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(HobColors.ORANGE))
deploy_button.modify_bg(gtk.STATE_PRELIGHT, gtk.gdk.Color(HobColors.ORANGE))
deploy_button.modify_bg(gtk.STATE_SELECTED, gtk.gdk.Color(HobColors.ORANGE))
deploy_button.set_tooltip_text("Deploy image to get your target board")
deploy_button.set_tooltip_text("Burn a live image to a USB drive or flash memory")
deploy_button.set_flags(gtk.CAN_DEFAULT)
deploy_button.grab_default()
deploy_button.connect("clicked", self.deploy_button_clicked_cb)
bottom_buttons.pack_end(deploy_button, expand=False, fill=False)
button_id = deploy_button.connect("clicked", self.deploy_button_clicked_cb)
self.button_ids[button_id] = deploy_button
self.details_bottom_buttons.pack_end(deploy_button, expand=False, fill=False)
created = True
packed = True
name = "Run image"
if name in buttonlist:
if name in buttonlist and self.test_type_runnable(image_name) and self.test_mach_runnable(image_name):
if created == True:
# separator
label = gtk.Label(" or ")
bottom_buttons.pack_end(label, expand=False, fill=False)
self.details_bottom_buttons.pack_end(label, expand=False, fill=False)
# create button "Run image"
run_button = gtk.LinkButton("Launch and boot the image in the QEMU emulator", "Run image")
run_button.connect("clicked", self.run_button_clicked_cb)
bottom_buttons.pack_end(run_button, expand=False, fill=False)
# create button "Run image"
run_button = HobAltButton("Run image")
else:
# create button "Run image" as the primary button
run_button = HobButton("Run image")
run_button.set_size_request(205, 49)
run_button.set_flags(gtk.CAN_DEFAULT)
packed = True
run_button.set_tooltip_text("Start up an image with qemu emulator")
button_id = run_button.connect("clicked", self.run_button_clicked_cb)
self.button_ids[button_id] = run_button
self.details_bottom_buttons.pack_end(run_button, expand=False, fill=False)
created = True
if not packed:
box = gtk.HBox(False, 6)
box.show()
subbox = gtk.HBox(False, 0)
subbox.set_size_request(205, 49)
subbox.show()
box.add(subbox)
self.details_bottom_buttons.pack_end(box, False, False)
name = "Save as template"
if name in buttonlist:
if created == True:
# separator
label = gtk.Label(" or ")
bottom_buttons.pack_end(label, expand=False, fill=False)
self.details_bottom_buttons.pack_end(label, expand=False, fill=False)
# create button "Save as template"
save_button = gtk.LinkButton("Save the hob build template for future use", "Save as template")
save_button.connect("clicked", self.save_button_clicked_cb)
bottom_buttons.pack_end(save_button, expand=False, fill=False)
save_button = HobAltButton("Save as template")
save_button.set_tooltip_text("Save the image configuration for reuse")
button_id = save_button.connect("clicked", self.save_button_clicked_cb)
self.button_ids[button_id] = save_button
self.details_bottom_buttons.pack_end(save_button, expand=False, fill=False)
create = True
name = "Build new image"
if name in buttonlist:
# create button "Build new image"
build_new_button = gtk.LinkButton("Initiate another new build from the beginning", "Build new image")
build_new_button.connect("clicked", self.build_new_button_clicked_cb)
bottom_buttons.pack_start(build_new_button, expand=False, fill=False)
return bottom_buttons
build_new_button = HobAltButton("Build new image")
build_new_button.set_tooltip_text("Create a new image from scratch")
button_id = build_new_button.connect("clicked", self.build_new_button_clicked_cb)
self.button_ids[button_id] = build_new_button
self.details_bottom_buttons.pack_start(build_new_button, expand=False, fill=False)
def _get_selected_image(self):
image_name = ""
@@ -282,7 +432,7 @@ class ImageDetailsPage (HobPage):
self.builder.runqemu_image(image_name)
def build_new_button_clicked_cb(self, button):
self.builder.initiate_new_build()
self.builder.initiate_new_build_async()
def edit_config_button_clicked_cb(self, button):
self.builder.show_configuration()
@@ -290,5 +440,20 @@ class ImageDetailsPage (HobPage):
def edit_packages_button_clicked_cb(self, button):
self.builder.show_packages(ask=False)
def template_button_clicked_cb(self, button):
response, path = self.builder.show_load_template_dialog()
if not response:
return
if path:
self.builder.load_template(path)
def my_images_button_clicked_cb(self, button):
self.builder.show_load_my_images_dialog()
def settings_button_clicked_cb(self, button):
# Create an advanced settings dialog
response, settings_changed = self.builder.show_adv_settings_dialog()
if not response:
return
if settings_changed:
self.builder.reparse_post_adv_settings()

View File

@@ -23,7 +23,7 @@
import gtk
import glib
from bb.ui.crumbs.hobcolor import HobColors
from bb.ui.crumbs.hobwidget import HobViewBar, HobViewTable
from bb.ui.crumbs.hobwidget import HobViewTable, HobNotebook, HobAltButton, HobButton
from bb.ui.crumbs.hoblistmodel import PackageListModel
from bb.ui.crumbs.hobpages import HobPage
@@ -34,62 +34,68 @@ class PackageSelectionPage (HobPage):
pages = [
{
'name' : 'All packages',
'filter' : {},
'columns' : [{
'col_name' : 'Name',
'col_id' : PackageListModel.COL_NAME,
'col_style': 'text',
'col_min' : 100,
'col_max' : 400
}, {
'col_name' : 'size',
'col_id' : PackageListModel.COL_SIZE,
'col_style': 'text',
'col_min' : 100,
'col_max' : 500
}, {
'col_name' : 'Included',
'col_id' : PackageListModel.COL_INC,
'col_style': 'toggle',
'col_min' : 50,
'col_max' : 50
}]
}, {
'name' : 'Included',
'filter' : { PackageListModel.COL_INC : [True] },
'columns' : [{
'col_name' : 'Name',
'col_name' : 'Package name',
'col_id' : PackageListModel.COL_NAME,
'col_style': 'text',
'col_min' : 100,
'col_max' : 300
'col_max' : 300,
'expand' : 'True'
}, {
'col_name' : 'Brought by',
'col_name' : 'Brought in by',
'col_id' : PackageListModel.COL_BINB,
'col_style': 'text',
'col_style': 'binb',
'col_min' : 100,
'col_max' : 350
'col_max' : 350,
'expand' : 'True'
}, {
'col_name' : 'size',
'col_name' : 'Size',
'col_id' : PackageListModel.COL_SIZE,
'col_style': 'text',
'col_min' : 100,
'col_max' : 300
'col_max' : 300,
'expand' : 'True'
}, {
'col_name' : 'Included',
'col_id' : PackageListModel.COL_INC,
'col_style': 'toggle',
'col_min' : 50,
'col_max' : 50
'col_style': 'check toggle',
'col_min' : 100,
'col_max' : 100
}]
}, {
'name' : 'All packages',
'filter' : {},
'columns' : [{
'col_name' : 'Package name',
'col_id' : PackageListModel.COL_NAME,
'col_style': 'text',
'col_min' : 100,
'col_max' : 400,
'expand' : 'True'
}, {
'col_name' : 'Size',
'col_id' : PackageListModel.COL_SIZE,
'col_style': 'text',
'col_min' : 100,
'col_max' : 500,
'expand' : 'True'
}, {
'col_name' : 'Included',
'col_id' : PackageListModel.COL_INC,
'col_style': 'check toggle',
'col_min' : 100,
'col_max' : 100
}]
}
]
def __init__(self, builder):
super(PackageSelectionPage, self).__init__(builder, "Package Selection")
super(PackageSelectionPage, self).__init__(builder, "Packages")
# set invisiable members
self.recipe_model = self.builder.recipe_model
self.package_model = self.builder.package_model
# create visual elements
@@ -102,69 +108,52 @@ class PackageSelectionPage (HobPage):
self.pack_start(self.group_align, expand=True, fill=True)
# set visiable members
self.grid = gtk.Table(10, 1, True)
self.grid.set_col_spacings(3)
self.ins = gtk.Notebook()
self.ins.set_show_tabs(False)
self.ins = HobNotebook()
self.tables = [] # we need to modify table when the dialog is shown
# append the tab
for i in range(len(self.pages)):
columns = self.pages[i]['columns']
tab = HobViewTable(columns, self.reset_clicked_cb, self.table_toggled_cb)
filter = self.pages[i]['filter']
tab.table_tree.set_model(self.package_model.tree_model(filter))
label = gtk.Label(self.pages[i]['name'])
for page in self.pages:
columns = page['columns']
tab = HobViewTable(columns)
filter = page['filter']
tab.set_model(self.package_model.tree_model(filter))
tab.connect("toggled", self.table_toggled_cb, page['name'])
if page['name'] == "Included":
tab.connect("button-release-event", self.button_click_cb)
tab.connect("cell-fadeinout-stopped", self.after_fadeout_checkin_include)
label = gtk.Label(page['name'])
self.ins.append_page(tab, label)
self.tables.append(tab)
self.grid.attach(self.ins, 0, 1, 1, 10, gtk.FILL | gtk.EXPAND, gtk.FILL | gtk.EXPAND, 1, 1)
# a black bar associated with the notebook
self.topbar = HobViewBar(self.ins)
self.grid.attach(self.topbar, 0, 1, 0, 1, gtk.FILL | gtk.EXPAND, gtk.FILL | gtk.EXPAND, 1, 1)
self.ins.set_entry("Search packages:")
# set the search entry for each table
for tab in self.tables:
tab.table_tree.set_search_entry(self.topbar.search)
inctab_tree_view = self.tables[len(self.pages)-1].table_tree
inctab_tree_selection = inctab_tree_view.get_selection()
inctab_tree_selection.connect("changed", self.tree_selection_cb, inctab_tree_view)
tab.set_search_entry(0, self.ins.search)
# add all into the dialog
self.box_group_area.add(self.grid)
self.box_group_area.pack_start(self.ins, expand=True, fill=True)
button_box = gtk.HBox(False, 5)
button_box = gtk.HBox(False, 6)
self.box_group_area.pack_start(button_box, expand=False, fill=False)
self.build_image_button = gtk.Button()
label = gtk.Label()
mark = "<span %s>Build image</span>" % self.span_tag('24px', 'bold')
label.set_markup(mark)
self.build_image_button.set_image(label)
self.build_image_button = HobButton('Build image')
self.build_image_button.set_size_request(205, 49)
self.build_image_button.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(HobColors.ORANGE))
self.build_image_button.modify_bg(gtk.STATE_PRELIGHT, gtk.gdk.Color(HobColors.ORANGE))
self.build_image_button.modify_bg(gtk.STATE_SELECTED, gtk.gdk.Color(HobColors.ORANGE))
self.build_image_button.set_tooltip_text("Build image to get your target image")
self.build_image_button.set_tooltip_text("Build target image")
self.build_image_button.set_flags(gtk.CAN_DEFAULT)
self.build_image_button.grab_default()
self.build_image_button.connect("clicked", self.build_image_clicked_cb)
button_box.pack_end(self.build_image_button, expand=False, fill=False)
self.back_button = gtk.LinkButton("Go back to Image Configuration screen", "<< Back to image configuration")
self.back_button = HobAltButton("<< Back to image configuration")
self.back_button.connect("clicked", self.back_button_clicked_cb)
button_box.pack_start(self.back_button, expand=False, fill=False)
def tree_selection_cb(self, tree_selection, tree_view):
tree_model = tree_view.get_model()
path, column = tree_view.get_cursor()
if not path or column == tree_view.get_column(2):
return
it = tree_model.get_iter(path)
binb = tree_model.get_value(it, PackageListModel.COL_BINB)
if binb:
self.builder.show_binb_dialog(binb)
def button_click_cb(self, widget, event):
path, col = widget.table_tree.get_cursor()
tree_model = widget.table_tree.get_model()
if path: # else activation is likely a removal
binb = tree_model.get_value(tree_model.get_iter(path), PackageListModel.COL_BINB)
if binb:
self.builder.show_binb_dialog(binb)
def build_image_clicked_cb(self, button):
self.builder.build_image()
@@ -180,47 +169,77 @@ class PackageSelectionPage (HobPage):
self._expand_all()
self.builder.configuration.selected_packages = self.package_model.get_selected_packages()
self.builder.configuration.user_selected_packages = self.package_model.get_user_selected_packages()
selected_packages_num = len(self.builder.configuration.selected_packages)
selected_packages_size = float(self.package_model.get_packages_size())
selected_packages_size_str = self._size_to_string(selected_packages_size)
selected_packages_size = self.package_model.get_packages_size()
selected_packages_size_str = HobPage._size_to_string(selected_packages_size)
image_overhead_factor = self.builder.configuration.image_overhead_factor
image_rootfs_size = self.builder.configuration.image_rootfs_size
image_extra_size = self.builder.configuration.image_extra_size
image_rootfs_size = self.builder.configuration.image_rootfs_size * 1024 # image_rootfs_size is KB
image_extra_size = self.builder.configuration.image_extra_size * 1024 # image_extra_size is KB
base_size = image_overhead_factor * selected_packages_size
image_total_size = max(base_size, image_rootfs_size) + image_extra_size
image_total_size_str = self._size_to_string(image_total_size)
if "zypper" in self.builder.configuration.selected_packages:
image_total_size += (51200 * 1024)
image_total_size_str = HobPage._size_to_string(image_total_size)
self.label.set_text("Packages included: %s\nSelected packages size: %s\nTotal image size: %s" %
(selected_packages_num, selected_packages_size_str, image_total_size_str))
self.ins.show_indicator_icon("Included", selected_packages_num)
"""
Helper function to convert the package size to string format.
The unit of size is KB
"""
def _size_to_string(self, size):
if len(str(int(size))) > 3:
size_str = '%.1f' % (size*1.0/1024) + ' MB'
else:
size_str = str(size) + ' KB'
return size_str
# Callback functions
def reset_clicked_cb(self, button):
self.package_model.reset()
self.builder.reset_package_model()
def toggle_item_idle_cb(self, path):
def toggle_item_idle_cb(self, path, view_tree, cell, pagename):
if not self.package_model.path_included(path):
self.package_model.include_item(item_path=path, binb="User Selected")
else:
self.package_model.exclude_item(item_path=path)
if pagename == "Included":
self.pre_fadeout_checkout_include(view_tree)
self.package_model.exclude_item(item_path=path)
self.render_fadeout(view_tree, cell)
else:
self.package_model.exclude_item(item_path=path)
self.refresh_selection()
if not self.builder.customized:
self.builder.customized = True
self.builder.configuration.selected_image = self.recipe_model.__dummy_image__
self.builder.rcppkglist_populated()
self.builder.window_sensitive(True)
def table_toggled_cb(self, cell, view_path, view_tree):
def table_toggled_cb(self, table, cell, view_path, toggled_columnid, view_tree, pagename):
# Click to include a package
self.builder.window_sensitive(False)
view_model = view_tree.get_model()
path = self.package_model.convert_vpath_to_path(view_model, view_path)
glib.idle_add(self.toggle_item_idle_cb, path)
glib.idle_add(self.toggle_item_idle_cb, path, view_tree, cell, pagename)
def pre_fadeout_checkout_include(self, tree):
self.package_model.resync_fadeout_column(self.package_model.get_iter_first())
# Check out a model which base on the column COL_FADE_INC,
# it's save the prev state of column COL_INC before do exclude_item
filter = { PackageListModel.COL_FADE_INC : [True]}
new_model = self.package_model.tree_model(filter)
tree.set_model(new_model)
tree.expand_all()
def get_excluded_rows(self, to_render_cells, model, it):
while it:
path = model.get_path(it)
prev_cell_is_active = model.get_value(it, PackageListModel.COL_FADE_INC)
curr_cell_is_active = model.get_value(it, PackageListModel.COL_INC)
if (prev_cell_is_active == True) and (curr_cell_is_active == False):
to_render_cells.append(path)
if model.iter_has_child(it):
self.get_excluded_rows(to_render_cells, model, model.iter_children(it))
it = model.iter_next(it)
return to_render_cells
def render_fadeout(self, tree, cell):
if (not cell) or (not tree):
return
to_render_cells = []
def after_fadeout_checkin_include(self, table, ctrl, cell, tree):
tree.set_model(self.recipe_model.tree_model(self.pages[0]['filter']))

View File

@@ -0,0 +1,163 @@
#
# BitBake Graphical GTK User Interface
#
# Copyright (C) 2012 Intel Corporation
#
# Authored by Joshua Lock <josh@linux.intel.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import gobject
import gtk
try:
import gconf
except:
pass
class PersistentTooltip(gtk.Window):
"""
A tooltip which persists once shown until the user dismisses it with the Esc
key or by clicking the close button.
# FIXME: the PersistentTooltip should be disabled when the user clicks anywhere off
# it. We can't do this with focus-out-event becuase modal ensures we have focus?
markup: some Pango text markup to display in the tooltip
"""
def __init__(self, markup):
gtk.Window.__init__(self, gtk.WINDOW_POPUP)
# Inherit the system theme for a tooltip
style = gtk.rc_get_style_by_paths(gtk.settings_get_default(),
'gtk-tooltip', 'gtk-tooltip', gobject.TYPE_NONE)
self.set_style(style)
# The placement of the close button on the tip should reflect how the
# window manager of the users system places close buttons. Try to read
# the metacity gconf key to determine whether the close button is on the
# left or the right.
# In the case that we can't determine the users configuration we default
# to close buttons being on the right.
__button_right = True
try:
client = gconf.client_get_default()
order = client.get_string("/apps/metacity/general/button_layout")
if order and order.endswith(":"):
__button_right = False
except NameError:
pass
# We need to ensure we're only shown once
self.shown = False
# We don't want any WM decorations
self.set_decorated(False)
# We don't want to show in the taskbar or window switcher
self.set_skip_pager_hint(True)
self.set_skip_taskbar_hint(True)
# We must be modal to ensure we grab focus when presented from a gtk.Dialog
self.set_modal(True)
self.set_border_width(0)
self.set_position(gtk.WIN_POS_MOUSE)
self.set_opacity(0.95)
# Ensure a reasonable minimum size
self.set_geometry_hints(self, 100, 50)
# Draw our label and close buttons
hbox = gtk.HBox(False, 0)
hbox.show()
self.add(hbox)
img = gtk.Image()
img.set_from_stock(gtk.STOCK_CLOSE, gtk.ICON_SIZE_BUTTON)
self.button = gtk.Button()
self.button.set_image(img)
self.button.connect("clicked", self._dismiss_cb)
self.button.set_flags(gtk.CAN_DEFAULT)
self.button.grab_focus()
self.button.show()
vbox = gtk.VBox(False, 0)
vbox.show()
vbox.pack_start(self.button, False, False, 0)
if __button_right:
hbox.pack_end(vbox, True, True, 0)
else:
hbox.pack_start(vbox, True, True, 0)
self.set_default(self.button)
bin = gtk.HBox(True, 6)
bin.set_border_width(6)
bin.show()
self.label = gtk.Label()
self.label.set_line_wrap(True)
# We want to match the colours of the normal tooltips, as dictated by
# the users gtk+-2.0 theme, wherever possible - on some systems this
# requires explicitly setting a fg_color for the label which matches the
# tooltip_fg_color
settings = gtk.settings_get_default()
colours = settings.get_property('gtk-color-scheme').split('\n')
# remove any empty lines, there's likely to be a trailing one after
# calling split on a dictionary-like string
colours = filter(None, colours)
for col in colours:
item, val = col.split(': ')
if item == 'tooltip_fg_color':
style = self.label.get_style()
style.fg[gtk.STATE_NORMAL] = gtk.gdk.color_parse(val)
self.label.set_style(style)
break # we only care for the tooltip_fg_color
self.label.set_markup(markup)
self.label.show()
bin.add(self.label)
hbox.pack_end(bin, True, True, 6)
self.connect("key-press-event", self._catch_esc_cb)
"""
Callback when the PersistentTooltip's close button is clicked.
Hides the PersistentTooltip.
"""
def _dismiss_cb(self, button):
self.hide()
return True
"""
Callback when the Esc key is detected. Hides the PersistentTooltip.
"""
def _catch_esc_cb(self, widget, event):
keyname = gtk.gdk.keyval_name(event.keyval)
if keyname == "Escape":
self.hide()
return True
"""
Called to present the PersistentTooltip.
Overrides the superclasses show() method to include state tracking.
"""
def show(self):
if not self.shown:
self.shown = True
gtk.Window.show(self)
"""
Called to hide the PersistentTooltip.
Overrides the superclasses hide() method to include state tracking.
"""
def hide(self):
self.shown = False
gtk.Window.hide(self)

View File

@@ -29,10 +29,12 @@ class HobProgressBar (gtk.ProgressBar):
def set_rcstyle(self, status):
rcstyle = gtk.RcStyle()
rcstyle.fg[2] = gtk.gdk.Color(HobColors.BLACK)
if status:
rcstyle.bg[3] = gtk.gdk.Color(HobColors.RUNNING)
else:
if status == "stop":
rcstyle.bg[3] = gtk.gdk.Color(HobColors.WARNING)
elif status == "fail":
rcstyle.bg[3] = gtk.gdk.Color(HobColors.ERROR)
else:
rcstyle.bg[3] = gtk.gdk.Color(HobColors.RUNNING)
self.modify_style(rcstyle)
def set_title(self, text=None):

View File

@@ -23,7 +23,7 @@
import gtk
import glib
from bb.ui.crumbs.hobcolor import HobColors
from bb.ui.crumbs.hobwidget import HobWidget, HobViewBar, HobViewTable
from bb.ui.crumbs.hobwidget import HobViewTable, HobNotebook, HobAltButton, HobButton
from bb.ui.crumbs.hoblistmodel import RecipeListModel
from bb.ui.crumbs.hobpages import HobPage
@@ -33,83 +33,100 @@ from bb.ui.crumbs.hobpages import HobPage
class RecipeSelectionPage (HobPage):
pages = [
{
'name' : 'Recipe',
'filter' : { RecipeListModel.COL_TYPE : ['recipe'] },
'name' : 'Included',
'tooltip' : 'The recipes currently included for your image',
'filter' : { RecipeListModel.COL_INC : [True],
RecipeListModel.COL_TYPE : ['recipe', 'task'] },
'columns' : [{
'col_name' : 'Recipe',
'col_name' : 'Recipe name',
'col_id' : RecipeListModel.COL_NAME,
'col_style': 'text',
'col_min' : 100,
'col_max' : 400
'col_max' : 400,
'expand' : 'True'
}, {
'col_name' : 'License',
'col_id' : RecipeListModel.COL_LIC,
'col_style': 'text',
'col_name' : 'Brought in by',
'col_id' : RecipeListModel.COL_BINB,
'col_style': 'binb',
'col_min' : 100,
'col_max' : 400
'col_max' : 500,
'expand' : 'True'
}, {
'col_name' : 'Group',
'col_id' : RecipeListModel.COL_GROUP,
'col_style': 'text',
'col_min' : 100,
'col_max' : 400
'col_max' : 300,
'expand' : 'True'
}, {
'col_name' : 'Included',
'col_id' : RecipeListModel.COL_INC,
'col_style': 'toggle',
'col_min' : 50,
'col_max' : 50
'col_style': 'check toggle',
'col_min' : 100,
'col_max' : 100
}]
}, {
'name' : 'Recipe Collection',
'filter' : { RecipeListModel.COL_TYPE : ['task'] },
'name' : 'All recipes',
'tooltip' : 'All recipes available in the Yocto Project',
'filter' : { RecipeListModel.COL_TYPE : ['recipe'] },
'columns' : [{
'col_name' : 'Recipe Collection',
'col_name' : 'Recipe name',
'col_id' : RecipeListModel.COL_NAME,
'col_style': 'text',
'col_min' : 100,
'col_max' : 400
'col_max' : 400,
'expand' : 'True'
}, {
'col_name' : 'License',
'col_id' : RecipeListModel.COL_LIC,
'col_style': 'text',
'col_min' : 100,
'col_max' : 400,
'expand' : 'True'
}, {
'col_name' : 'Group',
'col_id' : RecipeListModel.COL_GROUP,
'col_style': 'text',
'col_min' : 100,
'col_max' : 400,
'expand' : 'True'
}, {
'col_name' : 'Included',
'col_id' : RecipeListModel.COL_INC,
'col_style': 'check toggle',
'col_min' : 100,
'col_max' : 100
}]
}, {
'name' : 'Tasks',
'tooltip' : 'All tasks availabel in the Yocto Project',
'filter' : { RecipeListModel.COL_TYPE : ['task'] },
'columns' : [{
'col_name' : 'Task name',
'col_id' : RecipeListModel.COL_NAME,
'col_style': 'text',
'col_min' : 100,
'col_max' : 400,
'expand' : 'True'
}, {
'col_name' : 'Description',
'col_id' : RecipeListModel.COL_DESC,
'col_style': 'text',
'col_min' : 100,
'col_max' : 400
'col_max' : 400,
'expand' : 'True'
}, {
'col_name' : 'Included',
'col_id' : RecipeListModel.COL_INC,
'col_style': 'toggle',
'col_min' : 50,
'col_max' : 50
}]
}, {
'name' : 'Included',
'filter' : { RecipeListModel.COL_INC : [True],
RecipeListModel.COL_TYPE : ['recipe', 'task'] },
'columns' : [{
'col_name' : 'Recipe',
'col_id' : RecipeListModel.COL_NAME,
'col_style': 'text',
'col_style': 'check toggle',
'col_min' : 100,
'col_max' : 400
}, {
'col_name' : 'Brought by',
'col_id' : RecipeListModel.COL_BINB,
'col_style': 'text',
'col_min' : 100,
'col_max' : 500
}, {
'col_name' : 'Included',
'col_id' : RecipeListModel.COL_INC,
'col_style': 'toggle',
'col_min' : 50,
'col_max' : 50
'col_max' : 100
}]
}
]
def __init__(self, builder = None):
super(RecipeSelectionPage, self).__init__(builder, "Recipe Selection")
super(RecipeSelectionPage, self).__init__(builder, "Recipes")
# set invisiable members
self.recipe_model = self.builder.recipe_model
@@ -118,77 +135,63 @@ class RecipeSelectionPage (HobPage):
self.create_visual_elements()
def create_visual_elements(self):
self.label = gtk.Label("Recipes included: %s" % len(self.builder.configuration.selected_recipes))
self.label = gtk.Label()
self.eventbox = self.add_onto_top_bar(self.label, 73)
self.pack_start(self.eventbox, expand=False, fill=False)
self.pack_start(self.group_align, expand=True, fill=True)
# set visiable members
self.grid = gtk.Table(10, 1, True)
self.grid.set_col_spacings(3)
# draw the left part of the window
# a notebook
self.ins = gtk.Notebook()
self.ins.set_show_tabs(False)
self.ins = HobNotebook()
self.tables = [] # we need modify table when the dialog is shown
# append the tabs in order
for i in range(len(self.pages)):
columns = self.pages[i]['columns']
tab = HobViewTable(columns, self.reset_clicked_cb, self.table_toggled_cb)
filter = self.pages[i]['filter']
tab.table_tree.set_model(self.recipe_model.tree_model(filter))
label = gtk.Label(self.pages[i]['name'])
for page in self.pages:
columns = page['columns']
tab = HobViewTable(columns)
filter = page['filter']
tab.set_model(self.recipe_model.tree_model(filter))
tab.connect("toggled", self.table_toggled_cb, page['name'])
if page['name'] == "Included":
tab.connect("button-release-event", self.button_click_cb)
tab.connect("cell-fadeinout-stopped", self.after_fadeout_checkin_include)
label = gtk.Label(page['name'])
label.set_selectable(False)
label.set_tooltip_text(page['tooltip'])
self.ins.append_page(tab, label)
self.tables.append(tab)
self.grid.attach(self.ins, 0, 1, 1, 10, gtk.FILL | gtk.EXPAND, gtk.FILL | gtk.EXPAND)
# a black bar associated with the notebook
self.topbar = HobViewBar(self.ins)
self.grid.attach(self.topbar, 0, 1, 0, 1, gtk.FILL | gtk.EXPAND, gtk.FILL | gtk.EXPAND)
self.ins.set_entry("Search recipes:")
# set the search entry for each table
for tab in self.tables:
tab.table_tree.set_search_entry(self.topbar.search)
inctab_tree_view = self.tables[len(self.pages)-1].table_tree
inctab_tree_selection = inctab_tree_view.get_selection()
inctab_tree_selection.connect("changed", self.tree_selection_cb, inctab_tree_view)
search_tip = "Enter a recipe's or task's name to find it"
self.ins.search.set_tooltip_text(search_tip)
self.ins.search.props.has_tooltip = True
tab.set_search_entry(0, self.ins.search)
# add all into the window
self.box_group_area.add(self.grid)
self.box_group_area.pack_start(self.ins, expand=True, fill=True)
button_box = gtk.HBox(False, 5)
button_box = gtk.HBox(False, 6)
self.box_group_area.pack_end(button_box, expand=False, fill=False)
self.build_packages_button = gtk.Button()
label = gtk.Label()
mark = "<span %s>Build packages</span>" % self.span_tag('24px', 'bold')
label.set_markup(mark)
self.build_packages_button.set_image(label)
self.build_packages_button = HobButton('Build packages')
self.build_packages_button.set_size_request(205, 49)
self.build_packages_button.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(HobColors.ORANGE))
self.build_packages_button.modify_bg(gtk.STATE_PRELIGHT, gtk.gdk.Color(HobColors.ORANGE))
self.build_packages_button.modify_bg(gtk.STATE_SELECTED, gtk.gdk.Color(HobColors.ORANGE))
self.build_packages_button.set_tooltip_text("Build packages for customization")
self.build_packages_button.set_tooltip_text("Build selected recipes into packages")
self.build_packages_button.set_flags(gtk.CAN_DEFAULT)
self.build_packages_button.grab_default()
self.build_packages_button.connect("clicked", self.build_packages_clicked_cb)
button_box.pack_end(self.build_packages_button, expand=False, fill=False)
self.back_button = gtk.LinkButton("Go back to Image Configuration screen", "<< Back to image configuration")
self.back_button = HobAltButton("<< Back to image configuration")
self.back_button.connect("clicked", self.back_button_clicked_cb)
button_box.pack_start(self.back_button, expand=False, fill=False)
def tree_selection_cb(self, tree_selection, tree_view):
tree_model = tree_view.get_model()
path, column = tree_view.get_cursor()
if not path or column == tree_view.get_column(2):
return
it = tree_model.get_iter(path)
binb = tree_model.get_value(it, RecipeListModel.COL_BINB)
if binb:
self.builder.show_binb_dialog(binb)
def button_click_cb(self, widget, event):
path, col = widget.table_tree.get_cursor()
tree_model = widget.table_tree.get_model()
if path: # else activation is likely a removal
binb = tree_model.get_value(tree_model.get_iter(path), RecipeListModel.COL_BINB)
if binb:
self.builder.show_binb_dialog(binb)
def build_packages_clicked_cb(self, button):
self.builder.build_packages()
@@ -200,22 +203,63 @@ class RecipeSelectionPage (HobPage):
self.builder.configuration.selected_image = self.recipe_model.get_selected_image()
_, self.builder.configuration.selected_recipes = self.recipe_model.get_selected_recipes()
self.label.set_text("Recipes included: %s" % len(self.builder.configuration.selected_recipes))
self.ins.show_indicator_icon("Included", len(self.builder.configuration.selected_recipes))
# Callback functions
def reset_clicked_cb(self, button):
self.builder.reset_recipe_model()
def toggle_item_idle_cb(self, path):
def toggle_item_idle_cb(self, path, view_tree, cell, pagename):
if not self.recipe_model.path_included(path):
self.recipe_model.include_item(item_path=path, binb="User Selected", image_contents=False)
else:
self.recipe_model.exclude_item(item_path=path)
if pagename == "Included":
self.pre_fadeout_checkout_include(view_tree)
self.recipe_model.exclude_item(item_path=path)
self.render_fadeout(view_tree, cell)
else:
self.recipe_model.exclude_item(item_path=path)
self.refresh_selection()
if not self.builder.customized:
self.builder.customized = True
self.builder.configuration.selected_image = self.recipe_model.__dummy_image__
self.builder.rcppkglist_populated()
self.builder.window_sensitive(True)
def table_toggled_cb(self, cell, view_path, view_tree):
def table_toggled_cb(self, table, cell, view_path, toggled_columnid, view_tree, pagename):
# Click to include a recipe
self.builder.window_sensitive(False)
view_model = view_tree.get_model()
path = self.recipe_model.convert_vpath_to_path(view_model, view_path)
glib.idle_add(self.toggle_item_idle_cb, path)
glib.idle_add(self.toggle_item_idle_cb, path, view_tree, cell, pagename)
def pre_fadeout_checkout_include(self, tree):
#resync the included items to a backup fade include column
it = self.recipe_model.get_iter_first()
while it:
active = self.recipe_model.get_value(it, self.recipe_model.COL_INC)
self.recipe_model.set(it, self.recipe_model.COL_FADE_INC, active)
it = self.recipe_model.iter_next(it)
# Check out a model which base on the column COL_FADE_INC,
# it's save the prev state of column COL_INC before do exclude_item
filter = { RecipeListModel.COL_FADE_INC : [True],
RecipeListModel.COL_TYPE : ['recipe', 'task'] }
new_model = self.recipe_model.tree_model(filter, excluded_items_ahead=True)
tree.set_model(new_model)
def render_fadeout(self, tree, cell):
if (not cell) or (not tree):
return
to_render_cells = []
model = tree.get_model()
it = model.get_iter_first()
while it:
path = model.get_path(it)
prev_cell_is_active = model.get_value(it, RecipeListModel.COL_FADE_INC)
curr_cell_is_active = model.get_value(it, RecipeListModel.COL_INC)
if (prev_cell_is_active == True) and (curr_cell_is_active == False):
to_render_cells.append(path)
it = model.iter_next(it)
cell.fadeout(tree, 1000, to_render_cells)
def after_fadeout_checkin_include(self, table, ctrl, cell, tree):
tree.set_model(self.recipe_model.tree_model(self.pages[0]['filter']))

View File

@@ -25,7 +25,9 @@ import logging
import time
import urllib
import urllib2
import pango
from bb.ui.crumbs.hobcolor import HobColors
from bb.ui.crumbs.hobwidget import HobWarpCellRendererText, HobCellRendererPixbuf
class RunningBuildModel (gtk.TreeStore):
(COL_LOG, COL_PACKAGE, COL_TASK, COL_MESSAGE, COL_ICON, COL_COLOR, COL_NUM_ACTIVE) = range(7)
@@ -40,23 +42,46 @@ class RunningBuildModel (gtk.TreeStore):
gobject.TYPE_STRING,
gobject.TYPE_INT)
def failure_model_filter(self, model, it):
color = model.get(it, self.COL_COLOR)[0]
if not color:
return False
if color == HobColors.ERROR:
return True
return False
def failure_model(self):
model = self.filter_new()
model.set_visible_func(self.failure_model_filter)
return model
def foreach_cell_func(self, model, path, iter, usr_data=None):
if model.get_value(iter, self.COL_ICON) == "gtk-execute":
model.set(iter, self.COL_ICON, "")
def close_task_refresh(self):
self.foreach(self.foreach_cell_func, None)
class RunningBuild (gobject.GObject):
__gsignals__ = {
'build-started' : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
'build-started' : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
'build-succeeded' : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
'build-succeeded' : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
'build-failed' : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
'build-complete' : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
'task-started' : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_PYOBJECT,)),
'log-error' : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
'build-failed' : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
'build-complete' : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
'task-started' : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_PYOBJECT,)),
}
pids_to_task = {}
tasks_to_iter = {}
@@ -107,6 +132,7 @@ class RunningBuild (gobject.GObject):
if event.levelno >= logging.ERROR:
icon = "dialog-error"
color = HobColors.ERROR
self.emit("log-error")
elif event.levelno >= logging.WARNING:
icon = "dialog-warning"
color = HobColors.WARNING
@@ -231,8 +257,8 @@ class RunningBuild (gobject.GObject):
HobColors.OK,
0))
if pbar:
pbar.update(0, None, bb.event.getName(event))
pbar.set_title()
pbar.update(0, self.progress_total)
pbar.set_title(bb.event.getName(event))
elif isinstance(event, bb.event.BuildCompleted):
failures = int (event._failures)
@@ -252,6 +278,8 @@ class RunningBuild (gobject.GObject):
# Emit a generic "build-complete" signal for things wishing to
# handle when the build is finished
self.emit("build-complete")
# reset the all cell's icon indicator
self.model.close_task_refresh()
if pbar:
pbar.set_text(event.msg)
@@ -260,6 +288,8 @@ class RunningBuild (gobject.GObject):
# If the command fails with an exit code we're done, emit the
# generic signal for the UI to notify the user
self.emit("build-complete")
# reset the all cell's icon indicator
self.model.close_task_refresh()
elif isinstance(event, bb.event.CacheLoadStarted) and pbar:
pbar.set_title("Loading cache")
@@ -288,6 +318,7 @@ class RunningBuild (gobject.GObject):
message["current"] = num_of_completed
message["total"] = event.stats.total
message["title"] = ""
message["task"] = event.taskstring
self.emit("task-started", message)
return
@@ -308,18 +339,26 @@ class RunningBuildTreeView (gtk.TreeView):
__gsignals__ = {
"button_press_event" : "override"
}
def __init__ (self, readonly=False):
def __init__ (self, readonly=False, hob=False):
gtk.TreeView.__init__ (self)
self.readonly = readonly
# The icon that indicates whether we're building or failed.
renderer = gtk.CellRendererPixbuf ()
# add 'hob' flag because there has not only hob to share this code
if hob:
renderer = HobCellRendererPixbuf ()
else:
renderer = gtk.CellRendererPixbuf()
col = gtk.TreeViewColumn ("Status", renderer)
col.add_attribute (renderer, "icon-name", 4)
self.append_column (col)
# The message of the build.
self.message_renderer = gtk.CellRendererText ()
# add 'hob' flag because there has not only hob to share this code
if hob:
self.message_renderer = HobWarpCellRendererText (col_number=1)
else:
self.message_renderer = gtk.CellRendererText ()
self.message_column = gtk.TreeViewColumn ("Message", self.message_renderer, text=3)
self.message_column.add_attribute(self.message_renderer, 'background', 5)
self.message_renderer.set_property('editable', (not self.readonly))
@@ -376,3 +415,22 @@ class RunningBuildTreeView (gtk.TreeView):
message = model.get(it, model.COL_MESSAGE)[0]
self._add_to_clipboard(message)
class BuildFailureTreeView(gtk.TreeView):
def __init__ (self):
gtk.TreeView.__init__(self)
self.set_rules_hint(False)
self.set_headers_visible(False)
self.get_selection().set_mode(gtk.SELECTION_SINGLE)
# The icon that indicates whether we're building or failed.
renderer = HobCellRendererPixbuf ()
col = gtk.TreeViewColumn ("Status", renderer)
col.add_attribute (renderer, "icon-name", RunningBuildModel.COL_ICON)
self.append_column (col)
# The message of the build.
self.message_renderer = HobWarpCellRendererText (col_number=1)
self.message_column = gtk.TreeViewColumn ("Message", self.message_renderer, text=RunningBuildModel.COL_MESSAGE, background=RunningBuildModel.COL_COLOR)
self.append_column (self.message_column)

View File

@@ -65,7 +65,7 @@ class ConfigFile(File):
if header:
self.header = header
else:
self.header = "# Config generated by the HOB\n\n"
self.header = "# Config generated by Hob\n\n"
self.dictionary = {}
def setVar(self, var, val):
@@ -94,7 +94,7 @@ class HobTemplateFile(ConfigFile):
This object does save or load hob specific file.
"""
def __init__(self, pathfilename):
ConfigFile.__init__(self, pathfilename, ".hob", "# Hob Template generated by the HOB\n\n")
ConfigFile.__init__(self, pathfilename, ".hob", "# Hob Template generated by Hob\n\n")
def getVar(self, var):
if var in self.dictionary:
@@ -121,12 +121,12 @@ class RecipeFile(ConfigFile):
This object is for image bb file.
"""
def __init__(self, pathfilename):
ConfigFile.__init__(self, pathfilename, ".bb", "# Recipe generated by the HOB\n\ninherit core-image\n")
ConfigFile.__init__(self, pathfilename, ".bb", "# Recipe generated by Hob\n\ninherit core-image\n")
class TemplateMgr(gobject.GObject):
__gLocalVars__ = ["MACHINE", "PACKAGE_CLASSES", "DISTRO", "DL_DIR", "SSTATE_DIR", "SSTATE_MIRROR", "PARALLEL_MAKE", "BB_NUMBER_THREAD"]
__gBBLayersVars__ = ["BBLAYERS"]
__gLocalVars__ = ["MACHINE", "PACKAGE_CLASSES", "DISTRO", "DL_DIR", "SSTATE_DIR", "SSTATE_MIRROR", "PARALLEL_MAKE", "BB_NUMBER_THREADS", "CONF_VERSION"]
__gBBLayersVars__ = ["BBLAYERS", "LCONF_VERSION"]
__gRecipeVars__ = ["DEPENDS", "IMAGE_INSTALL"]
def __init__(self):

View File

@@ -0,0 +1,33 @@
#
# BitBake UI Utils
#
# Copyright (C) 2012 Intel Corporation
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
# This utility method looks for xterm or vte and return the
# frist to exist, currently we are keeping this simple, but
# we will likely move the oe.terminal implementation into
# bitbake which will allow more flexibility.
import os
def which_terminal():
term = bb.utils.which(os.environ["PATH"], "xterm")
if term:
return term + " -e "
term = bb.utils.which(os.environ["PATH"], "vte")
if term:
return term + " -c "
return None

View File

@@ -20,10 +20,22 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import gobject
import gtk
import sys
import os
requirements = "FATAL: Gtk+, PyGtk and PyGobject are required to use Hob"
try:
import gobject
import gtk
import pygtk
pygtk.require('2.0') # to be certain we don't have gtk+ 1.x !?!
gtkver = gtk.gtk_version
pygtkver = gtk.pygtk_version
if gtkver < (2, 18, 0) or pygtkver < (2, 16, 0):
sys.exit("%s,\nYou have Gtk+ %s and PyGtk %s." % (requirements,
".".join(map(str, gtkver)),
".".join(map(str, pygtkver))))
except ImportError as exc:
sys.exit("%s (%s)." % (requirements, str(exc)))
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.dirname(__file__))))
try:
import bb
@@ -47,15 +59,6 @@ def event_handle_idle_func(eventHandler, hobHandler):
return True
def main (server = None, eventHandler = None):
bitbake_server = None
client_addr = None
server_addr = None
if not eventHandler:
helper = uihelper.BBUIHelper()
server, eventHandler, server_addr, client_addr = helper.findServerDetails()
bitbake_server = server
gobject.threads_init()
# That indicates whether the Hob and the bitbake server are
@@ -64,9 +67,7 @@ def main (server = None, eventHandler = None):
recipe_model = RecipeListModel()
package_model = PackageListModel()
hobHandler = HobHandler(bitbake_server, server_addr, client_addr, recipe_model, package_model)
if hobHandler.kick() == False:
return 1
hobHandler = HobHandler(server, recipe_model, package_model)
builder = Builder(hobHandler, recipe_model, package_model)
# This timeout function regularly probes the event queue to find out if we

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@@ -3,7 +3,7 @@
#
# Handling output to TTYs or files (no TTY)
#
# Copyright (C) 2006-2007 Richard Purdie
# Copyright (C) 2006-2012 Richard Purdie
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
@@ -70,7 +70,41 @@ def pluralise(singular, plural, qty):
else:
return plural % qty
def main(server, eventHandler):
class TerminalFilter(object):
def __init__(self, main, helper, console, format):
self.main = main
self.helper = helper
def clearFooter(self):
return
def updateFooter(self):
if not main.shutdown or not self.helper.needUpdate:
return
activetasks = self.helper.running_tasks
runningpids = self.helper.running_pids
if len(runningpids) == 0:
return
self.helper.getTasks()
tasks = []
for t in runningpids:
tasks.append("%s (pid %s)" % (activetasks[t]["title"], t))
if main.shutdown:
print("Waiting for %s running tasks to finish:" % len(activetasks))
else:
print("Currently %s running tasks (%s of %s):" % (len(activetasks), self.helper.tasknumber_current, self.helper.tasknumber_total))
for tasknum, task in enumerate(tasks):
print("%s: %s" % (tasknum, task))
def finish(self):
return
def main(server, eventHandler, tf = TerminalFilter):
# Get values of variables which control our output
includelogs = server.runCommand(["getVariable", "BBINCLUDELOGS"])
@@ -106,32 +140,29 @@ def main(server, eventHandler):
print("XMLRPC Fault getting commandline:\n %s" % x)
return 1
parseprogress = None
cacheprogress = None
shutdown = 0
main.shutdown = 0
interrupted = False
return_value = 0
errors = 0
warnings = 0
taskfailures = []
termfilter = tf(main, helper, console, format)
while True:
try:
termfilter.updateFooter()
event = eventHandler.waitEvent(0.25)
if event is None:
if shutdown > 1:
if main.shutdown > 1:
break
continue
helper.eventHandler(event)
if isinstance(event, bb.runqueue.runQueueExitWait):
if not shutdown:
shutdown = 1
if shutdown and helper.needUpdate:
activetasks, failedtasks = helper.getTasks()
if activetasks:
print("Waiting for %s active tasks to finish:" % len(activetasks))
for tasknum, task in enumerate(activetasks):
print("%s: %s (pid %s)" % (tasknum, activetasks[task]["title"], task))
if not main.shutdown:
main.shutdown = 1
if isinstance(event, logging.LogRecord):
if event.levelno >= format.ERROR:
@@ -151,6 +182,7 @@ def main(server, eventHandler):
return_value = 1
logfile = event.logfile
if logfile and os.path.exists(logfile):
termfilter.clearFooter()
print("ERROR: Logfile of failure stored in: %s" % logfile)
if includelogs and not event.errprinted:
print("Log data follows:")
@@ -206,14 +238,14 @@ def main(server, eventHandler):
return_value = event.exitcode
errors = errors + 1
logger.error("Command execution failed: %s", event.error)
shutdown = 2
main.shutdown = 2
continue
if isinstance(event, bb.command.CommandExit):
if not return_value:
return_value = event.exitcode
continue
if isinstance(event, (bb.command.CommandCompleted, bb.cooker.CookerExit)):
shutdown = 2
main.shutdown = 2
continue
if isinstance(event, bb.event.MultipleProviders):
logger.info("multiple providers are available for %s%s (%s)", event._is_runtime and "runtime " or "",
@@ -281,18 +313,20 @@ def main(server, eventHandler):
logger.error("Unknown event: %s", event)
except EnvironmentError as ioerror:
termfilter.clearFooter()
# ignore interrupted io
if ioerror.args[0] == 4:
pass
except KeyboardInterrupt:
if shutdown == 1:
termfilter.clearFooter()
if main.shutdown == 1:
print("\nSecond Keyboard Interrupt, stopping...\n")
server.runCommand(["stateStop"])
if shutdown == 0:
if main.shutdown == 0:
interrupted = True
print("\nKeyboard Interrupt, closing down...\n")
server.runCommand(["stateShutdown"])
shutdown = shutdown + 1
main.shutdown = main.shutdown + 1
pass
summary = ""
@@ -315,4 +349,6 @@ def main(server, eventHandler):
if return_value == 0:
return_value = 1
termfilter.finish()
return return_value

View File

@@ -0,0 +1,109 @@
#
# BitBake (No)TTY UI Implementation (v2)
#
# Handling output to TTYs or files (no TTY)
#
# Copyright (C) 2012 Richard Purdie
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
from bb.ui import knotty
import logging
import sys
logger = logging.getLogger("BitBake")
class InteractConsoleLogFilter(logging.Filter):
def __init__(self, tf, format):
self.tf = tf
self.format = format
def filter(self, record):
if record.levelno == self.format.NOTE and (record.msg.startswith("Running") or record.msg.startswith("package ")):
return False
self.tf.clearFooter()
return True
class TerminalFilter2(object):
def __init__(self, main, helper, console, format):
self.main = main
self.helper = helper
self.cuu = None
self.stdinbackup = None
self.interactive = sys.stdout.isatty()
self.footer_present = False
self.lastpids = []
if not self.interactive:
return
import curses
import termios
import copy
self.curses = curses
self.termios = termios
try:
fd = sys.stdin.fileno()
self.stdinbackup = termios.tcgetattr(fd)
new = copy.deepcopy(self.stdinbackup)
new[3] = new[3] & ~termios.ECHO
termios.tcsetattr(fd, termios.TCSADRAIN, new)
curses.setupterm()
self.ed = curses.tigetstr("ed")
if self.ed:
self.cuu = curses.tigetstr("cuu")
except:
self.cuu = None
console.addFilter(InteractConsoleLogFilter(self, format))
def clearFooter(self):
if self.footer_present:
lines = self.footer_present
sys.stdout.write(self.curses.tparm(self.cuu, lines))
sys.stdout.write(self.curses.tparm(self.ed))
self.footer_present = False
def updateFooter(self):
if not self.cuu:
return
activetasks = self.helper.running_tasks
failedtasks = self.helper.failed_tasks
runningpids = self.helper.running_pids
if self.footer_present and (self.lastpids == runningpids):
return
if self.footer_present:
self.clearFooter()
if not activetasks:
return
lines = 1
tasks = []
for t in runningpids:
tasks.append("%s (pid %s)" % (activetasks[t]["title"], t))
if self.main.shutdown:
print("Waiting for %s running tasks to finish:" % len(activetasks))
else:
print("Currently %s running tasks (%s of %s):" % (len(activetasks), self.helper.tasknumber_current, self.helper.tasknumber_total))
for tasknum, task in enumerate(tasks):
print("%s: %s" % (tasknum, task))
lines = lines + 1
self.footer_present = lines
self.lastpids = runningpids[:]
def finish(self):
if self.stdinbackup:
fd = sys.stdin.fileno()
self.termios.tcsetattr(fd, self.termios.TCSADRAIN, self.stdinbackup)
def main(server, eventHandler):
bb.ui.knotty.main(server, eventHandler, TerminalFilter2)

View File

@@ -23,18 +23,34 @@ class BBUIHelper:
def __init__(self):
self.needUpdate = False
self.running_tasks = {}
# Running PIDs preserves the order tasks were executed in
self.running_pids = []
self.failed_tasks = []
self.tasknumber_current = 0
self.tasknumber_total = 0
def eventHandler(self, event):
if isinstance(event, bb.build.TaskStarted):
self.running_tasks[event.pid] = { 'title' : "%s %s" % (event._package, event._task) }
self.running_pids.append(event.pid)
self.needUpdate = True
if isinstance(event, bb.build.TaskSucceeded):
del self.running_tasks[event.pid]
self.running_pids.remove(event.pid)
self.needUpdate = True
if isinstance(event, bb.build.TaskFailed) or isinstance(event, bb.build.TaskFailedSilent):
if isinstance(event, bb.build.TaskFailedSilent):
del self.running_tasks[event.pid]
self.running_pids.remove(event.pid)
# Don't add to the failed tasks list since this is e.g. a setscene task failure
self.needUpdate = True
if isinstance(event, bb.build.TaskFailed):
del self.running_tasks[event.pid]
self.running_pids.remove(event.pid)
self.failed_tasks.append( { 'title' : "%s %s" % (event._package, event._task)})
self.needUpdate = True
if isinstance(event, bb.runqueue.runQueueTaskStarted):
self.tasknumber_current = event.stats.completed + event.stats.active + event.stats.failed + 1
self.tasknumber_total = event.stats.total
def getTasks(self):
self.needUpdate = False

View File

@@ -60,6 +60,20 @@ def explode_version(s):
s = s[1:]
return r
def split_version(s):
"""Split a version string into its constituent parts (PE, PV, PR)"""
s = s.strip(" <>=")
e = 0
if s.count(':'):
e = int(s.split(":")[0])
s = s.split(":")[1]
r = ""
if s.count('-'):
r = s.rsplit("-", 1)[1]
s = s.rsplit("-", 1)[0]
v = s
return (e, v, r)
def vercmp_part(a, b):
va = explode_version(a)
vb = explode_version(b)

View File

@@ -1,48 +1,61 @@
# This is a single Makefile to handle all generated Yocto Project documents.
# The Makefile needs to live in the documents directory and all figures used
# in any manuals must be PNG files and live in the individual book's figures
# directory.
# in any manuals must be .PNG files and live in the individual book's figures
# directory. Note that the figures for the Yocto Project Development Manual
# differ between the 'master' and 'edison' branches.
#
# The Makefile has these targets:
#
# pdf: generates a PDF version of a manual. Not valid for the Quick Start
# html: generates an HTML version of a manual.
# tarball: creates a tarball for the doc files.
# pdf: generates a PDF version of a manual. Not valid for the Quick Start
# html: generates an HTML version of a manual.
# tarball: creates a tarball for the doc files.
# validate: validates
# publish: pushes generated files to the Yocto Project website
# clean: removes files
# publish: pushes generated files to the Yocto Project website
# clean: removes files
#
# The Makefile generates an HTML and PDF version of every document except the
# Yocto Project Quick Start. The Quick Start is in HTML form only. The variable
# The command-line argument DOC represents the folder name in which a particular
# document is stored. The command-line argument VER represents the distro
# version of the Yocto Release for which the manuals are being generated.
# DOC is used to indicate the folder name for a given manual. The variable
# VER represents the distro version of the Yocto Release for which the manuals
# are being generated. The variable BRANCH is used to indicate the 'edison'
# branch and is used only when DOC=dev-manual (making the YP Development
# Manual).
#
# To build the HTML and PDF versions of the manual you must invoke the Makefile
# with the DOC argument. If you are going to publish the manual then you
# you must invoke the Makefile with both the DOC and the VER argument.
# If you are building the 'edison' version of the YP DEvelopment Manual then
# you must use the DOC and BRANCH arguments.
#
# Examples:
#
# make DOC=bsp-guide
# make DOC=yocto-project-qs
# make pdf DOC=poky-ref-manual
# make DOC=dev-manual BRANCH=edison
#
# The first example generates the HTML and PDF versions of the BSP Guide.
# The second example generates the HTML version only of the Quick Start. Note that
# the Quick Start only has an HTML version available. The third example generates
# both the PDF and HTML versions of the Yocto Project Reference Manual.
# both the PDF and HTML versions of the Yocto Project Reference Manual. The
# last example generates both the PDF and HTML 'edison' versions of the YP
# Development Manual.
#
# Use the publish target to push the generated manuals to the Yocto Project
# website. All files needed for the manual's HTML form are pushed as well as the
# PDF version (if applicable).
# Examples:
#
# make publish DOC=bsp-guide VER=1.1
# make publish DOC=adt-manual VER=1.1
# make publish DOC=bsp-guide VER=1.2
# make publish DOC=adt-manual VER=1.2
# make publish DOC=dev-manual VER=1.1.1 BRANCH=edison
# make publish DOC=dev-manual VER=1.2
#
# The first example publishes the 1.1 version of both the PDF and HTML versions of
# the BSP Guide. The second example publishes the 1.1 version of both the PDF and
# HTML versions of the ADT Manual.
# The first example publishes the 1.2 version of both the PDF and HTML versions of
# the BSP Guide. The second example publishes the 1.2 version of both the PDF and
# HTML versions of the ADT Manual. The third example publishes the PDF and HTML
# 'edison' versions of the YP Development Manual. Finally, the last example publishes
# the PDF and HTML 'master' versions of the YP Development Manual.
#
ifeq ($(DOC),bsp-guide)
@@ -66,11 +79,32 @@ XSLTOPTS = --stringparam html.stylesheet style.css \
--stringparam section.label.includes.component.label 1 \
--xinclude
ALLPREQ = html pdf tarball
TARFILES = style.css dev-manual.html dev-manual.pdf figures/bsp-dev-flow.png figures/dev-title.png \
#
# Note that the tarfile might produce the "Cannot stat: No such file or directory" error
# message for .PNG files that are not present when building a particular branch. The
# list of files is all-inclusive for all branches.
#
ifeq ($(BRANCH),edison)
TARFILES = style.css dev-manual.html dev-manual.pdf \
figures/app-dev-flow.png figures/bsp-dev-flow.png figures/dev-title.png \
figures/git-workflow.png figures/index-downloads.png figures/kernel-dev-flow.png \
figures/kernel-example-repos.png figures/kernel-overview-1.png figures/kernel-overview-2.png \
figures/kernel-overview-3.png figures/source-repos.png figures/yp-download.png \
figures/kernel-example-repos-edison.png \
figures/kernel-overview-1.png figures/kernel-overview-2.png \
figures/kernel-overview-3-edison.png \
figures/source-repos.png figures/yp-download.png \
figures/wip.png
else
TARFILES = style.css dev-manual.html dev-manual.pdf \
figures/app-dev-flow.png figures/bsp-dev-flow.png figures/dev-title.png \
figures/git-workflow.png figures/index-downloads.png figures/kernel-dev-flow.png \
figures/kernel-example-repos.png \
figures/kernel-overview-1.png figures/kernel-overview-2.png \
figures/kernel-overview-3.png \
figures/source-repos.png figures/yp-download.png \
figures/wip.png
endif
MANUALS = $(DOC)/$(DOC).html $(DOC)/$(DOC).pdf
FIGURES = figures
STYLESHEET = $(DOC)/*.css

77
documentation/README Normal file
View File

@@ -0,0 +1,77 @@
documentation
=============
This is the directory that contains the Yocto Project documentation. The Yocto
Project source repositories at http://git.yoctoproject.org/cgit.cgi have two
instances of the "documentation" directory. You should understand each of
these instances.
poky/documentation - The directory within the poky Git repository containing
the set of Yocto Project manuals. When you clone the
poky Git repository, the documentation directory
contains the manuals. The state of the manuals in this
directory is guaranteed to reflect the latest Yocto
Project release. The manuals at the tip of this
directory will also likely contain most manual
development changes.
yocto-docs/documentation - The Git repository for the Yocto Project manuals.
This repository is where manual development
occurs. If you plan on contributing back to the
Yocto Project documentation, you should set up
a local Git repository based on this upstream
repository as follows:
git clone git://git.yoctoproject.org/yocto-docs
Changes and patches are first pushed to the
yocto-docs Git repository. Later, they make it
into the poky Git repository found at
git://git.yoctoproject.org/poky.
Manual Organization
===================
Folders exist for individual manuals as follows:
* adt-manual - The Yocto Project Application Development Toolkit (ADT)
User's Guide.
* bsp-guide - The Yocto Project Board Support (BSP) Developer's Guide
* dev-manual - The Yocto Project Development Manual
* kernel-manual - The Yocto Project Kernel Architecture and Use Manual
* poky-ref-manual - The Yocto Project Reference Manual
* yocto-project-qs - The Yocto Project Quick Start
Each folder is self-contained regarding content and figures.
Makefile
========
The Makefile processes manual directories to create HTML, PDF,
tarballs, etc. Details on how the Makefile work are documented
inside the Makefile. See that file for more information.
To build a manual, you run the make command and pass it the name
of the folder containing the manual's contents.
For example, the following command run from the documentation directory
creates an HTML and a PDF version of the ADT manual.
The DOC variable specifies the manual you are making:
$ make DOC=adt-manual
poky.ent
========
This file defines variables used for documentation production. The variables
are used to define release pathnames, URLs for the published manuals, etc.
template
========
Contains various templates, fonts, and some old PNG files.
tools
=====
Contains a tool to convert the DocBook files to PDF format.

View File

@@ -1,5 +1,6 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='using-the-command-line'>
<title>Using the Command Line</title>
@@ -12,9 +13,9 @@
Toolchain Tarball)</link>".
And, that sourcing your architecture-specific environment setup script
initializes a suitable cross-toolchain development environment.
This setup occurs by adding the compiler, QEMU scripts, QEMU binary,
During the setup, locations for the compiler, QEMU scripts, QEMU binary,
a special version of <filename>pkgconfig</filename> and other useful
utilities to the <filename>PATH</filename> variable.
utilities are added to the <filename>PATH</filename> variable.
Variables to assist <filename>pkgconfig</filename> and <filename>autotools</filename>
are also defined so that,
for example, <filename>configure.sh</filename> can find pre-generated

View File

@@ -1,5 +1,6 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='adt-eclipse'>
<title>Working Within Eclipse</title>
@@ -40,10 +41,10 @@
<title>Installing the Eclipse IDE</title>
<para>
It is recommended that you have the Indigo 3.7 version of the
It is recommended that you have the Indigo 3.7.2 version of the
Eclipse IDE installed on your development system.
If you dont have this version, you can find it at
<ulink url='http://www.eclipse.org/downloads'></ulink>.
<ulink url='&ECLIPSE_MAIN_URL;'></ulink>.
From that site, choose the Eclipse Classic version particular to your development
host.
This version contains the Eclipse Platform, the Java Development
@@ -53,10 +54,12 @@
<para>
Once you have downloaded the tarball, extract it into a clean
directory.
For example, the following command unpacks and installs the Eclipse IDE
For example, the following commands unpack and install the Eclipse IDE
tarball found in the <filename>Downloads</filename> area
into a clean directory using the default name <filename>eclipse</filename>:
<literallayout class='monospaced'>
$ tar -xzvf ~/Downloads/Eclipse-SDK-3.7-linux-gtk-x86_64.tar.gz
$ cd ~
$ tar -xzvf ~/Downloads/eclipse-SDK-3.7.1-linux-gtk-x86_64.tar.gz
</literallayout>
</para>
@@ -98,20 +101,22 @@
<listitem><para>Make sure you are in your Workbench and select
"Install New Software" from the "Help" pull-down menu.
</para></listitem>
<listitem><para>Select <filename>indigo - http://download.eclipse.org/releases/indigo</filename>
<listitem><para>Select <filename>indigo - &ECLIPSE_INDIGO_URL;</filename>
from the "Work with:" pull-down menu.</para></listitem>
<listitem><para>Expand the box next to <filename>Programming Languages</filename>
and select the <filename>Autotools Support for CDT (incubation)</filename>
and <filename>C/C++ Development Tools</filename> boxes.</para></listitem>
<listitem><para>Expand the box next to "Linux Tools" and select the
"LTTng - Linux Tracing Toolkit(incubation)" boxes.</para></listitem>
<listitem><para>Complete the installation and restart the Eclipse IDE.</para></listitem>
<listitem><para>After the Eclipse IDE restarts and from the Workbench, select
"Install New Software" from the "Help" pull-down menu.</para></listitem>
<listitem><para>Click the
"Available Software Sites" link.</para></listitem>
<listitem><para>Check the box next to
<filename>http://download.eclipse.org/tm/updates/3.3</filename>
<filename>&ECLIPSE_UPDATES_URL;</filename>
and click "OK".</para></listitem>
<listitem><para>Select <filename>http://download.eclipse.org/tm/updates/3.3</filename>
<listitem><para>Select <filename>&ECLIPSE_UPDATES_URL;</filename>
from the "Work with:" pull-down menu.</para></listitem>
<listitem><para>Check the box next to <filename>TM and RSE Main Features</filename>.
</para></listitem>
@@ -125,7 +130,7 @@
<listitem><para>After clicking "Available Software Sites", check the box next to
<filename>http://download.eclipse.org/tools/cdt/releases/indigo</filename>
and click "OK".</para></listitem>
<listitem><para>Select <filename>http://download.eclipse.org/tools/cdt/releases/indigo</filename>
<listitem><para>Select <filename>&ECLIPSE_INDIGO_CDT_URL;</filename>
from the "Work with:" pull-down menu.</para></listitem>
<listitem><para>Check the box next to <filename>CDT Main Features</filename>.
</para></listitem>
@@ -138,30 +143,36 @@
</section>
<section id='installing-the-eclipse-yocto-plug-in'>
<title>Installing the Eclipse Yocto Plug-in</title>
<title>Installing or Accessing the Eclipse Yocto Plug-in</title>
<para>
You can install the Eclipse Yocto Plug-in one of three methods: as new software
from within the Eclipse IDE, from the Yocto Project source repositories, or as a built zip file.
You can install the Eclipse Yocto Plug-in into the Eclipse IDE
one of two ways: use the Yocto Project update site to install the pre-built plug-in,
or build and install the plug-in from the latest source code.
If you don't want to permanently install the plug-in but just want to try it out
within the Eclipse environment, you can import the plug-in project from the
Yocto Project source repositories.
</para>
<section id='new-software'>
<title>New Software</title>
<title>Installing the Pre-built Plug-in from the Yocto Project Eclipse Update Site</title>
<para>
To install the Eclipse Yocto Plug-in directly into the Eclipse IDE,
To install the Eclipse Yocto Plug-in from the update site,
follow these steps:
<orderedlist>
<listitem><para>Start up the Eclipse IDE.</para></listitem>
<listitem><para>In Eclipse, select "Install New Software" from the "Help" menu.</para></listitem>
<listitem><para>Click "Add..." in the "Work with:" area.</para></listitem>
<listitem><para>Enter
<filename>http://www.yoctoproject.org/downloads/eclipse-plugin/1.1</filename>
<filename>&ECLIPSE_DL_PLUGIN_URL;</filename>
in the URL field and provide a meaningful name in the "Name" field.</para></listitem>
<listitem><para>Click "OK" to have the entry added to the "Work with:"
drop-down list.</para></listitem>
<listitem><para>Select the entry for the plug-in from the "Work with:" drop-down
list.</para></listitem>
<listitem><para>Check the box next to <filename>Development tools and SDKs for Yocto Linux</filename>.
</para></listitem>
<listitem><para>Complete the remaining software installation steps and
then restart the Eclipse IDE to finish the installation of the plug-in.
</para></listitem>
@@ -169,49 +180,10 @@
</para>
</section>
<section id='yocto-project-source'>
<title>Yocto Project Source</title>
<para>
To install the Eclipse Yocto Plug-in from the Yocto Project source repositories,
follow these steps:
<orderedlist>
<listitem><para>Open a shell and create a Git repository with:
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/eclipse-poky yocto-eclipse
</literallayout>
For this example, the repository is named
<filename>~/yocto-eclipse</filename>.</para></listitem>
<listitem><para>In Eclipse, select "Import" from the "File" menu.</para></listitem>
<listitem><para>Expand the "General" box and pick "existing projects into workspace".
</para></listitem>
<listitem><para>Select the root directory and browse to "~/yocto-eclipse/plugins".
</para></listitem>
<listitem><para>There will be three things there.
Select each one and install one at a time.
Do all three.</para></listitem>
<listitem><para>Restart everything.</para></listitem>
</orderedlist>
</para>
<para>
At this point you should be able to invoke Eclipse from the shell using the following:
<literallayout class='monospaced'>
$ cd ~/eclipse
$ ./eclipse -vmargs -XX:PermSize=256M
</literallayout>
The left navigation pane shows the default projects.
Right-click on one of these projects and run it as an Eclipse application.
This brings up a second instance of Eclipse IDE that has the Yocto Plug-in.
</para>
</section>
<section id='zip-file-method'>
<title>Zip File Method</title>
<title>Installing the Plug-in Using the Latest Source Code</title>
<para>
To install the Eclipse Yocto Plug-in by building and installing a plug-in
zip file, follow these steps:
To install the Eclipse Yocto Plug-in from the latest source code, follow these steps:
<orderedlist>
<listitem><para>Open a shell and create a Git repository with:
<literallayout class='monospaced'>
@@ -247,22 +219,57 @@
</para></listitem>
<listitem><para>Click "Add".</para></listitem>
<listitem><para>Provide anything you want in the "Name" field.</para></listitem>
<listitem><para>For the "Archive" field, select the ZIP file you built in step
4.
<listitem><para>Click "Archive" and browse to the ZIP file you built
in step four.
This ZIP file should not be "unzipped", and must be the
<filename>*archive.zip</filename> file created by running the
<filename>build.sh</filename> script.</para></listitem>
<listitem><para>Select the new entry in the installation window and complete
<listitem><para>Check the box next to the new entry in the installation window and complete
the installation.</para></listitem>
<listitem><para>Restart the Eclipse IDE if necessary.</para></listitem>
</orderedlist>
</para>
<para>
At this point you should be able to configure the Eclipse Yocto Plug-in as described in
the next section.
At this point you should be able to configure the Eclipse Yocto Plug-in as described in the
"<link linkend='configuring-the-eclipse-yocto-plug-in'>Configuring the Eclipse Yocto Plug-in</link>"
section.</para>
</section>
<section id='yocto-project-source'>
<title>Importing the Plug-in Project into the Eclipse Environment</title>
<para>
Importing the Eclipse Yocto Plug-in project from the Yocto Project source repositories
is useful when you want to try out the latest plug-in from the tip of plug-in's
development tree.
It is important to understand when you import the plug-in you are not installing
it into the Eclipse application.
Rather, you are importing the project and just using it.
To import the plug-in project, follow these steps:
<orderedlist>
<listitem><para>Open a shell and create a Git repository with:
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/eclipse-poky yocto-eclipse
</literallayout>
For this example, the repository is named
<filename>~/yocto-eclipse</filename>.</para></listitem>
<listitem><para>In Eclipse, select "Import" from the "File" menu.</para></listitem>
<listitem><para>Expand the "General" box and select "existing projects into workspace"
and then click "Next".</para></listitem>
<listitem><para>Select the root directory and browse to
<filename>~/yocto-eclipse/plugins</filename>.</para></listitem>
<listitem><para>Three plug-ins exist: "org.yocto.bc.ui", "org.yocto.sdk.ide", and
"org.yocto.sdk.remotetools".
Select and import all of them.</para></listitem>
</orderedlist>
</para>
<para>
The left navigation pane in the Eclipse application shows the default projects.
Right-click on one of these projects and run it as an Eclipse application.
This brings up a second instance of Eclipse IDE that has the Yocto Plug-in.
</para>
</section>
</section>
</section>
<section id='configuring-the-eclipse-yocto-plug-in'>
@@ -349,9 +356,8 @@
The pull-down menu should have the supported architectures.
If the architecture you need is not listed in the menu, you
will need to build the image.
See the "<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#building-image'>Building an Image</ulink>" section of the
<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html'>
The Yocto Project Quick Start</ulink> for more information.</para></listitem>
See the "<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>" section
of The Yocto Project Quick Start for more information.</para></listitem>
</itemizedlist>
</para>
</section>
@@ -467,7 +473,9 @@
The script also runs <filename>libtoolize</filename>, <filename>aclocal</filename>,
<filename>autoconf</filename>, <filename>autoheader</filename>,
<filename>automake --a</filename>, and
<filename>./configure</filename>.</para></listitem>
<filename>./configure</filename>.
Click on the <filename>Console</filename> tab beneath your source code to
see the results of reconfiguring your project.</para></listitem>
</orderedlist>
</para>
</section>
@@ -490,7 +498,7 @@
<listitem><para>Expose the <filename>Run -&gt; External Tools</filename> menu.
Your image should appear as a selectable menu item.
</para></listitem>
<listitem><para>Select your image in the navigation pane to launch the
<listitem><para>Select your image from the menu to launch the
emulator in a new window.</para></listitem>
<listitem><para>If needed, enter your host root password in the shell window at the prompt.
This sets up a <filename>Tap 0</filename> connection needed for running in user-space
@@ -509,8 +517,8 @@
<title>Deploying and Debugging the Application</title>
<para>
Once the QEMU emulator is running the image, you can deploy your application and use the emulator
to perform debugging.
Once the QEMU emulator is running the image, using the Eclipse IDE
you can deploy your application and use the emulator to perform debugging.
Follow these steps to deploy the application.
<orderedlist>
<listitem><para>Select <filename>Run -&gt; Debug Configurations...</filename></para></listitem>
@@ -550,7 +558,7 @@
your development experience.
These tools are aids in developing and debugging applications and images.
You can run these user-space tools from within the Eclipse IDE through the
<filename>Window -&gt; YoctoTools</filename> menu.
<filename>YoctoTools</filename> menu.
</para>
<para>
@@ -575,14 +583,14 @@
host can use, you must have <filename>oprofile</filename> version 0.9.4 or
greater installed on the host.</para>
<para>You can locate both the viewer and server from
<ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/oprofileui/'></ulink>.
<ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/oprofileui/'></ulink>.
<note>The <filename>oprofile-server</filename> is installed by default on
the <filename>core-image-sato-sdk</filename> image.</note></para></listitem>
<listitem><para><emphasis><filename>Lttng-ust</filename>:</emphasis> Selecting this tool runs
<filename>usttrace</filename> on the remote target, transfers the output data back to the
local host machine, and uses <filename>lttv-gui</filename> to graphically display the output.
The <filename>lttv-gui</filename> must be installed on the local host machine to use this tool.
For information on how to use <filename>lttng</filename> to trace an application, see
<listitem><para><emphasis><filename>Lttng-ust</filename>:</emphasis> Selecting this tool runs
<filename>usttrace</filename> on the remote target, transfers the output data back
to the local host machine, and uses the <filename>lttng</filename> Eclipse plug-in to
graphically display the output.
For information on how to use <filename>lttng</filename> to trace an application, see
<ulink url='http://lttng.org/files/ust/manual/ust.html'></ulink>.</para>
<para>For <filename>Application</filename>, you must supply the absolute path name of the
application to be traced by user mode <filename>lttng</filename>.
@@ -590,7 +598,32 @@
<filename>usttrace /path/to/foo</filename> on the remote target to trace the
program <filename>/path/to/foo</filename>.</para>
<para><filename>Argument</filename> is passed to <filename>usttrace</filename>
running on the remote target.</para></listitem>
running on the remote target.</para>
<para>Before you use the <filename>lttng-ust</filename> tool, you need to setup
the <filename>lttng</filename> Eclipse plug-in and create a <filename>lttng</filename>
project.
Do the following:
<orderedlist>
<listitem><para>Follow these
<ulink url='http://wiki.eclipse.org/Linux_Tools_Project/LTTng#Downloading_and_installing_the_LTTng_parser_library'>instructions</ulink>
to download and install the <filename>lttng</filename> parser library.
</para></listitem>
<listitem><para>Select <filename>Window -> Open Perspective -> Other</filename>
and then select <filename>LTTng</filename>.</para></listitem>
<listitem><para>Click <filename>OK</filename> to change the Eclipse perspective
into the <filename>LTTng</filename> perspective.</para></listitem>
<listitem><para>Create a new <filename>LTTng</filename> project by selecting
<filename>File -> New -> Project</filename>.</para></listitem>
<listitem><para>Choose <filename>LTTng -> LTTng Project</filename>.</para></listitem>
<listitem><para>Click <filename>YoctoTools -> lttng-ust</filename> to start user mode
<filename>lttng</filename> on the remote target.</para></listitem>
</orderedlist></para>
<para>After the output data has been transferred from the remote target back to the local
host machine, new traces will be imported into the selected <filename>LTTng</filename> project.
Then you can go to the <filename>LTTng</filename> project, right click the imported
trace, and set the trace type as the <filename>LTTng</filename> kernel trace.
Finally, right click the imported trace and select <filename>Open</filename>
to display the data graphically.</para></listitem>
<listitem><para><emphasis><filename>PowerTOP</filename>:</emphasis> Selecting this tool runs
<filename>powertop</filename> on the remote target machine and displays the results in a
new view called <filename>powertop</filename>.</para>
@@ -610,6 +643,93 @@
</para>
</section>
<section id='customizing-an-image-using-a-bitbake-commander-project-and-hob'>
<title>Customizing an Image Using a BitBake Commander Project and Hob</title>
<para>
Within Eclipse, you can create a Yocto BitBake Commander project,
edit the metadata, and then use the
<ulink url='&YOCTO_HOME_URL;/projects/hob'>Hob</ulink> to build a customized
image all within one IDE.
</para>
<section id='creating-the-yocto-bitbake-commander-project'>
<title>Creating the Yocto BitBake Commander Project</title>
<para>
To create a Yocto BitBake Commander project, follow these steps:
<orderedlist>
<listitem><para>Select <filename>Window -> Open Perspective -> Other</filename>
and then choose <filename>Bitbake Commander</filename>.</para></listitem>
<listitem><para>Click <filename>OK</filename> to change the Eclipse perspective into the
Bitbake Commander perspective.</para></listitem>
<listitem><para>Select <filename>File -> New -> Project</filename> to create a new Yocto
Bitbake Commander project.</para></listitem>
<listitem><para>Choose <filename>Yocto Project Bitbake Commander -> New Yocto Project</filename>
and click <filename>Next</filename>.</para></listitem>
<listitem><para>Enter the Project Name and choose the Project Location.
The Yocto project's metadata files will be put under the directory
<filename>&lt;project_location&gt;/&lt;project_name&gt;</filename>.
If that directory does not exist, you need to check
the "Clone from Yocto Git Repository" box, which would execute a
<filename>git clone</filename> command to get the Yocto project's metadata files.
</para></listitem>
<listitem><para>Select <filename>Finish</filename> to create the project.</para></listitem>
</orderedlist>
</para>
</section>
<section id='editing-the-metadata-files'>
<title>Editing the Metadata Files</title>
<para>
After you create the Yocto Bitbake Commander project, you can modify the metadata files
by opening them in the project.
When editing recipe files (<filename>.bb</filename> files), you can view BitBake
variable values and information by hovering the mouse pointer over the variable name and
waiting a few seconds.
</para>
<para>
To edit the metadata, follow these steps:
<orderedlist>
<listitem><para>Select your Yocto Bitbake Commander project.</para></listitem>
<listitem><para>Select <filename>File -> New -> Yocto BitBake Commander -> BitBake Recipe</filename>
to open a new recipe wizard.</para></listitem>
<listitem><para>Point to your source by filling in the "SRC_URL" field.
For example, you can add a recipe in the
<ulink url='&YOCTO_DOCS_DEV_URL;#yocto-project-source-files'>Yocto Project Source Files</ulink>,
input the "SRC_URL" as follows:
<literallayout class='monospaced'>
ftp://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
</literallayout></para></listitem>
<listitem><para>Click "Populate" to calculate the archive md5, sha256,
license checksum values and to auto-generate the recipe filename.</para></listitem>
<listitem><para>Fill in the "Description" field.</para></listitem>
<listitem><para>Be sure values for all required fields exist.</para></listitem>
<listitem><para>Click <filename>Finish</filename>.</para></listitem>
</orderedlist>
</para>
</section>
<section id='buiding-and-customizing-the-image'>
<title>Building and Customizing the Image</title>
<para>
To build and customize the image in Eclipse, follow these steps:
<orderedlist>
<listitem><para>Select your Yocto Bitbake Commander project.</para></listitem>
<listitem><para>Select <filename>Project -> Launch HOB</filename>.</para></listitem>
<listitem><para>Enter the build directory where you want to put your final images.</para></listitem>
<listitem><para>Click <filename>OK</filename> to launch Hob.</para></listitem>
<listitem><para>Use Hob to customize and build your own images.
For information on Hob, see the
<ulink url='&YOCTO_HOME_URL;/projects/hob'>Hob Project Page</ulink> on the
Yocto Project website.</para></listitem>
</orderedlist>
</para>
</section>
</section>
</chapter>
<!--
vim: expandtab tw=80 ts=4

View File

@@ -1,5 +1,6 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='adt-intro'>
@@ -114,7 +115,7 @@
<listitem><para><emphasis>Perf:</emphasis> Performance counters for Linux used
to keep track of certain types of hardware and software events.
For more information on these types of counters see
<ulink url='https://perf.wiki.kernel.org/index.php'></ulink> and click
<ulink url='https://perf.wiki.kernel.org/'></ulink> and click
on “Perf tools.”</para></listitem>
<listitem><para><emphasis>SystemTap:</emphasis> A free software infrastructure
that simplifies information gathering about a running Linux system.

View File

@@ -1,5 +1,6 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<book id='adt-manual' lang='en'
xmlns:xi="http://www.w3.org/2003/XInclude"
@@ -43,10 +44,15 @@
<date>6 October 2011</date>
<revremark>Released with the Yocto Project 1.1 Release.</revremark>
</revision>
<revision>
<revnumber>1.2</revnumber>
<date>TBD 2012</date>
<revremark>Work in progress for the Yocto Project 1.2 Release.</revremark>
</revision>
</revhistory>
<copyright>
<year>2010-2011</year>
<year>&COPYRIGHT_YEAR;</year>
<holder>Linux Foundation</holder>
</copyright>
@@ -58,9 +64,9 @@
<note>
Due to production processes, there could be differences between the Yocto Project
documentation bundled in the release tarball and the
<ulink url='http://www.yoctoproject.org/docs/latest/adt-manual/adt-manual.html'>
<ulink url='&YOCTO_DOCS_ADT_URL;'>
Application Developer's Toolkit (ADT) User's Guide</ulink> on
the <ulink url='http://www.yoctoproject.org'>Yocto Project</ulink> website.
the <ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink> website.
For the latest version of this manual, see the manual on the website.
</note>

View File

@@ -1,5 +1,6 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='adt-package'>
<title>Optionally Customizing the Development Packages Installation</title>
@@ -54,9 +55,7 @@
<note>
For build performance information related to the PMS, see
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#ref-classes-package'>Packaging - <filename>package*.bbclass</filename></ulink>
in <ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html'>
The Yocto Project Reference Manual</ulink>.
<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-package'>Packaging - <filename>package*.bbclass</filename></ulink> in The Yocto Project Reference Manual.
</note>
<para>

View File

@@ -1,5 +1,6 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='adt-prepare'>
@@ -55,8 +56,10 @@
<para>
The ADT Installer is contained in the ADT Installer tarball.
You can download the tarball into any directory from
<ulink url='http://downloads.yoctoproject.org/releases/yocto/yocto-1.1/adt_installer'></ulink>.
You can download the tarball into any directory from the
<ulink url='&YOCTO_DL_URL;/releases'>Index of Releases</ulink>, specifically
at
<ulink url='&YOCTO_ADTINSTALLER_DL_URL;'></ulink>.
Or, you can use BitBake to generate the tarball inside the existing Yocto Project
build tree.
</para>
@@ -79,9 +82,9 @@
$ cd ~
$ mkdir yocto-project
$ cd yocto-project
$ wget http://downloads.yoctoproject.org/releases/yocto/yocto-1.1/poky-edison-6.0.tar.bz2
$ tar xjf poky-edison-6.0.tar.bz2
$ source poky-edison-6.0/oe-init-build-env
$ wget &YOCTO_RELEASE_DL_URL;/&YOCTO_POKY_TARBALL;
$ tar xjf &YOCTO_POKY_TARBALL;
$ source &OE_INIT_PATH;
$ bitbake adt-installer
</literallayout>
</para>
@@ -93,6 +96,14 @@
<para>
Before running the ADT Installer script, you need to unpack the tarball.
You can unpack the tarball in any directory you wish.
For example, this command copies the ADT Installer tarball from where
it was built into the home directory and then unpacks the tarball into
a top-level directory named <filename>adt-installer</filename>:
<literallayout class='monospaced'>
$ cd ~
$ cp ~/poky/build/tmp/deploy/sdk/adt_installer.tar.bz2 $HOME
$ tar -xjf adt_installer.tar.bz2
</literallayout>
Unpacking it creates the directory <filename>adt-installer</filename>,
which contains the ADT Installer script (<filename>adt_installer</filename>)
and its configuration file (<filename>adt_installer.conf</filename>).
@@ -157,17 +168,15 @@
After you have configured the <filename>adt_installer.conf</filename> file,
run the installer using the following command:
<literallayout class='monospaced'>
$ adt_installer
$ ./adt_installer
</literallayout>
</para>
<note>
The ADT Installer requires the <filename>libtool</filename> package to complete.
If you install the recommended packages as described in the
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#packages'>Packages</ulink>"
section of
<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html'>
The Yocto Project Quick Start</ulink>, then you will have libtool installed.
If you install the recommended packages as described in
"<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>"
section of The Yocto Project Quick Start, then you will have libtool installed.
</note>
<para>
@@ -181,7 +190,7 @@
<para>
Once the installation completes, the ADT, which includes the cross-toolchain, is installed.
You will notice environment setup files for the cross-toolchain in
<filename>/opt/poky/1.1</filename>,
<filename>&YOCTO_ADTPATH_DIR;</filename>,
and image tarballs in the <filename>adt-installer</filename>
directory according to your installer configurations, and the target sysroot located
according to the <filename>YOCTOADT_TARGET_SYSROOT_LOC_&lt;arch&gt;</filename> variable
@@ -204,17 +213,17 @@
Follow these steps:
<orderedlist>
<listitem><para>Go to
<ulink url='http://downloads.yoctoproject.org/releases/yocto/yocto-1.1/toolchain'></ulink>
<ulink url='&YOCTO_TOOLCHAIN_DL_URL;'></ulink>
and find the folder that matches your host development system
(i.e. <filename>i686</filename> for 32-bit machines or
<filename>x86_64</filename> for 64-bit machines).</para></listitem>
<filename>x86-64</filename> for 64-bit machines).</para></listitem>
<listitem><para>Go into that folder and download the toolchain tarball whose name
includes the appropriate target architecture.
For example, if your host development system is an Intel-based 64-bit system and
you are going to use your cross-toolchain for an Intel-based 32-bit target, go into the
<filename>x86_64</filename> folder and download the following tarball:
<literallayout class='monospaced'>
poky-eglibc-x86_64-i586-toolchain-gmae-1.1.tar.bz2
poky-eglibc-x86_64-i586-toolchain-gmae-&DISTRO;.tar.bz2
</literallayout>
<note><para>As an alternative to steps one and two, you can build the toolchain tarball
if you have a Yocto Project build tree.
@@ -231,7 +240,7 @@
</para></note></para></listitem>
<listitem><para>Make sure you are in the root directory with root privileges and then expand
the tarball.
The tarball expands into <filename>/opt/poky/1.1</filename>.
The tarball expands into <filename>&YOCTO_ADTPATH_DIR;</filename>.
Once the tarball is expanded, the cross-toolchain is installed.
You will notice environment setup files for the cross-toolchain in the directory.
</para></listitem>
@@ -294,7 +303,7 @@
Before you can develop using the cross-toolchain, you need to set up the
cross-development environment by sourcing the toolchain's environment setup script.
If you used the ADT Installer or used an existing ADT tarball to install the ADT,
then you can find this script in the <filename>/opt/poky/1.1</filename>
then you can find this script in the <filename>&YOCTO_ADTPATH_DIR;</filename>
directory.
If you installed the toolchain in the build tree, you can find the environment setup
script for the toolchain in the Yocto Project build tree's <filename>tmp</filename> directory.
@@ -308,7 +317,7 @@
For example, the toolchain environment setup script for a 64-bit IA-based architecture would
be the following:
<literallayout class='monospaced'>
/opt/poky/1.1/environment-setup-x86_64-poky-linux
&YOCTO_ADTPATH_DIR;/environment-setup-x86_64-poky-linux
</literallayout>
</para>
</section>
@@ -330,10 +339,8 @@
To get the kernel and filesystem images, you either have to build them or download
pre-built versions.
You can find examples for both these situations in the
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#test-run'>A
Quick Test Run</ulink>" section of
<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html'>
The Yocto Project Quick Start</ulink>.
"<ulink url='&YOCTO_DOCS_QS_URL;#test-run'>A Quick Test Run</ulink>" section of
The Yocto Project Quick Start.
</para>
<para>
@@ -342,12 +349,11 @@
<filename>mips</filename>, <filename>powerpc</filename>, and <filename>arm</filename>)
that you can use unaltered in the QEMU emulator.
These kernel images reside in the Yocto Project release
area - <ulink url='http://downloads.yoctoproject.org/releases/yocto/yocto-1.1/machines/'></ulink>
area - <ulink url='&YOCTO_MACHINES_DL_URL;'></ulink>
and are ideal for experimentation within Yocto Project.
For information on the image types you can build using the Yocto Project, see the
"<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#ref-images'>Reference: Images</ulink>" appendix in
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html'>
The Yocto Project Reference Manual</ulink>.
"<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Reference: Images</ulink>" appendix in
The Yocto Project Reference Manual.
</para>
<para>
@@ -378,11 +384,11 @@
<listitem><para>Set up the cross-development environment as described in the
"<link linkend='setting-up-the-cross-development-environment'>Setting
Up the Cross-Development Environment</link>" section.</para></listitem>
<listitem><para>Get the <filename>tcf-agent</filename> source code, which is
stored using the Subversion SCM, using the following command:
<listitem><para>Get the <filename>tcf-agent</filename> source code using
the following commands:
<literallayout class='monospaced'>
$ svn checkout svn://dev.eclipse.org/svnroot/dsdp/org.eclipse.tm.tcf/trunk/agent \
&lt;-r #rev_number&gt;
$ git clone http://git.eclipse.org/gitroot/tcf/org.eclipse.tcf.agent.git
$ cd agent
</literallayout></para></listitem>
<listitem><para>Modify the <filename>Makefile.inc</filename> file
for the cross-compilation environment by setting the

View File

@@ -50,10 +50,6 @@ body {
color: #333;
}
.reviewer {
color: red;
}
h1,h2,h3,h4,h5,h6,h7 {
font-family: Arial, Sans;
color: #00557D;
@@ -654,7 +650,7 @@ hr {
.tip, .warning, .caution, .note {
border-color: #aaa;
border-color: #fff;
}
@@ -662,24 +658,24 @@ hr {
.warning table th,
.caution table th,
.note table th {
border-bottom-color: #aaa;
border-bottom-color: #fff;
}
.warning {
background-color: #fea;
background-color: #f0f0f2;
}
.caution {
background-color: #fea;
background-color: #f0f0f2;
}
.tip {
background-color: #eff;
background-color: #f0f0f2;
}
.note {
background-color: #dfc;
background-color: #f0f0f2;
}
.glossary dl dt,
@@ -946,8 +942,8 @@ table {
.tip,
.note {
background: #666666;
color: #fff;
background: #f0f0f2;
color: #333;
padding: 20px;
margin: 20px;
}
@@ -958,12 +954,12 @@ table {
margin: 0em;
font-size: 2em;
font-weight: bold;
color: #fff;
color: #333;
}
.tip a,
.note a {
color: #fff;
color: #333;
text-decoration: underline;
}
@@ -972,3 +968,12 @@ table {
color: #333;
}
/* Changes the announcement text */
.tip h3,
.warning h3,
.caution h3,
.note h3 {
font-size:large;
color: #00557D;
}

View File

@@ -1,5 +1,6 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<book id='bsp-guide' lang='en'
xmlns:xi="http://www.w3.org/2003/XInclude"
@@ -55,10 +56,15 @@
<date>6 October 2011</date>
<revremark>Released with the Yocto Project 1.1 Release.</revremark>
</revision>
<revision>
<revnumber>1.2</revnumber>
<date>TBD 2012</date>
<revremark>Work in progress for the Yocto Project 1.2 Release.</revremark>
</revision>
</revhistory>
<copyright>
<year>2010-2011</year>
<year>&COPYRIGHT_YEAR;</year>
<holder>Linux Foundation</holder>
</copyright>
@@ -70,9 +76,9 @@
<note>
Due to production processes, there could be differences between the Yocto Project
documentation bundled in the release tarball and the
<ulink url='http://www.yoctoproject.org/docs/latest/bsp-guide/bsp-guide.html'>
<ulink url='&YOCTO_DOCS_BSP_URL;'>
Board Support Package (BSP) Developer's Guide</ulink> on
the <ulink url='http://www.yoctoproject.org'>Yocto Project</ulink> website.
the <ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink> website.
For the latest version of this manual, see the manual on the website.
</note>
</legalnotice>

File diff suppressed because it is too large Load Diff

View File

@@ -50,10 +50,6 @@ body {
color: #333;
}
.reviewer {
color: red;
}
h1,h2,h3,h4,h5,h6,h7 {
font-family: Arial, Sans;
color: #00557D;
@@ -654,7 +650,7 @@ hr {
.tip, .warning, .caution, .note {
border-color: #aaa;
border-color: #fff;
}
@@ -662,24 +658,24 @@ hr {
.warning table th,
.caution table th,
.note table th {
border-bottom-color: #aaa;
border-bottom-color: #fff;
}
.warning {
background-color: #fea;
background-color: #f0f0f2;
}
.caution {
background-color: #fea;
background-color: #f0f0f2;
}
.tip {
background-color: #eff;
background-color: #f0f0f2;
}
.note {
background-color: #dfc;
background-color: #f0f0f2;
}
.glossary dl dt,
@@ -771,6 +767,17 @@ h6,
h7{
}
/*
Example of how to stick an image as part of the title.
div.article .titlepage .title
{
background-image: url("figures/white-on-black.png");
background-position: center;
background-repeat: repeat-x;
}
*/
div.preface .titlepage .title,
div.colophon .title,
div.chapter .titlepage .title {
@@ -936,8 +943,8 @@ table {
.tip,
.note {
background: #666666;
color: #fff;
background: #f0f0f2;
color: #333;
padding: 20px;
margin: 20px;
}
@@ -948,12 +955,12 @@ table {
margin: 0em;
font-size: 2em;
font-weight: bold;
color: #fff;
color: #333;
}
.tip a,
.note a {
color: #fff;
color: #333;
text-decoration: underline;
}
@@ -962,3 +969,12 @@ table {
color: #333;
}
/* Changes the announcement text */
.tip h3,
.warning h3,
.caution h3,
.note h3 {
font-size:large;
color: #00557D;
}

View File

@@ -1,5 +1,6 @@
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<appendix id='dev-manual-bsp-appendix'>
@@ -31,47 +32,80 @@
The following paragraphs describe both methods.
For additional information, see the bulleted item
"<link linkend='local-yp-release'>Yocto Project Release</link>".
</para>
</para>
<para>
As mentioned, one way to get the Yocto Project files is to use Git to clone the
<filename>poky</filename> repository:
<filename>poky</filename> repository.
These commands create a local copy of the Git repository.
By default, the top-level directory of the repository is named <filename>poky</filename>:
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/poky
$ cd poky
</literallayout>
Alternatively, you can start with the downloaded Poky "edison" tarball:
Alternatively, you can start with the downloaded Poky "edison" tarball.
These commands unpack the tarball into a Yocto Project File directory structure.
By default, the top-level directory of the file structure is named
<filename>poky-&YOCTO_POKY;</filename>:
<literallayout class='monospaced'>
$ tar xfj poky-edison-6.0.tar.bz2
$ cd poky
$ tar xfj &YOCTO_POKY_TARBALL;
$ cd &YOCTO_POKY;
</literallayout>
<note>If you're using the tarball method, you can ignore all the following steps that
<note><para>If you're using the tarball method, you can ignore all the following steps that
ask you to carry out Git operations.
You already have the results of those operations
in the form of the edison release tarballs.
Consequently, there is nothing left to do other than extract those tarballs into the
proper locations.</note>
proper locations.</para>
<para>Once you expand the released tarball, you have a snapshot of the Git repository
that represents a specific release.
Fundamentally, this is different than having a local copy of the Yocto Project
Git repository.
Given the tarball method, changes you make are building on top of a release.
With the Git repository method you have the ability to track development
and keep changes in revision control.
See the
"<link linkend='repositories-tags-and-branches'>Repositories, Tags, and Branches</link>" section
for more discussion around these differneces.</para></note>
</para>
<para>
Once you have the local <filename>poky</filename> Git repository set up,
you have many development branches from which you can work.
From inside the repository you can see the branch names and the tag names used
in the Git repository using either of the following two commands:
With the local <filename>poky</filename> Git repository set up,
you have all the development branches available to you from which you can work.
Next, you need to be sure that your local repository reflects the exact
release in which you are interested.
From inside the repository you can see the development branches that represent
areas of development that have diverged from the main (master) branch
at some point, such as a branch to track a maintenance release's development.
You can also see the tag names used to mark snapshots of stable releases or
points in the repository.
Use the following commands to list out the branches and the tags in the repository,
respectively.
<literallayout class='monospaced'>
$ git branch -a
$ git tag -l
</literallayout>
For this example we are going to use the Yocto Project 1.1 Release, which is code
named "edison".
These commands create a local branch named <filename>edison</filename>
that tracks the remote branch of the same name.
For this example, we are going to use the Yocto Project &DISTRO; Release, which is code
named "&DISTRO_NAME;".
To make sure we have a local area (branch in Git terms) on our machine that
reflects the &DISTRO; release, we can use the following commands:
<literallayout class='monospaced'>
$ git checkout -b edison origin/edison
Switched to a new branch 'edison'
$ cd ~/poky
$ git fetch --tags
$ git checkout &DISTRO_NAME;-&POKYVERSION; -b &DISTRO_NAME;
Switched to a new branch '&DISTRO_NAME;'
</literallayout>
The <filename>git fetch --tags</filename> is somewhat redundant since you just set
up the repository and should have all the tags.
The <filename>fetch</filename> command makes sure all the tags are available in your
local repository.
The Git <filename>checkout</filename> command with the <filename>-b</filename> option
creates a local branch for you named <filename>&DISTRO_NAME;</filename>.
Your local branch begins in the same state as the Yocto Project &DISTRO; released tarball
marked with the <filename>&DISTRO_NAME;-&POKYVERSION;</filename> tag in the source repositories.
</para>
</section>
</section>
<section id='choosing-a-base-bsp-app'>
<title>Choosing a Base BSP</title>
@@ -127,14 +161,14 @@
</literallayout>
Alternatively, you can start with the downloaded Crown Bay tarball.
You can download the edison version of the BSP tarball from the
<ulink url='http://www.yoctoproject.org/download'>Download</ulink> page of the
<ulink url='&YOCTO_HOME_URL;/download'>Download</ulink> page of the
Yocto Project website.
Here is the specific link for the tarball needed for this example:
<ulink url='http://downloads.yoctoproject.org/releases/yocto/yocto-1.1/machines/crownbay-noemgd/crownbay-noemgd-edison-6.0.0.tar.bz2'></ulink>.
<ulink url='&YOCTO_MACHINES_DL_URL;/crownbay-noemgd/crownbay-noemgd-&DISTRO_NAME;-6.0.0.tar.bz2'></ulink>.
Again, be sure that you are already in the <filename>poky</filename> directory
as described previously before installing the tarball:
<literallayout class='monospaced'>
$ tar xfj crownbay-noemgd-edison-6.0.0.tar.bz2
$ tar xfj crownbay-noemgd-&DISTRO_NAME;-6.0.0.tar.bz2
$ cd meta-intel
</literallayout>
</para>
@@ -148,10 +182,10 @@
skip to the next step.
Because <filename>meta-intel</filename> is its own Git repository, you will want
to be sure you are in the appropriate branch for your work.
For this example we are going to use the <filename>edison</filename> branch.
For this example we are going to use the <filename>&DISTRO_NAME;</filename> branch.
<literallayout class='monospaced'>
$ git checkout -b edison origin/edison
Switched to a new branch 'edison'
$ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
Switched to a new branch '&DISTRO_NAME;'
</literallayout>
</para>
</section>
@@ -238,10 +272,8 @@
<filename>meta-mymachine/conf/layer.conf</filename>.
This file identifies build information needed for the new layer.
You can see the
"<ulink url='http://www.yoctoproject.org/docs/latest/bsp-guide/bsp-guide.html#bsp-filelayout-layer'>Layer Configuration File</ulink>" section in
<ulink url='http://www.yoctoproject.org/docs/latest/bsp-guide/bsp-guide.html'>The Board
Support Packages (BSP) Development Guide</ulink>
for more information on this configuration file.
"<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout-layer'>Layer Configuration File</ulink>" section
in The Board Support Packages (BSP) Development Guide for more information on this configuration file.
Basically, we are changing the existing statements to work with our BSP.
</para>
@@ -272,7 +304,8 @@
Now we will take a look at the recipes in your new layer.
The standard BSP structure has areas for BSP, graphics, core, and kernel recipes.
When you create a BSP, you use these areas for appropriate recipes and append files.
Recipes take the form of <filename>.bb</filename> files.
Recipes take the form of <filename>.bb</filename> files, while append files take
the form of <filename>.bbappend</filename> files.
If you want to leverage the existing recipes the Yocto Project build system uses
but change those recipes, you can use <filename>.bbappend</filename> files.
All new recipes and append files for your layer must go in the layers
@@ -326,9 +359,9 @@
Now let's look at changes in <filename>recipes-core</filename>.
The file <filename>task-core-tools.bbappend</filename> in
<filename>recipes-core/tasks</filename> appends the similarly named recipe
located in the local Yocto Project files at
located in the local <link linkend='yocto-project-files'>Yocto Project Files</link> at
<filename>meta/recipes-core/tasks</filename>.
The "append" file in our layer right now is Crown Bay-specific and supports
The append file in our layer right now is Crown Bay-specific and supports
EMGD and non-EMGD.
Here are the contents of the file:
<literallayout class='monospaced'>
@@ -372,13 +405,13 @@
However, in the <filename>meta-mymachine</filename> layer in
<filename>recipes-kernel/linux</filename> resides a <filename>.bbappend</filename>
file named <filename>linux-yocto_3.0.bbappend</filename> that
is appended to the recipe of the same name in <filename>meta/recipes-kernel/linux</filename>.
Thus, the <filename>SRCREV</filename> statements in the "append" file override
appends information to the recipe of the same name in <filename>meta/recipes-kernel/linux</filename>.
Thus, the <filename>SRCREV</filename> statements in the append file override
the more general statements found in <filename>meta</filename>.
</para>
<para>
The <filename>SRCREV</filename> statements in the "append" file currently identify
The <filename>SRCREV</filename> statements in the append file currently identify
the kernel that supports the Crown Bay BSP with and without EMGD support.
Here are the statements:
<literallayout class='monospaced'>
@@ -452,7 +485,7 @@
the <filename>SRCREV</filename> statements.
You can find all the <filename>machine</filename> and <filename>meta</filename>
branch points (commits) for the <filename>linux-yocto-3.0</filename> kernel at
<ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-3.0'></ulink>.
<ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/linux-yocto-3.0'></ulink>.
</para>
<para>
@@ -579,7 +612,7 @@
<para>
The appendix
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#ref-variables-glos'>
<ulink url='&YOCTO_DOCS_REF_URL;#ref-variables-glos'>
Reference: Variables Glossary</ulink> in the Yocto Project Reference Manual has more information
on configuration variables.
</para>

File diff suppressed because it is too large Load Diff

View File

@@ -1,5 +1,6 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='dev-manual-intro'>
@@ -38,7 +39,7 @@
<listitem><para>Information to help developers who are new to the open source environment
and to the distributed revision control system Git, which the Yocto Project
uses.</para></listitem>
<listitem><para>An understanding of common end-to-end development models.</para></listitem>
<listitem><para>An understanding of common end-to-end development models and tasks.</para></listitem>
<listitem><para>Development case overviews for both system development and user-space
applications.</para></listitem>
<listitem><para>An overview and understanding of the emulation environment used with
@@ -69,7 +70,7 @@
<listitem><para>Reference material.
This type of material resides in an appropriate reference manual.
For example, system variables are documented in the
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html'>
<ulink url='&YOCTO_DOCS_REF_URL;'>
Yocto Project Reference Manual</ulink>.</para></listitem>
<listitem><para>Detailed public information that is not specific to the Yocto Project.
For example, exhaustive information on how to use Git is covered better through the
@@ -86,31 +87,31 @@
need to supplement it with other information.
The following list presents other sources of information you might find helpful:
<itemizedlist>
<listitem><para><emphasis>The <ulink url='http://www.yoctoproject.org'>Yocto Project Website</ulink>:
<listitem><para><emphasis>The <ulink url='&YOCTO_HOME_URL;'>Yocto Project Website</ulink>:
</emphasis> The home page for the Yocto Project provides lots of information on the project
as well as links to software and documentation.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html'>
<ulink url='&YOCTO_DOCS_QS_URL;'>
The Yocto Project Quick Start</ulink>:</emphasis> This short document lets you get started
with the Yocto Project quickly and start building an image.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html'>
<ulink url='&YOCTO_DOCS_REF_URL;'>
The Yocto Project Reference Manual</ulink>:</emphasis> This manual is a reference
guide to the Yocto Project build component known as "Poky."
The manual also contains a reference chapter on Board Support Package (BSP)
layout.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.yoctoproject.org/docs/latest/adt-manual/adt-manual.html'>
<ulink url='&YOCTO_DOCS_ADT_URL;'>
The Yocto Project Application Development Toolkit (ADT) User's Guide</ulink>:</emphasis>
This guide provides information that lets you get going with the ADT to
develop projects using the Yocto Project.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.yoctoproject.org/docs/latest/bsp-guide/bsp-guide.html'>
<ulink url='&YOCTO_DOCS_BSP_URL;'>
The Yocto Project Board Support Package (BSP) Developer's Guide</ulink>:</emphasis>
This guide defines the structure for BSP components.
Having a commonly understood structure encourages standardization.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.yoctoproject.org/docs/latest/kernel-manual/kernel-manual.html'>
<ulink url='&YOCTO_DOCS_KERNEL_URL;'>
The Yocto Project Kernel Architecture and Use Manual</ulink>:</emphasis>
This manual describes the architecture of the Yocto Project kernel and provides
some work flow examples.</para></listitem>
@@ -120,14 +121,14 @@
demonstrates how an application developer uses Yocto Plug-in features within
the Eclipse IDE.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://wiki.yoctoproject.org/wiki/FAQ'>FAQ</ulink>:</emphasis>
<ulink url='&YOCTO_WIKI_URL;/wiki/FAQ'>FAQ</ulink>:</emphasis>
A list of commonly asked questions and their answers.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.yoctoproject.org/download/yocto/yocto-project-1.1-release-notes-poky-6.0'>
<ulink url='&YOCTO_HOME_URL;/download/yocto/yocto-project-1.1-release-notes-poky-&POKYVERSION;'>
Release Notes</ulink>:</emphasis> Features, updates and known issues for the current
release of the Yocto Project.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://bugzilla.yoctoproject.org/'>Bugzilla</ulink>:</emphasis>
<ulink url='&YOCTO_BUGZILLA_URL;'>Bugzilla</ulink>:</emphasis>
The bug tracking application the Yocto Project uses.
If you find problems with the Yocto Project, you should report them using this
application.</para></listitem>
@@ -135,11 +136,11 @@
Yocto Project Mailing Lists:</emphasis> To subscribe to the Yocto Project mailing
lists, click on the following URLs and follow the instructions:
<itemizedlist>
<listitem><para><ulink url='http://lists.yoctoproject.org/listinfo/yocto'></ulink> for a
<listitem><para><ulink url='&YOCTO_LISTS_URL;/listinfo/yocto'></ulink> for a
Yocto Project Discussions mailing list.</para></listitem>
<listitem><para><ulink url='http://lists.yoctoproject.org/listinfo/poky'></ulink> for a
<listitem><para><ulink url='&YOCTO_LISTS_URL;/listinfo/poky'></ulink> for a
Yocto Project Discussions mailing list about the Poky build system.</para></listitem>
<listitem><para><ulink url='http://lists.yoctoproject.org/listinfo/yocto-announce'></ulink>
<listitem><para><ulink url='&YOCTO_LISTS_URL;/listinfo/yocto-announce'></ulink>
for a mailing list to receive offical Yocto Project announcements for developments and
as well as Yocto Project milestones.</para></listitem>
</itemizedlist></para></listitem>
@@ -148,7 +149,7 @@
for Yocto Project and Poky discussions: <filename>#yocto</filename> and
<filename>#poky</filename>.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.openedhand.com/'>OpenedHand</ulink>:</emphasis>
<ulink url='&OH_HOME_URL;'>OpenedHand</ulink>:</emphasis>
The company where the Yocto Project build system Poky was first developed.
OpenedHand has since been acquired by Intel Corporation.</para></listitem>
<listitem><para><emphasis>
@@ -156,7 +157,7 @@
The company that acquired OpenedHand in 2008 and continues development on the
Yocto Project.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://www.openembedded.org/'>OpenEmbedded</ulink>:</emphasis>
<ulink url='&OE_HOME_URL;'>OpenEmbedded</ulink>:</emphasis>
The upstream, generic, embedded distribution the Yocto Project build system (Poky) derives
from and to which it contributes.</para></listitem>
<listitem><para><emphasis>

View File

@@ -1,5 +1,6 @@
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<appendix id='dev-manual-kernel-appendix'>
@@ -43,10 +44,15 @@
structures you need.
Briefly, you need the following:
<itemizedlist>
<listitem><para>A local Yocto Project files Git repository</para></listitem>
<listitem><para>The <filename>poky-extras</filename> Git repository placed
within the local Yocto Project files Git repository</para></listitem>
<listitem><para>A bare clone of the Linux Yocto kernel upstream Git
<listitem><para>A local
<link linkend='yocto-project-files'>Yocto Project Files</link>
Git repository</para></listitem>
<listitem><para>The
<link linkend='poky-extras-repo'><filename>poky-extras</filename></link>
Git repository placed within the local Yocto Project files Git
repository</para></listitem>
<listitem><para>A bare clone of the
<link linkend='local-kernel-files'>Linux Yocto Kernel</link> upstream Git
repository to which you want to push your modifications.
</para></listitem>
<listitem><para>A copy of that bare clone in which you make your source
@@ -75,9 +81,10 @@
<listitem><para><emphasis>Local Yocto Project Files Git Repository:</emphasis>
This area contains all the metadata that supports building images in the
Yocto Project build environment - the local Yocto Project files.
The local Yocto Project files Git repository also contains the build directory
and a configuration directory that let you control the build.
Note also that in this example, the repository also contains the
In this example, the local Yocto Project files Git repository also
contains the build directory, which contains the configuration directory
that lets you control the build.
In this example, the repository also contains the
<filename>poky-extras</filename> Git repository.</para>
<para>See the bulleted item
"<link linkend='local-yp-release'>Yocto Project Release</link>"
@@ -153,9 +160,9 @@
The following commands create and checkout the local <filename>edison</filename>
branch:
<literallayout class='monospaced'>
$ git checkout -b edison origin/edison
Branch edison set up to track remote branch edison from origin.
Switched to a new branch 'edison'
$ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
Branch edison set up to track remote branch &DISTRO_NAME; from origin.
Switched to a new branch '&DISTRO_NAME;'
</literallayout>
</para>
</section>
@@ -177,7 +184,7 @@
<title>Setting Up the Bare Clone and its Copy</title>
<para>
This example modifies the <filename>linux-yocto-3.0</filename> kernel.
This example modifies the <filename>linux-yocto-3.0-1.1.x</filename> kernel.
Thus, you need to create a bare clone of that kernel and then make a copy of the
bare clone.
See the bulleted item
@@ -189,12 +196,12 @@
The bare clone exists for the kernel build tools and simply as the receiving end
of <filename>git push</filename>
commands after you make edits and commits inside the copy of the clone.
The copy (<filename>linux-yocto-3.0</filename> in this example) has to have
The copy (<filename>my-linux-yocto-3.0-1.1.x-work</filename> in this example) has to have
a local branch created and checked out for your work.
This example uses <filename>common-pc-base</filename> as the local branch.
The following commands create and checkout the branch:
<literallayout class='monospaced'>
$ cd ~/linux-yocto-3.0
$ cd ~/my-linux-yocto-3.0-1.1.x-work
$ git checkout -b common-pc-base origin/yocto/standard/common-pc/base
Branch common-pc-base set up to track remote branch
yocto/standard/common-pc/base from origin.
@@ -225,10 +232,8 @@
<filename>PARALLEL_MAKE</filename> to twice the number
of cores your machine supports.
</note>
</para>
<para>
The following two commands build the default <filename>qemux86</filename> image and
<filename>source</filename> build environment setup script.
The following two commands <filename>source</filename> the build environment setup script
and build the default <filename>qemux86</filename> image.
If necessary, the script creates the build directory:
<literallayout class='monospaced'>
$ cd ~/poky
@@ -291,7 +296,7 @@
<para>
The file you change in this example is named <filename>calibrate.c</filename>
and is located in the <filename>linux-yocto-3.0</filename> Git repository
and is located in the <filename>my-linux-yocto-3.0-1.1.x-work</filename> Git repository
(the copy of the bare clone) in <filename>init</filename>.
This example simply inserts several <filename>printk</filename> statements
at the beginning of the <filename>calibrate_delay</filename> function.
@@ -415,13 +420,13 @@
<filename>poky-extras/meta-kernel-dev/recipes-kernel/linux</filename>
directory, you need to identify the location of the
local source code, which in this example is the bare clone named
<filename>linux-yocto-3.0.git</filename>.
<filename>linux-yocto-3.0-1.1.x.git</filename>.
To do this, set the <filename>KSRC_linux_yocto</filename> variable to point to your
local <filename>linux-yocto-3.0.git</filename> Git repository by adding the
local <filename>linux-yocto-3.0-1.1.x.git</filename> Git repository by adding the
following statement.
Be sure to substitute your user information in the statement:
<literallayout class='monospaced'>
KSRC_linux_yocto ?= /home/scottrif/linux-yocto-3.0.git
KSRC_linux_yocto ?= /home/scottrif/linux-yocto-3.0-1.1.x.git
</literallayout></para></listitem>
<listitem><para><emphasis>Specify the Kernel Machine:</emphasis> Also in the
<filename>linux-yocto_3.0.bbappend</filename> file, you need to specify
@@ -438,7 +443,8 @@
Because all the kernel <filename>.bbappend</filename> files are parsed during the
build process regardless of whether you are using them or not, you should either
comment out the <filename>COMPATIBLE_MACHINE</filename> statements in all
<filename>.bbappend</filename> files, or you should simply remove all the files
unused <filename>.bbappend</filename> files.
Alternatively, you can simply remove all the files
except the one your are using for the build
(i.e. <filename>linux-yocto_3.0.bbappend</filename> in this example).
</note>
@@ -454,18 +460,21 @@
<listitem><para>Your environment should be set up since you previously sourced
the <filename>oe-init-build-env</filename> script.
If it isn't, source the script again from <filename>poky</filename>.
</para></listitem>
<listitem><para>Be sure old images are cleaned out by running the
<filename>cleanall</filename> BitBake task as follows:
<literallayout class='monospaced'>
$ cd ~/poky
$ source oe-init-build-env
</literallayout>
</para></listitem>
<listitem><para>Be sure old images are cleaned out by running the
<filename>cleanall</filename> BitBake task as follows from your build directory:
<literallayout class='monospaced'>
$ bitbake -c cleanall linux-yocto
</literallayout></para>
<para><note>Never remove any files by hand from the <filename>tmp/deploy</filename>
directory insided the local Yocto Project files build directory.
Always use the BitBake <filename>cleanall</filename> task to clear
out previous builds.</note></para></listitem>
<listitem><para>Build the kernel image using this command:
<listitem><para>Next, build the kernel image using this command:
<literallayout class='monospaced'>
$ bitbake -k core-image-minimal
</literallayout></para></listitem>
@@ -509,46 +518,94 @@
in "<link linkend='modifying-the-kernel-source-code'>Modifying the Kernel Source
Code</link>" you should already have the Yocto Project files set up on your
host machine.
If this is the case, go to then next section titled
"<link linkend='examining-the-default-config-smp-behavior'>Examining the Default
<filename>CONFIG_SMP</filename> Behavior</link>" and continue with the
example.
</para>
<para>
If you don't have the Yocto Project files established on your system,
See "<link linkend='setting-up-the-local-yocto-project-files-git-repository'>Setting
Up the Local Yocto Project Files Git Repository</link>" for
information.
To reconfigure the kernel, this is the only Git repository you need to have set up.
you can get them through tarball extraction or by
cloning the <filename>poky</filename> Git repository.
This example uses <filename>poky</filename> as the root directory of the
local Yocto Project files Git repository.
See the bulleted item
"<link linkend='local-yp-release'>Yocto Project Release</link>"
for information on how to get these files.
</para>
<!--
<para>
Once you have the repository set up,
you have many development branches from which you can work.
From inside the repository you can see the branch names and the tag names used
in the Git repository using either of the following two commands:
<literallayout class='monospaced'>
$ cd poky
$ git branch -a
$ git tag -l
</literallayout>
This example uses the Yocto Project 1.1.1 Release code named "&DISTRO_NAME;",
which maps to the <filename>&DISTRO_NAME;</filename> branch in the repository.
The following commands create and checkout the local <filename>&DISTRO_NAME;</filename>
branch:
<literallayout class='monospaced'>
$ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
Branch edison set up to track remote branch &DISTRO_NAME; from origin.
Switched to a new branch '&DISTRO_NAME;'
</literallayout>
</para>
<para>
If you took the time to work through the example that modifies the kernel source code
in "<link linkend='modifying-the-kernel-source-code'>Modifying the Kernel Source
Code</link>" you are already set up to quickly work through this example.
If not, then work through the following list to prepare:
<itemizedlist>
<listitem><para><emphasis>Understand the development environment:</emphasis>
See "<link linkend='understanding-the-files-you-need'>Understanding
the Files You Need</link>" for information.</para></listitem>
<listitem><para><emphasis>Set up the local Yocto Project files Git
repository:</emphasis>
See "<link linkend='setting-up-the-local-yocto-project-files-git-repository'>Setting
Up the Local Yocto Project Files Git Repository</link>" for
information.</para></listitem>
<listitem><para><emphasis>Set up the <filename>poky-extras</filename> Git
repository:</emphasis>
See "<link linkend='setting-up-the-poky-extras-git-repository'>Setting
Up <filename>poky-extras</filename> Git repository</link>" for
information.</para></listitem>
<listitem><para><emphasis>Set up the the bare clone and its copy:</emphasis>
See "<link linkend='setting-up-the-bare-clone-and-its-copy'>Setting Up the
Bare Clone and its Copy</link>" for information.</para></listitem>
<listitem><para><emphasis>Build the default QEMU kernel image:</emphasis>
See "<link linkend='building-and-booting-the-default-qemu-kernel-image'>Building
and Booting the Default QEMU Kernel image</link>" for information.
Do not boot the image in the QEMU emulator at this point.</para></listitem>
</itemizedlist>
</para> -->
Next, you need to build the default <filename>qemux86</filename> image that you
can boot using QEMU.
<note>
Because a full build can take hours, you should check two variables in the
<filename>build</filename> directory that is created after you source the
<filename>oe-init-build-env</filename> script.
You can find these variables
<filename>BB_NUMBER_THREADS</filename> and <filename>PARALLEL_MAKE</filename>
in the <filename>build/conf</filename> directory in the
<filename>local.conf</filename> configuration file.
By default, these variables are commented out.
If your host development system supports multi-core and multi-thread capabilities,
you can uncomment these statements and set the variables to significantly shorten
the full build time.
As a guideline, set <filename>BB_NUMBER_THREADS</filename> to twice the number
of cores your machine supports and set <filename>PARALLEL_MAKE</filename> to one and
a half times the number of cores your machine supports.
</note>
The following two commands <filename>source</filename> the build environment setup script
and build the default <filename>qemux86</filename> image.
If necessary, the script creates the build directory:
<literallayout class='monospaced'>
$ cd ~/poky
$ source oe-init-build-env
### Shell environment set up for builds. ###
You can now run 'bitbake &lt;target&gt;'
Common targets are:
core-image-minimal
core-image-sato
meta-toolchain
meta-toolchain-sdk
adt-installer
meta-ide-support
You can also run generated qemu images with a command like 'runqemu qemux86'
</literallayout>
</para>
<para>
The following <filename>bitbake</filename> command starts the build:
<literallayout class='monospaced'>
$ bitbake -k core-image-minimal
</literallayout>
<note>Be sure to check the settings in the <filename>local.conf</filename>
before starting the build.</note>
</para>
</section>
<section id='examining-the-default-config-smp-behavior'>
@@ -597,7 +654,7 @@
<para>
After setting up the environment to run <filename>menuconfig</filename>, you are ready
to use the tool to interactively change the kernel configuration.
In this example, we are basing our changes on the <filename>linux-yocto-3.0</filename>
In this example, we are basing our changes on the <filename>linux-yocto-3.0-1.1.x</filename>
kernel.
The Yocto Project build environment recognizes this kernel as
<filename>linux-yocto</filename>.

View File

@@ -1,5 +1,6 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='dev-manual-model'>
@@ -7,8 +8,8 @@
<para>
Many development models exist for which you can use the Yocto Project.
However, for the purposes of this manual we are going to focus on two common ones:
System Development and User Application Development.
However, for the purposes of this manual we are going to focus on two common models:
System Development and User Application Development.
System Development covers Board Support Package (BSP) development and kernel modification
or configuration.
User Application Development covers development of applications that you intend to run on some
@@ -24,12 +25,19 @@
For a user-space application development example that uses the
<trademark class='trade'>Eclipse</trademark> IDE,
see the
<ulink url='http://www.yoctoproject.org/docs/latest/adt-manual/adt-manual.html'>
<ulink url='&YOCTO_DOCS_ADT_URL;'>
The Yocto Project Application Development Toolkit (ADT) User's Guide</ulink>.
</para>
<para>
Aside from these two models, this chapter will also briefly introduce and discuss
development using
<ulink url='&YOCTO_HOME_URL;/projects/hob'>Hob</ulink>, which is a graphical interface
to the Yocto Project build system.
</para>
<section id='system-development-model'>
<title>System Development</title>
<title>System Development Workflow</title>
<para>
System development involves modification or creation of an image that you want to run on
@@ -79,8 +87,9 @@
<orderedlist>
<listitem><para><emphasis>Set up your host development system to support
development using the Yocto Project</emphasis>: See the
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#the-linux-distro'>The Linux Distributions</ulink>" and the
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#packages'>The Packages</ulink>" sections both
"<ulink url='&YOCTO_DOCS_QS_URL;#the-linux-distro'>The Linux Distributions</ulink>"
and the
"<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>" sections both
in the Yocto Project Quick Start for requirements.</para></listitem>
<listitem><para><emphasis>Establish a local copy of the Yocto Project files on your
system</emphasis>: You need to have the Yocto Project files available on your host system.
@@ -112,7 +121,7 @@
Embedded Media Graphics Driver (EMGD).
The remainder of this example uses that base BSP.</para>
<para>To see the supported BSPs, go to the Yocto Project
<ulink url='http://www.yoctoproject.org/download'>download page</ulink> and click
<ulink url='&YOCTO_DL_URL;/download'>download page</ulink> and click
on “BSP Downloads.”</para></listitem>
<listitem><para><emphasis>Create your own BSP layer</emphasis>: Layers are ideal for
isolating and storing work for a given piece of hardware.
@@ -137,16 +146,17 @@
N450, and Sugar Bay are isolated.</note>
<para>When you set up a layer for a new BSP, you should follow a standard layout.
This layout is described in the section
"<ulink url='http://www.yoctoproject.org/docs/latest/bsp-guide/bsp-guide.html#bsp-filelayout'>Example Filesystem Layout</ulink>" section of the Board Support Package (BSP) Development Guide.
"<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout'>Example Filesystem Layout</ulink>"
section of the Board Support Package (BSP) Development Guide.
In the standard layout, you will notice a suggested structure for recipes and
configuration information.
You can see the standard layout for the Crown Bay BSP in this example by examining the
directory structure of the <filename>meta-crownbay</filename> layer inside the
local Yocto Project files.</para></listitem>
<listitem><para><emphasis>Make configuration changes to your new BSP
layer</emphasis>: The standard BSP layer structure organizes the files you need to edit in
<filename>conf</filename> and several <filename>recipes-*</filename> directories within the
BSP layer.
layer</emphasis>: The standard BSP layer structure organizes the files you need
to edit in <filename>conf</filename> and several <filename>recipes-*</filename>
directories within the BSP layer.
Configuration changes identify where your new layer is on the local system
and identify which kernel you are going to use.
</para></listitem>
@@ -160,7 +170,8 @@
You need to get the build environment ready by sourcing an environment setup script
and you need to be sure two key configuration files are configured appropriately.</para>
<para>The entire process for building an image is overviewed in the section
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#building-image'>Building an Image</ulink>" section of the Yocto Project Quick Start.
"<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>" section
of the Yocto Project Quick Start.
You might want to reference this information.</para></listitem>
<listitem><para><emphasis>Build the image</emphasis>: The Yocto Project uses the BitBake
tool to build images based on the type of image you want to create.
@@ -168,9 +179,9 @@
<ulink url='http://bitbake.berlios.de/manual/'>here</ulink>.</para>
<para>The build process supports several types of images to satisfy different needs.
See the
"<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#ref-images'>Reference: Images</ulink>" appendix in the
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html'>
Yocto Project Reference Manual</ulink>for information on supported images.</para></listitem>
"<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Reference: Images</ulink>" appendix
in The Yocto Project Reference Manual for information on
supported images.</para></listitem>
</orderedlist>
</para>
@@ -178,10 +189,10 @@
You can view a video presentation on "Building Custom Embedded Images with Yocto"
at <ulink url='http://free-electrons.com/blog/elc-2011-videos'>Free Electrons</ulink>.
You can also find supplemental information in
<ulink url='http://yoctoproject.org/docs/latest/bsp-guide/bsp-guide.html'>
<ulink url='&YOCTO_DOCS_BSP_URL;'>
The Board Support Package (BSP) Development Guide</ulink>.
Finally, there is wiki page write up of the example also located
<ulink url='https://wiki.yoctoproject.org/wiki/Transcript:_creating_one_generic_Atom_BSP_from_another'>
<ulink url='&YOCTO_WIKI_URL;/wiki/Transcript:_creating_one_generic_Atom_BSP_from_another'>
here</ulink> that you might find helpful.
</para>
</section>
@@ -201,7 +212,7 @@
The remainder of this section presents a high-level overview of the Linux Yocto
kernel architecture and the steps to modify the Linux Yocto kernel.
For a complete discussion of the kernel, see
<ulink url='http://www.yoctoproject.org/docs/latest/kernel-manual/kernel-manual.html'>
<ulink url='&YOCTO_DOCS_KERNEL_URL;'>
The Yocto Project Kernel Architecture and Use Manual</ulink>.
You can reference the appendix
"<link linkend='dev-manual-kernel-appendix'>Kernel Modification Example</link>"
@@ -221,7 +232,7 @@
<para>
You can find a web interface to the Linux Yocto kernel source repositories at
<ulink url='http://git.yoctoproject.org/'></ulink>.
<ulink url='&YOCTO_GIT_URL;'></ulink>.
If you look at the interface, you will see to the left a grouping of
Git repositories titled "Yocto Linux Kernel."
Within this group, you will find the four different kernels supported by
@@ -231,8 +242,11 @@
stable Linux Yocto kernel that is based on the Linux 2.6.34 release.</para></listitem>
<listitem><para><emphasis><filename>linux-yocto-2.6.37</filename></emphasis> - The
stable Linux Yocto kernel that is based on the Linux 2.6.37 release.</para></listitem>
<listitem><para><emphasis><filename>linux-yocto-3.0</filename></emphasis> - The current
<listitem><para><emphasis><filename>linux-yocto-3.0</filename></emphasis> - The stable
Linux Yocto kernel that is based on the Linux 3.0 release.</para></listitem>
<listitem><para><emphasis><filename>linux-yocto-3.0-1.1.x</filename></emphasis> - The
stable Linux Yocto kernel to use with the Yocto Project Release 1.1.x. This kernel
is based on the Linux 3.0 release</para></listitem>
<listitem><para><emphasis><filename>linux-yocto-dev</filename></emphasis> - A development
kernel based on the latest upstream release candidate available.</para></listitem>
</itemizedlist>
@@ -349,7 +363,7 @@
<para>
Again, for a complete discussion of the Yocto Project kernel's architcture and its
branching strategy,
see the <ulink url='http://www.yoctoproject.org/docs/latest/kernel-manual/kernel-manual.html'>
see the <ulink url='&YOCTO_DOCS_KERNEL_URL;'>
The Yocto Project Kernel Architecture and Use Manual</ulink>.
Also, you can reference
<xref linkend='modifying-the-kernel-source-code'>Modifying the Kernel Source Code</xref>
@@ -373,8 +387,8 @@
<orderedlist>
<listitem><para><emphasis>Set up your host development system to support
development using the Yocto Project</emphasis>: See
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#the-linux-distro'>The Linux Distributions</ulink>" and
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#packages'>The Packages</ulink>" sections both
"<ulink url='&YOCTO_DOCS_QS_URL;#the-linux-distro'>The Linux Distributions</ulink>" and
"<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>" sections both
in the Yocto Project Quick Start for requirements.</para></listitem>
<listitem><para><emphasis>Establish a local copy of the Yocto Project files on your
system</emphasis>: Having the Yocto Project files on your system gives you access to
@@ -424,15 +438,16 @@
When saved, changes using <filename>menuconfig</filename> update the kernel's
<filename>.config</filename>.
Try to resist the temptation of directly editing the <filename>.config</filename>
file found in the Yocto Project build directory at
file found in the
<link linkend='yocto-project-build-directory'>Yocto Project Build Directory</link> at
<filename>tmp/sysroots/&lt;machine-name&gt;/kernel</filename>.
Doing so, can produce unexpected results when the Yocto Project build system
regenerates the configuration file.</para>
<para>Once you are satisfied with the configuration changes made using
<filename>menuconfig</filename>, you can directly examine the
<filename>.config</filename> file against a saved original and gather those
changes into a config fragment to be placed inside a
<filename>.bbappend</filename></para></listitem>
changes into a config fragment to be referenced from within the kernel's
<filename>.bbappend</filename> file.</para></listitem>
<listitem><para><emphasis>Add or extend kernel recipes if applicable</emphasis>:
The standard
layer structure organizes recipe files inside the
@@ -453,7 +468,8 @@
(<filename>local.conf</filename> and <filename>bblayers.conf</filename>)
are configured appropriately.</para>
<para>The entire process for building an image is overviewed in the
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#building-image'>Building an Image</ulink>" section of the Yocto Project Quick Start.
"<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>"
section of the Yocto Project Quick Start.
You might want to reference this information.
Also, you should look at the detailed examples found in the appendices at
at the end of this manual.</para></listitem>
@@ -464,10 +480,8 @@
<ulink url='http://bitbake.berlios.de/manual/'>here</ulink>.</para>
<para>The build process supports several types of images to satisfy different needs.
See the appendix
"<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#ref-images'>Reference: Images</ulink>" in the
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html'>
Yocto Project Reference Manual</ulink> for information on supported
images.</para></listitem>
"<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Reference: Images</ulink>" in
The Yocto Project Reference Manual for information on supported images.</para></listitem>
<listitem><para><emphasis>Make your configuration changes available
in the kernel layer</emphasis>: Up to this point, all the configuration changes to the
kernel have been done and tested iteratively.
@@ -517,7 +531,7 @@
provides an overview of the general development process.
If you want to see a detailed example of the process as it is used from within the Eclipse
IDE, see
<ulink url='http://www.yoctoproject.org/docs/latest/adt-manual/adt-manual.html'>
<ulink url='&YOCTO_DOCS_ADT_URL;'>
The Application Development Toolkit (ADT) User's Manual</ulink>.
</para>
@@ -534,8 +548,8 @@
<orderedlist>
<listitem><para><emphasis>Prepare the Host System for the Yocto Project</emphasis>:
See
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#the-linux-distro'>The Linux Distributions</ulink>" and
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#packages'>The Packages</ulink>" sections both
"<ulink url='&YOCTO_DOCS_QS_URL;#the-linux-distro'>The Linux Distributions</ulink>" and
"<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>" sections both
in the Yocto Project Quick Start for requirements.</para></listitem>
<!--
@@ -563,12 +577,12 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
(QEMU or real hardware), the area you get the image from differs.
<itemizedlist>
<listitem><para>Download the image from
<ulink url='http://www.yoctoproject.org/downloads/yocto-1.1/machines/'>
<ulink url='&YOCTO_MACHINES_DL_URL;'>
<filename>machines</filename></ulink> if your target architecture is supported
and you are going to develop and test your application on actual hardware.
</para></listitem>
<listitem><para>Download the image from the
<ulink url='http://www.yoctoproject.org/downloads/yocto-1.1/machines/qemu/'>
<ulink url='&YOCTO_QEMU_DL_URL;'>
<filename>machines/qemu</filename></ulink> if your target architecture is supported
and you are going to develop and test your application using the QEMU
emulator.</para></listitem>
@@ -583,10 +597,8 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
</itemizedlist></para>
<para>For information on pre-built kernel image naming schemes for images
that can run on the QEMU emulator, see the
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#using-pre-built'>Using Pre-Built Binaries and QEMU</ulink>"
section in
<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html'>
The Yocto Project Quick Start</ulink>.</para></listitem>
"<ulink url='&YOCTO_DOCS_QS_URL;#using-pre-built'>Using Pre-Built Binaries and QEMU</ulink>"
section in the Yocto Project Quick Start.</para></listitem>
<listitem><para><emphasis>Install the ADT</emphasis>:
The ADT provides a target-specific cross-development toolchain, the root filesystem,
the QEMU emulator, and other tools that can help you develop your application.
@@ -594,9 +606,9 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
easy method.
You can get these pieces by running an ADT installer script, which is configurable.
For information on how to install the ADT, see the
"<ulink url='http://www.yoctoproject.org/docs/latest/adt-manual/adt-manual.html#using-the-adt-installer'>Using the ADT Installer</ulink>" section in
<ulink url='http://www.yoctoproject.org/docs/latest/adt-manual/adt-manual.html'>The Yocto Project
Application Development (ADT) User's Manual</ulink>.</para></listitem>
"<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Using the ADT Installer</ulink>"
section
in the Yocto Project Application Development (ADT) User's Manual.</para></listitem>
<listitem><para><emphasis>If Applicable, Secure the Target Root Filesystem</emphasis>:
If you choose not to install the ADT using the ADT Installer,
you need to find and download the
@@ -640,14 +652,14 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
<orderedlist>
<listitem><para><emphasis>Install the cross-development toolchain for your target hardware:</emphasis>
For information on how to install the toolchain, see the
"<ulink url='http://www.yoctoproject/docs/1.1/adt-manual/adt-manual.html#using-an-existing-toolchain-tarball'>Using a Cross-Toolchain Tarball</ulink>" section in
<ulink url='http://www.yoctoproject/docs/1.1/adt-manual/adt-manual.html'>The Yocto Project
Application Development (ADT) User's Manual</ulink>.</para></listitem>
"<ulink url='&YOCTO_DOCS_ADT_URL;#using-an-existing-toolchain-tarball'>Using a Cross-Toolchain Tarball</ulink>"
section
in the Yocto Project Application Development (ADT) User's Manual.</para></listitem>
<listitem><para><emphasis>Download the Target Image:</emphasis> The Yocto Project supports
several target architectures and has many pre-built kernel images and root filesystem
images.</para>
<para>If you are going to develop your application on hardware, go to the
<ulink url='http://www.yoctoproject.org/downloads/yocto-1.1/machines/'>
<ulink url='&YOCTO_MACHINES_DL_URL;'>
<filename>machines</filename></ulink> download area and choose a target machine area
from which to download the kernel image and root filesystem.
This download area could have several files in it that support development using
@@ -657,7 +669,7 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
Be sure to get the files you need for your particular development process.</para>
<para>If you are going to develop your application and then run and test it using the QEMU
emulator, go to the
<ulink url='http://www.yoctoproject.org/downloads/yocto-1.1/machines/qemu/'>
<ulink url='&YOCTO_QEMU_DL_URL;'>
<filename>machines/qemu</filename></ulink> download area.
From this area, go down into the directory for your target architecture
(e.g. <filename>qemux86_64</filename> for an
@@ -665,7 +677,7 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
Download kernel, root filesystem, and any other files you need for your process.
<note>In order to use the root filesystem in QEMU, you need to extract it.
See the
"<ulink url='http://www.yoctoproject.org/docs/latest/adt-manual/adt-manual.html#extracting-the-root-filesystem'>Extracting the Root Filesystem</ulink>" section for information on how to extract the
"<ulink url='&YOCTO_DOCS_ADT_URL;#extracting-the-root-filesystem'>Extracting the Root Filesystem</ulink>" section for information on how to extract the
root filesystem.</note></para></listitem>
<listitem><para><emphasis>Develop and Test your Application:</emphasis> At this point,
you have the tools to develop your application.
@@ -677,6 +689,43 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
</section>
</section>
<section id='image-development-using-hob'>
<title>Image Development Using Hob</title>
<para>
The <ulink url='&YOCTO_HOME_URL;/projects/hob'>Hob</ulink> is a graphical user interface for the Yocto
Project build system based on BitBake.
You can use the Hob to build custom operating system images within the Yocto Project build environment.
Hob simply provides a friendly interface over the build system used during system development.
In other words, building images with the Hob lets you take care of common Yocto Project build tasks more easily.
</para>
<para>
For a better understanding of Hob, see the project page at
<ulink url='&YOCTO_HOME_URL;/projects/hob'></ulink> on the Yocto Project website.
The page has a short introductory training video on Hob.
The following lists some features of Hob:
<itemizedlist>
<listitem><para>You can setup and run Hob using these commands:
<literallayout class='monospaced'>
$ source oe-init-build-env
$ hob
</literallayout></para></listitem>
<listitem><para>You can set the
<ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>
for which you are building the image.</para></listitem>
<listitem><para>You can modify various policy settings such as the package format used to build with,
the parrallelism BitBake uses, whether or not to build an external toolchain, and which host
to build against.</para></listitem>
<listitem><para>You can manage <link linkend='understanding-and-creating-layers'>Understanding
and Creating layers</link>.</para></listitem>
<listitem><para>You can select a base image and then add extra packages for your custom build.
</para></listitem>
<listitem><para>You can launch and monitor the build from within Hob.</para></listitem>
</itemizedlist>
</para>
</section>
</chapter>
<!--
vim: expandtab tw=80 ts=4

View File

@@ -1,5 +1,6 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='dev-manual-newbie'>
@@ -53,12 +54,76 @@
</para>
</section>
<section id="usingpoky-changes-collaborate">
<title>Using The Yocto Project in a Team Environment</title>
<para>
It might not be immediately clear how you can use the Yocto Project in a team environment,
or scale it for a large team of developers.
The specifics of any situation determine the best solution.
Granted that the Yocto Project offers immense flexibility regarding this, practices do exist
that experience has shown work well.
</para>
<para>
The core component of any development effort with the Yocto Project is often an
automated build and testing framework along with an image generation process.
You can use these core components to check that the metadata can be built,
highlight when commits break the build, and provide up-to-date images that
allow developers to test the end result and use it as a base platform for further
development.
Experience shows that buildbot is a good fit for this role.
What works well is to configure buildbot to make two types of builds:
incremental and full (from scratch).
See <ulink url='http://autobuilder.yoctoproject.org:8010/'>the buildbot for the
Yocto Project</ulink> for an example implementation that uses buildbot.
</para>
<para>
You can tie incremental builds to a commit hook that triggers the build
each time a commit is made to the metadata.
This practice results in useful acid tests that determine whether a given commit
breaks the build in some serious way.
Associating a build to a commit can catch a lot of simple errors.
Furthermore, the tests are fast so developers can get quick feedback on changes.
</para>
<para>
Full builds build and test everything from the ground up.
These types of builds usually happen at predetermined times like during the
night when the machine load is low.
</para>
<para>
Most teams have many pieces of software undergoing active development at any given time.
You can derive large benefits by putting these pieces under the control of a source
control system that is compatible with the Yocto Project (i.e. Git or Subversion (SVN).
You can then set the autobuilder to pull the latest revisions of the packages
and test the latest commits by the builds.
This practice quickly highlights issues.
The Yocto Project easily supports testing configurations that use both a
stable known good revision and a floating revision.
The Yocto Project can also take just the changes from specific source control branches.
This capability allows you to track and test specific changes.
</para>
<para>
Perhaps the hardest part of setting this up is defining the software project or
the Yocto Project metadata policies that surround the different source control systems.
Of course circumstances will be different in each case.
However, this situation reveals one of the Yocto Project's advantages -
the system itself does not
force any particular policy on users, unlike a lot of build systems.
The system allows the best policies to be chosen for the given circumstances.
</para>
</section>
<section id='yocto-project-repositories'>
<title>Yocto Project Source Repositories</title>
<para>
The Yocto Project team maintains complete source repositories for all Yocto Project files
<ulink url='http://git.yoctoproject.org/cgit/cgit.cgi'>here</ulink>.
at <ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi'></ulink>.
This web-based source code browser is organized into categories by function such as
IDE Plugins, Matchbox, Poky, Yocto Linux Kernel, and so forth.
From the interface, you can click on any particular item in the "Name" column and
@@ -79,7 +144,7 @@
<para>
For any supported release of Yocto Project, you can go to the Yocto Project websites
<ulink url='http://www.yoctoproject.org/download'>download page</ulink> and get a
<ulink url='&YOCTO_HOME_URL;/download'>download page</ulink> and get a
tarball of the release.
You can also go to this site to download any supported BSP tarballs.
Unpacking the tarball gives you a hierarchical directory structure of Yocto Project
@@ -94,15 +159,15 @@
<para>
In summary, here is where you can get the Yocto Project files needed for development:
<itemizedlist>
<listitem><para><emphasis><ulink url='http://git.yoctoproject.org/cgit/cgit.cgi'>Source Repositories:</ulink></emphasis>
<listitem><para id='source-repositories'><emphasis><ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi'>Source Repositories:</ulink></emphasis>
This area contains IDE Plugins, Matchbox, Poky, Poky Support, Tools, Yocto Linux Kernel, and Yocto
Metadata Layers.
You can create Git repositories for each of these areas.</para>
<para>
<imagedata fileref="figures/source-repos.png" align="center" width="6in" depth="4in" />
</para></listitem>
<listitem><para><anchor id='index-downloads' /><emphasis><ulink url='http://downloads.yoctoproject.org/releases/'>Index of /releases:</ulink></emphasis>
This area contains an index of downloads such as
<listitem><para><anchor id='index-downloads' /><emphasis><ulink url='&YOCTO_DL_URL;/releases/'>Index of /releases:</ulink></emphasis>
This area contains index releases such as
the <trademark class='trade'>Eclipse</trademark>
Yocto Plug-in, miscellaneous support, Poky, pseudo, cross-development toolchains,
and all released versions of Yocto Project in the form of images or tarballs.
@@ -111,11 +176,11 @@
<para>
<imagedata fileref="figures/index-downloads.png" align="center" width="6in" depth="4in" />
</para></listitem>
<listitem><para><emphasis><ulink url='http://www.yoctoproject.org/download'>Yocto Project Download Page</ulink></emphasis>
<listitem><para><emphasis><ulink url='&YOCTO_HOME_URL;/download'>Yocto Project Download Page</ulink></emphasis>
This page on the Yocto Project website allows you to download any Yocto Project
release or Board Support Package (BSP) in tarball form.
The tarballs are similar to those found in the
<ulink url='http://downloads.yoctoproject.org/releases/'>Index of /releases:</ulink> area.</para>
<ulink url='&YOCTO_DL_URL;/releases/'>Index of /releases:</ulink> area.</para>
<para>
<imagedata fileref="figures/yp-download.png" align="center" width="6in" depth="4in" />
</para></listitem>
@@ -130,119 +195,175 @@
Following is a list of terms and definitions users new to the Yocto Project development
environment might find helpful.
While some of these terms are universal, the list includes them just in case:
<itemizedlist>
<listitem><para><emphasis>Append Files:</emphasis> Files that append build information to
a recipe file.
Information in append files overrides the information in the similarly-named recipe file.
Append files use the <filename>.bbappend</filename> filename suffix.</para></listitem>
<listitem><para><emphasis>BitBake:</emphasis> The task executor and scheduler used by
the Yocto Project to build images.
For more information on BitBake, see the <ulink url='http://bitbake.berlios.de/manual/'>
BitBake documentation</ulink>.</para></listitem>
<listitem><para><emphasis>Classes:</emphasis> Files that provide for logic encapsulation
and inheritance allowing commonly used patterns to be defined once and easily used
in multiple recipes.
Class files end with the <filename>.bbclass</filename> filename extension.</para></listitem>
<listitem><para><emphasis>Configuration File:</emphasis> Configuration information in various
<filename>.conf</filename> files provides global definitions of variables.
The <filename>conf/local.conf</filename> configuration file in the Yocto Project
build directory contains user-defined variables that affect each build.
The <filename>meta-yocto/conf/distro/poky.conf</filename> configuration file
defines Yocto distro configuration
variables used only when building with this policy.
Machine configuration files, which
are located throughout the Yocto Project file structure, define
variables for specific hardware and are only used when building for that target
(e.g. the <filename>machine/beagleboard.conf</filename> configuration file defines
variables for the Texas Instruments ARM Cortex-A8 development board).
Configuration files end with a <filename>.conf</filename> filename extension.</para></listitem>
<listitem><para><emphasis>Cross-Development Toolchain:</emphasis> A collection of software development
tools and utilities that allow you to develop software for targeted architectures.
This toolchain contains cross-compilers, linkers, and debuggers that are specific to
an architecture.
You can use the Yocto Project to build cross-development toolchains in tarball form that when
unpacked contain the development tools you need to cross-compile and test your software.
The Yocto Project ships with images that contain toolchains for supported architectures
as well.
Sometimes this toolchain is referred to as the meta-toolchain.</para></listitem>
<listitem><para><emphasis>Image:</emphasis> An image is the result produced when
BitBake processes a given collection of recipes and related metadata.
Images are the binary output that runs on specific hardware and for specific
use cases.
For a list of the supported image types that the Yocto Project provides, see the
"<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#ref-images'>Reference: Images</ulink>"
appendix in
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html'>
The Yocto Project Reference Manual</ulink>.</para></listitem>
<listitem><para><emphasis>Layer:</emphasis> A collection of recipes representing the core,
a BSP, or an application stack.</para></listitem>
<listitem><para><emphasis>Metadata:</emphasis> The files that BitBake parses when building an image.
Metadata includes recipes, classes, and configuration files.</para></listitem>
<listitem><para><emphasis>OE-Core:</emphasis> A core set of metadata originating
with OpenEmbedded (OE) that is shared between OE and the Yocto Project.
This metadata is found in the <filename>meta</filename> directory of the Yocto Project
files.</para></listitem>
<listitem><para><emphasis>Package:</emphasis> The packaged output from a baked recipe.
A package is generally the compiled binaries produced from the recipe's sources.
You bake something by running it through BitBake.</para></listitem>
<listitem><para><emphasis>Poky:</emphasis> The build tool that the Yocto Project
uses to create images.</para></listitem>
<listitem><para><emphasis>Recipe:</emphasis> A set of instructions for building packages.
A recipe describes where you get source code and which patches to apply.
Recipes describe dependencies for libraries or for other recipes, and they
also contain configuration and compilation options.
Recipes contain the logical unit of execution, the software/images to build, and
use the <filename>.bb</filename> file extension.</para></listitem>
<listitem><para><emphasis>Tasks:</emphasis> Arbitrary groups of software Recipes.
You simply use Tasks to hold recipes that, when built, usually accomplish a single task.
For example, a task could contain the recipes for a companys proprietary or value-add software.
Or, the task could contain the recipes that enable graphics.
A task is really just another recipe.
Because task files are recipes, they end with the <filename>.bb</filename> filename
extension.</para></listitem>
<listitem><para><emphasis>Upstream:</emphasis> A reference to source code or repositories
that are not local to the development system but located in a master area that is controlled
by the maintainer of the source code.
For example, in order for a developer to work on a particular piece of code, they need to
first get a copy of it from an "upstream" source.</para></listitem>
<listitem><para><emphasis>Yocto Project Files:</emphasis>
This term refers to the directory structure created as a result of downloading
and unpacking a Yocto Project release tarball or setting up a Git repository
by cloning <filename>git://git.yoctoproject.org/poky</filename>.
Sometimes the term "the Yocto Project Files structure" is used as well.</para>
<para>The Yocto Project files contain BitBake, Documentation, metadata and
other files that all support the development environment.
Consequently, you must have the Yocto Project files in place on your development
system in order to do any development using the Yocto Project.</para>
<para>The name of the top-level directory of the Yocto Project file structure
is derived from the Yocto Project release tarball.
For example, downloading and unpacking <filename>poky-edison-6.0.tar.bz2</filename>
results in a Yocto Project file structure whose Yocto Project source directory is named
<filename>poky-edison-6.0</filename>.
If you create a Git repository, then you can name the repository anything you like.</para>
<para>You can find instruction on how to set up the Yocto Project files on your
host development system by reading
the
"<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html#getting-setup'>Getting
Setup</ulink>" section.</para></listitem>
<listitem><para><emphasis>Yocto Project Build Directory:</emphasis>
This term refers to the area used by the Yocto Project for builds.
The area is created when you <filename>source</filename> the Yocto Project setup
environment script that is found in the Yocto Project files area.
(e.g. <filename>oe-init-build-env</filename>).
You can create the Yocto Project build directory anywhere you want on your
development system.
Here is an example that creates the directory in <filename>mybuilds</filename>
and names the Yocto Project build directory <filename>YP-6.0</filename>:
<literallayout class='monospaced'>
$ source poky-edison-6.0/oe-init-build-env $HOME/mybuilds/YP-6.0
</literallayout>
If you don't specifically name the directory, BitBake creates it
in the current directory and uses the name <filename>build</filename>.
Also, if you supply an existing directory, then BitBake uses that
directory as the Yocto Project build directory and populates the build hierarchy
beneath it.</para></listitem>
</itemizedlist>
<itemizedlist>
<listitem><para><emphasis>Append Files:</emphasis> Files that append build information to
a recipe file.
Append files are known as BitBake append files and <filename>.bbappend</filename> files.
The Yocto Project build system expects every append file to have a corresponding and
underlying recipe (<filename>.bb</filename>) file.
Furthermore, the append file and the underlying recipe must have the same root filename.
The filenames can differ only in the file type suffix used (e.g.
<filename>formfactor_0.0.bb</filename> and <filename>formfactor_0.0.bbappend</filename>).
</para>
<para>Information in append files overrides the information in the similarly-named recipe file.
For examples of <filename>.bbappend</filename> file in use, see the
"<link linkend='using-bbappend-files'>Using .bbappend Files</link>" and
"<link linkend='changing-recipes-kernel'>Changing <filename>recipes-kernel</filename></link>"
sections.</para></listitem>
<listitem><para><emphasis>BitBake:</emphasis> The task executor and scheduler used by
the Yocto Project to build images.
For more information on BitBake, see the <ulink url='http://bitbake.berlios.de/manual/'>
BitBake documentation</ulink>.</para></listitem>
<listitem><para><emphasis>Classes:</emphasis> Files that provide for logic encapsulation
and inheritance allowing commonly used patterns to be defined once and easily used
in multiple recipes.
Class files end with the <filename>.bbclass</filename> filename extension.
</para></listitem>
<listitem><para><emphasis>Configuration File:</emphasis> Configuration information in various
<filename>.conf</filename> files provides global definitions of variables.
The <filename>conf/local.conf</filename> configuration file in the
<link linkend='yocto-project-build-directory'>Yocto Project Build Directory</link>
contains user-defined variables that affect each build.
The <filename>meta-yocto/conf/distro/poky.conf</filename> configuration file
defines Yocto distro configuration
variables used only when building with this policy.
Machine configuration files, which
are located throughout the Yocto Project file structure, define
variables for specific hardware and are only used when building for that target
(e.g. the <filename>machine/beagleboard.conf</filename> configuration file defines
variables for the Texas Instruments ARM Cortex-A8 development board).
Configuration files end with a <filename>.conf</filename> filename extension.
</para></listitem>
<listitem><para><emphasis>Cross-Development Toolchain:</emphasis>
A collection of software development
tools and utilities that allow you to develop software for targeted architectures.
This toolchain contains cross-compilers, linkers, and debuggers that are specific to
an architecture.
You can use the Yocto Project to build cross-development toolchains in tarball form that when
unpacked contain the development tools you need to cross-compile and test your software.
The Yocto Project ships with images that contain toolchains for supported architectures
as well.
Sometimes this toolchain is referred to as the meta-toolchain.</para></listitem>
<listitem><para><emphasis>Image:</emphasis> An image is the result produced when
BitBake processes a given collection of recipes and related metadata.
Images are the binary output that runs on specific hardware and for specific
use cases.
For a list of the supported image types that the Yocto Project provides, see the
"<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Reference: Images</ulink>"
appendix in The Yocto Project Reference Manual.</para></listitem>
<listitem><para id='layer'><emphasis>Layer:</emphasis> A collection of recipes representing the core,
a BSP, or an application stack.
For a discussion on BSP Layers, see the
"<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-layers'>BSP Layers</ulink>"
section in the Yocto Project Board Support Packages (BSP) Developer's Guide.</para></listitem>
<listitem><para id='metadata'><emphasis>Metadata:</emphasis> The files that BitBake parses when
building an image.
Metadata includes recipes, classes, and configuration files.</para></listitem>
<listitem><para><emphasis>OE-Core:</emphasis> A core set of metadata originating
with OpenEmbedded (OE) that is shared between OE and the Yocto Project.
This metadata is found in the <filename>meta</filename> directory of the Yocto Project
files.</para></listitem>
<listitem><para><emphasis>Package:</emphasis> The packaged output from a baked recipe.
A package is generally the compiled binaries produced from the recipe's sources.
You bake something by running it through BitBake.</para></listitem>
<listitem><para><emphasis>Poky:</emphasis> The build tool that the Yocto Project
uses to create images.</para></listitem>
<listitem><para><emphasis>Recipe:</emphasis> A set of instructions for building packages.
A recipe describes where you get source code and which patches to apply.
Recipes describe dependencies for libraries or for other recipes, and they
also contain configuration and compilation options.
Recipes contain the logical unit of execution, the software/images to build, and
use the <filename>.bb</filename> file extension.</para></listitem>
<listitem><para><emphasis>Tasks:</emphasis> Arbitrary groups of software Recipes.
You simply use Tasks to hold recipes that, when built, usually accomplish a single task.
For example, a task could contain the recipes for a companys proprietary or value-add software.
Or, the task could contain the recipes that enable graphics.
A task is really just another recipe.
Because task files are recipes, they end with the <filename>.bb</filename> filename
extension.</para></listitem>
<listitem><para><emphasis>Upstream:</emphasis> A reference to source code or repositories
that are not local to the development system but located in a master area that is controlled
by the maintainer of the source code.
For example, in order for a developer to work on a particular piece of code, they need to
first get a copy of it from an "upstream" source.</para></listitem>
<listitem>
<para id='yocto-project-files'><emphasis>Yocto Project Files:</emphasis>
This term refers to the directory structure created as a result of either downloading
and unpacking a Yocto Project release tarball or setting up a Git repository
by cloning <filename>git://git.yoctoproject.org/poky</filename>.
Sometimes the term "the Yocto Project Files structure" is used as well.</para>
<para>The Yocto Project Files contain BitBake, Documentation, metadata and
other files that all support the development environment.
Consequently, you must have the Yocto Project Files in place on your development
system in order to do any development using the Yocto Project.</para>
<para>The name of the top-level directory of the Yocto Project Files structure
is derived from the Yocto Project release tarball.
For example, downloading and unpacking <filename>&YOCTO_POKY_TARBALL;</filename>
results in a Yocto Project file structure whose Yocto Project source directory is named
<filename>&YOCTO_POKY;</filename>.
If you create a Git repository, then you can name the repository anything you like.
Throughout much of the documentation, the name of the Git repository is used as the
name for the local folder.
So, for example, cloning the <filename>poky</filename> Git repository results in a
local Git repository also named <filename>poky</filename>.</para>
<para>It is important to understand the differences between Yocto Project Files created
by unpacking a release tarball as compared to cloning
<filename>git://git.yoctoproject.org/poky</filename>.
When you unpack a tarball, you have an exact copy of the files based on the time of
release - a fixed release point.
Any changes you make to your local Yocto Project Files are on top of the release.
On the other hand, when you clone the Yocto Project Git repository, you have an
active development repository.
In this case, any local changes you make to the Yocto Project can be later applied
to active development branches of the upstream Yocto Project Git repository.</para>
<para>Finally, if you want to track a set of local changes while starting from the same point
as a release tarball, you can create a local Git branch that
reflects the exact copy of the files at the time of their release.
You do this using Git tags that are part of the repository.</para>
<para>For more information on concepts around Git repositories, branches, and tags,
see the
"<link linkend='repositories-tags-and-branches'>Repositories, Tags, and Branches</link>"
section.</para></listitem>
<listitem>
<para id='yocto-project-build-directory'><emphasis>Yocto Project Build Directory:</emphasis>
This term refers to the area used by the Yocto Project for builds.
The area is created when you <filename>source</filename> the Yocto Project setup
environment script that is found in the Yocto Project files area
(i.e. <filename>oe-init-build-env</filename>).
The <filename>TOPDIR</filename> variable points to the build directory.</para>
<para>You have a lot of flexibility when creating the Yocto Project Build Directory.
Following are some examples that show how to create the directory:
<itemizedlist>
<listitem><para>Create the build directory in your current working directory
and name it <filename>build</filename>.
This is the default behavior.
<literallayout class='monospaced'>
$ cd ~/poky
$ source oe-init-build-env
</literallayout></para></listitem>
<listitem><para>Provide a directory path and specifically name the build
directory.
This next example creates a build directory named <filename>YP-&POKYVERSION;</filename>
in your home directory within the directory <filename>mybuilds</filename>.
If <filename>mybuilds</filename> does not exist, the directory is created for you:
<literallayout class='monospaced'>
$ source &OE_INIT_PATH; $HOME/mybuilds/YP-&POKYVERSION;
</literallayout></para></listitem>
<listitem><para>Provide an existing directory to use as the build directory.
This example uses the existing <filename>mybuilds</filename> directory
as the build directory.
<literallayout class='monospaced'>
$ source &OE_INIT_PATH; $HOME/mybuilds/
</literallayout></para></listitem>
</itemizedlist>
</para></listitem>
</itemizedlist>
</para>
</section>
@@ -280,7 +401,8 @@
You can find this list in the Yocto Project files directory at
<filename>meta/files/common-licenses</filename>.
Once the build completes, the list of all licenses found and used during that build are
kept in the Yocto Project build directory at
kept in the
<link linkend='yocto-project-build-directory'>Yocto Project Build Directory</link> at
<filename>tmp/deploy/images/licenses</filename>.
</para>
@@ -305,7 +427,7 @@
<para>
You can find a list of the combined SPDX and OSI licenses that the Yocto Project uses
<ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/poky/tree/meta/files/common-licenses'>here</ulink>.
<ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/meta/files/common-licenses'>here</ulink>.
This wiki page discusses the license infrastructure used by the Yocto Project.
</para>
</section>
@@ -316,103 +438,245 @@
<para>
The Yocto Project uses Git, which is a free, open source distributed version control system.
Git supports distributed development, non-linear development, and can handle large projects.
It is best that you know how to work with Git if you are going to use Yocto Project for development.
It is best that you have some fundamental understanding of how Git tracks projects and
how to work with Git if you are going to use Yocto Project for development.
This section provides a quick overview of how Git works and provides you with a summary
of some essential Git commands.
</para>
<para>
Git has an extensive set of commands that lets you manage changes and perform
collaboration over the life of a project.
Conveniently though, you can manage with a small set of basic operations and workflows
once you understand the basic philosophy behind Git.
You do not have to be an expert in Git to be functional.
A good place to look for instruction on a minimal set of Git commands is
<ulink url='http://git-scm.com/documentation'>here</ulink>.
If you need to download Git, you can do so
<ulink url='http://git-scm.com/download'>here</ulink>.
For more information on Git, see
<ulink url='http://git-scm.com/documentation'></ulink>.
If you need to download Git, go to <ulink url='http://git-scm.com/download'></ulink>.
</para>
<para>
Git works by using branching techniques that track content change (not files)
within a project (e.g. a new feature or updated documentation).
Creating a tree-like structure based on project divergence allows for excellent historical
information over the life of a project.
This methodology also allows for an environment in which you can do lots of
experimentation on your project as you develop changes or new features.
For example, you can create a “branch”, experiment with some feature, and then
if you like the feature, you incorporate the branch into the tree.
If you dont, you cut the branch off by deleting it.
</para>
<section id='repositories-tags-and-branches'>
<title>Repositories, Tags, and Branches</title>
<para>
If you dont know much about Git, we suggest you educate
yourself by visiting the links previously mentioned.
</para>
<para>
As mentioned earlier in section
"<link linkend='yocto-project-repositories'>Yocto Project Source Repositories</link>",
the Yocto Project maintains source repositories at
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>.
If you look at this web-interface of the repositories, each item is a separate
Git repository.
</para>
<para>
The following list briefly describes some basic Git operations as a way to get started.
As with any set of commands, this list (in most cases) simply shows the base command and
omits the many arguments they support.
See the Git documentation for complete descriptions and strategies on how to use these commands:
<itemizedlist>
<listitem><para><emphasis><filename>git init</filename>:</emphasis> Initializes an empty Git repository.
You cannot use Git commands unless you have a <filename>.git</filename> repository.</para></listitem>
<listitem><para><emphasis><filename>git clone</filename>:</emphasis> Creates a clone of a repository.
During collaboration, this command allows you to create a local repository that is on
equal footing with a fellow developers repository.</para></listitem>
<listitem><para><emphasis><filename>git add</filename>:</emphasis> Adds updated file contents
to the index that
Git uses to track changes.
You must add all files that have changed before you can commit them.</para></listitem>
<listitem><para><emphasis><filename>git commit</filename>:</emphasis> Creates a “commit” that documents
the changes you made.
Commits are used for historical purposes, for determining if a maintainer of a project
will allow the change, and for ultimately pushing the change from your local Git repository
into the projects upstream (or master) repository.</para></listitem>
<listitem><para><emphasis><filename>git status</filename>:</emphasis> Reports any modified files that
possibly need to be added and committed.</para></listitem>
<listitem><para><emphasis><filename>git checkout &lt;branch-name&gt;</filename>:</emphasis> Changes
your working branch.
This command is analogous to “cd”.</para></listitem>
<listitem><para><emphasis><filename>git checkout b &lt;working-branch&gt;</filename>:</emphasis> Creates
a working branch on your local machine where you can isolate work.
It is a good idea to use local branches when adding specific features or changes.
This way if you dont like what you have done you can easily get rid of the work.</para></listitem>
<listitem><para><emphasis><filename>git branch</filename>:</emphasis> Reports existing branches and
tells you which branch in which you are currently working.</para></listitem>
<listitem><para><emphasis><filename>git branch -D &lt;branch-name&gt;</filename>:</emphasis>
Deletes an existing branch.
You need to be in a branch other than the one you are deleting
in order to delete &lt;branch-name&gt;.</para></listitem>
<listitem><para><emphasis><filename>git pull</filename>:</emphasis> Retrieves information
from an upstream Git
repository and places it in your local Git repository.
You use this command to make sure you are synchronized with the repository
from which you are basing changes (.e.g. the master repository).</para></listitem>
<listitem><para><emphasis><filename>git push</filename>:</emphasis> Sends all your local changes you
have committed to an upstream Git repository (e.g. a contribution repository).
The maintainer of the project draws from these repositories when adding your changes to the
projects master repository.</para></listitem>
<listitem><para><emphasis><filename>git merge</filename>:</emphasis> Combines or adds changes from one
local branch of your repository with another branch.
When you create a local Git repository, the default branch is named “master”.
A typical workflow is to create a temporary branch for isolated work, make and commit your
changes, switch to your local master branch, merge the changes from the temporary branch into the
local master branch, and then delete the temporary branch.</para></listitem>
<listitem><para><emphasis><filename>git cherry-pick</filename>:</emphasis> Choose and apply specific
commits from one branch into another branch.
There are times when you might not be able to merge all the changes in one branch with
another but need to pick out certain ones.</para></listitem>
<listitem><para><emphasis><filename>gitk</filename>:</emphasis> Provides a GUI view of the branches
and changes in your local Git repository.
This command is a good way to graphically see where things have diverged in your
local repository.</para></listitem>
<listitem><para><emphasis><filename>git log</filename>:</emphasis> Reports a history of your changes to the
repository.</para></listitem>
<listitem><para><emphasis><filename>git diff</filename>:</emphasis> Displays line-by-line differences
between your local working files and the same files in the upstream Git repository that your
branch currently tracks.</para></listitem>
</itemizedlist>
</para>
<para>
Git repositories use branching techniques that track content change (not files)
within a project (e.g. a new feature or updated documentation).
Creating a tree-like structure based on project divergence allows for excellent historical
information over the life of a project.
This methodology also allows for an environment in which you can do lots of
local experimentation on a project as you develop changes or new features.
</para>
<para>
A Git repository represents all development efforts for a given project.
For example, the Git repository <filename>poky</filename> contains all changes
and developments for Poky over the course of its entire life.
That means that all changes that make up all releases are captured.
The repository maintains a complete history of changes.
</para>
<para>
You can create a local copy of any repository by "cloning" it with the Git
<filename>clone</filename> command.
When you clone a Git repository, you end up with an identical copy of the
repository on your development system.
Once you have a local copy of a repository, you can take steps to develop locally.
For examples on how to clone Git repositories, see the section
"<link linkend='getting-setup'>Getting Set Up</link>" earlier in this manual.
</para>
<para>
It is important to understand that Git tracks content change and not files.
Git uses "branches" to organize different development efforts.
For example, the <filename>poky</filename> repository has
<filename>laverne</filename>, <filename>bernard</filename>,
<filename>edison</filename>, and <filename>master</filename> branches among
others.
You can see all the branches by going to
<ulink url='&YOCTO_GIT_URL;/cgit.cgi/poky/'></ulink> and
clicking on the
<filename><ulink url='&YOCTO_GIT_URL;/cgit.cgi/poky/refs/heads'>[...]</ulink></filename>
link beneath the "Branch" heading.
</para>
<para>
Each of these branches represents a specific area of development.
The <filename>master</filename> branch represents the current or most recent
development.
All other branches represent off-shoots of the <filename>master</filename>
branch.
</para>
<para>
When you create a local copy of a Git repository, the copy has the same set
of branches as the original.
This means you can use Git to create a local working area (also called a branch)
that tracks a specific development branch from the source Git repository.
in other words, you can define your local Git environment to work on any development
branch in the repository.
To help illustrate, here is a set of commands that creates a local copy of the
<filename>poky</filename> Git repository and then creates and checks out a local
Git branch that tracks the Yocto Project &DISTRO; Release (&DISTRO_NAME;) development:
<literallayout class='monospaced'>
$ cd ~
$ git clone git://git.yoctoproject.org/poky
$ cd poky
$ git checkout &DISTRO_NAME; -b &DISTRO_NAME;
</literallayout>
In this example, the name of the top-level directory of your local Yocto Project
Files Git repository is <filename>poky</filename>.
And, the name of the local working area (or local branch) you have created and checked
out is named <filename>&DISTRO_NAME;</filename>.
The files in your repository now reflect the same files that are in the
<filename>&DISTRO_NAME;</filename> development branch of the Yocto Project's
<filename>poky</filename> repository.
It is important to understand that when you create and checkout a
local working branch based on a branch name,
your local environment matches the "tip" of that development branch
at the time you created your local branch, which could be
different than the files at the time of a similarly named release.
In other words, creating and checking out a local branch based on the
<filename>&DISTRO_NAME;</filename> branch name is not the same as creating and
checking out a local branch based on the <filename>&DISTRO_NAME;-&DISTRO;</filename>
release.
Keep reading to see how you create a local snapshot of a Yocto Project Release.
</para>
<para>
Git uses "tags" to mark specific changes in a repository.
Typically, a tag is used to mark a special point such as the final change
before a project is released.
You can see the tags used with the <filename>poky</filename> Git repository
by going to <ulink url='&YOCTO_GIT_URL;/cgit.cgi/poky/'></ulink> and
clicking on the
<filename><ulink url='&YOCTO_GIT_URL;/cgit.cgi/poky/refs/tags'>[...]</ulink></filename>
link beneath the "Tag" heading.
</para>
<para>
Some key tags are <filename>laverne-4.0</filename>, <filename>bernard-5.0</filename>,
and <filename>&DISTRO_NAME;-&POKYVERSION;</filename>.
These tags represent Yocto Project releases.
</para>
<para>
When you create a local copy of the Git repository, you also have access to all the
tags.
Similar to branches, you can create and checkout a local working Git branch based
on a tag name.
When you do this, you get a snapshot of the Git repository that reflects
the state of the files when the change was made associated with that tag.
The most common use is to checkout a working branch that matches a specific
Yocto Project release.
Here is an example:
<literallayout class='monospaced'>
$ cd ~
$ git clone git://git.yoctoproject.org/poky
$ cd poky
$ git checkout &DISTRO_NAME;-&POKYVERSION; -b &DISTRO_NAME;-&POKYVERSION;
</literallayout>
In this example, the name of the top-level directory of your local Yocto Project
Files Git repository is <filename>poky</filename>.
And, the name of the local branch you have created and checked out is
<filename>&DISTRO_NAME;-&POKYVERSION;</filename>.
The files in your repository now exactly match the Yocto Project &DISTRO;
Release tag (&DISTRO_NAME;).
It is important to understand that when you create and checkout a local
working branch based on a tag, your environment matches a specific point
in time and not a development branch.
</para>
</section>
<section id='basic-commands'>
<title>Basic Commands</title>
<para>
Git has an extensive set of commands that lets you manage changes and perform
collaboration over the life of a project.
Conveniently though, you can manage with a small set of basic operations and workflows
once you understand the basic philosophy behind Git.
You do not have to be an expert in Git to be functional.
A good place to look for instruction on a minimal set of Git commands is
<ulink url='http://git-scm.com/documentation'>here</ulink>.
If you need to download Git, you can do so
<ulink url='http://git-scm.com/download'>here</ulink>.
</para>
<para>
If you dont know much about Git, we suggest you educate
yourself by visiting the links previously mentioned.
</para>
<para>
The following list briefly describes some basic Git operations as a way to get started.
As with any set of commands, this list (in most cases) simply shows the base command and
omits the many arguments they support.
See the Git documentation for complete descriptions and strategies on how to use these commands:
<itemizedlist>
<listitem><para><emphasis><filename>git init</filename>:</emphasis> Initializes an empty Git repository.
You cannot use Git commands unless you have a <filename>.git</filename> repository.</para></listitem>
<listitem><para><emphasis><filename>git clone</filename>:</emphasis> Creates a clone of a repository.
During collaboration, this command allows you to create a local repository that is on
equal footing with a fellow developers repository.</para></listitem>
<listitem><para><emphasis><filename>git add</filename>:</emphasis> Adds updated file contents
to the index that
Git uses to track changes.
You must add all files that have changed before you can commit them.</para></listitem>
<listitem><para><emphasis><filename>git commit</filename>:</emphasis> Creates a “commit” that documents
the changes you made.
Commits are used for historical purposes, for determining if a maintainer of a project
will allow the change, and for ultimately pushing the change from your local Git repository
into the projects upstream (or master) repository.</para></listitem>
<listitem><para><emphasis><filename>git status</filename>:</emphasis> Reports any modified files that
possibly need to be added and committed.</para></listitem>
<listitem><para><emphasis><filename>git checkout &lt;branch-name&gt;</filename>:</emphasis> Changes
your working branch.
This command is analogous to “cd”.</para></listitem>
<listitem><para><emphasis><filename>git checkout b &lt;working-branch&gt;</filename>:</emphasis> Creates
a working branch on your local machine where you can isolate work.
It is a good idea to use local branches when adding specific features or changes.
This way if you dont like what you have done you can easily get rid of the work.</para></listitem>
<listitem><para><emphasis><filename>git branch</filename>:</emphasis> Reports existing branches and
tells you which branch in which you are currently working.</para></listitem>
<listitem><para><emphasis><filename>git branch -D &lt;branch-name&gt;</filename>:</emphasis>
Deletes an existing branch.
You need to be in a branch other than the one you are deleting
in order to delete &lt;branch-name&gt;.</para></listitem>
<listitem><para><emphasis><filename>git pull</filename>:</emphasis> Retrieves information
from an upstream Git
repository and places it in your local Git repository.
You use this command to make sure you are synchronized with the repository
from which you are basing changes (.e.g. the master repository).</para></listitem>
<listitem><para><emphasis><filename>git push</filename>:</emphasis> Sends all your local changes you
have committed to an upstream Git repository (e.g. a contribution repository).
The maintainer of the project draws from these repositories when adding your changes to the
projects master repository.</para></listitem>
<listitem><para><emphasis><filename>git merge</filename>:</emphasis> Combines or adds changes from one
local branch of your repository with another branch.
When you create a local Git repository, the default branch is named “master”.
A typical workflow is to create a temporary branch for isolated work, make and commit your
changes, switch to your local master branch, merge the changes from the temporary branch into the
local master branch, and then delete the temporary branch.</para></listitem>
<listitem><para><emphasis><filename>git cherry-pick</filename>:</emphasis> Choose and apply specific
commits from one branch into another branch.
There are times when you might not be able to merge all the changes in one branch with
another but need to pick out certain ones.</para></listitem>
<listitem><para><emphasis><filename>gitk</filename>:</emphasis> Provides a GUI view of the branches
and changes in your local Git repository.
This command is a good way to graphically see where things have diverged in your
local repository.</para></listitem>
<listitem><para><emphasis><filename>git log</filename>:</emphasis> Reports a history of your changes to the
repository.</para></listitem>
<listitem><para><emphasis><filename>git diff</filename>:</emphasis> Displays line-by-line differences
between your local working files and the same files in the upstream Git repository that your
branch currently tracks.</para></listitem>
</itemizedlist>
</para>
</section>
</section>
<section id='workflows'>
@@ -486,8 +750,8 @@
While each development environment is unique, there are some best practices or methods
that help development run smoothly.
The following list describes some of these practices.
For more detailed information about these strategies see
<ulink url='http://www.kernel.org/pub/software/scm/git/docs/gitworkflows.html'>Git Workflows</ulink>.
For more information about Git workflows, see the workflow topics in the
<ulink url='http://book.git-scm.com'>Git Community Book</ulink>.
<itemizedlist>
<listitem><para><emphasis>Make Small Changes:</emphasis> It is best to keep the changes you commit
small as compared to bundling many disparate changes into a single commit.
@@ -551,7 +815,7 @@
changes, can be used to communicate changes and problems with developers, can be used to
submit and review patches, and can be used to manage quality assurance.
The home page for the Yocto Project implementation of Bugzilla is
<ulink url='http://bugzilla.yoctoproject.org'>http://bugzilla.yoctoproject.org</ulink>.
<ulink url='&YOCTO_BUGZILLA_URL;'>&YOCTO_BUGZILLA_URL;</ulink>.
</para>
<para>
@@ -562,7 +826,7 @@
Bugzilla.
You can find more information on defect management, bug tracking, and feature request
processes all accomplished through the Yocto Project Bugzilla on the wiki page
<ulink url='https://wiki.yoctoproject.org/wiki/Bugzilla_Configuration_and_Bug_Tracking'>here</ulink>.
<ulink url='&YOCTO_WIKI_URL;/wiki/Bugzilla_Configuration_and_Bug_Tracking'>here</ulink>.
<orderedlist>
<listitem><para>Always use the Yocto Project implementation of Bugzilla to submit
a bug.</para></listitem>
@@ -605,12 +869,13 @@
<para>
Contributions to the Yocto Project are very welcome.
Because the Yocto Project is extremely configurable and flexible, we recognize that developers
will want to extend, configure or optimize it for their specific uses.
You should send patches to the appropriate Yocto Project mailing list to get them
in front of the Yocto Project Maintainer.
For a list of the Yocto Project mailing lists, see the
"<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html#resources-mailinglist'>Mailing lists</ulink>" section in
<ulink url='http://www.yoctoproject.org/docs/latest/poky-ref-manual/poky-ref-manual.html'> The
Yocto Project Reference Manual</ulink>.
"<ulink url='&YOCTO_DOCS_REF_URL;#resources-mailinglist'>Mailing lists</ulink>" section in
The Yocto Project Reference Manual.
</para>
<para>
@@ -618,14 +883,14 @@
<itemizedlist>
<listitem><para>For defects against the Yocto Project build system Poky, send
your patch to the
<ulink url='http://lists.yoctoproject.org/listinfo/poky'></ulink> mailing list.
<ulink url='&YOCTO_LISTS_URL;/listinfo/poky'></ulink> mailing list.
This mailing list corresponds to issues that are not specific to the Yocto Project but
are part of the OE-core.
For example, a defect against anything in the <filename>meta</filename> layer
or the BitBake Manual could be sent to this mailing list.</para></listitem>
<listitem><para>For defects against Yocto-specific layers, tools, and Yocto Project
documentation use the
<ulink url='http://lists.yoctoproject.org/listinfo/yocto'></ulink> mailing list.
<ulink url='&YOCTO_LISTS_URL;/listinfo/yocto'></ulink> mailing list.
This mailing list corresponds to Yocto-specific areas such as
<filename>meta-yocto</filename>, <filename>meta-intel</filename>,
<filename>linux-yocto</filename>, and <filename>documentation</filename>.</para></listitem>
@@ -675,7 +940,10 @@
<para>
In a collaborative environment, it is necessary to have some sort of standard
or method through which you submit changes.
Otherwise, things could get quite chaotic.
Otherwise, things could get quite chaotic.
One general practice to follow is to make small, controlled changes to the
Yocto Project.
Keeping changes small and isolated lets you best keep pace with future Yocto Project changes.
</para>
<para>
@@ -713,7 +981,7 @@
<para>
You can find more guidance on creating well-formed commit messages at this OpenEmbedded
wiki page:
<ulink url='http://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines'></ulink>.
<ulink url='&OE_HOME_URL;/wiki/Commit_Patch_Message_Guidelines'></ulink>.
</para>
<para>
@@ -751,9 +1019,8 @@
</para>
<para>
You can find general Git information on how to push a change upstream
<ulink url='http://www.kernel.org/pub/software/scm/git/docs/user-manual.html#Developing-With-git'>
here</ulink>.
You can find general Git information on how to push a change upstream in the
<ulink url='http://book.git-scm.com/3_distributed_workflows.html'>Git Community Book</ulink>.
</para>
</section>
@@ -778,7 +1045,7 @@
See the earlier section
"<link linkend='how-to-submit-a-change'>How to Submit a Change</link>"
for Yocto Project commit message standards.</para></listitem>
<listitem><para>Format the commit into an email messsage.
<listitem><para>Format the commit into an email message.
To format commits, use the <filename>git format-patch</filename> command.
When you provide the command, you must include a revision list or a number of patches
as part of the command.
@@ -830,22 +1097,6 @@
</para>
</section>
</section>
</chapter>
<!--
vim: expandtab tw=80 ts=4

View File

@@ -1,5 +1,6 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='dev-manual-start'>
@@ -9,7 +10,7 @@
This chapter introduces the Yocto Project and gives you an idea of what you need to get started.
You can find enough information to set up your development host and build or use images for
hardware supported by the Yocto Project by reading
<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html'>
<ulink url='&YOCTO_DOCS_QS_URL;'>
The Yocto Project Quick Start</ulink>.
</para>
@@ -57,115 +58,143 @@
</para></listitem>
<listitem><para><emphasis>Packages:</emphasis> The Yocto Project requires certain packages
exist on your development system (e.g. Python 2.6 or 2.7).
See "<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#packages'>The Packages</ulink>"
See "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>"
section in the Yocto Project Quick start for the exact package
requirements and the installation commands to install them
for the supported distributions.</para></listitem>
<listitem id='local-yp-release'><para><emphasis>Yocto Project Release:</emphasis>
You need a release of the Yocto Project.
You can get set up with local Yocto Project files one of two ways depending on whether you
You can get set up with local
<link linkend='yocto-project-files'>Yocto Project Files</link> one of two ways
depending on whether you
are going to be contributing back into the Yocto Project source repository or not.
<note>
Regardless of the method you use, this manual refers to the resulting
hierarchical set of files as "the Yocto Project files" or "the Yocto Project file
structure."
hierarchical set of files as the "Yocto Project Files" or the "Yocto Project File
Structure."
</note>
<itemizedlist>
<listitem><para><emphasis>Tarball Extraction:</emphasis> If you are not going to contribute
back into the Yocto Project, you can simply download the Yocto Project release you want
from the websites <ulink url='http://yoctoproject.org/download'>download page</ulink>.
from the websites <ulink url='&YOCTO_HOME_URL;/download'>download page</ulink>.
Once you have the tarball, just extract it into a directory of your choice.</para>
<para>For example, the following command extracts the Yocto Project 1.1 release tarball
<para>For example, the following command extracts the Yocto Project &DISTRO;
release tarball
into the current working directory and sets up the Yocto Project file structure
with a top-level directory named <filename>poky-edison-6.0</filename>:
with a top-level directory named <filename>&YOCTO_POKY;</filename>:
<literallayout class='monospaced'>
$ tar xfj poky-edison-6.0.tar.bz2
$ tar xfj &YOCTO_POKY_TARBALL;
</literallayout></para>
<para>This method does not produce a Git repository.
Instead, you simply end up with a local snapshot of the
Yocto Project files that are based on the particular release in the
tarball.</para></listitem>
<listitem><para><emphasis>Git Repository Method:</emphasis> If you are going to be contributing
back into the Yocto Project, you should use Git commands to set up a local
Git repository of the Yocto Project files.
back into the Yocto Project or you simply want to keep up
with the latest developments, you should use Git commands to set up a local
Git repository of the Yocto Project Files.
Doing so creates a Git repository with a complete history of changes and allows
you to easily submit your changes upstream to the project.</para>
<para>The following transcript shows how to clone the Yocto Project files'
Git repository into the current working directory.
The command creates the repository in a directory named <filename>poky</filename>.
For information on the Yocto Project and Git, see the
"<link linkend='git'>Git</link>" section.
<literallayout class='monospaced'>
you to easily submit your changes upstream to the project.
Because you cloned the repository, you have access to all the Yocto Project development
branches and tag names used in the upstream repository.</para>
<para>The following transcript shows how to clone the Yocto Project Files'
Git repository into the current working directory.
<note>The name of the Yocto Project Files Git repository in the Yocto Project Files
Source Repositories is <filename>poky</filename>.
You can view the Yocto Project Source Repositories at
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink></note>
The command creates the local repository in a directory named <filename>poky</filename>.
For information on Git used within the Yocto Project, see the
"<link linkend='git'>Git</link>" section.
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/poky
Initialized empty Git repository in /home/scottrif/poky/.git/
remote: Counting objects: 116882, done.
remote: Compressing objects: 100% (35987/35987), done.
remote: Total 116882 (delta 80651), reused 113045 (delta 77578)
Receiving objects: 100% (116882/116882), 72.13 MiB | 2.68 MiB/s, done.
Resolving deltas: 100% (80651/80651), done. </literallayout></para>
<para>For another example of how to set up your own local Git repositories, see this
<ulink url='https://wiki.yoctoproject.org/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'>
Resolving deltas: 100% (80651/80651), done.
</literallayout></para>
<para>For another example of how to set up your own local Git repositories, see this
<ulink url='&YOCTO_WIKI_URL;/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'>
wiki page</ulink>, which describes how to create both <filename>poky</filename>
and <filename>meta-intel</filename> Git repositories.</para></listitem>
</itemizedlist></para></listitem>
<listitem id='local-kernel-files'><para><emphasis>Linux Yocto Kernel:</emphasis>
If you are going to be making modifications to a supported Linux Yocto kernel, you
need to establish local copies of the source.
This setup involves creating a bare clone of the Linux Yocto kernel and then cloning
that repository.
You can find Git repositories of supported Linux Yocto Kernels organized under
"Yocto Linux Kernel" in the Yocto Project Source Repositories at
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>.</para>
<para>This setup involves creating a bare clone of the Linux Yocto kernel and then
copying that cloned repository.
You can create the bare clone and the copy of the bare clone anywhere you like.
For simplicity, it is recommended that you create these structures outside of the
Yocto Project files' Git repository.</para>
Yocto Project Files Git repository.</para>
<para>As an example, the following transcript shows how to create the bare clone
of the <filename>linux-yocto-3.0</filename> kernel and then create a copy of
of the <filename>linux-yocto-3.0-1.1.x</filename> kernel and then create a copy of
that clone.
<note>When you have a local Linux Yocto kernel Git repository, you can
reference that repository rather than the upstream Git repository as
part of the <filename>clone</filename> command.
Doing so can speed up the process.</note></para>
<para>In the following example, the bare clone is named
<filename>linux-yocto-3.0.git</filename>, while the
copy is named <filename>linux-yocto-3.0</filename>:
<filename>linux-yocto-3.0-1.1.x.git</filename>, while the
copy is named <filename>my-linux-yocto-3.0-1.1.x-work</filename>:
<literallayout class='monospaced'>
$ git clone --bare git://git.yoctoproject.org/linux-yocto-3.0 linux-yocto-3.0.git
Initialized empty Git repository in /home/scottrif/linux-yocto-3.0.git/
remote: Counting objects: 2123870, done.
remote: Compressing objects: 100% (341338/341338), done.
remote: Total 2123870 (delta 1778780), reused 2107534 (delta 1762583)
Receiving objects: 100% (2123870/2123870), 445.72 MiB | 2.06 MiB/s, done.
Resolving deltas: 100% (1778780/1778780), done. </literallayout></para>
$ git clone --bare git://git.yoctoproject.org/linux-yocto-3.0-1.1.x linux-yocto-3.0-1.1.x.git
Initialized empty Git repository in /home/scottrif/linux-yocto-3.0-1.1.x.git/
remote: Counting objects: 2259181, done.
remote: Compressing objects: 100% (373259/373259), done.
remote: Total 2259181 (delta 1892638), reused 2231556 (delta 1865300)
Receiving objects: 100% (2259181/2259181), 482.44 MiB | 580 KiB/s, done.
Resolving deltas: 100% (1892638/1892638), done.
</literallayout></para>
<para>Now create a clone of the bare clone just created:
<literallayout class='monospaced'>
$ git clone linux-yocto-3.0.git linux-yocto-3.0
Initialized empty Git repository in /home/scottrif/linux-yocto-3.0/.git/
Checking out files: 100% (36898/36898), done. </literallayout></para></listitem>
$ git clone linux-yocto-3.0-1.1.x.git my-linux-yocto-3.0-1.1.x-work
Initialized empty Git repository in /home/scottrif/my-linux-yocto-3.0-1.1.x/.git/
Checking out files: 100% (36898/36898), done.
</literallayout></para></listitem>
<listitem id='poky-extras-repo'><para><emphasis>
The <filename>poky-extras</filename> Git Repository</emphasis>:
The <filename>poky-extras</filename> Git repository contains metadata needed
only if you are modifying and building the kernel image.
In particular, it contains the kernel <filename>.bbappend</filename> files that you
In particular, it contains the kernel BitBake append (<filename>.bbappend</filename>)
files that you
edit to point to your locally modified kernel source files and to build the kernel
image.
Pointing to these local files is much more efficient than requiring a download of the
source files from upstream each time you make changes to the kernel.</para>
<para>It is good practice to create this Git repository inside the Yocto Project
files Git repository.
Following is an example that creates the <filename>poky-extras</filename> Git
<para>You can find the <filename>poky-extras</filename> Git Repository in the
"Yocto Metadata Layers" area of the Yocto Project Source Repositories at
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>.
It is good practice to create this Git repository inside the Yocto Project
files Git repository.</para>
<para>Following is an example that creates the <filename>poky-extras</filename> Git
repository inside the Yocto Project files Git repository, which is named
<filename>poky</filename> in this case:
<literallayout class='monospaced'>
$ cd ~/poky
$ git clone git://git.yoctoproject.org/poky-extras poky-extras
Initialized empty Git repository in /home/scottrif/poky/poky-extras/.git/
remote: Counting objects: 543, done.
remote: Compressing objects: 100% (483/483), done.
remote: Total 543 (delta 144), reused 307 (delta 39)
Receiving objects: 100% (543/543), 520.55 KiB, done.
Resolving deltas: 100% (144/144), done. </literallayout></para></listitem>
<listitem><para><emphasis>Supported Board Support Packages (BSPs):</emphasis>
Similar considerations exist for BSPs.
remote: Counting objects: 561, done.
remote: Compressing objects: 100% (501/501), done.
remote: Total 561 (delta 159), reused 306 (delta 39)
Receiving objects: 100% (561/561), 519.96 KiB | 479 KiB/s, done.
Resolving deltas: 100% (159/159), done.
</literallayout></para></listitem>
<listitem><para id='supported-board-support-packages-(bsps)'><emphasis>Supported Board
Support Packages (BSPs):</emphasis>
The Yocto Project provides a layer called <filename>meta-intel</filename> and
it is maintained in its own separate Git repository.
The <filename>meta-intel</filename> layer contains many supported
<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-layers'>BSP Layers</ulink>.</para>
<para>Similar considerations exist for setting up the <filename>meta-intel</filename>
layer.
You can get set up for BSP development one of two ways: tarball extraction or
with a local Git repository.
It is a good idea to use the same method used to set up the Yocto Project Files.
Regardless of the method you use, the Yocto Project uses the following BSP layer
naming scheme:
<literallayout class='monospaced'>
@@ -178,20 +207,27 @@
meta-emenlow
meta-n450
</literallayout>
See the
"<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-layers'>BSP Layers</ulink>"
section in the Yocto Project Board Support Package (BSP) Developer's Guide for more
information on BSP Layers.
<itemizedlist>
<listitem><para><emphasis>Tarball Extraction:</emphasis> You can download any released
BSP tarball from the same
<ulink url='http://yoctoproject.org/download'>download site</ulink> used
<ulink url='&YOCTO_HOME_URL;/download'>download site</ulink> used
to get the Yocto Project release.
Once you have the tarball, just extract it into a directory of your choice.
Again, this method just produces a snapshot of the BSP layer in the form
of a hierarchical directory structure.</para></listitem>
<listitem><para><emphasis>Git Repository Method:</emphasis> If you are working
with a Yocto Project files Git repository, you should also set up a
<filename>meta-intel</filename> Git repository.
Typically, you set up the <filename>meta-intel</filename> Git repository inside
the Yocto Project files Git repository.</para>
<para>For example, the following transcript shows the steps to clone the
with a Yocto Project Files Git repository, you should also use this method
to set up the <filename>meta-intel</filename> Git repository.
You can locate the <filename>meta-intel</filename> Git repository in the
"Yocto Metadata Layers" area of the Yocto Project Source Repositories at
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>.</para>
<para>Typically, you set up the <filename>meta-intel</filename> Git repository inside
the Yocto Project Files Git repository.
For example, the following transcript shows the steps to clone the
<filename>meta-intel</filename>
Git repository inside the <filename>poky</filename> Git repository.
<literallayout class='monospaced'>
@@ -205,7 +241,7 @@
Resolving deltas: 100% (546/546), done.
</literallayout></para>
<para>The same
<ulink url='https://wiki.yoctoproject.org/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'>
<ulink url='&YOCTO_WIKI_URL;/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'>
wiki page</ulink> referenced earlier covers how to
set up the <filename>meta-intel</filename> Git repository.</para></listitem>
</itemizedlist></para></listitem>
@@ -213,7 +249,7 @@
applications using the Eclipse Integrated Development Environment (IDE),
you will need this plug-in.
See the
"<ulink url='http://www.yoctoproject.org/docs/latest/adt-manual/adt-manual.html#setting-up-the-eclipse-ide'>Setting up the Eclipse IDE</ulink>"
"<ulink url='&YOCTO_DOCS_ADT_URL;#setting-up-the-eclipse-ide'>Setting up the Eclipse IDE</ulink>"
section in the Yocto Application Development Toolkit (ADT)
Users Guide for more information.</para></listitem>
</itemizedlist>
@@ -226,7 +262,7 @@
<para>
The build process creates an entire Linux distribution, including the toolchain, from source.
For more information on this topic, see the
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#building-image'>Building an Image</ulink>"
"<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>"
section in the Yocto Project Quick Start.
</para>
@@ -237,12 +273,21 @@
previous section.</para></listitem>
<listitem><para>Initialize the build environment by sourcing a build environment
script.</para></listitem>
<listitem><para>Optionally ensure the <filename>conf/local.conf</filename> configuration file is set
up how you want it.
This file defines the target machine architecture and other build options.</para></listitem>
<listitem><para>Build the image using the <command>bitbake</command> command.
<listitem><para>Optionally ensure the <filename>/conf/local.conf</filename> configuration file,
which is found in the
<link linkend='yocto-project-build-directory'>Yocto Project Build Directory</link>,
is set up how you want it.
This file defines many aspects of the build environment including
the target machine architecture through the
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'>MACHINE</ulink></filename> variable,
the development machine's processor use through the
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-BB_NUMBER_THREADS'>BB_NUMBER_THREADS</ulink></filename> and
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PARALLEL_MAKE'>PARALLEL_MAKE</ulink></filename> variables, and
a centralized tarball download directory through the
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-DL_DIR'>DL_DIR</ulink></filename> variable.</para></listitem>
<listitem><para>Build the image using the <filename>bitbake</filename> command.
If you want information on BitBake, see the user manual at
<ulink url='http://docs.openembedded.org/bitbake/html'></ulink>.</para></listitem>
<ulink url='&OE_DOCS_URL;/bitbake/html'></ulink>.</para></listitem>
<listitem><para>Run the image either on the actual hardware or using the QEMU
emulator.</para></listitem>
</orderedlist>
@@ -264,7 +309,7 @@
<para>
You can find details on all these steps in the
"<ulink url='http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html#using-pre-built'>Using Pre-Built Binaries and QEMU</ulink>"
"<ulink url='&YOCTO_DOCS_QS_URL;#using-pre-built'>Using Pre-Built Binaries and QEMU</ulink>"
section of the Yocto Project Quick Start.
</para>
</section>

View File

@@ -1,5 +1,6 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<book id='dev-manual' lang='en'
xmlns:xi="http://www.w3.org/2003/XInclude"
@@ -33,10 +34,15 @@
<date>6 October 2011</date>
<revremark>The initial document released with the Yocto Project 1.1 Release.</revremark>
</revision>
<revision>
<revnumber>1.2</revnumber>
<date>TBD 2012</date>
<revremark>Work in progress for the Yocto Project 1.2 Release.</revremark>
</revision>
</revhistory>
<copyright>
<year>2010-2011</year>
<year>&COPYRIGHT_YEAR;</year>
<holder>Linux Foundation</holder>
</copyright>
@@ -51,9 +57,9 @@
<note>
Due to production processes, there could be differences between the Yocto Project
documentation bundled in the release tarball and
<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html'>
<ulink url='&YOCTO_DOCS_DEV_URL;'>
The Yocto Project Development Manual</ulink> on
the <ulink url='http://www.yoctoproject.org'>Yocto Project</ulink> website.
the <ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink> website.
For the latest version of this manual, see the manual on the website.
</note>
</legalnotice>
@@ -66,6 +72,8 @@
<xi:include href="dev-manual-newbie.xml"/>
<xi:include href="dev-manual-common-tasks.xml"/>
<xi:include href="dev-manual-model.xml"/>
<xi:include href="dev-manual-bsp-appendix.xml"/>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 KiB

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -50,10 +50,6 @@ body {
color: #333;
}
.reviewer {
color: red;
}
h1,h2,h3,h4,h5,h6,h7 {
font-family: Arial, Sans;
color: #00557D;
@@ -435,6 +431,7 @@ b.keycap,
font-family: Courier, monospace;
}
div.navheader, div.heading{
position: absolute;
left: 0em;
@@ -653,7 +650,7 @@ hr {
.tip, .warning, .caution, .note {
border-color: #aaa;
border-color: #fff;
}
@@ -661,24 +658,24 @@ hr {
.warning table th,
.caution table th,
.note table th {
border-bottom-color: #aaa;
border-bottom-color: #fff;
}
.warning {
background-color: #fea;
background-color: #f0f0f2;
}
.caution {
background-color: #fea;
background-color: #f0f0f2;
}
.tip {
background-color: #eff;
background-color: #f0f0f2;
}
.note {
background-color: #dfc;
background-color: #f0f0f2;
}
.glossary dl dt,
@@ -945,8 +942,8 @@ table {
.tip,
.note {
background: #666666;
color: #fff;
background: #f0f0f2;
color: #333;
padding: 20px;
margin: 20px;
}
@@ -957,12 +954,12 @@ table {
margin: 0em;
font-size: 2em;
font-weight: bold;
color: #fff;
color: #333;
}
.tip a,
.note a {
color: #fff;
color: #333;
text-decoration: underline;
}
@@ -971,3 +968,12 @@ table {
color: #333;
}
/* Changes the announcement text */
.tip h3,
.warning h3,
.caution h3,
.note h3 {
font-size:large;
color: #00557D;
}

View File

@@ -1,5 +1,6 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='kernel-concepts'>
@@ -160,9 +161,8 @@
The features are tagged and organized by way of a branching strategy implemented by the
source code manager (SCM) Git.
For information on Git as applied to the Yocto Project, see the
"<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html#git'>Git</ulink>"
section in <ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html'>The
Yocto Project Development Manual</ulink>.
"<ulink url='&YOCTO_DOCS_DEV_URL;#git'>Git</ulink>" section in the
Yocto Project Development Manual.
</para>
<para>
The result is that the user has the ability to see the added features and
@@ -289,9 +289,8 @@
<para>
You can find documentation on Git at <ulink url='http://git-scm.com/documentation'></ulink>.
You can also get an introduction to Git as it applies to the Yocto Project in the
"<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html#git'>Git</ulink>"
section in <ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html'>The
Yocto Project Development Manual</ulink>.
"<ulink url='&YOCTO_DOCS_DEV_URL;#git'>Git</ulink>"
section in the Yocto Project Development Manual.
These referenced sections overview Git and describe a minimal set of
commands that allow you to be functional using Git.
<note>
@@ -303,6 +302,69 @@
</section>
</section>
<section id='kernel-configuration'>
<title>Kernel Configuration</title>
<para>
Kernel configuration, along with kernel features, defines how a Linux Yocto
kernel image is built.
Through configuration settings, you can customize a Linux Yocto kernel to be
specific to particular hardware.
For example, you can specify sound support or networking support.
This section describes basic concepts behind Kernel configuration within the
Yocto Project and references you to other areas for specific configuration
applications.
</para>
<para>
Conceptually, Linux Yocto kernel configuration occurs similarly to that needed for any
Linux kernel.
The Linux Yocto kernel build process uses a <filename>.config</filename> file, which
is created through the Linux Kernel Coinfiguration (LKC) tool.
You can directly set various configurations in the
<filename>.config</filename> file by using the <filename>menuconfig</filename>
tool as built by BitBake.
You can also define configurations in the file by using configuration fragments.
<note>
It is not recommended that you edit the <filename>.config</filename> file directly.
</note>
Here are some brief descriptions of the ways you can affect the
<filename>.config</filename> file:
<itemizedlist>
<listitem><para><emphasis>The <filename>menuconfig</filename> Tool:</emphasis>
One of many front-ends that allows you to define kernel configurations.
Some others are <filename>make config</filename>,
<filename>make nconfig</filename>, and <filename>make gconfig</filename>.
In the Yocto Project environment, you must use BitBake to build the
<filename>menuconfig</filename> tool before you can use it to define
configurations:
<literallayout class='monospaced'>
$ bitbake linux-yocto -c menuconfig
</literallayout>
After the tool is built, you can interact with it normally.
You can see how <filename>menuconfig</filename> is used to change a simple
kernel configuration in the
"<ulink url='&YOCTO_DOCS_DEV_URL;#changing-the-config-smp-configuration-using-menuconfig'>Changing the&nbsp;&nbsp;<filename>CONFIG_SMP</filename> Configuration Using&nbsp;&nbsp;<filename>menuconfig</filename></ulink>"
section of The Yocto Project Development Manual.
For general information on <filename>menuconfig</filename>, see
<ulink url='http://en.wikipedia.org/wiki/Menuconfig'></ulink>.
</para></listitem>
<listitem><para><emphasis>Configuration Fragments:</emphasis> A file with a
list of kernel options just as they would appear syntactically in the
<filename>.config</filename> file.
Configuration fragments are typically logical groupings and are assembled
by the Yocto Project build system to produce input used by the LKC
that ultimately generates the <filename>.config</filename> file.</para>
<para>The
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-KERNEL_FEATURES'>KERNEL_FEATURES</ulink></filename>
variable can be used to list configuration fragments.
For further discussion on applying configuration fragments, see the
"<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout-kernel'>Linux Kernel Configuration</ulink>"
section in the Yocto Project Board Support Package (BSP) Guide.
</para></listitem>
</itemizedlist>
</para>
</section>
<section id='kernel-tools'>
<title>Kernel Tools</title>
<para>
@@ -337,11 +399,6 @@ kernel toolkit:
</itemizedlist>
</para> -->
</section>
</chapter>
<!--
vim: expandtab tw=80 ts=4

View File

@@ -1,5 +1,6 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='kernel-doc-intro'>
@@ -46,21 +47,21 @@
<para>
For more discussion on the Yocto Project kernel, you can see these sections
in <ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html'>The Yocto Project Development Manual</ulink>:
in <ulink url='&YOCTO_DOCS_DEV_URL;'>The Yocto Project Development Manual</ulink>:
<itemizedlist>
<listitem><para>
"<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html#kernel-overview'>Kernel Overview</ulink>"</para></listitem>
"<ulink url='&YOCTO_DOCS_DEV_URL;#kernel-overview'>Kernel Overview</ulink>"</para></listitem>
<listitem><para>
"<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html#kernel-modification-workflow'>Kernel Modification Workflow</ulink>"
"<ulink url='&YOCTO_DOCS_DEV_URL;#kernel-modification-workflow'>Kernel Modification Workflow</ulink>"
</para></listitem>
<listitem><para>
"<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html#dev-manual-kernel-appendix'>Kernel Modification Example</ulink>".</para></listitem>
"<ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-kernel-appendix'>Kernel Modification Example</ulink>"</para></listitem>
</itemizedlist>
</para>
<para>
For general information on the Yocto Project, visit the website at
<ulink url='http://www.yoctoproject.org'></ulink>.
<ulink url='&YOCTO_HOME_URL;'></ulink>.
</para>
</section>

View File

@@ -1,5 +1,6 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='kernel-how-to'>
@@ -27,7 +28,7 @@
This section describes construction of the Yocto Project kernel repositories
as accomplished by the Yocto Project team to create kernel repositories.
These kernel repositories are found at
<ulink url='http://git.yoctoproject.org/cgit.cgi'>http://git.yoctoproject.org/cgit.cgi</ulink>
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'>&YOCTO_GIT_URL;/cgit.cgi</ulink>
and can be shipped as part of a Yocto Project release.
The team creates these repositories by
compiling and executing the set of feature descriptions for every BSP/feature
@@ -51,19 +52,25 @@
</literallayout>
For another example of how to set up a local Git repository of the Linux Yocto
kernel files, see the
"<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html#local-kernel-files'>Linux Yocto Kernel</ulink>" bulleted item in
<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html'>The Yocto Project Development Manual</ulink>.
"<ulink url='&YOCTO_DOCS_DEV_URL;#local-kernel-files'>Linux Yocto Kernel</ulink>" bulleted item in The Yocto Project Development Manual.
</para>
<para>
Once the Git repository is set up on your local machine, you can switch to the
<filename>meta</filename> branch within the repository.
Here, you can see a snapshot of all the kernel configuration and feature descriptions that are
used to build the kernel repository.
Once you have cloned the kernel Git repository on your local machine, you can
switch to the <filename>meta</filename> branch within the repository.
Here is an example that assumes the local Git repository for the kernel is in
a top-level directory named <filename>linux-yocto-3.0</filename>:
<literallayout class='monospaced'>
$ cd ~/linux-yocto-3.0
$ git checkout -b meta origin/meta
</literallayout>
Once you have checked out and switched to the <filename>meta</filename> branch,
you can see a snapshot of all the kernel configuration and feature descriptions that are
used to build that particular kernel repository.
These descriptions are in the form of <filename>.scc</filename> files.
</para>
<para>
You should realize, however, that browsing your local snapshot of feature
descriptions and patches is not an effective way to determine what is in a
You should realize, however, that browsing your local kernel repository
for feature descriptions and patches is not an effective way to determine what is in a
particular kernel branch.
Instead, you should use Git directly to discover the changes in a branch.
Using Git is an efficient and flexible way to inspect changes to the kernel.
@@ -77,10 +84,12 @@
</note>
</para>
<para>
The following steps describe what happens when the Yocto kernel team constructs
the kernel tree given the introduction of a new top-level kernel feature or BSP.
These are the actions that effectively create the tree that includes the new feature, patch,
or BSP:
The following steps describe what happens when the Yocto Project Team constructs
the Yocto Linux kernel source Git repository (or tree) found at
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink> given the
introduction of a new top-level kernel feature or BSP.
These are the actions that effectively create the tree
that includes the new feature, patch or BSP:
<orderedlist>
<listitem><para>A top-level kernel feature is passed to the kernel build subsystem.
Normally, this feature is a BSP for a particular kernel type.</para></listitem>
@@ -127,7 +136,7 @@
Any add-ons and configuration data are applied to the end of an existing branch.
The full repository generation that is found in the
official Yocto Project kernel repositories at
<ulink url='http://git.yoctoproject.org/cgit.cgi'>http://git.yoctoproject.org/cgit.cgi</ulink>
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'>http://git.yoctoproject.org/cgit.cgi</ulink>
is the combination of all supported boards and configurations.</para>
<para>The technique the Yocto Project team uses is flexible and allows for seamless
blending of an immutable history with additional patches specific to a
@@ -228,10 +237,8 @@
You can find Git documentation at
<ulink url='http://git-scm.com/documentation'></ulink>.
You can find a simple overview of using Git with the Yocto Project in the
"<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html#git'>Git</ulink>"
section of
<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html'>The Yocto
Project Development Manual</ulink>.
"<ulink url='&YOCTO_DOCS_DEV_URL;#git'>Git</ulink>"
section of The Yocto Project Development Manual.
</para>
<section id='change-inspection-kernel-changes-commits'>
@@ -356,10 +363,10 @@
The Yocto Project provides scripts that help you work in a collaborative development
environment.
For information on these scripts, see the
"<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html#pushing-a-change-upstream'>Pushing a Change Upstream and Requesting a Pull</ulink>" and
"<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html#submitting-a-patch'>Submitting a Patch Through Email</ulink>" sections in
<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html'>The
Yocto Project Development Manual</ulink>".
"<ulink url='&YOCTO_DOCS_DEV_URL;#pushing-a-change-upstream'>Pushing a Change
Upstream and Requesting a Pull</ulink>" and
"<ulink url='&YOCTO_DOCS_DEV_URL;#submitting-a-patch'>Submitting a Patch Through
Email</ulink>" sections in The Yocto Project Development Manual.
</para>
<para>
@@ -625,8 +632,6 @@
community standards for submitting and documenting changes and follow their best practices.
For example, kernel patches should follow standards such as:
<itemizedlist>
<listitem><para>
<ulink url='http://userweb.kernel.org/~akpm/stuff/tpp.txt'></ulink></para></listitem>
<listitem><para>
<ulink url='http://linux.yyz.us/patch-format.html'></ulink></para></listitem>
<listitem><para>Documentation/SubmittingPatches (in any linux
@@ -639,9 +644,8 @@
The messages used to commit changes are a large part of these standards.
Consequently, be sure that the headers for each commit have the required information.
For information on how to follow the Yocto Project commit message standards, see the
"<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html#how-to-submit-a-change'>How to Submit a Change</ulink>" section in
<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html'>The
Yocto Project Development Manual</ulink>".
"<ulink url='&YOCTO_DOCS_DEV_URL;#how-to-submit-a-change'>How to Submit a
Change</ulink>" section in The Yocto Project Development Manual.
</para>
<para>
@@ -743,7 +747,8 @@
</para>
<para>
The following commands illustrate how you can condense and merge two BSPs into a second SCM:
The following commands illustrate how you can condense and merge two BSPs into a
second SCM:
<literallayout class='monospaced'>
&gt; git checkout yocto/standard/common-pc/base
&gt; git merge yocto/standard/common-pc-64/base
@@ -774,10 +779,9 @@
existing similar BSP.
The information is introductory in nature and does not provide step-by-step examples.
For detailed information on how to create a BSP given an existing similar BSP, see
the "<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html#dev-manual-bsp-appendix'>BSP Development Example</ulink>" appendix in
<ulink url='http://www.yoctoproject.org/docs/latest/dev-manual/dev-manual.html'>The
Yocto Project Development Manual</ulink>, or see the
<ulink url='https://wiki.yoctoproject.org/wiki/Transcript:_creating_one_generic_Atom_BSP_from_another'>Transcript:_creating_one_generic_Atom_BSP_from_another</ulink>
the "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-bsp-appendix'>BSP Development
Example</ulink>" appendix in the Yocto Project Development Manual, or see the
<ulink url='&YOCTO_WIKI_URL;/wiki/Transcript:_creating_one_generic_Atom_BSP_from_another'>Transcript:_creating_one_generic_Atom_BSP_from_another</ulink>
wiki page.
</para>
@@ -794,7 +798,7 @@
your BSP easier.
You can find all the BSPs that are supported and ship with the Yocto Project
on the Yocto Project's Download page at
<ulink url='http://www.yoctoproject.org/download'></ulink>.</para></listitem>
<ulink url='&YOCTO_HOME_URL;/download'></ulink>.</para></listitem>
<listitem><para><emphasis>Be sure you have the Base BSP:</emphasis>
You need to either have the Yocto Project Git repository set up or download
the tarball of the base BSP.

View File

@@ -1,5 +1,6 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<book id='kernel-manual' lang='en'
xmlns:xi="http://www.w3.org/2003/XInclude"
@@ -48,10 +49,15 @@
<date>6 October 2011</date>
<revremark>Released with the Yocto Project 1.1 Release.</revremark>
</revision>
<revision>
<revnumber>1.2</revnumber>
<date>TBD 2012</date>
<revremark>Work in progress for the Yocto Project 1.2 Release.</revremark>
</revision>
</revhistory>
<copyright>
<year>2010-2011</year>
<year>&COPYRIGHT_YEAR;</year>
<holder>Linux Foundation</holder>
</copyright>
@@ -63,9 +69,9 @@
<note>
Due to production processes, there could be differences between the Yocto Project
documentation bundled in the release tarball and
<ulink url='http://www.yoctoproject.org/docs/latest/kernel-manual/kernel-manual.html'>
<ulink url='&YOCTO_DOCS_KERNEL_URL;'>
The Yocto Project Kernel Architecture and Use Manual</ulink> on
the <ulink url='http://www.yoctoproject.org'>Yocto Project</ulink> website.
the <ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink> website.
For the latest version of this manual, see the manual on the website.
</note>
</legalnotice>

View File

@@ -50,10 +50,6 @@ body {
color: #333;
}
.reviewer {
color: red;
}
h1,h2,h3,h4,h5,h6,h7 {
font-family: Arial, Sans;
color: #00557D;
@@ -654,7 +650,7 @@ hr {
.tip, .warning, .caution, .note {
border-color: #aaa;
border-color: #fff;
}
@@ -662,24 +658,24 @@ hr {
.warning table th,
.caution table th,
.note table th {
border-bottom-color: #aaa;
border-bottom-color: #fff;
}
.warning {
background-color: #fea;
background-color: #f0f0f2;
}
.caution {
background-color: #fea;
background-color: #f0f0f2;
}
.tip {
background-color: #eff;
background-color: #f0f0f2;
}
.note {
background-color: #dfc;
background-color: #f0f0f2;
}
.glossary dl dt,
@@ -946,8 +942,8 @@ table {
.tip,
.note {
background: #666666;
color: #fff;
background: #f0f0f2;
color: #333;
padding: 20px;
margin: 20px;
}
@@ -958,12 +954,12 @@ table {
margin: 0em;
font-size: 2em;
font-weight: bold;
color: #fff;
color: #333;
}
.tip a,
.note a {
color: #fff;
color: #333;
text-decoration: underline;
}
@@ -972,3 +968,12 @@ table {
color: #333;
}
/* Changes the announcement text */
.tip h3,
.warning h3,
.caution h3,
.note h3 {
font-size:large;
color: #00557D;
}

View File

@@ -1,5 +1,6 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id="platdev">
<title>Platform Development with the Yocto Project</title>
@@ -24,8 +25,8 @@
The Yocto Project also provides images that have toolchains for supported
architectures included within the image.
This allows you to compile, debug, or profile applications directly on the target device.
See
<xref linkend='ref-images'>Reference: Images</xref> for a listing of the image
See the
"<link linkend='ref-images'>Reference: Images</link>" appendix for a listing of the image
types that Yocto Project supports.
</para>
<para>
@@ -82,7 +83,7 @@
The current release of the Yocto Project no longer supports the Anjuta plug-in.
However, the Poky Anjuta Plug-in is available to download directly from the Poky
Git repository located through the web interface at
<ulink url="http://git.yoctoproject.org/"></ulink> under IDE Plugins.
<ulink url='&YOCTO_GIT_URL;'></ulink> under IDE Plugins.
The community is free to continue supporting it beyond the Yocto Project 0.9
Release.
</note>
@@ -91,10 +92,8 @@
with other plug-ins installed into the Eclipse IDE.
Once you have your environment setup you need to configure the Eclipse plug-in.
For information on how to install and configure the Eclipse plug-in, see the
<ulink url='http://www.yoctoproject.org/docs/latest/adt-manual/adt-manual.html#adt-eclipse'>
"Working Within Eclipse"</ulink> chapter in the
<ulink url='http://www.yoctoproject.org/docs/latest/adt-manual/adt-manual.html'>
"Application Development Toolkit (ADT) User's Guide."</ulink>
"<ulink url='&YOCTO_DOCS_ADT_URL;#adt-eclipse'>Working Within Eclipse</ulink>"
chapter in the Yocto Project Application Development Toolkit (ADT) User's Guide.
</para>
</section>
@@ -102,8 +101,8 @@
<title>External Development Using the QEMU Emulator</title>
<para>
Running Poky QEMU images is covered in the
<ulink url="http://www.yoctoproject.org/docs/latest/yocto-project-qs/yocto-project-qs.html">
Yocto Project Quick Start</ulink> in the "A Quick Test Run" section.
"<ulink url='&YOCTO_DOCS_QS_URL;#test-run'>A Quick Test Run</ulink>"
section of the Yocto Project Quick Start.
</para>
<para>
The QEMU images shipped with the Yocto Project contain complete toolchains
@@ -162,8 +161,8 @@
<para>
Working directly with the Yocto Project is a fast and effective development technique.
The idea is that you can directly edit files in a working directory
(<glossterm><link linkend='var-WORKDIR'>WORKDIR</link></glossterm>)
or the source directory (<glossterm><link linkend='var-S'>S</link></glossterm>)
(<filename><link linkend='var-WORKDIR'>WORKDIR</link></filename>)
or the source directory (<filename><link linkend='var-S'>S</link></filename>)
and then force specific tasks to rerun in order to test the changes.
An example session working on the matchbox-desktop package might
look like this:
@@ -203,17 +202,15 @@
<para>
It is useful when making changes directly to the work directory files to do
so using the Quilt tool as detailed in the
<link linkend='usingpoky-modifying-packages-quilt'>
Modifying Package Source Code with Quilt</link> section.
"<ulink url='&YOCTO_DOCS_DEV_URL;#using-a-quilt-workflow'>Using a Quilt Workflow</ulink>" section in the Yocto Project Development Manual.
Using Quilt, you can copy patches into the recipe directory and use the patches directly
through use of the <glossterm><link linkend='var-SRC_URI'>SRC_URI</link></glossterm> variable.
through use of the <filename><link linkend='var-SRC_URI'>SRC_URI</link></filename> variable.
</para>
<para>
For a review of the skills used in this section, see the
<link linkend="usingpoky-components-bitbake">BitBake</link> and
<link linkend="usingpoky-debugging-taskrunning">Running Specific Tasks</link> sections
in this manual.
"<link linkend='usingpoky-components-bitbake'>BitBake</link>" and
"<link linkend='usingpoky-debugging-taskrunning'>Running Specific Tasks</link>" sections.
</para>
</section>
@@ -231,7 +228,7 @@
still defined so you can use commands such as <filename>configure</filename> and
<filename>make</filename>.
The commands execute just as if the Yocto Project build system were executing them.
Consequently, workng this way can be helpful when debugging a build or preparing
Consequently, working this way can be helpful when debugging a build or preparing
software to be used with the Yocto Project build system.
</para>
@@ -262,7 +259,7 @@
or <filename>compile</filename> commands as if they were being run by
the Yocto Project build system itself.
As noted earlier, the working directory also automatically changes to the
source directory (<glossterm><link linkend='var-S'>S</link></glossterm>).
source directory (<filename><link linkend='var-S'>S</link></filename>).
</para>
<para>
@@ -271,12 +268,7 @@
<para>
The default shell used by <filename>devshell</filename> is xterm.
You can use other terminal forms by setting the
<glossterm><link linkend='var-TERMCMD'>TERMCMD</link></glossterm> and
<glossterm><link linkend='var-TERMCMDRUN'>TERMCMDRUN</link></glossterm> variables
in the Yocto Project's <filename>local.conf</filename> file found in the build
directory.
For examples of the other options available, see the "UI/Interaction Configuration"
For examples of available options, see the "UI/Interaction Configuration"
section of the
<filename>meta/conf/bitbake.conf</filename> configuration file in the Yocto Project
files.
@@ -294,7 +286,7 @@
instead of just using <filename>gcc</filename>.
The same applies to other applications such as <filename>binutils</filename>,
<filename>libtool</filename> and so forth.
The Yocto Project has setup environment variables such as <filename>CC</filename>
BitBake sets up environment variables such as <filename>CC</filename>
to assist applications, such as <filename>make</filename> to find the correct tools.</para>
<para>It is also worth noting that <filename>devshell</filename> still works over
X11 forwarding and similar situations</para>
@@ -333,7 +325,7 @@
It also allows you to perform post-mortem style analysis of program crashes.
GDB is available as a package within the Yocto Project and by default is
installed in sdk images.
See <xref linkend='ref-images'>Reference: Images</xref> for a description of these
See the "<link linkend='ref-images'>Reference: Images</link>" appendix for a description of these
images.
You can find information on GDB at <ulink url="http://sourceware.org/gdb/"/>.
</para>
@@ -671,7 +663,7 @@
<para>
A graphical user interface for OProfile is also available.
You can download and build this interface from the Yocto Project at
<ulink url="http://git.yoctoproject.org/cgit.cgi/oprofileui/"></ulink>.
<ulink url="&YOCTO_GIT_URL;/cgit.cgi/oprofileui/"></ulink>.
If the "tools-profile" image feature is selected, all necessary binaries
are installed onto the target device for OProfileUI interaction.
</para>
@@ -679,7 +671,7 @@
<para>
Even though the Yocto Project usually includes all needed patches on the target device, you
might find you need other OProfile patches for recent OProfileUI features.
If so, see the <ulink url='http://git.yoctoproject.org/cgit.cgi/oprofileui/tree/README'>
If so, see the <ulink url='&YOCTO_GIT_URL;/cgit.cgi/oprofileui/tree/README'>
OProfileUI README</ulink> for the most recent information.
</para>
@@ -765,8 +757,8 @@
is not always necessary to actually have them on the device for OProfile use.
All that is needed is a copy of the filesystem with the debug symbols present
on the viewer system.
The <link linkend='platdev-gdb-remotedebug-launch-gdb'>Launching GDB
on the Host Computer</link> section covers how to create such a directory with
The "<link linkend='platdev-gdb-remotedebug-launch-gdb'>Launching GDB on the Host Computer</link>"
section covers how to create such a directory with
the Yocto Project and how to use the OProfileUI Settings dialog to specify the location.
If you specify the directory, it will be used when the file checksums
match those on the system you are profiling.

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More