Compare commits

..

635 Commits

Author SHA1 Message Date
Elizabeth Flanagan
c9de24d3f4 build-appliance-image.bb: Bump SRCREV for 1.3_M5.rc4
Bumping the SRCREV for danny in preparation for 1.3_M5.rc4

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
2012-10-10 14:49:57 -07:00
Richard Purdie
58a7160419 gdbm: Resolve host contamination issue
The autoconf macros detect the presence of -ldbm or -lndbm on the host
system and add the library to link against, for now good reason I can
explain.

This patch makes the build behave determinstically whether they're
present or not. Other than the extra linkage, there doesn't appear to be
any other change in behaviour from these options and they look like
dead code.

The extra linkage can cause problems where sstate is used on a machine
where the extra librbary isn't present causing build failures.

(From OE-Core rev: f609bf5525450bfdb8e0864d44c41cce7f9319c9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 22:46:52 +01:00
Elizabeth Flanagan
767ced9fa5 build-appliance-image.bb: Bump SRCREV for 1.3_M5.rc4
Bumping the SRCREV for danny in preparation for 1.3_M5.rc4

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
2012-10-10 10:53:18 -07:00
Elizabeth Flanagan
5ecc6d0d6f Revert "build-appliance-image.bb: Bumping SRCREV for 1.3_M4"
Wrong build number in the commit log

This reverts commit c030e463ab.
2012-10-10 10:52:48 -07:00
Elizabeth Flanagan
c030e463ab build-appliance-image.bb: Bumping SRCREV for 1.3_M4
In preparation for 1.3_M4, bumping SRCREV for the build appliance

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
2012-10-10 10:34:00 -07:00
Richard Purdie
709f570c82 pkgconfig: Drop the RREPLACES for pkgconfig-dev
This line causes pkgconfig-dev to replace pkgconfig so the package with all the files
in is replaced by one with no files. This makes no sense and hence we should just
remove this broken line.

At this point in the release, this is the safest way to fix this even if an empty -dev
package is left available.

[YOCTO #2878]

(From OE-Core rev: 5bed2bb831b379a8fbf2f725435af4b7c934359e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 18:30:00 +01:00
Saul Wold
cfbf6fad48 eglibc: force make to use /bin/bash
The eglibc core build still has a number of issues with /bin/dash.
Recently found is both sysdeps/unix/make-syscalls.sh and it's output,
which make calls via SHELL do not play well with /bin/dash. By force
make to use /bin/bash via SHELL setting it works correctly.

Currenly known issues are: make-syscalls.sh line with a bad substitution,
which can be corrected by:
     vdso_symver="$(printf '%s\n' ${vdso_symver} | sed 's/\./_/')"

Following that there is an issue with emiting a '\n' through a second
echo and then to the compiler. There maybe more issues beyond that.

[YOCTO #3080]

(From OE-Core rev: 9d002f7cdc5309c4d850a76e4fd73ff04c980a07)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 18:29:52 +01:00
Scott Rifenbark
650d20107d documentation: poky-ref-manual - Formatting fixes for variable names.
(From yocto-docs rev: 71c726194142821eaaf7a222001f2f5047369686)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:15 +01:00
Scott Rifenbark
a8a5765fed documentation: poky-ref-manual - new glossary entry for "T".
Fixes [YOCTO_#3261]

(From yocto-docs rev: 3f6de40fcdd364728a2b62f59940a9ae4019d1d5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:14 +01:00
Scott Rifenbark
e369448f32 documentation: dev-manual - fixed typo.
(From yocto-docs rev: 902db5c68b1b0670600f06731b95e1e32c687475)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:14 +01:00
Scott Rifenbark
d1fe084c03 documentation: dev-manual - edits to patching kernel section plus others
Removed the temporary text in the new "Patching the Kernel" section
that was copied from the old appendix A.  Fixed the PRINC variable
in the creating a new layer example.

(From yocto-docs rev: 3eba77a81d3460866638a2f2d6b7c27d9dd1a2be)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:14 +01:00
Scott Rifenbark
486441be18 documentation: dev-manual, mega-manual - removed figure
Removed the "kernel-example-repos-generic.png" file as it describes
the bare clone method for kernel modification.  We are removing
that from this manual.

(From yocto-docs rev: c25c4f662c2f8a83fd9b09583646be9dbe01424c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:14 +01:00
Scott Rifenbark
0eca2b4cb2 documentation: mega-manual - copied in new kernel flow diagram.
Moved the simpler version of the kernel workflow diagram to the
figures folder.

(From yocto-docs rev: c856fe320a0e70701f14312439fec6ccb707f9bd)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:14 +01:00
Scott Rifenbark
7c08b602e6 documentation: dev-manual, bsp-guide, kernel-manual - kernel workflow
The kernel workflow section was re-written to reflect that the
kernel appendix has been removed.  Also, changes to the flow in
general no longer make reference to the bare clone and the copy
of the bare clone as a method used to modify the kernel.

Many links were modified in other manuals as well.

(From yocto-docs rev: 38adbcb00d4305029cfa94e5ef047da41823f021)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:14 +01:00
Scott Rifenbark
970d00de04 documentation: dev-manual - Removed figures no longer needed.
The figure that shows the bare clone and the copy of the bare
clone are no longer needed.  The description for the kernel
workflow has been reduced to discussing only modification of
the temporary source files.  We are no longer talking about
creating a bare clone and copying it as a way to modify the
kernel in this manual.  That topic will be described elsewhere.

(From yocto-docs rev: f6a25e5e3763ea7a1f8a81ce377e3b520143b852)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:14 +01:00
Scott Rifenbark
f058e96728 documentation: poky-ref-manual - variables defined.
Fixes [YOCTO_#3245]

New glossary terms for SPECIAL_PKGSUFFIX, and MLPREFIX.

Also improved the definition of the BPN variable.

(From yocto-docs rev: d9eb38122967a5729f3a6aff1dae00427a22f579)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:14 +01:00
Scott Rifenbark
11fdbf2b27 documenation: dev-manual - re-ordered chapters.
The "Common Tasks" chapter is better suited as the last chapter in
this manual.  So I moved the development workflows up a chapter.

(From yocto-docs rev: 19f0a6411c065388b5bd0083338b164b43baff0e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:14 +01:00
Scott Rifenbark
bc02fb725b documentation: dev-manual - removed Appendix A.
The kernel example appendix is now gone.

(From yocto-docs rev: d744e76034ff2711a8c40b9bb1982971d28a04b1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:14 +01:00
Scott Rifenbark
5d4b08853e documentation: dev-manual, bsp-guide - Removing/Moving Appendix A
The kernel example appendix is being removed.  This broke a lot
of links.  For now I have moved the information into a new section
called "Patching the Kernel".  I have preserved the information
by adding the old appendix file as kerne-appendix-orig.xml.

(From yocto-docs rev: 994235a69362dfb0114ef9001ea7f2f2e2fdc5c3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:14 +01:00
Scott Rifenbark
c29e8cbb2f documentation: dev-manual - Updates to configuring Kernel section
Eliminated the section A.2, which had an example of how to use
menuconfig in the kerenl example appendix.  The information is
now merged into the similar section in Chapter 4 "Common
Tasks."  It was decided that the Appendix A examples in the
manual were too detailed for a general development guide.

(From yocto-docs rev: f88ec421b257657f02cc0f132ec2580c17f07cef)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:13 +01:00
Tom Zanussi
784f93baf3 perl: add archlib_exp variable used to generate ARCHLIB_EXP in config.h
perl.c uses an ARCHLIB_EXP define to generate compile-time code that
adds the archlibexp path to @INC during run-time initialization of a
new perl interpreter.

Because we've changed this value in a temporary way to make it
possible to use ExtUtils::Embed in the target build (the temporary
value in config.sh gets re-stripped out during packaging), the
ARCHLIB_EXP value that gets generated still uses the temporary version
instead of the original expected version (i.e. becauses it's in the
generated config.h, it doesn't get stripped out during packaging like
the others in config.sh).

This creates an unmodified version called archlib_exp that gets used
by a modified config_h.SH to get the correct value into config.h

This patch uses an unmodified version of archlibexp called
archlib_exp, introduced to config.sh, which is used to generate the
correct value of ARCHLIB_EXP into config.h

Fixes [YOCTO #3099].

(From OE-Core rev: cbcfdeb1d55e2e76f199750bda401bad126ae234)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:13 +01:00
Martin Jansa
755ca76f8e sstate-cache-management: hide error message when one of possible layer location doesn't exist
* fixes [YOCTO #3116]

(From OE-Core rev: bde88116d9d7e86ca7ecac4cf990689f972b0b1c)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:13 +01:00
Andrei Dinu
1e892fb5a0 bitbake: hob-toolchain: task-core-standalone-sdk-target renamed to packagegroup-core-standalone-sdk-target
This change also applies to task-core-standalone-sdk-target-dbg and resolves
build failures caused by the missing packages.

(Bitbake rev: 4cd0200e96fb282980a945b80af641a6e022e0b4)

Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:13 +01:00
Flanagan, Elizabeth
af811fbc0b bzip license: bzip2 not bzip.
The name of the license for bzip2 is wrong causing warnings
to be thrown.

(From OE-Core rev: 566c6101cc7a8d90973eb22478ffc77eac23f81c)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:13 +01:00
Richard Purdie
0dc25d42ef gcc-cross-canadian: Fix gettext dependency
There was a problem in commit ad23395cd1 since
gettext-nativesdk was translated to gettext instead of nativesdk-gettext.

This fixes to use the correct dependency.

(From OE-Core rev: a6e325342cb489e05927d6cb2bb0a24fa6c20ef8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:13 +01:00
Cristiana Voicu
5a816edcf9 bitbake: hob/imageconfigurationpage: a 'hob-image' appears listed in the base image combo box
-remove this image from image combo box

[YOCTO #3230]

(Bitbake rev: 90fd57ee3cb2856c10bda1f5af4879d2b7cf2668)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:13 +01:00
Constantin Musca
f4434bd16e bitbake: hob/hobeventhandler: Describe the runCommand failure exception
[YOCTO #1245]

(Bitbake rev: 17f28f09452f70dfb67fce9a397a99deec84dfe5)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:13 +01:00
Bruce Ashfield
e83c7d3056 linux-yocto-bsps/3.4: perf: parallel build and tools fixes
korg commit 42dcd1f4e [perf tools: Fix parallel build] fixes parallel
build issues that are being seen in the autobuilder.

We also have a fix from Tom:

[
    perf annotate: replace 'expand' with equivalent sed expression

    We don't have 'expand' in our userspace so we need to accomplish the
    same thing using 'sed', which we do have.
]

So we apply it to all BSP branches and kernel types.

(From meta-yocto rev: 54fc1fd107f907a208b41a66c0a7b9b40cb428c7)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:13 +01:00
Bruce Ashfield
571259cc48 linux-yocto/3.4: perf: parallel build and tools fixes
korg commit 42dcd1f4e [perf tools: Fix parallel build] fixes parallel
build issues that are being seen in the autobuilder.

We also have a fix from Tom:

[
    perf annotate: replace 'expand' with equivalent sed expression

    We don't have 'expand' in our userspace so we need to accomplish the
    same thing using 'sed', which we do have.
]

So we apply it to all BSP branches and kernel types.

(From OE-Core rev: f06e7d38db35c56c71a42264361ec45fb3777a14)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:13 +01:00
Darren Hart
ad41126681 poky-tiny: Update the default kernel to linux-yocto-tiny_3.4
The 3.4 linux-yocto-tiny kernel successfully boots to a prompt for
qemux86.

(From meta-yocto rev: e24ea77ca40e096f294649e3f85c8ec47efcbb87)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:13 +01:00
Bruce Ashfield
f2533f35e8 linux-yocto-bsps: update hardware reference BSPs to v3.4.11
The hardware reference BSPs are missing the update to 3.4.11
that the qemu* machines received several weeks ago.

Bumping to 3.4.11 specifically addresses the segfaults being
seen with rpm on the beagleboard.

[YOCTO #3186]

(From meta-yocto rev: f2d93f4e79d0c8c0035774cfa7dc4beb197899f4)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:13 +01:00
Richard Purdie
dcd1428716 sstate: Also add datadir/sgl to sstate whitelist to avoid openjade warning
(From OE-Core rev: e0ff54db5a5ab171ee1d0dbcf7f267235c21e601)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:13 +01:00
Richard Purdie
d81ab9f844 qemu: When applying qemu-mips workaround, check the file exists first
If qemu-mips was disabled as done in some distros, this wrapper would fail.
Therefore check if the file exists before wrapping it.

(From OE-Core rev: 9ec1c06915b10d142bf5646396c4e91bb61a40a5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:12 +01:00
Darren Hart
13bf7c1299 linux-yocto-tiny: Add tiny recipe for the 3.4 linux-yocto kernel
This recipe builds the "tiny" kernel type defined by the linux-yocto
meta-data. Support is defined for the qemux86 machine via
common-pc-tiny.scc in the linux-yocto meta branch. The resulting
kernel is 1.8 MB and boots to a serial console with with qemux86 and
core-image-minimal using the following command:

qemu -kernel tmp/deploy/images/bzImage-qemux86.bin -initrd tmp/deploy/images/core-image-minimal-qemux86.cpio.gz -append "root=/dev/ram0 console=ttyS0" -nographic

(From OE-Core rev: cf25f211ec420e1e8dd48c8e62f60deefe2c6d53)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:12 +01:00
Saul Wold
6d45c9f72d nfs-export-root: add explict no_subtree-check to suppress warning
exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/".
  Assuming default behaviour ('no_subtree_check').
  NOTE: this default has changed since nfs-utils version 1.0.x

(From OE-Core rev: 1438228d3b54dfdcf8c36154c927c80fcecf688e)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:12 +01:00
Bruce Ashfield
5ae465073f linux-yocto/3.4: tiny: Add qemu KMACHINE to common-pc-tiny.scc
Updating the meta SRCREV to pickup the following change:

  Ensure the qemux86 machine is defined in common-pc-tiny as it is
  for -standard and -rt.

(From OE-Core rev: 1076910ac3cd55a3f87b5ca7a1db1e38c623480a)

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-10-10 15:24:12 +01:00
Bruce Ashfield
2de77b3c38 linux-yocto/3.4: fix kconfig warnings and unnecessary options
Updating the kernel configuration fragments to fix the following
issues:

  - remove options that are no longer in the 3.4 kernel
  - disable unused, but large kernel modules
  - fix kconfig audit warnings for x86 BSPs
  - make uprobes reusable by multiple fragments

The following meta branch commits are represented by this update:

  3da1172 uprobes: split into enable and patch fragments
  17ec51a meta: cleanup invalid/obselete 3.4 CONFIG options
  b5cee42 meta: disable OCFS2 by default
  efe937e meta: drm: tag DRM options as 'hardware'
  10b5155 meta: emenlow: clean emenlow configuration warnings
  a907b82 meta: add CONFIG_SHMEM to standard kernel config

(From OE-Core rev: a01bb3ec72c375c0f06006769969f63fed3ef566)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:12 +01:00
Scott Rifenbark
f6092be1de documentation: dev-manual - mentioned SRC_URI in the kernel example
this statement in the linux-yocto-3.4.bbappend file needs to
have the comment removed so the source can be found.

(From yocto-docs rev: 821162221818f5ce53bb903aeef57c85314f5083)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:12 +01:00
Scott Rifenbark
babe0fa137 documentation: dev-manual - fixed KSRC variable in example
(From yocto-docs rev: 1eb13259c872e3a497b9ec32efac8c5614153a53)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:12 +01:00
Scott Rifenbark
5647682c2f documentation: dev-manual - added OE_INIT_FILE and went to 3.4
In the Kernel example appendix I changed some remaining 3.2
kernel strings to 3.4.  Also I added the OE_INIT_FILE variable
from poky.ent for use instead of the "oe-init-build-env" string.

(From yocto-docs rev: 1d9d8d72d197bdd81756eed7fe1529f341de6089)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:12 +01:00
Scott Rifenbark
77b92b01ce documentation: dev-manual - Created generic figures
Each time the kernel revision is bumped (e.g. 3.2 to 3.4)
Some of the figures would be out of date.  The reason is they
had pathnames that included the release of the kernel.
For previous YP releases I was adding logic to the Makefile
to be sure to catch the right files dependent on the branch
from which the documents were being built.  This scheme is
not scalable so I decided to make the figures generic by
adding a note within the figures explaining the place-holder
"<x.x>" as part of a pathname.  Thus, three new figures were
added to the folders directories of the dev-manual and the
mega-manual.  Correspondingly, the 'denzil' version of the
figures were deleted.

I modified the Makefile so that if the BRANCH is not edison
or denzil then the generic figure set is used. I have to retain
the logic for both edison and denzil to cover the case where
a user clones or sets up an edison or denzil repo and then
builds out the manuals. Basically, it had to be backwards
compatible for releases prior to danny.

(From yocto-docs rev: 8283eed4b0b9ec164b87db99c35231f8731ac443)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:12 +01:00
Scott Rifenbark
0a4f7521bb documentation: dev-manual - Edits to setup part of example
Minor edits to the part of the example that sets up for the
first core-image-minimal build.  Put in the variable to use
for the build environment setup script, updated some changed
output from some of the commands, etc.

(From yocto-docs rev: 0b4b2ddf9a78a9d6d218ed9a6f0acd3e876d9581)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:12 +01:00
Scott Rifenbark
c1261f843e documentation: dev-manual - fixed some links to the source directory term.
(From yocto-docs rev: 807a9f0d216478877b84e6204d88461f623ba3f9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:12 +01:00
Scott Rifenbark
e3a3bdd81f documentation: Makefile, dev-manual - Updated kernel example repo figure
Danny, the "kernel-example-repo-<release>.png" file changed to
"kernel-example-repo-danny.png".  To correctly make the dev-manual
and the mega-manual some things needed to change:

1. New figure created and added to both the dev-manual and the
   mega-manuals figures directory.

2. The "kernel-example-repo-denzil.png" files from the dev-manual
   and mega-manual figures directory was removed.

3. The Makefile was adjusted so a new BRANCH=danny area now exists
   to set TARFILES for both dev-manual and mega-manual.

(From yocto-docs rev: 8b2ff6b657a1486559799e219baaec9fde2e5c6c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:12 +01:00
Scott Rifenbark
a8def2777c documentation: dev-manual - Added a note to point to yocto-kernel
I added a note at the beginning of this appendix that references
the yocto-kernel script as a way to quickly manage kernel patches
and configuration.

(From yocto-docs rev: 35cd7f6a9722120e47ae8b422dd86593497ebf1c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:12 +01:00
Scott Rifenbark
9884bc2d48 documentation: poky-ref-manual, yocto-project-qs - Packages fixed
Fixes [YOCTO_#3180]

Final changes to the packages section.  They were re-organized and
the set is complete and thus fixes this bug.

(From yocto-docs rev: 533b45c9d41330497bbd0da58b812a4738ba64a8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:11 +01:00
Otavio Salvador
2f1b47e416 oe-buildenv-internal: Add BB_NO_NETWORK to BB_ENV_EXTRAWHITE
This allows for use of bitbake in offline mode, but override it in
command line.

(From OE-Core rev: bcefd015fb163d9c382ae05a86569dbcfd3d736a)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:11 +01:00
Saul Wold
016d00123a pulseaudio: ensure X11 and consolekit are disabled
When DISTRO_FEATURES does not include X11 ensure that both x11
and gtk are diabled correctly.  ConsoleKit also has x11, so ensure
that any RDEPENDS is also excluded.

The flags for x11 changed at somepoint to use enable/disable, but
this recipe was not updated.

(From OE-Core rev: 0730d3449aa28600488e73de883240ba2bd60aec)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:11 +01:00
Mark Hatle
fdabda6345 package_rpm.bbclass: Fix an issue where complementary installs fail
Also ensure that we always cleanup the temporary install manifest files,
some of them will cause problems if they exist in multiple install
attempts.

Finally verify that the lists remain uniquely sorted otherwise the
complementary install may install the same files numerous times,
triggering a failure.

(From OE-Core rev: 4f2a290cbcc6c21afbb2a6e6148efdef4d135b41)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:11 +01:00
Richard Purdie
99dabeb2e9 sstate: Add extra entries to the sstate duplicate files whitelist
This avoids errors where gcc/binutils get installed to the native sysroot
in the same location for multiple package architectures. Ultimately making
these native recipes with ${PACKAGE_ARCH} appended to PN will resolve this
but hide the warnings until this gets sorted out.

Also hide the python and docbook catalog warnings since they're known about,
nothing to worry about and we'll aim to clean them up properly in the 1.4 cycle.

(From OE-Core rev: 5bae58a5b59c04d8947f4842f19837a914c29b52)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:11 +01:00
Richard Purdie
f56a4774a9 sstate: Normalise paths before comparing with the whitelist
Without this, path components like // could break comparisions with the whitelist leading
to warnings being displayed to the user unintentionally.

(From OE-Core rev: d3c46ca56fab2f07bf16b61514f30765543a8747)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:11 +01:00
Richard Purdie
4a4cdae234 libdrm: Explicitly disable the cairo dependency
We don't want the cairo dependency. Unfortunately simply checking whether its present
isn't good enough. If its not in DEPENDS, it can disappear half way through building.
We therefore need to explictly disable it.

(From OE-Core rev: 51df11c5747f69b4112121df78fc1e10644d390a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:24:11 +01:00
Saul Wold
7396cef1b9 poky.conf: fix Poky release info to include release number
(From meta-yocto rev: 4287c2199443b41da3e5637a844f886513d92bc0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:22:53 +01:00
Khem Raj
6676fb5e32 toolchain-scripts.bbclass: Export M4
some packages use M4 variable from environment and sometimes
its hardcoded to /usr/bin/m4 if not found in environment. Lets
define it such that it is picked from path

(From OE-Core rev: 06c5593d15f206458b9a5b45ed1229abfee16e95)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:21:41 +01:00
Laurentiu Palcu
be11294d17 cross-canadian.bbclass: add native chrpath dependency
In order for the RPATHs in 32bit toolchain binaries to be relocated
properly, chrpath >=0.14 is needed.

[YOCTO #3161]
[YOCTO #3201]

(From OE-Core rev: 71c71b972100803d33fbb062a237e8a15167387b)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:21:41 +01:00
Scott Garman
2d93461815 runqemu: allow multiple unfs instances to run simultaneously
A miscalculation in the way the port numbers of mountd and nfsd
are created was causing conflicts when starting multiple instances
of qemu using userspace nfs.

Thanks to Rudolf Streif for proposing this fix!

Fixes [YOCTO #1969]

(From OE-Core rev: 94eef772c283170d19ba92c8de0054cd093fc487)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:21:41 +01:00
Scott Garman
1e9d77c3b2 runqemu-export-rootfs: improve rpcbind error detection
mountd requires rpcbind or portmap. Check that one of these
services is running before doing anything else, and report
a user-friendly error when they are not found.

(From OE-Core rev: 16d6ec51f4b976c9b86a8b6bf6251089df2d2732)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:21:41 +01:00
Scott Garman
3634379cea runqemu-export-rootfs: use consistent whitespace
(From OE-Core rev: b05185240669e0ae811a23620913b35ca99493fb)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:21:41 +01:00
Flanagan, Elizabeth
43c4cdb0df common-licenses: Adding bzip
bzip requires it's own specific license.

(From OE-Core rev: df2b756436b90f8f9ff229ba64d0af30d9d4f923)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:21:41 +01:00
Scott Rifenbark
28c39928d3 documentation: dev-manual - Removed Appendix A.
This appendix is antiquated and needed removed.  The BSP
development example is now in the BSP guide where it talks
about running the yocto-bsp script.

(From yocto-docs rev: 892ff450d79a7564a72f11eb7510d349ca71d47a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:21:41 +01:00
Scott Rifenbark
703eadc55f documentation: bsp-guide, dev-manual, kernel-manual - Removed links
Removing the Appendix A (BSP) example had some rippling affects
throughout the doc set.  There were several links into the appendix.
All these links had to either be modified (if possible) or simply
removed since the appendix will be removed.

(From yocto-docs rev: fff35abd87e945de1806eef63a56a956d104bf92)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:21:40 +01:00
Scott Rifenbark
e7134d50f3 documentation: dev-manual - Updated BSP flow overview.
This section now points into the BSP Guide where it talks
about using the yocto-bsp script to create a BSP.  The prior
method was by hand and described in an appendix (A) of the
YP Development Manual.

FYI - this results in the removal of Appendex A in a future
commit.

(From yocto-docs rev: 5e1c44b1768b79dd1447ea47461b84248bd2111f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:21:40 +01:00
Scott Rifenbark
ddef53b962 documentation: poky-ref-manual, yocto-project-qs - Updates to packages
A few edits to the respective sections that talk about required
packages.  Some wording changes for headless and graphics
supported systems.  Also, re-inserted the note about older
CentOS systems.

Reported-by Paul Eggleton <paul.eggleton>
(From yocto-docs rev: 112370758cf41104ff04c4996d4a432e6bd54be1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:21:40 +01:00
Scott Rifenbark
c1392638ce documentation: bsp-guide - scrub edits for the BSP Tools section
I did a walk through of the "Using the Yocto Project's BSP Tools"
section.  Updated included altered output based on the current
example commands and scenarios.

Also made changes to the bblayers.conf file as the default
version for this file has changed.

(From yocto-docs rev: d8a2195e37d8f96702026e42bb43daf39852ffcb)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:21:40 +01:00
Scott Rifenbark
fbd21995ae documentation: dev-manual, poky-ref-manual - updated bblayers.conf
The examples were out of date.  They did not show the
meta-yocto-bsp layer, which is there now by default.

(From yocto-docs rev: ea2e2e8a259bc3e629fb8087229872b9818a696a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:21:40 +01:00
Scott Rifenbark
9e21f5b114 documentation: dev-manual - Updated Enabling Your Layer section
This section was out of date.  I copied in the most recent version
of the bblayers.conf file, which sets LCONF_VERSION to "6" now.
Also, added the meta-yocto-bsp layer to the example.

Additionally, I inserted a Note explaining the consequences of
removing the meta-yocto layer.  The note references [YOCTO_#3176]
for more information.

(From yocto-docs rev: 532b72c5c18b2a9a61619164bae6216c91c2ecc9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:21:40 +01:00
Scott Rifenbark
b5ad96f86b documentation: dev-manual - updated LCONF_VERSION in the example.
The current setting was changed from "1" to "6".

(From yocto-docs rev: 7f5be4b0b2d1e17add774c7ba3b8803ad770a8fc)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:21:40 +01:00
Scott Rifenbark
33dcf6960b documentation: dev-manual - Updated bblayers.conf example
Added the meta-yocto-bsp layer to the example listing in the
"Enabling Your Layer" section.

(From yocto-docs rev: 95fb13a1049ccaffb3531c93a28a3c480ea1a243)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:21:40 +01:00
Scott Rifenbark
5979f64829 documentation: poky-ref-manual - Updated BBLAYERS variable.
Added the meta-yocto-bsp layer to the example.

(From yocto-docs rev: be4ee9d08527b654071b8d4ff54ad978f50a98f5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:21:40 +01:00
Scott Rifenbark
b0ac293871 documentation: bsp-guide - Changed Source Directory capitalization.
The term should be initially capitalized.

(From yocto-docs rev: 38a11d512bfe675319fb76da9d7618315af91c47)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:21:40 +01:00
Scott Rifenbark
6915004b18 documentation: yocto-project-qs, yocto-project-ref - package re-org
Reorganization of the packages section in the YP Quick Start.
These are now ordered still by distro but the listed packages
have been culled down to just the needed ones to run an
image on QEMU with graphical support.

A corresponding section in the reference manual now provides
the comprehensive list of packages for all supported distros.
The section in the reference manual is broken down by
distro and by function.

Finally, four new variables were introduced to track the
essential packages for each of the distros.  The variables
are defined in poky.ent and follow the form
<distro>_HOST_PACKAGES_ESSENTIAL.  This will make it so
we don't have to maintain this list of essential packages
in multiple places.

Reported-by: Paul Eggleton <paul.eggleton@intel.com>
(From yocto-docs rev: 839b441791980db82f4795454e976e606b486d25)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:21:40 +01:00
Saul Wold
90d45f4264 distro_alias: Update for 1.3 BOM Creation
Fixed Ordering of packagegroup
Added entries for qemu-config split
Added entries for new packages, anotated approved packages

(From meta-yocto rev: 2c50e628aa6735156071f53d617938e610370b6f)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:21:40 +01:00
Constantin Musca
eb1782f715 bitbake: hob/hobeventhandler: Throw an exception if runCommand fails
- throw a Hob exception if runCommand returns 'Busy' or
'No such command'

[YOCTO #1245]

(Bitbake rev: 5a8e3baa66f845599a616f080a7efce81ecda631)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:21:40 +01:00
Paul Eggleton
503023dd69 build-appliance-image: Fix spacing in DESCRIPTION
Fixes [YOCTO #2636]

(From OE-Core rev: 831b88806a3cb0125003aa6d3348716bcfd662a1)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:21:39 +01:00
Ross Burton
1164f70c34 shutdown-desktop: ensure the postinst script succeeds
When the hostname isn't qemuarm the grep fails so the postinst fails. Stop this
happening by explicitly evaluating true.

[YOCTO #3224]

(From OE-Core rev: 8848ea6793ddaab61c9dad250ec578d68d7d087d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:21:39 +01:00
Ross Burton
31e19a34a5 sato-icon-theme: use gtk-icon-cache helper class
Instead of explicitly updating the icon cache use the helper class that also
forces a loader update at the same time.  This eliminates the possibility of
updating the icon cache without any gdk-pixbuf loaders.

Also check that the Sato icon theme isn't already set to avoid appending to the
file every time the postinst runs.

[YOCTO #2399]

(From OE-Core rev: 9d98dbdae4c05fcf50d546f554a04dc3f0bd66c3)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-10 15:21:39 +01:00
Elizabeth Flanagan
86c9aa8081 build-appliance: Flipping SRCREV
Assigning the SRCREV of build appliance to the most recent version
in the danny branch

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
2012-10-03 11:01:51 -07:00
Elizabeth Flanagan
ef5298eebd poky.conf: Flipping for release of Danny (Poky 1.3)
8.0/1.3 release. Flipping poky.conf values

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
2012-10-03 10:57:44 -07:00
Saul Wold
09aaad16be distrodata: Update distrocheck functions
Fix the distro check functions for the change of nativesdk
being a suffix to a prefix. Also added crosssdk as another
case for converting to PN for matching in the distro_tracking

(From OE-Core rev: ae9dbd0e1e26ba2b35cbd08ec731aee62adedc23)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-03 17:37:33 +01:00
Constantin Musca
73182ed4ea bitbake: hob/imagedetailspage: disable the deploy tool for qemu machines
- qemu images cannot be deployed to hardware, even if live
images (hddimg and iso) files are created

[YOCTO #3196]

(Bitbake rev: 001b1c439ffa450cb8728b0fa9469fed63ae9bed)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-03 17:30:19 +01:00
Cristiana Voicu
9c7189d74c bitbake: hob/settings: alignment and spacing fixes on "Shared state" tab
-alignment and separation on vertical and horizontal axis
-change controls width
[YOCTO #3188]

(Bitbake rev: a84c466eae7c2616c041faf930163f23834f0685)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-03 17:30:18 +01:00
Ioana Grigoropol
93fdfafbfc bitbake: hob/image_details/run_image: Kernel must be set
- when displaying image details, even if the kernel information is not shown, the kernel value must be set (if dealing with qemu) otherwise running the image will throw an error
(Bitbake rev: 334125a98ecb8a938aee4bc530205ad75099361c)

Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-03 17:30:18 +01:00
Paul Eggleton
0e6cc44a11 bitbake: fetch2: raise an exception if user specifies protocol=git with http://
It is a common mistake to use http:// and protocol=git when attempting
to fetch from a git repository using the http protocol; if this is
detected then throw an error explaining that you need to use git:// with
protocol=http instead.

(Bitbake rev: 5bc4930c1638db16bcd5f9c8cfc4081f9ffc192b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-03 17:30:17 +01:00
Paul Eggleton
27c30e46d9 rpmresolve: fix reporting of multiple matches error
We were mistakenly writing what was meant to go to stderr into the
output file, so when the "Multiple matches" error showed we weren't
actually seeing the matches printed.

Also change the wording of the "Unable to find package..." to "Unable
to resolve package..." instead so that it makes more sense if it is
printed after the "Multiple matches" error.

(From OE-Core rev: c26542eb4e8707b9639ec309a44809a728839db8)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-03 17:18:30 +01:00
Paul Eggleton
3b664d0cfc buildhistory_analysis: update to use explode_dep_versions2()
Handle where multiple version specifications are present for the same
dependency.

(From OE-Core rev: 1600c916ae410c57a783a5aa35abe07a3f673311)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-03 17:18:29 +01:00
Cristian Iorga
ef5dcad3e3 qemu: Fixed running QEMU with virtio error reporting
If vhost_net module is not properly installed,
runqemu script will report the error and
provide the user with a link to the guide.
Also corrected small cosmetic issues in
runqemu script messages.
Also removed <> (read/write) check.

Fixes [YOCTO #3184]

(From OE-Core rev: f7365f62325189b0f9a9a1d440f11f2356c8f01d)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-03 13:37:03 +01:00
Ross Burton
595b119894 wpa-supplicant: don't break the DBus service file
The recipe exports $BINDIR as ${sbindir} and the build system uses this when
writing the DBus service file, so sedding it and replacing $base_sbindir with
$sbindir (/sbin and /usr/sbin) isn't useful when it ends up as
/usr/usr/sbin/wpa_supplicant.

[YOCTO: #3202]

(From OE-Core rev: 41388c3ae0f4d9cd07e1599fbe125123c20820f8)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-03 13:37:02 +01:00
Richard Purdie
2f9328ff32 bitbake: providers.py: Fix PREFERRED_VERSION containing epochs
For some reason the code calls int() on the epoch component of any
PREFERRED_VERSION. Since this is compared against strings, the comparison
would always fail. This removes the stray cast and allows epochs
in preferred_version to work correctly.

[YOCTO #3187]

(Bitbake rev: 117b47553970fc5307374cbf500744b7c302efb4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-03 13:33:26 +01:00
Ross Burton
423bb6b276 xf86-video-intel: drop libxvmc dependency
xvmc is explicitly disabled, so remove the dependency.

(From OE-Core rev: eb96be4db46039752c44dc37ef676eaac04e3dba)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-03 13:33:25 +01:00
Ross Burton
3f0591a8ca distro-tracking: remove mesa-xlib
(From meta-yocto rev: 563e39cb3833e754140943304c95ec77a69f67e3)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-03 12:40:06 +01:00
Laurentiu Palcu
0d43dc75e4 qemu: add wrapper for qemu-mips binary
qemu-mips user emulation binary segfaults when running any kind of
binary. This is due to a MMU access fault in the virtual CPU. This
problem has been introduced in qemu when 4GB of vmem were reserved for
32-on-64 bit.

This workaround will need to be reverted once the proper fix is found.

[YOCTO #3143]

(From OE-Core rev: 53b3103abdf21123b1c7be49b05cfe97a7cd9ed7)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-03 12:40:05 +01:00
Phil Blundell
7da9f109e8 e2fsprogs: Don't install findfs
This binary is provided by util-linux nowadays.  Fixes:

WARNING: The recipe is trying to install files into a shared area when those files already exist. Those files are:
     /fast/jenkins/workspace/.../tmp-eglibc/sysroots/x86_64-linux/sbin/findfs

(From OE-Core rev: e71c6bb75239926aceebbb53d158cbf8de6112a4)

Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-03 10:04:56 +01:00
Elizabeth Flanagan
094c4a0878 bzip2 and busybox: Incorrect LICENSE
The license for bzip2 is not quite BSD. I have an email out to the
maintainer to see if we can utilize a common BSD license (or something
else) however, for now, we should revert bzip2 back to a special
license.

As busybox also utilizes a lightly modified bzip2, this also
effects busybox.

(From OE-Core rev: a0b132798d2c1adf79414787b8317327a554f852)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-03 10:04:08 +01:00
Darren Hart
6d1aa1dc31 linux-yocto-custom: Clarify defconfig usage
It is necessary to supply file://defconfig to the SRC_URI when using
a defconfig (it is not implicitly understood as the commentary might
currently suggest).

(From OE-Core rev: 3e244e0e9c10438c2236e56b3de664d4560791f0)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-03 10:03:08 +01:00
Richard Purdie
71030c6b37 package.bbclass: Fix regression in -dbg packages introduced by explode_dep_versions change
We need to iterate over the dictionary pulling out the values, not take the top
level keys. If we don't do this, we end up with dependencies on the values of
PACKAGES, not library dependencies.

(From OE-Core rev: 7219bca11f554fbe2ed30f1537491987d65e9316)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-03 10:02:22 +01:00
Richard Purdie
e6663ffa5f qt4: Avoid circular dependencies with multilib
Without this, circular dependencies are found when attempting to build
multilib versions of qt4 (or bitbake world in a multilib enabled build).

(From OE-Core rev: b2e8cc5ae227656211fb7f32260e7dc4e2fb556e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-03 10:02:21 +01:00
Mike Crowe
8609051d8d bitbake.conf: Add CCACHE_DISABLE to BS_HASHBASE_WHITELIST
If CCACHE is in the whitelist then CCACHE_DISABLE probably should be too.

(From OE-Core rev: c03f76160e3cc3cb4fbf3cee114665c34bff06e6)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 18:12:48 +01:00
Richard Purdie
029a744078 poky.conf: Remove git proxy configuration check url
The git proxy check seems to be hurting the user experience more than
its helping it so lets remove it andonly check http/https. Most builds
should be able to work from the http:// urls from the mirrors.

This also brings some parity to the situation as svn:// were not being
checked.

[YOCTO #3119]

(From meta-yocto rev: 68feb0b752907899a15773fea30345472f785488)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:39 +01:00
Paul Eggleton
7067717113 documentation: poky-ref-manual - Updates to faq entry
Ensure that this section correctly and accurately describes how Poky and
OE relate to eachother currently.  The faq entry changed is
"How does Poky differ from OpenEmbedded?"

(From yocto-docs rev: ecc88ef12ec2faa48d05824e8b781a7d43e86127)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:39 +01:00
Paul Eggleton
5a18ea1b00 documentation: poky-ref-manual - Wording change for faq entry.
The entry for the question "Are there any products using
the OpenEmbedded build system (poky)?" was updated.  The
changes result in a better question and answer.

(From yocto-docs rev: cfc4a945738e891d20ab1a2a7002c5c421b0a225)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:38 +01:00
Paul Eggleton
dd7db5cf83 documentation: poky-ref-manual, dev-manual - added link to oe-core
* Explain that we test with a set of reference hardware rather than only
  supporting hardware that we have (avoiding any implication that the
  build system can't support other devices). These are in the
  faq entry in the poky-ref-manual for the question of how we can
  claim Poky / OpenEmbedded-Core is stable.

* Adjust the language so that it is OE-Core friendly, with a link to
  the Development Manual for the definition of OE-Core.

(From yocto-docs rev: 5ff1604dd383b26e918c319fcbe46dd1589cebc5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:38 +01:00
Paul Eggleton
56e07f6510 documentation: poky-ref-manual - Updated faq entry
Since we are using a layer-based approach, people do not
need to rely upon the Yocto Project team to add support
for new boards.

(From yocto-docs rev: 569ff9da7443f9654f288d0a4e62ef06ba34ba52)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:38 +01:00
Paul Eggleton
734d58c561 documentation: dev-manual - Wording changes for bumping PR
I edited the patch from Paul a bit here to conform to
the style of writing plus to make things clearer.

(From yocto-docs rev: 87abf857cfcd8a0d78a48322fbe9ac5395b6ad30)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:37 +01:00
Paul Eggleton
371a19f684 documentation: poky-ref-manual, bsp-guide - netbase version updated.
(From yocto-docs rev: d0b2b7983fb3d6dbd9525a094a72573b62a8d276)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:37 +01:00
Paul Eggleton
85e5dffb72 documentation: poky-ref-manual - faq entry removed.
Took out the FAQ question about using Ubuntu Intrepid and
seeing build failures.

(From yocto-docs rev: 2885aa27904d4b31541f77ceeb54ad94a8e21378)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:37 +01:00
Paul Eggleton
4afdff4757 documentation: poky-ref-manual - Sentence corrections.
Adjust a few sentences so that they make better sense.

(From yocto-docs rev: 67437c9f31fca0437e1f23ab78dd252f3ca0a903)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:36 +01:00
Paul Eggleton
6c5691a5ca documentation: poky-ref-manual - glossary entry for SDKIMAGE_FEATURES
Add new SDKIMAGE_FEATURES to variable reference.

(From yocto-docs rev: bb7de36ef04a11c95c46c8fbbe170c721d7b020b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:36 +01:00
Paul Eggleton
99a1bf091e documentation: poky-ref-manual - Added staticdev-pkgs to list.
Document the new staticdev-pkgs IMAGE_FEATURES item.

(From yocto-docs rev: 64317edb209b8f9c720c4b1930a0d355d2db6b38)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:36 +01:00
Paul Eggleton
d46ab5a576 documentation: poky-ref-manual - GNU terminology fixed.
(From yocto-docs rev: 2c4b78cde433dfc7306c89d64bc8f195368902c5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:36 +01:00
Scott Rifenbark
6c15b345ea documentation: dev-manual - Added final SRCREV statements.
I updated the listing of the final SRCREV statements for the
BSP example.

(From yocto-docs rev: 0d0d5994c2653dda1171eaad226bbe1764a04440)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:35 +01:00
Scott Rifenbark
fd67c63d0d documentation: dev-manual - Changes from Crown Bay to fri2
These changes are partial for converting the example for BSP
creation from Crown Bay to Fish River Island 2.

(From yocto-docs rev: c7fc78a8453ad363138764aa30e377b56ce49f2b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:35 +01:00
Scott Rifenbark
876a87ba1c documentation: dev-manual - branch fix and reference fix.
Fixed the reference to the Downloads page.
Also fixed the local branch in the meta-intel example so that
it uses the same name as the local branch created for cloning
poky.

(From yocto-docs rev: edac781b37bce0d0bca6a741186cfa53a512b73e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:35 +01:00
Scott Rifenbark
13d147178a documentation: dev-manual - Updated Git repo example
The new branch is named distro plus poky revision
(e.g. danny-8.0).  I had just the distro in there.

(From yocto-docs rev: 9490849f7f6dc815d1b676b15b3f38f671a49be8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:35 +01:00
Scott Rifenbark
e6ed2118fc documentation: dev-manual - Fixed capitalization for term.
The term "Source Directory" should be capitalized.

(From yocto-docs rev: 143213545358dd5b6c28c71202bea2e40dbb2522)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:34 +01:00
Scott Rifenbark
5fd5ef78c4 documentation: dev-manual - Changed wording to recipe
In the Quilt and Git flow methods there is a bullet that talks
about incrementing the PR variable.  I changed the wording to
be in the context of recipes rather than packages.

(From yocto-docs rev: 64f6230251c023e469a346c0425834b950ed5c9b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:34 +01:00
Scott Rifenbark
1628d3c4c5 documentation: dev-manual - Update to package/recipe wording
The example that describes changing the source code usees the
P* variables extensively to refer to names of the recipes. The
wording used was antiquated and exclusively referred to
"Packages."  I changed to reflect the fact that P* variables
in general are refering the recipes and not the packages.

(From yocto-docs rev: bd3ef1c46fc7a3b0b2ff5ab60dc52e125f080e24)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:34 +01:00
Scott Rifenbark
a32c0b2bab documentation: dev-manual - updated some obsolete links.
some of the links to information for the user-space tools
had become obsolete.  Fixed them.

(From yocto-docs rev: 84e72204e34e45d9d8cae876710a46a83b61c0cc)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:34 +01:00
Scott Rifenbark
5e1460de1f documentation: dev-manual - updated branch to use DISTRO_NAME
I changed the preferred branch for the Eclipse example from
a hard-coded "1.3_beta" to use the DISTRO_NAME variable.

(From yocto-docs rev: 9393c5d1e44a1e326c73353b090c1d1c1a5833da)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:33 +01:00
Scott Rifenbark
873ac6a8c2 documentation: dev-manual - minor edits.
(From yocto-docs rev: 7f434f6f8e56b3bf330c69a1b7e8ccc8da25f3a0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:33 +01:00
Scott Rifenbark
2685ff4fbd documentation: dev-manual - Updated the Application Dev figure.
Added information in the #4 box to include the cross-dev
toolchain.

(From yocto-docs rev: 198ab4326369d8c74225d9de51bf536621ab2251)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:33 +01:00
Scott Rifenbark
201bf86c28 documentation: dev-manual - Updates to kernel workflow summary
Updated the item that talks about getting the root filesystem.
Realized that the cross-toolchain was not discussed in this
bullet for the case where a user does not use the ADT
Installer.  Added text and references to correct that.

(From yocto-docs rev: ec2f5103471f047f7ed7e53cc22789c74ab506ae)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:33 +01:00
Scott Rifenbark
3388abdd8f documentation: dev-manual - trademark added and reference updated.
I added an earlier occurence of the "tm" for Eclipse product.
Also, changed the reference for modifying the kernel to point
into the appendex rather than self-referencing the same section
from where the reference originated.

(From yocto-docs rev: a85840611650c9124b6194acca59c8bfe71f566c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:32 +01:00
Scott Rifenbark
9c7f3c35b1 documentation: dev-manual - Added reference to submit change section.
(From yocto-docs rev: 34cf1d68657406833054cb7c346302e9490534c6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:32 +01:00
Scott Rifenbark
175e4bd923 documentation: dev-manual - Changes to "Source Directory" use.
I standardized the use of the term "Source Directory" when
referring to the poky directory as set up on the host.

(From yocto-docs rev: 3eaf7a734a4eecab2be2c8e71bee4d6c2cb7788b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:32 +01:00
Scott Rifenbark
fc50139a1a documentation: dev-manual - updated kernel flow figure.
I made this more accurate by including notes to edit the
source and use of menuconfig within the diagram.

(From yocto-docs rev: 91d3d2e935aab24c4bd96c5921a605cbbb7e3231)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:31 +01:00
Scott Rifenbark
965f760388 documentation: dev-manual - corrected punctuation.
(From yocto-docs rev: 408f0ba11abad482e23ac3695b282f23185c0115)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:31 +01:00
Scott Rifenbark
25141d544d documentation: dev-manual - clarified what files we are using.
(From yocto-docs rev: 4a7cf1574e7c3481a78499865e1555904a6a80d9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:31 +01:00
Scott Rifenbark
dff62da6de documentation: dev-manual - Updated list of kernels
Needed to add the 3.4 kernel to the list of linux-yocto-*
kernels as found in the source repository.

(From yocto-docs rev: 98538e2616214f76083697ad3cc886efd183c34e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:30 +01:00
Scott Rifenbark
1b02ad9d4a documentation: dev-manual - updated list of BSPs in meta-intel.
(From yocto-docs rev: 95e1417b198e1fcb0404f30226829cc61c81fbd3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:30 +01:00
Scott Rifenbark
eb9682f98c documentation: dev-manual - minor edits.
(From yocto-docs rev: 3a0411bb791a54d463996134ebbd1eace56163ab)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:30 +01:00
Scott Rifenbark
1040961076 documentation: dev-manual - Updated overview for application flow
The bulleted item that describes where to look for application
development was still pointing exclusively to the adt-manual.
Updated to point to adt-manual for host setup only and then
point to section in the dev-manual for the Eclipse example.

(From yocto-docs rev: 36ac631e23366c4d9f83c2d00cbbd3bc4758aa15)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:30 +01:00
Scott Rifenbark
93e7454bd7 documentation: dev-manual - Created list of option.
Better display of the SELECTED_OPTIMIZATION variable options
when they appear as a list.

Also, some punctuation added.

(From yocto-docs rev: 73777e545f13eacca9ee466ba852bccd84c17f6f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:29 +01:00
Scott Rifenbark
70c657200f documentation: dev-manual - grammar fix and SDK caps on.
'sdk', when used in general terms should be capitialized.

(From yocto-docs rev: 1d68746ae197620b533a9ad53e71b16c9e4e42b8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:29 +01:00
Scott Rifenbark
418d7d6435 documentation: dev-manual - caps for SDK when used in general.
(From yocto-docs rev: 59ef0682eeb5137fb617a0b8f3813ceca16f2f83)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:29 +01:00
Scott Rifenbark
f85c5a559c documentation: dev-manual - grammar correction.
(From yocto-docs rev: c127a2f1eaf401728b295113b66ca5828619fbea)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:28 +01:00
Scott Rifenbark
050263f1aa documentation: dev-manual - added cross-reference to PN.
(From yocto-docs rev: 11c87eb29fb7d87eadbbca698ec37b806f49f790)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:28 +01:00
Scott Rifenbark
cc5f361da8 documentation: dev-manual - minor wording change.
(From yocto-docs rev: 75c4e2fe0932ba44804925688c4c6a5347d3bb31)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:28 +01:00
Scott Rifenbark
08996b37f4 documentation: dev-manual - minor edits and links added to glossary.
(From yocto-docs rev: a5d66dd66458eab2ec4ca54f73ae0a46d44f430c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:41:28 +01:00
Richard Purdie
c63ff82422 busybox: Add missing INITSCRIPT_NAME_${PN}-hwclock
Fix failures like:

Configuring busybox-hwclock.
usage: update-rc.d [-n] [-f] [-r <root>] <basename> remove
       update-rc.d [-n] [-r <root>] [-s] <basename> defaults [NN | sNN kNN]
       update-rc.d [-n] [-r <root>] [-s] <basename> start|stop NN runlvl [runlvl] [...] .
                -n: not really
                -f: force
                -v: verbose
                -r: alternate root path (default is /)
                -s: invoke start methods if appropriate to current runlevel
Collected errors:
 * pkg_run_script: package "busybox-hwclock" postinst script returned status 1.
 * opkg_configure: busybox-hwclock.postinst returned 1.

(From OE-Core rev: 43b4ffc11874803db37c43b521ce27c51c677c8b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:27:49 +01:00
Constantin Musca
999f7c2601 bitbake: hob/hobpages: Generate the title label every time
- the title label is destroyed at page switching (that's why we need
to generate it every time)

[YOCTO #3195]

(Bitbake rev: d6d991c08f66cf9ab27c53075109212ea9129380)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:19:28 +01:00
Martin Jansa
42b3fc6dd3 qt4: add 4.8.3 version with negative D_P
* rebased patches, 3 patches are resolved upstream:
  0019-javascriptcore-Fix-compile-error-when-using-toolchai.patch
    resolved in upstream commit 7ac8d8597db1f58b11338f91fb27f6ad8696b34b
  0022-webkit-fix-conflicting-types.patch
    resolved in upstream commit929b4443d53fcf3a7ad1cb9f3af5569e41ef56f1

(From OE-Core rev: b9fc4928bb93ad720c47920db3869d860c531d0a)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:19:28 +01:00
Martin Jansa
89386fde89 qt4: PR bumps
* sofar only formal changes, but to test that everything still builds the same

(From OE-Core rev: 054a0e6c850f92c03fbb6314702de4e6318ccd25)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:19:28 +01:00
Martin Jansa
aea363afaa qt4: replace all local patches with git patches with headers
* in preparation for upgrade to 4.8.3

(From OE-Core rev: 24bf06bbcda4c0dfdad33cdff6394faa52657bb9)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:19:28 +01:00
Martin Jansa
425df23c02 qt4: drop patches not used in any recipe
(From OE-Core rev: 5f0684c1d23a3520095a4d450a0c1fa95fa1c7b2)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:19:27 +01:00
Martin Jansa
b0862a5cf2 qt4: move patches from files to qt4-4.8.1
* faster lookup in FILESPATH as small bonus

(From OE-Core rev: 8cc54d2d154b2ed9f931da39d75dc9c135f5e26d)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:19:27 +01:00
Martin Jansa
ee14710dbf qt-mobility: move qt-mobility patches to separate dir
(From OE-Core rev: 8dccc55a623f0c5f3469c7cdf63aa788683aa186)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:19:27 +01:00
Martin Jansa
d4ad1b760d qt4.inc: move more options to separate variables
* make it easier to override them in bbappend
* convert pulseaudio to more common -pulseaudio/-no-pulseaudio form

(From OE-Core rev: 34e3687394c6fa18ef0443d63b8d7d0a68c441e0)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:19:26 +01:00
Martin Jansa
a0a29221c8 qt4: rename qt-4.8.1 to qt4-4.8.1 to match other .inc and .bb
(From OE-Core rev: dcda03d3f6ec442740e3683a1971103dc639689d)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:19:26 +01:00
Martin Jansa
248e9f48c7 qt4: use releases.qt-project.org instead of get.qt.nokia.com
* releases.qt-project.org has 4.8.1 as well as 4.8.3

(From OE-Core rev: f12df439b893c70a8cd271ff8b8e6d760b78a2b3)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:19:26 +01:00
Martin Jansa
8ceea528a7 qt4-tools-nativesdk.inc: rename to nativesdk-qt4-tools.inc
(From OE-Core rev: 11970283424f213f870ba7e96d70bd507b10bc63)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:19:25 +01:00
Daniel Stone
9c3e605390 libdrm: Remove Cairo dependency
This causes a build loop, when DRM depends on Cairo depends on Mesa
depends on DRM.  We can safely remove it as it's only one libdrm example
program which uses Cairo, which we won't be needing.  At least it's not
worth the build loop.

(From OE-Core rev: a6d305261dc925210185d8b70fb1a923e012153b)

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:11:27 +01:00
Matthew McClintock
5112da2c69 binutils.inc: add vardep on multiarch DISTRO_FEATURE
binutils will build differently if this feature is enabled, so
make the do_configure step depend on it

(From OE-Core rev: 0788cf349fe37ef4a36c626dbc396c97d1ab14d7)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:10:35 +01:00
Matthew McClintock
6e8d68de7f libx11.inc: fix build issues for older CentOS distros
Fixes these sorts of issues present on older gcc (CentOS 5.x in this case)

| cc1: error: unrecognized command line option "-Werror=implicit"
| cc1: error: unrecognized command line option "-Werror=nonnull"
| cc1: error: unrecognized command line option "-Werror=init-self"
| cc1: error: unrecognized command line option "-Werror=main"
| cc1: error: unrecognized command line option "-Werror=missing-braces"
| cc1: error: unrecognized command line option "-Werror=sequence-point"
| cc1: error: unrecognized command line option "-Werror=return-type"
| cc1: error: unrecognized command line option "-Werror=trigraphs"
| cc1: error: unrecognized command line option "-Werror=array-bounds"
| cc1: error: unrecognized command line option "-Werror=write-strings"
| cc1: error: unrecognized command line option "-Werror=address"
| cc1: error: unrecognized command line option "-Werror=int-to-pointer-cast"
| cc1: error: unrecognized command line option "-Werror=pointer-to-int-cast"

Also fixes:

makekeys-makekeys.o: In function `main':
makekeys.c:(.text+0x85): undefined reference to `__isoc99_sscanf'
makekeys.c:(.text+0xa7): undefined reference to `__isoc99_sscanf'
collect2: ld returned 1 exit status
make: *** [makekeys] Error 1

Older libc do not have this defined, we can use the -D_GNU_SOURCE
to the compiler to prevent generating calls to this function and
make linking work

(From OE-Core rev: 83c560ae282c1a28fd2c311c66debd02a69f1678)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:10:35 +01:00
Ross Burton
be8dd82ce9 Revert "initrd: Spawn an emergency shell when something goes wrong"
This had nowhere near enough testing...

This reverts commit ffb6928f57.

(From OE-Core rev: f162f0ecc96fdfb564aad968e5b8bc670640ea68)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:10:34 +01:00
Richard Purdie
51ad952626 nativesdk.bbclass: Ensure we have chrpath >=0.14
Versions earlier than 0.14 can't cope with 32 bit binaries on a 64 bit
system and vice versa. This results in problems for certain SDKMACHINE
combinations on certain hosts. By ensuring we build
chrpath-replacement-native we avoid this problems and the binaries work
correctly.

[YOCTO #3161]
[YOCTO #3201]

(From OE-Core rev: f89bced26de055817100d0b0e03094b031fcfd48)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:10:34 +01:00
Richard Purdie
e2519ae2b0 chrpath: We should provide chrpath-replacement-native and install into a native specific directory
chrpath is assumed to be provided by the build host system. This means
we need to provide a replacement version and install into a specific directory
to avoid races.

(From OE-Core rev: 147c44c882a3dc667c079165d3ddc9d78b702286)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:10:34 +01:00
Richard Purdie
bf3d0ca9d1 gzip: The native version should provide gzip-replacement-native
(From OE-Core rev: 9c2e5b04e40102fc7276fd3a6467725617dc33ce)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:10:33 +01:00
Richard Purdie
40a3cf008f bitbake.conf: Add chrpath-native to ASSUME_PROVIDED
We assume chrpath is provided natively so it should be listed in ASSUME_PROVIDED.

(From OE-Core rev: 97a3ea712003e8d48dc68c282e656591f39d2d1a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:10:33 +01:00
Richard Purdie
32cc952460 scripts/oe-buildenv-internal: Ensure we detect the SDK/ADT and error out
The SDK/ADT may ship with a python installed which may not have all the modules
need for a bitbake build. We should therefore detect if its already present in the
environment and error out in this case, asking the user to use a clean environment.

This also removes the potential for any other conflict between the two.

[YOCTO #2979]

(From OE-Core rev: 9496d4cd77ae632251b4262b63be857fc4fcb31e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:10:33 +01:00
Richard Purdie
34bd4e1743 opkg: Convert select-higher-version option to prefer-arch-to-version
This converts the option to maintain the existing behaviour unless the option is
specified. We do specify the option during the builds themselves to ensure what
the users expects is built.

(From OE-Core rev: 0cc479699fe885049625d54c712b500c1b719e75)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 17:10:33 +01:00
Constantin Musca
cbddb898c2 poky-sanity.bbclass: bblayers.conf should be updated automatically
- we need a bbclass (poky-sanity) so that we can append to the
check_bblayers_conf bitbake function from sanity.bbclass the
bblayers.conf specific merging functionality
- add check_bblayers_conf_append bitbake function which does the
meta-yocto specific updates (the bblayers.conf v5 -> v6 update)
- every layer should make its specific bblayers.conf updates
- we ask the user to re-run bitbake because we can't trigger
reparsing without being invasive

[YOCTO #3082]

(From meta-yocto rev: 636783633ac0cd5bf66f8b9c9b26cb31ad082451)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 16:48:33 +01:00
Cristian Iorga
7c2b1d5366 bitbake: hob: Improved behavior for error reporting window
Scrollbars have now an automatic behavior, depending on
the error's text size and error window size.

Fixes [YOCTO #2983]

(Bitbake rev: 0c0a25672498520fb2c46164f08959dda83c61e0)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 16:48:33 +01:00
Phil Blundell
f18208a94c libart-lgpl: add art_config.h for mipsel
Fixes:
WARNING: Unable to get checksum for libart-lgpl SRC_URI entry art_config.h: file could not be found

which otherwise happens during parsing, even if libart-lgpl isn't being built.

(From OE-Core rev: a9245e0d1dd1bee4ac01fe0c73d95179033ba979)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 16:48:32 +01:00
Richard Purdie
0ca8b6248e opkg: Drop nogpg version since the main version now has nogpg too
(From OE-Core rev: c8197c993c5848576a9c63660ff342571d31a4ba)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 12:02:13 +01:00
Phil Blundell
57977d77a4 opkg-native: remove spurious dependency on curl-native
All variants of opkg are currently configured --disable-curl so there
seems no point in depending on it.

(From OE-Core rev: 875f1eb876c17c038a77bc7b7a5fed775d9fd3ea)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 12:00:04 +01:00
Ross Burton
faee028b66 libpcap: add dependency on libnl
libpcap uses libnl on Linux to support sniffing mac80211 devices, which could be
useful.

(From OE-Core rev: 052a8406e66c9dcccc1fc506a32cc1706b93467b)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 12:00:04 +01:00
Ross Burton
7c02bb4cef galago: remove
Galago has been replaced with Telepathy and Folks, and has been unmaintained for
years.

(From OE-Core rev: b878a9b1af63603779850f420fc0feb2ef78da9f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 12:00:03 +01:00
Bogdan Marinescu
2984c87f27 sanity.bbclass: Fix invalid test for network error
The test for network error in sanity.bbclass was negated.

(From OE-Core rev: 9fcd0866f0e30a50182434f6bcae13bf9575807f)

Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 12:00:03 +01:00
Richard Purdie
6494c05e80 bitbake: Update version to 1.16.0
(Bitbake rev: a579754a04bdcf450e6957dde614a15c11df39e2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 11:40:56 +01:00
Bogdan Marinescu
876ef4918f bitbake: hob: Further improvements to hob dialogs
1. Replace some labels in the "Build environment" tab
2. 'defaultsetup' changed to 'Default' in the "Image types" tab
3. Fixed the moving icon in the "Output" tab

For more details: https://bugzilla.yoctoproject.org/show_bug.cgi?id=2162

[Yocto #2162]

(Bitbake rev: db7d98569117b7a75262eb555e1c7ae9a421bdf8)

Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 11:40:55 +01:00
Constantin Musca
a2783d2f64 bitbake: hob: Fix 'User selected' tag functionality
- the 'User selected' tag is only used when the user
selects a package
- fix hob to remember which packages are 'User selected'
- if the package is already brought in by some other package,
it should not appear as 'User selected'

[YOCTO #3108]

(Bitbake rev: 2391e9ba7034d4f90bafa5732d8efa8166f69950)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 11:40:55 +01:00
Cristiana Voicu
2df5a30ef0 bitbake: hob/settings: Change the 'Delete' button behaviour in the shared state settings tab
-the tab shows an empty mirror row when no mirror is configured
-able to delete the mirror row even if it's not empty(if it's not
the first mirror)

[YOCTO #3189]
(Bitbake rev: d6472608112b8af2e98f247e6f89a7f948b2d020)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 11:40:55 +01:00
Ioana Grigoropol
58a99ebe3c bitbake: hob/image_details: Remove kernel info from details
- removed kernel information from image details

[Yocto #3002]

(Bitbake rev: 7fc33f0a8a38d9b8984bf884e47e505791536d16)

Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 11:40:54 +01:00
Richard Purdie
d3529e2fab bitbake: tests/utils: Add test for explode_dep_versions2
(Bitbake rev: b1b0aabfab3c94c3b515070d0fb4d7819e2548bc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 11:40:54 +01:00
Richard Purdie
c4d857debf bitbake: utils: Add explode_dep_versions2 to replace explode_dep_versions
The API for explode_dep_versions is flawed since there can only be one version
constraint against any given dependency. This adds a new function with an API
without this limitation. explode_dep_versions() is maintained with a warning
printed when its used in a situation where information is lost.

This should allow a simple transition to the new API to fix the lost dependency
information.

join_deps() is updated to deal with data in either format.

(Bitbake rev: babeeded21827d8d3e7c7b785a62332ee9d45d4f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 11:40:54 +01:00
Mark Hatle
9a283519b2 bitbake: utils.py: Allow explode_dep_versions comparisons to have arbitrary whitespace
Refactor the explode_dep_versions to be more lenient on whitespace values.

The required format is:
   foo (= 1.10)
   foo (=1.10)
   foo ( = 1.10)
   foo ( =1.10)
   foo ( = 1.10 )
   foo ( =1.10 )

(Bitbake rev: 39c1c12c58fadd854098cf14ebe92f4d307a36dd)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 11:40:53 +01:00
Mark Hatle
e7ba10c1de bitbake: utils.py: Check for duplicate dependency entries
explode_dep_versions is not able to have duplicate entries.  Previously
duplicate entries ended up with the last item being the one returned to
the caller.

We now detect a collision.  We do allow an empty item to have a comparison
added to it, or a duplicate with the same comparison without error.

When a collision is detected a ValueError exception is thrown.

Allowed:
   foo foo (= 1.12) foo

Invalid:
   foo (= 1.12) foo (= 1.13)

(Bitbake rev: d40448f0483a2959e9dcaac9b6dd35839f396a6e)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 11:40:53 +01:00
Richard Purdie
5fdbda6922 classes: Update to use corrected bb.utils.explode_dep_versions2 API
The bb.utils.explode_dep_versions function has issues where dependency information
can be lost. The API doesn't support maintaining the correct information so this
changes to use a new function which correctly handles the data.

This patch also fixes various points in the code to ensure that we do not have any
duplicates in things that use explode_dep_versions.

A new sanity test to test the contents of the R* variables is also added.

[Some changes from Mark Hatle <mark.hatle@windriver.com>]

(From OE-Core rev: 16a892431d0c0d03f8b561b92909cf2f11af4918)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 11:40:53 +01:00
Richard Purdie
0bfb2094e3 insane.bbclass: Remove copy and paste confusion when using OVERRIDES
People keep copying this code and its confusing and unnecessary. Remove the
bad examples to try and stop this happening.

(From OE-Core rev: 48aa4b00cfb7f01195c6d20b7ba660715fe792ef)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 11:40:52 +01:00
Richard Purdie
35e6121a58 sanity.conf: Require bitbake 1.16.0 (stable series) prior to release (and for explode_dep_versions changes)
(From OE-Core rev: bf334f01cb90483ba304b4a830d53e705637b87a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 11:40:52 +01:00
Richard Purdie
ae4552ac1b gdk-pixbuf: Ensure gdk-pixbuf-native dependencies are correct with linuxstdbase
Without this change, anything using linuxstdbase would incorrectly
try and pull in X dependencies.

(From OE-Core rev: 664fce61c9c49276039b18606e1e88585b47f724)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 11:40:52 +01:00
Phil Blundell
31dec3c6d3 opkg: Don't call sync() when installing into an offline root
Even when installing onto a live target system, calling sync() during
package installation is of somewhat questionable benefit.  But calling
it on the build host during rootfs construction is certainly useless and
can cause I/O to stall for several seconds on even a moderately sized
host which is clearly not desirable.

(From a patch originally by Mike Crowe.)

(From OE-Core rev: f48a68177510e8f2d4fcc3725a6dfc41a9a8e96b)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 11:40:51 +01:00
Martin Jansa
97160f8e92 opkg: fix version constraints in conflicts, depends, replaces
* http://code.google.com/p/opkg/issues/detail?id=94

(From OE-Core rev: 7ebce895a215b31cf01aea2ac43e554f96ef814f)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 11:40:51 +01:00
Mark Hatle
31fcfefbfd package_deb/ipk: Remap < and > to << and >>
In deb and ipk, < means <=, while > means >=... there is a different
operator << and >> that means < and >, so we map them when constructing
the packages.

(From OE-Core rev: bbcc78d8ff03725ce5b3b65ce24025c3da45f2ab)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 11:40:51 +01:00
Mark Hatle
56c677a338 multilib: Move redefinition of STAGING_DIR_KERNEL
If the STAGING_DIR_KERNEL is set in the multilib.conf, then it may be
set incorrected.  The evaluation happens before TMPDIR and LIBC are
defined in other components.

Moving the definition process to the multilib.bbclass ensures that
everything has been loaded before it is set.

(From OE-Core rev: 6bd87edc383b40e300b0ef4bf851c39b698305cd)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 11:40:50 +01:00
Mark Hatle
cf7cff7d23 Cleanup: fix PN == BPN cases
When building target packages, it used to be enought to check for PN == BPN, however
with the multilib configurations, this can lead to subtle errors.  Change instances
of PN == BPN, to ${CLASSOVERRIDE} == 'class-target'.

(From OE-Core rev: acc988272b4e74a9ad1e6da5af5b2d208584197b)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 11:40:50 +01:00
Mark Hatle
eab4995400 rpm: Implement workaround for DB_BUFFER_SMALL error
In certain cases with BerkleyDB 5.3.x we are getting the error:

db3.c:1443: dbcursor->pget(-30999): BDB0063 DB_BUFFER_SMALL: User memory too small fo

See https://bugs.launchpad.net/rpm/+bug/934420 for more information.

It appears to be some type of a bug in the BerkleyDB 5.3.x.  In an attempt
to workaround the problem, when we encounter this situation we attempt
to adjust the size of the mmap buffer until the call works, or we
end up trying 10 times.  The new size is either the updated vp->size
from the failed pget call, or the previous size + 1024.

If DBI debugging is enabled, additional diagnostics are printed, otherwise
a basic retry and success message is added to show that the failure was
resolved.

(From OE-Core rev: bfb2906206158748d0be33baf7984cf885756da1)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 11:40:50 +01:00
Mark Hatle
e602247c08 rpm: Add rpm patch to fix git_strerror issues
Remove the optimzation append from recipe and add the patch that is in the rpm
cvs repo, http://www.mail-archive.com/rpm-cvs@rpm5.org/msg08907.html. The -O2
optimzation append is removed since it can limit debugging options that are
provided when -O0 is used.

This was tested by setting: SELECTED_OPTIMIZATION = "-O0"

(From OE-Core rev: d109c6bd163469d6281d20174e4b79cb63483cd4)

Signed-off-by: Morgan Little <morgan.little@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 11:40:49 +01:00
Mark Hatle
a2e7adad27 rpm: Fix file contention issue
There is an issue that is caused when doing the install step of rpm on systems
with high parallelization where two jobs of make will fight for the same file
while installing the sub-directory lua. This is caused by the same makefile rule
being called twice in a way that both could be trying to install at the same
time.

This fix renames the linking rule so it will always be run after the needed
files are added and removed it's dependency so the required rule would only
run once.

This was tested heavily using ppss to run mutliple installs in parallel. This
wouldn't happen in practise but it was tested will all the individual rules as
well.

(From OE-Core rev: d05c5da6b972db97d3eb66b659f5641368c9ebe4)

Signed-off-by: Morgan Little <morgan.little@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 11:40:49 +01:00
Mark Hatle
fc3b6656af rpm-native: Fix 'uuid_rc_t' undeclared error when compiling
When attempting to build with uuid and all tests compiling will error because
uuid.h doesn't exist in the rpm tarball. Fix this by changing the include to
use the one in ossp which solves the issue.

The recipe already depends on ossp so ossp/uuid.h will be there when rpm-native
is built.

(From OE-Core rev: 52ae2c2439bcb78323f61a3666e9b630b3a40b15)

Signed-off-by: Morgan Little <morgan.little@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 11:40:49 +01:00
Mark Hatle
6b76d9e764 libxcb: Update DEPENDS to avoid duplicate entries
Some items were listed multiple times in DEPENDS, avoid this situation.

Note, PR was not incremented as no change to the build process occurs.

(From OE-Core rev: e234af467eac7d0313fae3e87eb1b34725309bb5)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 11:40:48 +01:00
Paul Eggleton
b616c9461d gst-ffmpeg: add LICENSE_FLAGS
This likely requires some form of license to use in a commercial
product.

(From OE-Core rev: 1d41af288f3db07a5dc47436443daf95e243904f)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02 11:40:48 +01:00
Paul Eggleton
95c0e78278 poky.conf: supported distro warning update
* Remove Fedora 15 (no longer supported by Fedora project)
* Add upcoming Fedora 18
* Add upcoming Ubuntu 12.10
* Add CentOS 5.8 & 6.3
* Add new Poky distro name format (self-hosted / build appliance) for
  Yocto Project 1.2 / 1.3
* Update Debian squeeze to 6.0.6 (automatic update from earlier 6.0.x)
* Add openSUSE 12.2

(From meta-yocto rev: 817cb382f3f2fcd8134491578662d90bb50cd0bc)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:32 +01:00
Richard Purdie
7cf3214567 poky.conf: Clarify DISTRO_NAME to be less confusing
(From meta-yocto rev: e8f58bd92455e806985141f5e8df0b34d01bb4de)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:31 +01:00
Tom Zanussi
42ac02e097 yocto-bsp: remove 'test' options from user-config.cfg
A couple bsp templates have some options that were used for testing
but aren't needed for any other reason - remove them.

(From meta-yocto rev: dd3bbd04919f7cc69141f405ac95d736abddd637)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:31 +01:00
Tom Zanussi
7855192e78 yocto-bsp: use FILESEXTRAPATHS for xserver-xf86-config bbappends
The xserver-xf86-config .bbappends are still using FILESPATH - update
them to use FILESEXTRAPATHS as recommended by the Poky Reference
Manual and BSP Developer's Guides.

(From meta-yocto rev: 6aaef8eb9e95a46ab02ef038ae53c8e63eb04e09)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:31 +01:00
Scott Rifenbark
02a1ed4c55 documentation: dev-manual - minor edits.
(From yocto-docs rev: e138827210fecaecd90998d7e15561c4db083353)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:31 +01:00
Scott Rifenbark
24da1b8ba6 documentation: dev-manual - Fixed a term for consistency.
(From yocto-docs rev: e4d1b880578e1aaf842e89fe3ce16683cfdebc70)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:31 +01:00
Scott Rifenbark
a47106a43a documentation: dev-manual - more wording changes.
I found other changes for underlying/corresponding wordings
regarding the relationship between .bb and .bbappend filenames.

(From yocto-docs rev: 28f12a4ea97a683281cd8cc0bbceb40d2b896aa4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:31 +01:00
Scott Rifenbark
4b17b2dd80 documentation: dev-manual - better wording for the .bb file
Better choice of word here is "corresponding" rather than
"underlying".

(From yocto-docs rev: 3d8b6d6e06b81960df2a7d25b6d54308210cc011)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:31 +01:00
Scott Rifenbark
6acea5861e documentation: deb-manual - updated list of layers in the repo
The manual listed an out-dated example listing of meta-* layers
in poky.

(From yocto-docs rev: 39e2a02301d1d0b609fbc041395dd31f6ba9fa2d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:30 +01:00
Scott Rifenbark
56ac2d90fa documentation: dev-manual - fixed grammar.
(From yocto-docs rev: 57c3a8d32e0fab3a566eb5f0ac8b38a6786489f6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:30 +01:00
Scott Rifenbark
ebd71dd979 documentation: dev-manual - Better description of location of scripts
The description for where the "scripts" directory lives was not
conforming to our terminology.

(From yocto-docs rev: 925167c446b86ca09d387d01568db64113412311)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:30 +01:00
Scott Rifenbark
452332445a documentation: dev-manual - wording change to remove ambiguity.
(From yocto-docs rev: 01fc1959efa85fdba17beec4a5c565108c6ab68a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:30 +01:00
Scott Rifenbark
8cd203a46c documentation: dev-manual - formatting change.
(From yocto-docs rev: 8d43e7ff1ad8151a09e12524d9b9afe825322954)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:30 +01:00
Scott Rifenbark
5992839b92 documentation: dev-manual - Buzilla components updated to six.
(From yocto-docs rev: 28480c246f0346d16424837d6be5d45e084e15c3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:30 +01:00
Scott Rifenbark
d399b589b2 documentation: dev-manual - better wording.
For obvious reasons I changed this one :)

(From yocto-docs rev: 5f3203292f46bea799321e4520668252a46fb599)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:29 +01:00
Scott Rifenbark
12ba89a88a documentation: dev-manual - Added link to pull scripts.
(From yocto-docs rev: 87fe511d4114295f8d67705c03ac11983f51cf7a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:29 +01:00
Scott Rifenbark
332e696958 documenation: dev-manual - added link to section on patching.
(From yocto-docs rev: 6316ef2aa8947d64fb262824b9f57df0e3a8e1c3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:29 +01:00
Scott Rifenbark
07925515ac documentation: dev-manual - better terminology.
(From yocto-docs rev: 06f1556d10c75134e53ade7bab407623f00b6a87)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:29 +01:00
Scott Rifenbark
6bf96aa1f9 documenation: dev-manual - formatting fix.
(From yocto-docs rev: 24e653c02278d7a3d935104296f54cf9fff9ce12)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:29 +01:00
Scott Rifenbark
8606f28cb4 documenation: dev-manual - clarifies local branch.
(From yocto-docs rev: fff80ac6e0a7092f19a268694f974ff45fb0fe8b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:29 +01:00
Scott Rifenbark
78aedfa4d4 documentation: dev-manual - grammar fix.
(From yocto-docs rev: eecdc407ae10a9c4146d79735e2e3fce7a031083)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:29 +01:00
Scott Rifenbark
a1fc37eabc documenation: dev-manual - updated the key tags example list.
(From yocto-docs rev: 8bdbe16e97be04482d3b06c9cf63bdef6ab49d5a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:29 +01:00
Scott Rifenbark
5bd37e57e1 documentation: dev-manual - Better wording for repo setup
I improved the wording such that it is not tied to a
x.x type release.  It is more generic here and will survive
better under future releases.

(From yocto-docs rev: 2bd644db7fef71cd2f07f6d3dcbd2ba60b83df08)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:28 +01:00
Scott Rifenbark
e25d32bd2f documentation: dev-manual - updated string of example branches.
(From yocto-docs rev: 79171c5c3c805178971ac099471d466e08968bbf)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:28 +01:00
Scott Rifenbark
a206035698 documenation: dev-manual - Added "the" in front of YP use.
(From yocto-docs rev: 0bb38edb5a1b855322da2afe2af57d627a573c51)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:28 +01:00
Scott Rifenbark
2977ae4021 documentation: dev-manual - grammar fix.
(From yocto-docs rev: 0c6804e0c9c3721964f5780f6ce6d56ec813fd47)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:28 +01:00
Scott Rifenbark
52780ddb3e documentation: dev-manual - grammar fix.
(From yocto-docs rev: 8611504763fe3d1e8fb95ceb06416e78203741b8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:28 +01:00
Scott Rifenbark
ee198802a3 documentation: dev-manual - First re-write of "Package" term.
(From yocto-docs rev: 735f6b10710f060541de88c9164c9cc1e605d436)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:28 +01:00
Scott Rifenbark
0101e9edf4 documentation: dev-manual - Added QEMU for image target.
(From yocto-docs rev: 6dceb27dd5687e1a6a9ae3ad8decccbaa211376a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:28 +01:00
Scott Rifenbark
33547c2f0c documentation: dev-manual - grammar fix.
(From yocto-docs rev: a601b39d93d036a0e54f5e4f0b8d0bb052c5ef98)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:27 +01:00
Scott Rifenbark
655264abcf documentation: dev-manual - Fixed buildbot target heading.
(From yocto-docs rev: dc8949b3493b16d3a8ba83aad0ec756c53fcd1cf)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:27 +01:00
Scott Rifenbark
0824517235 documentation: dev-manual - updated meta-intel repo example.
Added a line to cd to the poky directory so the example makes
sure the meta-intel directory is created in poky as it states.

(From yocto-docs rev: fdeff0fc2c61c521eaf9d3c48429792f1559c2a4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:27 +01:00
Scott Rifenbark
b7eb759920 documentation: dev-manual - formatting change.
(From yocto-docs rev: ff04bcaaae1a4f9a6e7b97c502fce9cde579c624)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:27 +01:00
Scott Rifenbark
a8ceece7d6 documentation: dev-manual - Update poky-extras example
Updated so that the repo poky-extras is for sure created inside
the poky repository.

(From yocto-docs rev: b01ea76ded2ade66f2cb19b37d9e9d8d5d2e96c9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:27 +01:00
Scott Rifenbark
f38b88a66c documentation: dev-manual - changed 3.2 to 3.4 for kernel support
(From yocto-docs rev: 6305dc7b4cbeae7f5725a2c2bc003b361460cfdf)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:27 +01:00
Scott Rifenbark
25fb8ec27d documentation: dev-manual - corrected heading for yocto linux kernel.
(From yocto-docs rev: a929747d076d0ce5d7401c95eaebc4800ed7cd4b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:27 +01:00
Scott Rifenbark
dce39b7494 documentation: dev-manual - Added reference to supported distros.
(From yocto-docs rev: 1e9ed539913e0c23bb9d6b36e992a3a6e7a91963)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:27 +01:00
Scott Rifenbark
5473c28ac8 documentation: dev-manual - Defines QEMU acronym.
(From yocto-docs rev: 665b9476a915031c30ada0f1d5cf80270486a404)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:26 +01:00
Scott Rifenbark
2b8d3c2db9 documentation: dev-manual - Fixed broken release notes link.
(From yocto-docs rev: af8f343cf62a0fabd1ef2fabc654817487cab6aa)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:26 +01:00
Scott Rifenbark
76dd4dd7b4 documentation: dev-manual - minor edits to manual limitations
changed the example of what the manual does not provide to
be more appropriate.

(From yocto-docs rev: c4e7712cfd2e13b42f7322ffed6a1f84116df963)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-01 23:30:26 +01:00
Scott Rifenbark
7c39c87d52 documentation: adt-manual, yocto-project-qs - Added tarball installer info
Turns out the .sh file that installs the tarball comes down without
executable permissions.  I added a sentence in each manual instructing
the user to set the permissions to the script before attempting to
run it.

(From yocto-docs rev: c1699971b3e03893aa1af5033e19d8f5c0b21ff4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 17:54:28 +01:00
Scott Rifenbark
b99414e1d4 documentation: poky.ent - updated distro to danny
(From yocto-docs rev: 5ad05236d1a7e0bea4d5733ef8fca92990f0796b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 17:54:28 +01:00
Scott Rifenbark
691d46286c documentation: adt-manual - updates to adt_installer location choice
Fixes [YOCTO_#2930]

You can now select the install location directory instead of
automatically going to /opt/poky.  Some small edits to the
section that describes what happens when you fire off the
adt_installer script.

(From yocto-docs rev: 57f34c9b3a82222ed0ffc99e998614884b9a3486)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 17:54:28 +01:00
Scott Rifenbark
43f295d3f1 documentation: adt-manual - Added dev package information
Added a new paragraph to the section that talks about getting
images to state that if the user is not using or building a
core-image-*-dev type image and they want to develop against
their image, they need to be sure to include the development
packages in their image recipe.

Reporte-by: Jessica Zhang <jessica.zhang@intel.com>
(From yocto-docs rev: 8da6f6172d3ad27c1cf6d52fd3d029d75ec9d0fd)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 17:54:27 +01:00
Scott Rifenbark
db70697baa documentation: dev-manual - changed to directory for BSP example.
Section A.5.2.3 "Changing recipes-kernel" indicated that the user
needed to look in poky/meta-yocto/recipes-kernel/linux to find
the linux-yocto_3.2.bbappend file to locate correct SRCREV
values.  With 3.1, the team split out kernel and BSP stuff
even further by creating a poky/meta-yocto-bsp directory.
The example needs to reference that directory instead.

(From yocto-docs rev: 6e9b0ceb5ad24b1be8399bf5a0a83fdc30129f82)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 17:54:27 +01:00
Scott Rifenbark
ed52eec109 documentation: poky-ref-manual - Edits to PRINC glossary entry
Fixes [YOCTO_#3095]

A minor edit to the glossary entry.  The fix for this bug spanned
two other commits:

418862011e79940ee378f64c6171618d29568014
7647cef96643b3723f80013c2c51ba6d7480122a

(From yocto-docs rev: 053e4558cc90eb1618e697394aff6d40edbeb3b1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 17:54:26 +01:00
Scott Rifenbark
894324908a documentation: Final edits to INC_PR glossary entry
These edits removed the .x eplanation at the end.  Paul Eggleton
concluded they do not matter and are confusing.

(From yocto-docs rev: 3f3e0b65bbfbb8da3ba1ebbb8dc78c3adf5a1c98)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 17:54:26 +01:00
Scott Rifenbark
35800afcc5 documentation: fixes KERNEL_FEATURES example
There was a malformed line in the example.  It needed a space,
which I added.

Reported-by: Brian Lloyd <blloyd@familyhonor.net>
(From yocto-docs rev: 892062d46463237375c49772cadb03356f636a82)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 17:54:26 +01:00
Scott Rifenbark
af8a6a2912 documentation: INC_PR glossary definition changes
A re-write of this glossary item.  The example provides more
detail and frames it in the context of a real example.

(From yocto-docs rev: 1a88abecf6ab5895d3c8ff801bd869a90a8a3fc1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 17:54:26 +01:00
Scott Rifenbark
8711ca817a documentation: PRINC variable glossary entry edits
Changed the wording in the front to get rid of redundancy
and specifically state that this variable affects .bbappend
files only.

(From yocto-docs rev: 7647cef96643b3723f80013c2c51ba6d7480122a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 17:54:25 +01:00
Bogdan Marinescu
71107aa1ad bitbake: Fix bad merge of #2162
This patch fixes the bad merge of #2162 fixes on master.

(Bitbake rev: 5b84d88f2a47063197f9a20f8ebf0a7ccf22c2eb)

Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 16:42:09 +01:00
Cristian Iorga
183ffd2048 bitbake: hob: Error reports are done in a clearer way
For long errors (bigger than 200 letters),
the text box is scrollable and resizable
and text is selectable.

Additionaly, all message dialogs are modal.
Otherwise, a user could still interact with hob
even in an error case, leading to potential problems.

See design details in related bugs.

Fixes [YOCTO #2960], [YOCTO #2983]

(Bitbake rev: be8bf02f2b347edf5514cafc6cb6a44f71118736)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 16:42:09 +01:00
Constantin Musca
1a85fc8f5b bitbake: hob/builddetailspage: fix failure_primary_action_button_clicked_cb
[YOCTO #3194]

(Bitbake rev: 660a449bdfd154fed556024f166e69c6931ff634)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 15:35:16 +01:00
Cristiana Voicu
e2ac27c051 bitbake: hob/builddetailspage: remove "back" button
When a build fails, there should not be a back button on the screen.
All available actions are provided within the failure notification,
so no back button is needed.

[YOCTO #3104]
(Bitbake rev: 03f978d21c7bfbf5f1afc741a43766030f2882a8)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 15:35:15 +01:00
Tom Zanussi
409859e739 yocto-bsp: fix dmaengine feature inclusion
The cfg/dmaengine/dmaengine feature changed location to cfg/dmaengine
in the 3.4 yocto kernel's meta branch.  Add template code to include
the appropriate version.

(From meta-yocto rev: b650fcb7781e1c6af6254c98ae64d5ea81b46abc)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 15:19:44 +01:00
Tom Zanussi
facb5f902f yocto-bsp: make vfat feature inclusion conditional on kernel version
The linux-yocto-3.2 cfg/vfat feature changed location to cfg/fs/vfat
in the 3.4 yocto kernel's meta branch.  Add template code to include
the appropriate version depending on kernel version.

Fixes [YOCTO #3178].

(From meta-yocto rev: d574c56c51789ec56ff50518ac2057607740eaa8)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 15:19:43 +01:00
Otavio Salvador
1ed2073a01 xserver-xorg: Remove RCONFLICTS against xserver-xorg
When merging the xserver-xorg fix the to use RDEPENDS in
xserver-xorg-module-exa the RCONFLICTS has not been removed by
mistake. This drops the RCONFLICTS to properly fix it.

(From OE-Core rev: d83e218dc480a09befddf8b934d774519cdbacb5)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 15:19:43 +01:00
Richard Purdie
15216fc1ec siteconfig: Clear cache before rebuilding
This ensures consistent build results and avoids build failures when compiler flags
change for example.

(From OE-Core rev: a5ff8396cad130f809f8f8da49bb38e6f80f923c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 15:19:42 +01:00
Richard Purdie
3d3893d261 perl: Fix substitution madness
We're going around in circles trying to fix the sed expressions and making one case
work and others not work. This patch fixes the base configuration file so we have
non-overlapping substitutions. I've tried to significantly clean up various problems
that were occurring once and for all.

This will hopefully resolve all the issues people have been seeing with incorrect perl
paths.

(From OE-Core rev: 31ff70794ecc431431476f81c8934fff25383613)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 15:19:42 +01:00
Matthew McClintock
c4788b7330 flac_1.2.1.bb: use TUNE_FEATURES to enable/disable altivec
(From OE-Core rev: bbcc66dc2d69821adb5b39b3642c368fb74ad4d7)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 15:19:42 +01:00
Matthew McClintock
856d5794e8 tune-ppce6500.inc: add e6500 tune files
Also supports a new altivec TUNE_FEATURE

(From OE-Core rev: 4586c24ad156773568cd38794936b8af62e862be)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 15:19:41 +01:00
Matthew McClintock
81de52f3f2 arch-powerpc.inc: add altivec as a valid tune feature
(From OE-Core rev: 026f8bc59b6c4cc23cc8a706117bf5b3555f2c7a)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 15:19:41 +01:00
Matthew McClintock
7bdcc26046 eglibc_2.16.bb: refresh fsl-ppc-no-fsqrt.patch for Freescale targets
(From OE-Core rev: 5635cf21520182e12c8a130707f8b47b5b4bec00)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 15:19:41 +01:00
Matthew McClintock
3129c32e1b eglibc_2.16.bb: refresh ppc_slow_ieee754_sqrt.patch for Freescale targets
Make same changes for e6500 fpu as done with others

(From OE-Core rev: a39f8c19d0ea5dc92271cbe36a03d638cb806e04)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 15:19:40 +01:00
Matthew McClintock
25804ed8fc eglibc_2.16.bb: refresh ppc-sqrt_finite.patch for Freescale targets
(From OE-Core rev: eba4de86e7e628690232f2f7912b321a9e22701b)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 15:19:40 +01:00
Matthew McClintock
001297ed4c eglibc_2.16.bb: replace patch with updated version that supports e6500
(From OE-Core rev: a68536b75cf93beaa1578b33d489d9f30b58ba2e)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 15:19:40 +01:00
Khem Raj
574d72803c boost: Support enums in hash
Fixes builds which were building fine with previous versions of boost

(From OE-Core rev: 139b65affbf50c4230e344cd4d0205ef025bb7c3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 15:19:39 +01:00
Khem Raj
7c6d679de0 flex,bison: Add nativesdk variants
It is needed in some SDKs that we ship own
version of lex/yacc for sdk host

(From OE-Core rev: 536c9e42d316efb42651fdc2eba1b8548d74329d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 15:19:39 +01:00
Kang Kai
f88ee2e28f ltp: add dependency libcap
Similar to libaio, libcap is another dependency of ltp.

If libcap has been done populate_sysroot but rpm/ipk package is not
created, ltp will be compiled with libcap. So when install ltp to a
image, it complains that package libcap is not found.

[Yocto #2973]

(From OE-Core rev: bf5215f095e7e610508fcefe1224c9289c6c56cd)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 15:19:39 +01:00
Richard Purdie
49649451cb bitbake: knotty: Allow displaying of status when no tasks are active
The console can appear to hang when no tasks are executing even if bitbake
is iterating through a large number of tasks behind the scenes.

This patch tweaks the footer code to display a status even when no tasks
are active to give the user better feedback about what is happening.

(Bitbake rev: 0a950ee14fce3a0cb938c22d7c717dc93ce6e25f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 11:15:05 +01:00
Richard Purdie
b85c30bb7d bitbake: parse/ConfHandler: Add negative lookahead to spot some quoting problems
Syntax like:

FOO = "bar" # eek"

would result in FOO taking the value 'bar" #eek' which is clearly
not the intention. Whilst our metadata is riddled with mixtures of even
quotes like:

FOO = "d.getVar("X")"

odd numbers of quotes seem rare. This patch adds detection of one odd
quote which we don't have any of in OE-Core so it seems a valid sanity
improvement.

(Bitbake rev: 5f892d9b083550e20e37576070ec7d1a94cc88fe)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 11:15:04 +01:00
Ross Burton
649048e537 bitbake: hob: set modal flag on progress dialog
The entire interface isn't usable whilst the progress dialog is up so we might
as well set the modal flag so that some WMs (such as GNOME 3) can do nice things
with the dialog (such as pin it to the titlebar).

(Bitbake rev: 9a19fe8e8c65b75dbbb4ae5401df6d6838495bdd)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 11:15:04 +01:00
Cristiana Voicu
1ad53437c4 bitbake: hob/settings: implement a new tab in settings dialog to show SSTATE_MIRRORS
Add a new tab to show correctly SSTATE_MIRRORS variable. Now you can add new
mirrors or delete mirror. "info" image was also changed( it is smaller, so it
can be next to labels).
>From "Build environment" tab, SSTATE_DIR and SSTATE_MIRRORS vars were removed.

[YOCTO #2893]

(Bitbake rev: ae27a7cf4d31a1b99840a761a27fd6256cb1dd9b)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 11:13:08 +01:00
Richard Purdie
edb2890f1c sstate: Relax the duplicate file whitelist for now
do_package is a machine specific task at the moment due to packagedata. This means
do_package tasks and their dependencies rerun between different machines
with various duplicate file installations. There are plans to fix this but they're
too invasive before release.

This patch relaxes the whitelist for sstate duplicate file detection to account
for this. Post-release, we re-enable stricter settings once do_package is not
machine specific.

(From OE-Core rev: c858259ce1881c6284f1fc2790c225c81e4a751e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 11:07:42 +01:00
Richard Purdie
a42dffc0ba tcl: Fix dangerous do_install staging references
Nothing should ever be poking files directly into the staging/sysroot
directories, it should always go through ${D}.

This patch ensures this recipe does this and hence fixes various
potential build issues such as lack of sstate tracking of files.

(From OE-Core rev: 7642143760c0157aba80cea7b427024ee097cc2c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 11:07:42 +01:00
Otavio Salvador
b0f4a5bc23 xserver-xorg: Use rdepends to ensure xserver-xorg-module-exa match version
This fix the installation of xserver-xorg-module-exa package at rootfs
using opkg. It were failing as conflicts where not working properly.

(From OE-Core rev: 8fb19876215a8c7918361e8360c4342d1a933a93)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 11:07:42 +01:00
Elizabeth Flanagan
ad1aa810ac license.conf/bbclass: Move globals to license.conf
This requires the changes to bitbake.conf that allow parsing of
license.conf.

As we should now be parsing license.conf, we can move some globals
out of license.bblcass and into the conf file.

(From OE-Core rev: 03e6a7cd27ed109a011fac09cf04412f87f31c3a)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 11:07:42 +01:00
Elizabeth Flanagan
0f9ca5da65 bitbake.conf: parse license config
license.conf hasn't been being parsed. It probably should be.

(From OE-Core rev: b393b31fee3b4d42890c2bcbba09ea231c131dea)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 11:07:41 +01:00
Elizabeth Flanagan
4f82c4eaf7 license.bbclass: Variable standardization
The variable mentioned in license.conf is LICENSE_PATH. The variable
used in license.bbclass is LICENSE_DIR. Conforming to what is in
license.conf

(From OE-Core rev: c6e13d9cd26d016ab06e7447b307d413e1331aa0)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 11:07:41 +01:00
Bogdan Marinescu
7d95141c5a sanity: Added explicit network error status in SanityCheckFailed event
If we fail a network test, a special flag is set in the SanityChekFailed
event. This helps Hob identify the network error properly and display
a special message to the user.

[YOCTO #3025]

(From OE-Core rev: 7877c4344db89237bba5f9a03342bfd9a03aebbf)

Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 11:07:41 +01:00
Damien Lespiau
39a091fe1d initramfs: Make mkdir not fail
This patch make "mkdir foo" not fail if foo already exists.

(From OE-Core rev: 2bf5026933b733701d4d339e01a4f5e4468f368e)

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 11:07:40 +01:00
Damien Lespiau
ffb6928f57 initrd: Spawn an emergency shell when something goes wrong
set -e allows to exit if a command fails. We install a trap and execute
emergency_shell() when either the init script exits or when ctrl-c is
typed (say if we are stuck somewhere and we want to debug it).

(From OE-Core rev: ae5e2bd994e3f60d3803ab56e6ed34d08fbc56f0)

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 11:07:40 +01:00
Constantin Musca
6d3d4baeeb sanity.bbclass: bblayers.conf should be updated automatically
- add check_bblayers_conf bitbake function which does the bblayers.conf
v4 -> v5 update if necessary (every layer should make its specific
bblayers.conf upgrades appending to the check_bblayers_conf function)
- we ask the user to re-run bitbake because we can't trigger reparsing
without being invasive

[YOCTO #3082]

(From OE-Core rev: 03ad4edace5db9c6e15ca776d06d20b7d4e42afc)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 11:07:40 +01:00
Scott Garman
f786991c3a runqemu-internal: don't append an empty element to PATH
Bitbake fails to run when an empty element exists in $PATH. Avoid
creating this situation when $CROSSPATH is not set.

This fixes bug [YOCTO #3101]

(From OE-Core rev: 1f7f590369eaa76dc970c9cffd1f0db53ce08c00)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 11:07:39 +01:00
Scott Garman
f31d114b48 oe-find-native-sysroot: show bitbake errors to user
Ran into another bug that was masked by hiding a bitbake error message.
This catches this situation and displays the error to the user.

Also includes whitespace fixes.

(From OE-Core rev: 435ffeefe4a1df53335fd397ff404bed7deae2df)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 11:07:39 +01:00
Paul Eggleton
71c0ff2e1b gst-plugins-good: make pulseaudio support dependent on DISTRO_FEATURES
This should be no change to the previous situation unless you
explicitly have pulseaudio in DISTRO_FEATURES_BACKFILL_CONSIDERED
(currently).

(From OE-Core rev: 3d28d16042373e699fabd8576458f65d63463bb9)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 11:07:38 +01:00
Ross Burton
629282ecd0 xserver-xorg: merge version-specific .inc into .bb
The version-specific .inc was shared with the xserver-xorg-lite package, but
that doesn't exist anymore.

(From OE-Core rev: 09b1bf350384722127ac9f098a72371cf27c3822)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 11:07:38 +01:00
Andrei Dinu
e1913fbb01 eglibc: Fix for dynamic linker broken offset
Solution provided by Donn Seeley in bug 1443:
https://bugzilla.yoctoproject.org/show_bug.cgi?id=1443

worked when testing with core-image-sato-sdk for qemuarm.

[YOCTO #2577]

(From OE-Core rev: 33ec4222c05c985b737e88850259218cf8336d46)

Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 11:07:38 +01:00
Otavio Salvador
ea5913fa84 cogl: Add a missing depends on libxdamage
During a from scratch build test, cogl build failed due a missing
dependency on libxdamage.

(From OE-Core rev: 959a2f6d88d8fa6874fff83b7a1f0e7d4e36b887)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 11:07:37 +01:00
Richard Purdie
a8c78aa835 bitbake: Add missing file from previous commit
(Bitbake rev: 5bc0f0e70f7272ff84aaeca43dcf4bb4bc0f5c3f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-28 09:56:26 +01:00
Richard Purdie
3c58f92d46 Revert "autotools.bbclass: using relative paths for acpaths"
This reverts commit aa66ef6598c84231577d139ec7be413e73fac2b1 since
bdwgc-native fails to build after it. Anything which runs with a
sub-configure will fail after this change. It therefore needs
rethinking.

(From OE-Core rev: f95a9e2c292a1551861220270838cf1eaaba85b9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-27 17:57:58 +01:00
Constantin Musca
f40bfd2e5f bitbake: hob/builder: When you stop a build, Hob should tell you stopping is happening
- use the progress bar text to indicate the stopping status
- the text should say: 'Stopping the build...'

[YOCTO #3152]

(Bitbake rev: 6f59db920ca4f527606670969c79afbf34eaff81)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-27 16:45:28 +01:00
Paul Eggleton
81602499c9 bitbake: lib/bb/data.py: improve output for expansion errors
Instead of logging the function/variable separately as a NOTE when
failing to expand, re-raise ExpansionError with more contextual
information. This means that the full details are reported in Hob as
well as actually reporting the original error message in any UI where
we previously did not. For example, we used to get this with tab/space
indentation issues in a python function:

NOTE: Error expanding variable populate_packages
ERROR: Unable to parse /path/to/recipename.bb

Now, we will get this:

ERROR: ExpansionError during parsing /path/to/recipename.bb: Failure
 expanding variable populate_packages: IndentationError: unindent does
 not match any outer indentation level (<string>, line 4)

Fixes [YOCTO #3162].

(Bitbake rev: ce5c7a95a359cdaecab7c4a519ad4f9df029da82)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-27 16:45:28 +01:00
Paul Eggleton
31f0de42fc bitbake: cooker: adjust layer dependency error messages
Make these a little easier to understand.

(Bitbake rev: 84ab874c8818484d37ee438aab27486fff497705)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-27 16:45:27 +01:00
Cristiana Voicu
bc90dedc3a bitbake: hob/recipeselectionpage: recipes should not be shown brought in by themselves
[YOCTO #3107]
(Bitbake rev: 2cc5f517224cee8e2dd2b045a277423ce66ec886)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-27 16:45:27 +01:00
Robert Yang
faaa0653c2 bitbake: fetch2: add "-d" option to cpio
Add "-d" option to cpio since it is useful:
  -d
  --make-directories
  Create leading directories where needed.

[YOCTO #3137]

(Bitbake rev: a78f9ded7896432b107f34c0bb608b389fdb676a)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-27 16:45:27 +01:00
Bogdan Marinescu
5c1345c75d bitbake: Multiple user interface fixes in settings
1. Move the "Others" tab from advanced settings to simple settings
2. Organize content of tabs into headings
3. Match various labels in the settings with the design
4. Clean up config_md5 in both simple and advanced settings

This patch implements a part of the changes requested by Belen in the settings dialogs.
The second version of the patch addresses all the UI changes requested by Belen (more
details are in the bug description): alphabetical ordering of the image types and
warnings if no image type is selected.

[YOCTO #2162]

(Bitbake rev: b45438555ecf2e25ebb99324a18d31c812a2738a)

Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-27 16:45:27 +01:00
Constantin Musca
87a1f631ad bitbake: hob/runningbuild: Add missing logging level argument
[YOCTO #3170]

(Bitbake rev: d11fe38a38adc10eedec3b4c251c575b95339774)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-27 16:45:26 +01:00
Bogdan Marinescu
7414ba713d bitbake: Add sanity check progress screen
This patch adds a sanity check progress screen to hob. The screen
is displayed when Hob executes the sanity check procedure. The screen
is displayed for at least 5 seconds. If a network error is detected,
a special dialog is displayed which lets the user open the proxy
configuration page directly.
Note that currently bitbake triggers the network tests only when
the value of its TMPDIR variable changes, which happens fairly rare
on my system. This is the subject of another bug (#3026).
Version 2 of the patch splits the changes in two parts (sanity.bbclass
belongs to oe-core).

[YOCTO #3025]

(Bitbake rev: b48f1351271cc066ffe919db112b14834a6d8f8f)

Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-27 16:45:26 +01:00
Cristiana Voicu
6fdff49d9b bitbake: hob/builddetailspage: change branch field
When a user makes a build from a tarball, it shows fatal error in branch field.
Now it not complains as a fatal error. It is a normal message.

[YOCTO #3114]

(Bitbake rev: 53d5d542cd0197ca67c5f90a57808af2f19ff56d)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-27 16:45:25 +01:00
Ioana Grigoropol
0e1a427a25 bitbake: hob: Buttons width and height are taken for host
- removed all set_size_request calls for buttons in order to:
	- force autosizing of buttons with regard to the text length
	- use host theme default height for buttons
- modified buttons on image details page to have the same height (default host one) and the width of the button with the largest text
- modified Stop button on build details page to have the default height by directly attaching it to the containing table instead of hbox

(Bitbake rev: 9cdfaa17309d368c3bbae0f1cce0ad875d340e83)

Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-27 16:45:25 +01:00
Cristiana Voicu
4c229615ea bitbake: hob/settings: implement a new tab in settings dialog to show SSTATE_MIRRORS
Add a new tab to show correctly SSTATE_MIRRORS variable. Now you can add new
mirrors or delete mirror. "info" image was also changed( it is smaller, so it
can be next to labels).
>From "Build environment" tab, SSTATE_DIR and SSTATE_MIRRORS vars were removed.

[YOCTO #2893]

(Bitbake rev: 1a81e27365d969e4ad4b4f0aec290aa967a8a35f)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-27 16:45:25 +01:00
Martin Jansa
d658f48efa sstate-cache-management: hide error message when one of possible layer location doesn't exist
* fixes [YOCTO #3116]

(From OE-Core rev: b02d334e0e6a19a1bf3550add68f5770a835c772)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-27 16:35:23 +01:00
Constantin Musca
dcd607ecc1 gnome-keyring: include unpackaged files with PAM enabled
Include missing files/dirs:
    ${base_libdir}/security/*.la
    ${base_libdir}/security/*${SOLIBSDEV}
    ${base_libdir}/security/.debug/

[YOCTO #2805]

(From OE-Core rev: c5b6e3be0923b0af16f4854264fae104470bacf7)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-27 16:35:23 +01:00
Wenzong Fan
d93a5e190c autotools.bbclass: using relative paths for acpaths
Fix autotools.bbclass to use relative paths for acpaths instead of
absolute ones. Since absolute paths may cause potential autoreconf
error like:

    Can't exec "/bin/sh": Argument list too long ...

This error occurs while building coreutils with long TMPDIR, because
it has bunch of m4 files need to be expanded.

[YOCTO #2766]

(From OE-Core rev: aa66ef6598c84231577d139ec7be413e73fac2b1)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-27 16:29:06 +01:00
Christian Glindkamp
876ec81c03 perl: Fix nativesdk install path
Commit 38234f2e276356b1d77a87ceabc486107e336d19 tried to fix the sed
expressions by anchoring the left side of the search regexp to prevent
$prefix$prefix type expression in the perl config. For nativesdk this is
not enough. Adding anchors on both side fixes this.

(From OE-Core rev: bf84ec0fb9a4d01ea75447c2efe8e534ce975b53)

Signed-off-by: Christian Glindkamp <christian.glindkamp@taskit.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-27 16:21:52 +01:00
Ross Burton
30b0c3c6f4 dbus: disable all X11 when native
Without --without-x the X11 detection would still go ahead and find the host X11
headers, which seems to cause problems at link time.

(From OE-Core rev: d35d19b6d0844daf8ca8aa059c0aa6077c2f573a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-27 16:05:09 +01:00
Phil Blundell
8bb52d817a eglibc: Remove bogus PACKAGES_DYNAMIC setting
It transpires that eglibc has been setting PACKAGES_DYNAMIC = "libc6*" for
some time.  However, this is bogus for at least two reasons:

1. Bitbake interprets PACKAGES_DYNAMIC as a regex, not a glob, so this will
match against any package whose name starts "libc" plus zero or more sixes.
This is particularly toxic because the nativesdk variant picks up the same
value and will, consequently, start trying to build itself at the slightest
excuse.

2. eglibc doesn't actually build any packages named "libc6<anything>", other
than the ones that are named in PACKAGES anyway, so the dynamic provider
declaration is in any case useless.

Simply deleting the line is not sufficient since then we get the default
value from bitbake.conf which causes eglibc.bb to fight with eglibc-locale.bb.
So instead we must set it to the empty string for good results.

(From OE-Core rev: 0fbb2e0c1889ee34d7f96266615e891bb44b1d10)

Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-27 16:05:08 +01:00
Martin Jansa
6d7e9d42eb xserver-xorg: use EXTENDPKGV instead of PV in RCONFLICTS_${PN}-module-exa
* it doesn't make much sense with PV, because xserver-xorg-module-exa
  was introduced in
  http://git.openembedded.org/openembedded-core/commit/meta/recipes-graphics/xorg-xserver?id=1a666ee1cda3c0b74daba5881fc5f62e13deec66
  so our xserver-xorg-module-exa RCONFLICTS with xserver-xorg (<= 1.11.2-r4)
  and (< 1.11.2) is not good enough

* because we don't know how many PRINC are in BSP/DISTRO layers,
  then it's safer to RCONFLICTS with every older version then current
  EXTENDPKGV

Also fixes whitespace to work correctly with opkg

(From OE-Core rev: ed0216d29fc4355c5220f3ad51df04a63cacb0c3)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>

--

* I haven't really tested this with IPK, since it was changed from
  RREPLACES to RCONFLICTS (because of RPM) and all my installed devices
  are already upgraded
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-27 15:21:54 +01:00
Jason Wessel
3d25fc9aeb cml1.bbclass: Convert tab indentation in python functions into four-space
Based on the previous commit 604d46c686d06d62d5a07b9c7f4fa170f99307d8
(Convert tab indentation in python functions into four-space), the
cml.bbclass was not converted, and in order to properly extend it
with external bbappend's it needs to be converted.

(From OE-Core rev: e4c1c37bb37e9eba635bc0a9308ab593abd299ec)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-27 15:21:53 +01:00
Richard Purdie
0b09e50810 busybox: Fix misplaced quote
(From OE-Core rev: 938d07871bedd91f0d95ed6fe338ecbfafa5ebfe)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-26 18:28:36 +01:00
Phil Blundell
5a18ffd64e util-linux: Remove static libraries from -dev packages
Fixes the QA warnings:

WARNING: QA Issue: non -staticdev package contains static .a library: util-linux-libblkid-dev path '/work/mips32el-oe-linux/util-linux/2.21.2-r3micro3/packages-split/util-linux-libblkid-dev/lib/libblkid.a'
WARNING: QA Issue: non -staticdev package contains static .a library: util-linux-libuuid-dev path '/work/mips32el-oe-linux/util-linux/2.21.2-r3micro3/packages-split/util-linux-libuuid-dev/lib/libuuid.a'

(From OE-Core rev: 8b123ca10904386ec9d860a2908c713b1c6a73e8)

Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-26 15:02:30 +01:00
Phil Blundell
7d408d3781 util-linux: Don't package chkdupexe
The chkdupexe utility is fairly worthless and drags perl in as a build dependency
of the whole util-linux recipe.  If anybody actually wants to use this script
then we should package it separately, but for the time being let's just delete it.

(From OE-Core rev: 19dd830ff8a1b87499b9a51599265dd436214708)

Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-26 15:02:29 +01:00
Robert Yang
0c7ef5214d package_rpm.bbclass: change the arch's "-" to "_" for platform
The platform and platform_extra will be written to /etc/rpm/platform,
the rpm's arch has changed the "-" to "_", so the value in platform
should also be updated.

[YOCTO #3159]

(From OE-Core rev: 9880a5261ca509c69efbafa27cddd9b2b8ca08f0)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-26 15:02:29 +01:00
Robert Yang
598528484c package_rpm.bbclass: no initial_solution in the second build
There is no initial_solution.manifest in the second build when
incremental rpm image generation, since the initial solution has been
skipped. So we should check it before cat it.

[YOCTO #3128]

(From OE-Core rev: ad17fa82a481ab3c9f17a8338ebad1eb07c0f9d8)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-26 15:02:29 +01:00
Paul Eggleton
65d2b3af37 layer.conf: allow other layers to depend on this version
Set LAYERVERSION and rename the collection to "core". Given changes such
as the tabs to spaces cleanup for python functions in the current
version, this allows other layers to depend on this version of OE-Core
specifically should they choose to do so, by specifying the following
in their own layer.conf:

LAYERDEPENDS_layername = "core:1"

Where layername is whatever value is being added to BBFILE_COLLECTIONS.

(This change does nothing unless a layer has LAYERDEPENDS set.)

(From OE-Core rev: 7069c7ef829f56ae6dd0dab5e583342f351274ed)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-26 15:02:28 +01:00
Phil Blundell
4f68dd9303 iproute2: Use configured values for ${base_sbindir} and ${libdir}
These were previously being hard-coded to "/sbin" and "/usr/lib" respectively,
resulting in unpackaged files if the configured values were something else.

(From OE-Core rev: fab44bdb346533edd4f702a83523d7c2414f74e5)

Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-26 15:02:28 +01:00
Laurentiu Palcu
6bc5925ea9 SDK: trap any IO errors in the relocate script
If the files being relocated are already used by other processes the
relocate script will fail with a traceback. This patch will trap any IO
errors when opening such a file and gracefully report them to the user.

Also change the exit code from 1 to -1 for a better adt-installer user
experience (like pointing the user to the adt_installer.log).

[YOCTO #3164]

(From OE-Core rev: 26daec758b2eaeb208356d5aa8a9a191bd366751)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-26 15:02:28 +01:00
Elizabeth Flanagan
04ced3d738 ossp-uuid: LICENSE type corrections.
The LICENSE for ossp-uuid is MIT. As well, the LIC_FILES_CHKSUM
was missing the license text within uuid_md5.c

(From OE-Core rev: 99974820c8b12b1c1b05ab8a96f1b25b8e3888da)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-26 15:02:27 +01:00
Xin Ouyang
8c32bcb36d at: atd remove useless --make-pidfile option.
For start-stop-daemon, --make-pidfile is used when starting a
program that does not create its own pid file.
atd would create its own /var/run/atd.pid, so remove this option.

(From OE-Core rev: f10d236cda704cd91e185f8dc9c3f52461e2dad1)

Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-26 15:02:27 +01:00
Zhenhua Luo
074d49d2cc sysvinit-inittab: fix hang issue of series consoles check
The kernel boot process hangs when /proc/consoles doesn't exists, therefore
check the existence of /proc/consoles before executing pkg_postinst script.

Following is the log when /proc/consoles doesn't exist:
        Running postinst /etc/rpm-postinsts/102...
        cat: /proc/consoles: No such file or directory
        cat: /proc/consoles: No such file or directory
        cat: /proc/consoles: No such file or directory
        INIT: Entering runlevel: 5
        Starting OpenBSD Secure Shell server: sshd
          generating ssh RSA key...
          generating ssh ECDSA key...
          generating ssh DSA key...
        done.
        Starting network benchmark server: netserver.
        Starting system log daemon...0
        Starting kernel log daemon...0
        Stopping Bootlog daemon: bootlogd.
        INIT: no more processes left in this runlevel

(From OE-Core rev: 390e7f1f0b1b21d3c0787a6272583d5829561f95)

Signed-off-by: Zhenhua Luo <b19537@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-26 15:02:26 +01:00
Phil Blundell
fd464e0886 package_ipk: Remove spurious '-i' in grep command for log_check
ipk_log_check uses a case-sensitive grep (which is correct) when deciding
whether there were any errors or not.  But if it decides that there were, it
then uses a case-insensitive grep to display them.  This results in a large
amount of irrelevant and confusing output which makes it hard to see the real
errors amongst the noise.

Suppress this by removing the unwanted -i.

(From OE-Core rev: 57dcacbd6f35ae2d6b505f044bbefad35da66959)

Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-26 15:02:26 +01:00
Phil Blundell
0c340611de gcc-configure-cross: factor out --enable-threads argument into ${GCCTHREADS}
This allows BSPs for architectures with no thread support to set (for
example) "GCCTHREADS=no" without having to override all the other configure
parameters.

(From OE-Core rev: 6bb0d37529a82b953d374f2d76c2412d7cee587b)

Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-26 15:02:26 +01:00
Richard Purdie
9eacffe137 sstate: Remove master manifest usage
This was added to allow detection of duplicate files being installed by sstate.
There is a much simpler way, just check if the file already exists. This
effectively uses the kernel VFS as the cache which is much more efficient.

This resolves a significant performance bottleneck (lock contention on a
single file) when running builds that are just being generated from sstate
cache files.

(From OE-Core rev: 603daf343ad3f18c8adb799e3625ae2a18d94f56)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-26 15:02:25 +01:00
Richard Purdie
42e8c80567 packagedata/multilib: Fix search patch for multilib builds
The current multilib search path code for packagedata is flawed since it
doesn't correctly handle changes in the TARGET_VENDOR/TARGET_OS that
multilib may make. This patch enhances the code to correctly build the
search paths so multilib packagedata is found correctly.

(From OE-Core rev: f50c5d36b2da9b36d56d95a7d89404509a1a3e9b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-26 15:02:25 +01:00
Richard Purdie
8593c6c1d8 sstate: Fix SSTATE_DUPWHITELIST variable usage
We need to split this variable before using it. Otherwise a single "/"
character in the list whitelists every overlapping sysroot file which
was not the intention making the whole thing useless.

We'll start seeing warnings about overlapping files now this is working
correctly after this patch.

(From OE-Core rev: 9e31c748327e92b809330f4ad7b6aaecb2edf559)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-26 15:02:25 +01:00
Richard Purdie
acd52fd17d poky.conf: We need to clear WARN_QA to avoid the unsafe-references
The intention of the previous patch was to disable these warnings but by
commenting out the line, it caused a fallback to the defaults which enable
it. This really disables the warnings.

(From meta-yocto rev: 7d4759a5780de76dcdeeb1ee37198637ff144d42)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-26 12:12:10 +01:00
Richard Purdie
a8edf79fce bitbake: fetch2/git: Don't use deprecated API
(Bitbake rev: 8e650b3307b60cfe8e7439ea6891c3a85f785af9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-25 15:55:57 +01:00
Cristiana Voicu
e8738b83b7 bitbake: hob/packageselectionpage:cancel button should redirect to Image conf screen
Cancel button brings you to Image configuration page.

[YOCTO #3105]
(Bitbake rev: 88cd9586f0f6a413c1a6800b3e57444f453afb73)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-25 13:39:46 +01:00
Cristiana Voicu
a0bdb64a18 bitbake: hob/builddetailspage: change tooltips and remove a dialog from "Build stopped" message
When you stop a build, a "Build stopped" message appears. I have changed 2 tooltips and
also eliminate the alert that comes up when you click 'Edit packages'.

[YOCTO #3160]
(Bitbake rev: f5a21da2faf7ede56cf211b96dffd8aaa4b485b8)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-25 13:39:46 +01:00
Phil Blundell
0ab08f1539 kexec-tools: admit mips as a COMPATIBLE_HOST
(From OE-Core rev: 372dc3cf95373225d512160a2ec3e16bf3dc5b8f)

Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-25 13:39:45 +01:00
Bruce Ashfield
3c914fdb6a beagleboard: update to 3.4
Updating the default preference of the beagleboard to the 3.4
kernel.

build, boot and testing has been done on the beagleboard (revC) and
beagleboard XM. Existing functionality has been confirmed using
core-image-sato, and in particular mouse, keyboard and graphics have
been re-validated.

(From meta-yocto rev: 32c46737618a7e2b084d807a901000ae9abc1354)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-25 10:41:29 +01:00
Bruce Ashfield
27874b70f4 linux-yocto/3.4: update beagleboard configs
Updating to pickup a couple of configuration tweaks that were done
as part of a bump to the 3.4 linux-yocto tree for the beagleboard.

In particular, this updates DVI and USB settings to enable the
perhipherals out of the box.

(From OE-Core rev: 3c562b8360edf52aea6280849fa33e8a0f34742b)

Signed-off-by: Liang Li <liang.li@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-25 10:41:28 +01:00
Bruce Ashfield
3e7e0bdad7 linux-yocto/3.4: update kver to v3.4.11
Updating the machine and meta SRCREVs to the latest 3.4.x -stable
release.

See git whatchanged v3.4.10..v3.4.11 for the full changelog.

(From OE-Core rev: b164d9776802784a2fee01f2ab267dab4c2beafe)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-25 10:41:28 +01:00
Christopher Larson
6ee9ebc425 Add and use 'localedir' variable
This avoids the hardcoding of ${libdir}/locale which is all over the place,
and will facilitate use of ${exec_prefix}/lib/locale instead of
${libdir}/locale.

This doesn't actually change any output at this time. Verified this with
buildhistory against the packages produced from core-image-base.

(From OE-Core rev: b744f4cc2912334b8493a89525fd02af8e9b8edf)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-25 10:41:28 +01:00
Khem Raj
d02f02950e gcc-common.inc: Consider multilib when renaming libgcc for debian'ness
When doing multilib builds rpm does not find libgcc1 for lib32
multilib because its not honoring the debian renaming scheme for
libgcc-multilib. Lets add MLPREFIX to fix it.

(From OE-Core rev: 9327ca868667b15f29af3123611d6f56b4249a63)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-25 10:41:27 +01:00
Saul Wold
4d7fb79eef rpm: Add base-files as RDEPENDS
This solves a problem when installing rpm using the ipk pkg-management
system where /var/cache was conflicting with the existing /var/cache from
base-files.

(From OE-Core rev: 917f57cbb0906996661eebc6656c2c083ef979e9)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-25 10:41:27 +01:00
Phil Blundell
f32785ae06 libcap: Fix erroneous path in last commit
The directory used as SBINDIR should be ${sbindir} not ${base_sbindir}.
Reported by Martin Jansa <martin.jansa@gmail.com>

(From OE-Core rev: 2c6725c1f8427a0920c2810d649010f98b7869eb)

Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-25 10:41:26 +01:00
Scott Rifenbark
8b3aa00029 documentation/poky-ref-manual/ref-variables.xml: Update B variable
Updated the glossary description for the B variable.  There
was some confusing "source directory" terminology in there.

(From yocto-docs rev: 72fbf86ca9612a0dca741f08315efed1d9efa0b1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 16:36:09 +01:00
Scott Rifenbark
9bc3b44866 documentation/dev-manual/dev-manual-common-tasks.xml: external SCM Update
Updated the section "Using an External SCM."  This section was
written so that PN was refering to a package instead of correctly
refering to the recipe.

(From yocto-docs rev: 2bf44cf78bef08d2dd4d9e596100900913777d60)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 16:36:09 +01:00
Scott Rifenbark
249869ec2f documentation/poky-ref-manual/ref-variables.xml: added BP variable glossary
Added a new glossary entry for the BP variable.

(From yocto-docs rev: a6a8f7ad9157932799eb3e3d0bbffdf93ed70c0e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 16:36:09 +01:00
Scott Rifenbark
f46d5b75c3 documentation/poky-ref-manual/ref-variables.xml: New P variable glossary
Added a glossary entry for the P variable.

(From yocto-docs rev: f1d65b7cca35bdfaad029523de0d88d4e009f82a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 16:36:09 +01:00
Scott Rifenbark
3232d19af1 documentation/poky-ref-manual/ref-variables.xml: new PRINC glossary term
Added a first draft of the glossary term PRINC.

(From yocto-docs rev: 418862011e79940ee378f64c6171618d29568014)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 16:36:08 +01:00
Scott Rifenbark
09c0ccdc9a documentation/poky-ref-manual/ref-variables.xml: PF added
Added a new glossary entry for the PF variable.

(From yocto-docs rev: 1ad43661638ab9ae8a3af9d6149f6af633bdece2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 16:36:08 +01:00
Scott Rifenbark
69eb23904b documentation/poky-ref-manual/ref-variables.xml: Edits to PN suffix
Added some clarifying edits to the explanation about suffix and
prefix names used with the PN variable.

(From yocto-docs rev: f42baf8ddb3da1ab8ba69d30581812646ce4dc83)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 16:36:08 +01:00
Scott Rifenbark
19bd5f0725 documentation/poky-ref-manual: PN scrub
Checked and fixed all text surrounding the description and use
of the PN variable.  This variable can mean a recipe or a resulting
package depending on context.

(From yocto-docs rev: 7ac52f6b184670db9cdab7c205126b62c60b0d29)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 16:36:07 +01:00
Scott Rifenbark
35abb93edf documentation/poky-ref-manual/ref-variables.xml: re-write SRC_URI
Re-write of the SRC_URI glossary entry so that proper terminology
for PN is used.  This context the PN refers to the recipe name
and not a resulting package.

(From yocto-docs rev: fc371890d9797ba57e2ce848cd2f82f42dd6ac36)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 16:36:07 +01:00
Scott Rifenbark
b06035c232 documentation/poky-ref-manual/ref-variables.xml: Formatting change
(From yocto-docs rev: aaaf63ff3e011a1ee11a2e78bc7d6f21d53a8222)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 16:36:07 +01:00
Scott Rifenbark
451af6599c documentation/poky-ref-manual/ref-variables.xml: Added new option.
Fixes [YOCTO_#1939]

Added the option downloadfilename to the SRC_URI variable
glossary description.

(From yocto-docs rev: abc32d85a7f241766d1fcc52a251249f2172ea89)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 16:36:06 +01:00
Scott Rifenbark
11bc3aca3d documentation/poky-ref-manual/ref-variables.xml: SRC_URI glossary updated
Fixes [YOCTO_#1939]

Expanded the definition for the SRC_URI variable in the glossary.
The new information includes protocol types and SRC_URI options.

(From yocto-docs rev: 033d58cd2ec2a579fa085bcca1e5d0ad4dd65708)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 16:36:06 +01:00
Scott Rifenbark
a357e98b16 documentation/README: updated to include website information.
(From yocto-docs rev: 439bd3c11e46d653234da928cfea6ab46666f0f2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 16:36:05 +01:00
Scott Rifenbark
94ba719dcf documentation/adt-manual/adt-prepare.xml: replaced oe-init-build-env
Replaced with the variable OE_INIT_FILE.

(From yocto-docs rev: 1deaa02f29b2a4b9cc7ff3307c8a3ebd0dfb9623)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 16:36:05 +01:00
Scott Rifenbark
7bff7a05c6 documentation/yocto-project-qs/yocto-project-qs.xml: Minor corrections
A few minor corrections to fix some wordings.

(From yocto-docs rev: de71001992150da685a70389e28313df609d6521)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 16:36:05 +01:00
Scott Rifenbark
21ce4e481e documentation: Build example in QS and poky.ent variable added
I changed the example that builds an image so that it uses the
default build directory.  It seems like the natural thing to do.

Also added a new poky.ent variable named OE_INIT_FILE.  This
variable is set to the name of the build environment script

(From yocto-docs rev: f0db49e27e89aefb6d43a0b455c6ecc529399c27)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 16:36:04 +01:00
Jason Wessel
88429f018b bitbake: bitbake: Unbuffer stdout for log files
It is possible to lose critical log data when python exits in an
unorderly fashion via segmentation fault or certain types of crashes.
This is because the buffer characteristics are inherited from the top
level stdout, which should be set to unbuffered, for the purpose of
all the forked children.

This pushes the buffering to the OS, instead of having python managing
the buffers in its stream handler class.

This change is also to provide the ability to tail logs written from
processes in "real time" because they would be written in an orderly
fashion depending upon the OS characteristics for the file I/O.

(Bitbake rev: c6a367bc3224adafca698a4ffc5414ad83842c16)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 15:35:32 +01:00
Jason Wessel
98ac5e4e62 bitbake: event.py, knotty.py, ncurses.py, runningbuild.py: Add support for LogExecTTY event
The LogExecTTY even is intended to provide the ability to spawn a task
on a the controlling tty, if a tty is availble.  When a controlling
tty is not availble the previous behavior is preserved where a warning
is issued about the action an end user must execute.

All the available UI's were tested against the new event type.

This feature is primarily intended for hooking up a screen client
session automatically on the controlling tty to allow for a more
streamlined end user experience when using a pure command line driven
environment.  The changes that send the LogExecTTY event are in the
oe-core side.

(Bitbake rev: cffe80d82a46aaf52ff4a7b6409435754043553f)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 15:35:32 +01:00
Jason Wessel
eab93b0d62 bitbake: progress.py: Fix traceback when running goggle ui
The following traceback appears when running the following command after the
devshell is exited.

bitbake -u goggle -c devshell busybox

-- traceback --
Traceback (most recent call last):
  File "/work/bitbake/lib/bb/ui/goggle.py", line 35, in event_handle_idle_func
    build.handle_event (event, pbar)
  File "/work/bitbake/lib/bb/ui/crumbs/runningbuild.py", line 299, in handle_event
    pbar.set_text(event.msg)
AttributeError: 'ProgressBar' object has no attribute 'set_text'

(Bitbake rev: a6cc53cdb3c34fc8fd01bbc5ce0008429dc6785c)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 15:35:31 +01:00
Jason Wessel
eed98e4666 bitbake: runqueue: Add --no-setscene to skip all setscene tasks
Mainly intended for the purpose of debugging or forcing builds
from source, the --no-setscene will prevent any setscene
tasks from running.

(Bitbake rev: 440e479f3e248482c38c149643403c6907ac7034)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 15:35:31 +01:00
Jason Wessel
86cf6daff9 terminal: Send LogExecTTY event to spawn screen
Bitbake has the ability to request to run a command
and if it is not possible fall back to emitting a
log message.  This can be used to start a screen
client automatically on the controling tty if
the UI has an interactive tty.

(From OE-Core rev: 39193bdce698b6339c3d7643eb3c1fcd2246fd56)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 15:35:30 +01:00
Jason Wessel
6e0713a3e7 terminal: pass data store all the way through to terminal class
Passing the data store will be needed for firing a custom event
for the screen class.

(From OE-Core rev: 5ccff8d44626bfd3d1af2a7f81f0567997277809)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 15:35:30 +01:00
Richard Purdie
e1c1ee19e0 bitbake: fetch2/git: Add missing mkdir
bitbake-selftest is failing due to directories not being created. This adds in an
appropriate mkdir so the tests can complete. Presumably in general OE use, something
else is ensuring the parent directory is created.

(Bitbake rev: 1270a07713e2a6c6e6fadcc61b785aebc99ae17b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 12:13:52 +01:00
Paul Eggleton
90b7683f78 bitbake: fetch2: improve error output for checksum failures
* Don't print the full exception in the initial warning - if we later
  succeed in fetching the file from a mirror, we won't usually need the
  details (which are in the fetch log if they are needed); otherwise the
  full error will be printed when the fetch operation fails. Also adjust
  the conditional block so that we don't print another warning just
  mentioning we're going to try mirrors.
* Call logger.error() so that with knotty the full log is not printed
* Provide an explanation around the lines we print for easily updating
  the checksums in the recipe. We don't want users to be just blindly
  updating the recipe in case of a transient failure or deliberately
  altered remote file.

(Bitbake rev: 2793413106c925b06783beb7413aa87cbcf246c3)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 12:13:52 +01:00
Paul Eggleton
683d3b9cfb bitbake: fetch2: make fetch failure errors more readable
Most of the time we don't need to see the fetch command; the fetch log
includes the command as a debug message in any case, so omit it. Also
adjust the way command output is printed (we don't need stderr/stdout
labelled, and print "no output" instead of "output:\nNone" when there is
no output.

(Bitbake rev: a75505a52e4da918222100221f79e8a658f90446)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 12:13:52 +01:00
Paul Eggleton
0bdde689f6 bitbake: lib/bb/runqueue.py: fix exceptions with -k and failed targets
If a target dependency is marked as failed and yet we are continuing on
because -k has been specified, don't try to access the dependency's data
in taskData.build_targets since it will have been removed. This fixes
"IndexError: list index out of range" errors in this situation.

Also, do not print the "unhandled exception" message when SystemExit is
raised since we will have reported the actual error already in this
case (e.g. when -k has been specified and some targets failed).

Fixes [YOCTO #3133].

(Bitbake rev: 70eebc184eb1ab3678be87bed019b5beadecdc89)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 12:13:51 +01:00
Paul Eggleton
1c2634c8d2 bitbake: hob: fix Gtk-WARNINGs due to invalid markup on Back button
You can't use markup characters (e.g '<' or '>') in the labels for many
widgets - you must use the appropriate entities instead.

(Bitbake rev: 54a16ac999d4a2c4c3f8a4531e8c6fabc39a4147)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 12:13:51 +01:00
Paul Eggleton
c46c5605fe bitbake: hob: remove confirmation dialog on close
This is not necessary for modern applications - instead we just need to
check if we're in the middle of a build and if so, do the same thing as
pressing the "Stop" button.

(Bitbake rev: a79eb5d918239db1dade8134743e6142a4854930)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 12:13:50 +01:00
Paul Eggleton
bf567b14a8 bitbake: hob: allow configuring default machine using HOB_MACHINE
Allow specifying HOB_MACHINE in local.conf to set the initially
selected machine. With this set, Hob will select the specified machine
and then jump straight into parsing recipes. If you do wish to change
the selected machine with HOB_MACHINE set you still can - you just need
to stop the parsing process first.

Fixes [YOCTO #3148].

(Bitbake rev: c3b623dc7d546a1ededdb532dcbcba4a6230bc65)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 12:13:50 +01:00
Paul Eggleton
991557216e bitbake: hob: don't show error dialog for errors during building
During building we already report errors in a special tab and
indicate when the build has failed; bringing up a dialog was a
regression introduced in bitbake revision
5bab81b124087d63d6eb62a861e1241714fcd483.

Fixes [YOCTO #3151].

(Bitbake rev: cf0a67d62f631aa48d1afc3fbdd0f73995b1c401)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 12:13:50 +01:00
Constantin Musca
d875d62f8e bitbake: hob: The title of the packages screen depends on the screen you arrive from
- If you arrive to the packages screen from the recipes screen, the title
should say: 'Step 2 of 2: Edit packages'
- If you arrive to the packages screen from the image details screen, the
title should say: 'Edit packages'
- The title of the recipes screen should say 'Step 1 of 2: Edit recipes'

[YOCTO #2982]

(Bitbake rev: c366f4314c29b873a486daa9a0a4e29bb4225dd6)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 12:13:49 +01:00
Saul Wold
64ea131e3d Fix Upstream-Status
These were not getting fixed by orignal committer!

(From OE-Core rev: 7db73c70351939c4be9867981a8cf97148bbe57e)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 12:13:49 +01:00
Khem Raj
d4384e126a binutils-2.22: Disable recent gold backports from 2.22 branch
This patch has been causing some regressions on gold.
e.g. systemd based images segfault and uclibc based images
dont boot. There has been few other reports on the mailing
list. Considering this lets withdraw this patch.

(From OE-Core rev: ecbe671de1553956f83798e1c6fa3ec2fc6a7b4e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 12:13:48 +01:00
Bruce Ashfield
0fb184d7df linux-yocto/meta-yocto/3.4: update machine SRCREVs
The hardware reference BSPs are lagging the oe-core qemu BSPs. Bumping
their SRCREVs to pickup 3.4.10 and minor bug fixes.

(From meta-yocto rev: 87881c14af993b27aad71dc3584ef488c8c41ab0)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 11:30:38 +01:00
Chen Qi
e911731f9f routerstation: Disable virtual terminal by default
This modifies the /etc/inittab on routerstationpro, avoiding the
"respawning too fast" message. The routerstation has a low memory,
so virtual terminal should be disable by default.

Fixes [YOCTO #3088]

(From meta-yocto rev: 3b60a67f084a77c57a63870641262b7c740cb974)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 11:30:37 +01:00
Tom Zanussi
af30de3ea1 initscripts/sysfs.sh: mount debugfs if present
debugfs is another kernel virtual file system that should be mounted
if configured, so if it's configured into the kernel, mount it.

(From OE-Core rev: 55c4d3c55e4c3a7c2cda6d006cf7b78567bd3298)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 11:30:37 +01:00
Phil Blundell
e36751cdcd rootfs_ipk: Avoid leaving run-postinsts around if online package management is disabled
If all postinsts have already been run during rootfs construction then
there's no point in having run-postinsts in the installed system.
Clean it up at the same time that update-rc.d and suchlike are being
removed.

(From OE-Core rev: b260cf9fbeb6f029c1ce45e77edd03968caa8288)

Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 11:30:36 +01:00
Scott Garman
e46be72a8e runqemu: work with tap device names that end with a colon
On Fedora systems (and likely others), ifconfig returns interface
names that end with a colon. Make sure we strip the colon off the
tap device name before using it.

This fixes [YOCTO #3028]

(From OE-Core rev: 85ed217b603a86113dda11d952850e8ceed30795)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 11:30:36 +01:00
Martin Jansa
2f0a82b8a9 qemu-native: fix build on hosts without libX11 installed
(From OE-Core rev: 6bb6ca6164b6b5f082fe05c30974463c2aa1c170)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 11:30:36 +01:00
Phil Blundell
5378763f4c libcap: respect ${base_sbindir}
Need to pass the path explicitly to "make install" to ensure that the binaries end up
in the right locations.

(From OE-Core rev: 3dffb9f577b794e8b78fb884adf9a15c45965bc4)

Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 11:30:35 +01:00
Phil Blundell
4d741c106c sqlite3: enable USE_PREAD
This gives a small but measureable performance improvement for
I/O heavy workloads.

(From OE-Core rev: e4bd65e68c3d0dd798ff69c2e9491e5b2dcafdc3)

Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 11:30:35 +01:00
Paul Eggleton
9ee8e2fae8 classes/multilib: prevent multilib extension of nativesdk recipes
It isn't supported to mix multilib and nativesdk in the same target, so
explicitly skip multilib processing if nativesdk is inherited. As a
bonus this fixes a bunch of related "missing file" warnings from the
file checksum code during parsing because BPN was not correctly stripped
for these targets.

Second half of the fix for [YOCTO #3146].

(From OE-Core rev: d9a1eb5054d487affb94431374a9cb1a735e2122)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 11:30:34 +01:00
Paul Eggleton
d27d9e8957 classes/multilib: ensure MLPREFIX is set for image recipes
We need MLPREFIX to be set so that oe.utils.prune_suffix() (as used for
the value of BPN) can derive the bare name from the multilib-extended
name for image recipes. BPN being set correctly avoids missing file
warnings during parse from the file checksum code for (unusual) images
that set SRC_URI, such as build-appliance-image.

First half of the fix for [YOCTO #3146].

(From OE-Core rev: ddec9a1b45159c75e97e92abe9a940268acd84b2)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 11:30:34 +01:00
Phil Blundell
b5b0fc2b73 pulseaudio: Ensure openssl is disabled
We don't DEPEND on openssl but configure will try to use it if
pkg-config thinks it might be installed.  This can lead to failing
and/or nondeterministic builds, so let's force it off.

(From OE-Core rev: 1cdcd754651f8d519ac8e4ba0d241d784e2a0090)

Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 11:30:34 +01:00
Phil Blundell
82a99a4cee autotools: Remove special handling for autoconf* and automake*
For reasons that are now shrouded in obscurity, autotools.bbclass
has long contained a special heuristic to avoid attempting to run
autoreconf when building autoconf or automake themselves.  However,
the wildcard test against PN which is used there is problematic when
trying to build another package whose name happens to start with
"autoconf", and in any case it is silly to do this test at runtime
for every package.  The individual recipes for autoconf and automake
can just as easily suppress the behaviour that they don't want by
providing a custom do_configure() method which just runs configure.

(From OE-Core rev: a87db6f8dea71cbb7ead9285ff8af0e28cf75604)

Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 11:30:33 +01:00
Phil Blundell
6f32c9ce08 dbus: Remove hardcoded reference to /usr in System V startup script
Use ${bindir} to locate the binary instead.

(From OE-Core rev: 8cf6f87bd753e1c84a018ddb92a97eed7bd79a28)

Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 11:30:33 +01:00
Khem Raj
ddd55085fa arch-armv7a.inc: Don't disable vectorization
We have been adding this option to paper over a bug in old toolchain
http://hardwarebug.org/2008/11/28/codesourcery-fails-again/
e.g. is one but these have been weeded out. Therefore let gcc
take the default vectorization optimizations

(From OE-Core rev: e4336ab56db1e07a7f3dc08d3a4de3593b0fad22)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 11:30:32 +01:00
Bruce Ashfield
ae18a5996a linux-yocto/3.4: Update fri2 and sys940x to emgd-1.14
Bumping the meta SRCREV to pickup a newer emgd for the fri2 and
sys940x.

(From OE-Core rev: abb23d987184f76fb922af15508f2e251399e3ed)

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-09-24 11:30:32 +01:00
Kang Kai
8e3c10f237 lsbtest: update list file
Update the lsbtest's list file that we can download the latest
sub-packages of LSB suite 4.1.0 and then run the test with them.

(From OE-Core rev: a2f81aa58c4753412afc0227c34f08134b6a3d2d)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 11:30:31 +01:00
Phil Blundell
d3e03abeba util-linux: Ensure that ${sbindir} is respected
The configure script uses a hard-coded value for ${usrsbin_execdir},
which is the path that we know as ${sbindir}.  Adjust configure to take
this from the environment if it's set there, and have do_configure()
pass it in.

(From OE-Core rev: 6fdca45ec85e226f570917d2d1aaa2aa39ab6b42)

Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 11:30:31 +01:00
Martin Ertsaas
22a4046ab3 bash: Make it possible to run bash 3.2.48 instead of 4.2.
bash-3.2.48 did not provide the linking from sh to bash, making it unusable.
Moving the license part out of the bash.inc file, and into bash_4.2.bb file makes
us able to use that file also for bash_3.2.48.bb, which makes maintaining both
at the same time a lot easier.

(From OE-Core rev: e7b82cb4d107bfbfa5c939d406dd6ce6615b24e1)

Signed-off-by: Martin Ertsaas <mertsas@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 11:30:30 +01:00
Laurentiu Palcu
b294e904b6 adt-installer: add sudo when relocating symlinks
This is needed if installation is done in a directory that needs root
privileges.

(From OE-Core rev: 28823486ba8ce4d88bbad3cea696ce9fba0cc165)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 11:30:30 +01:00
Khem Raj
df74f8d9a8 gcc: Use 4.7.2 release tarball
This avoids the SVN or git fetcher issues for gcc
and the tar is mirrored around the world so it will
not be slow

Fixes [YOCTO #2908]

(From OE-Core rev: 5e03d1e83d0536a2fc69a88d3e5407108836203f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21 14:55:32 +01:00
Richard Purdie
3c101af5e3 bitbake.conf/gcc-common.inc: Fix STAMPCLEAN expression
The globs used for STAMPCLEAN were too greedy matching gcc-cross-initial
stamps for gcc-cross for example. This patch resolves that problem making
the assumption that PV starts with something numeric. This assumption
should hold in most cases and has a better failure case that the current
situation.

(From OE-Core rev: d7fbc70b6c6ac629d2a23ac16ab45461f88b4b26)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21 14:20:18 +01:00
Richard Purdie
30b7781650 insane.bbclass: Improve ability to detect enabled tests
Define an ALL_QA variable which can be used to determine which tests to
run. Improve the libdir test to work in the case it is set to raise an
error rather than a warning.

(From OE-Core rev: 069992a502658e8e44b870601e2e189cd9596ec9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21 11:17:47 +01:00
Radu Moisan
65d1eb7788 insane.bbclass: add library dir sanity check
Check in ${PKGD} for libraries in wrong locations.
Trigger a warning if so.
Eg. Catch recipe installing /lib/bar.so when ${base_libdir}="lib32"
or installing in /usr/lib64 when ${libdir}="/usr/lib"

[Yocto #2038]

(From OE-Core rev: 534fa3a55de19f249583207aaeec58fec8154a1d)

Signed-off-by: Radu Moisan <radu.moisan@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21 11:17:47 +01:00
Bruce Ashfield
2c9c911773 linux-yocto/3.4: use profiling and latencytop features in yocto bsps
Updating the meta SRCREVs to pickup the following configuration change:

    594994c meta: use profiling and latencytop features in yocto bsps

(From OE-Core rev: df0197810e72337093ea6ced1c8b28eeeef8a7a8)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21 11:10:24 +01:00
Laurentiu Palcu
494fe41903 SDK: allow toolchain installation from another directory
This patch will allow one to run the installer from another directory
than the one where it's actually located.

Suppose the installer is in /home/user/test/my/sdk and the current
directory is in a different place. With this patch, one can run the
installer like this:

$ sh ~/test/my/sdk/poky-eglibc-x86_64-arm-toolchain-gmae-1.2+snapshot-20120920.sh

[YOCTO #3135]

(From OE-Core rev: 3c7aac33cb63dc63b989db4e9d7389a7f4d3c18d)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21 11:10:24 +01:00
Laurentiu Palcu
04877f768e SDK: relocate symlinks too
The directory usr/libexec/ in the SDK sysroot contains the default
symlinks to the toolchain binaries and these, too, need to point to the
correct toolchain path.

[YOCTO #3090]

(From OE-Core rev: 6e4923c0c9b218271fd44d78df9987b5cabb1c03)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21 11:10:23 +01:00
Laurentiu Palcu
b6867e80b9 SDK: remove references to Poky distro from tarball installer
The installer should be generic.

(From OE-Core rev: eba5cdf10aa49da844ac141f00b79327da0cb8c3)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21 11:10:23 +01:00
Laurentiu Palcu
bf94f4d6f9 adt-installer: ensure directory exists before copying/removing
If the installation is done in a directory which already contains a
valid installation, opkg will not install anything and the moving the
contents of /install/dir/opt/poky/1.2 (for example) to /install/dir will
throw some errors. However, the install directory will not be affected.
This patch will ensure that the /install/dir/opt/poky/1.2 exists.

(From OE-Core rev: 1cd01533cbec0e9ed61bbd33ecdf5dc306a32eec)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21 11:10:23 +01:00
Laurentiu Palcu
bd73a4b615 SDK: fix installation into symlinked directories
The SDK installation scripts should not canonicalize symlinked
directories because the entire relocation would be done to the directory
to which the symlink points. Instead, if the installation is a symlink,
use that path to relocate the binaries.

For example, if we have the following symlink: /opt/sdk -> ~/my/test/sdk
the binaries will be relocated to /opt/sdk not ~/my/test/sdk as it is
done now.

[YOCTO #3102]

(From OE-Core rev: 9e6a25e2e9a7f37c3baa0b2949a43ac4127868da)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21 11:10:22 +01:00
Laurentiu Palcu
b9bd372666 adt-installer: fix package installation issue
When the cross canadian toolchains are installed, for different
architectures, they might contain common files. This leads to
installation failures since the opkg, by default, does not overwrite
files. This issue happens, for example, for binutils packages (that
contain the same locale files) or gdb (which installs some syscalls xml
files). The locale files could be removed from the binutils
cross-canadian package but we cannot do the same for the syscalls GDB
files which are used by GDB to display user friendly names for the
syscall numbers. Hence, the best solution is to force opkg to overwrite
these files.

[YOCTO #3109]

(From OE-Core rev: 3396545467df05421c3adeb4b5ec532fa95dcb06)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21 11:10:22 +01:00
Constantin Musca
621fec0277 intltool: include intltool.m4 and add missing rdepends
- include /usr/share/aclocal/intltool.m4 into the intltool
package (the files from intltool-dev must be included into the
main package, as intltool is a development tool)
- add missing rdepends: gettext-dev, libxml-parser-perl

[YOCTO #2597]

(From OE-Core rev: f5f3d3fb14e983af114afc6425dc339053927f25)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21 11:10:22 +01:00
Robert Yang
4946185084 opkg svn: respect to the arch priority
This is for fixing the problem:
1) bitbake core-image-sato-sdk with MACHINE=qemux86
2) bitbake core-image-sato with with MACHINE=crownbay

The qemux86's PACKAGE_ARCH is i586, the crownbay's is core2, but several
i586 packages will be installed into crownbay's rootfs though there are
core2 packages. For example, there are:

xserver-xorg*_1.11.2-r7_i586.ipk
xserver-xorg*_1.9.3-r1_core2.ipk

The crownbay.conf says:
PREFERRED_VERSION_xserver-xorg ?= "1.9.3"

What the crownbay's image needs is xserver-xorg*_1.9.3-r1_core2.ipk, but
the xserver-xorg*_1.11.2-r7_i586.ipk will be installed, this is
incorrect.

This is caused by opkg's selecting mechanism: when more than one
candidate is found, it will use the higher version one and ignore the
arch priority.

we have several conf files which set the PREFERRED_VERSION_pkg = "..." ,
but there is no such a mechanism which can let us tell the opkg to
install the preferred version. When the preferred version is higher,
this is OK, but if the preferred version is lower, there would be
problems:

1) Most of the packages are core2 in the image, but several of them are
   i586, though we have built the core2 ones, this seems strange.

2) What's worse is that the image may not work since the preferred
   version pkg is not installed.

We have set the arch priority clearly in the opkg.conf, I think that
respect to the arch priority is reasonable during the image generation.

Add the "--select-higher-version" option to let the user have another
choice, the default is no.

[YOCTO #2575]

(From OE-Core rev: 0a80a02644f624443cef8cc4f604edb5ef8e6975)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21 11:10:21 +01:00
Khem Raj
0c6aec8bd2 gdb: Upgrade 7.4 -> 7.5
This is a simple upgrade. Dropping the unneeded patches
and adding --disable-werror to configure since thats is
what one of the patch was doing which was dropped.

(From OE-Core rev: 452f26b6d189b9fafba644e41921091925fb6a47)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21 11:10:21 +01:00
Martin Jansa
32a0d1b89e opkg-nogpg: drop SRCREV
* use SRCREV from opkg_svn.bb, because with 596 patches we have won't apply

(From OE-Core rev: 2bf865a9b89eb88c3f7c754362315841195cd8ca)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21 11:10:21 +01:00
Martin Jansa
15b913d0cb opkg: add patch to fix SIGSEGV when printing status file
* it was triggered by c02364f36e228835ea5d7fd4e1d347fd451f8544 when new package had 2 entries in Provides and old version just 1

(From OE-Core rev: d98d6ec9425bd8764405c9812cddfcfd2a2b025b)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21 11:10:21 +01:00
Martin Jansa
305993d818 opkg: replace local patches with git patches submitted upstream
(From OE-Core rev: 1f1ae93d8cd5140028e86d92483e349868b4f3f6)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21 11:10:20 +01:00
Robert Yang
3e774a63e3 opkg 0.1.8: remove it since it doesn't work
Remove opkg_0.1.8.bb and the related files since it doesn't work:

- It doesn't support the "--force_postinstall" option which is used by
  package_ipk.bbclass.

- It still doesn't work after remove the "--force_postinstall" option,
  it can't install the packages in complementary_pkgs.txt.

[YOCTO #3136]

(From OE-Core rev: 526da07578de2c6261d21bc339bca0d3b94d93cf)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21 11:10:20 +01:00
Cristian Iorga
51048acb2d qemux86-64: Support for KVM, paravirt and virtio added
KVM, paravirtualization and virtio drivers are now activated
    in runqemu using the kvm option flag for qemux86-64.
    Host CPU features are also exported to guest OS (Yocto Linux).
    Usage example: runqemu qemux86-64 core-image-x11 kvm

    Implements [YOCTO #2550].

(From OE-Core rev: cbb6431b3ee9128ea15c9ae0a19e7d2998ffc561)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21 11:10:20 +01:00
Cristian Iorga
ab2b2a1f2a qemux86: Support for KVM, paravirt and virtio added
KVM, paravirtualization and virtio drivers are now activated
in runqemu using the kvm option flag for qemux86.
Host CPU features are also exported to guest OS (Yocto Linux).
Usage example: runqemu qemux86 core-image-x11 kvm

Implements [YOCTO #2550].

(From OE-Core rev: a35d03e2eb905de4eadc9c7df5b50bff1fb7f897)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21 11:10:19 +01:00
Scott Garman
32fdbd879c runqemu: show bitbake errors to user
In certain edge cases, bitbake may fail to run and cause setup_tmpdir()
within runqemu to fail, and not give the user a helpful error message.
Catch this case and show the user the output of bitbake -e.

This fixes [YOCTO #3112]

(From OE-Core rev: 465d7b6e66b5a55706535e194b3e44e11ee542c6)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21 11:10:19 +01:00
Ross Burton
be174d7bc3 librsvg: make the libcroco dependency a PACKAGECONFIG option
Default to enabling it as we were build-depending on it already.  If a user
needs the disk space and the limitations imposed by not using libcroco are
acceptable they can override this.

(From OE-Core rev: e177f1475c55c7d0bf3e2752e6502a7e8577a075)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21 11:10:19 +01:00
Darren Hart
faa2a29a2d mkefidisk.sh: Add script to do an EFI install on the host
Sometimes it is convenient to prepare a bootable image from the
host rather than using a live-image to install to a disk on the
target.

This script takes a live image as input, partitions a device, and
performs the installation just as the installer would if run on
the target.

(From OE-Core rev: 7225c6739f9f1e51741a42437692868165aa1dfe)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21 11:10:18 +01:00
Robert Yang
5f3ae0650f rpm 5.4.9: DEPENDS on bison-native
The rpm should depend on bison-native, otherwise errors when "bitbake
rpm-native" in a fresh build:

| make[4]: Entering directory `/path/to/rpm-native-5.4.9-r46/rpm-5.4.9/syck/lib'
| bison -d -t -v -p syck -o gram.c gram.y
| make[4]: bison: Command not found

Basically, both the rpm-native and rpm should depend on bison-native,
but don't need depend on bison, but it seems that it isn't necessary
to add another depend line:

DEPENDS_virtclass-native = "libpcre-native ... bison-native"

So just add it to the DEPENDS.

[YOCTO #3123]

(From OE-Core rev: 839faed2e7ef554668f647732c7ee1c8d339c123)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-21 11:10:18 +01:00
Laurentiu Palcu
df5f9a3e6d gtk+: enable gtk+-native
This is needed in order to run postinst scriplets at do_rootfs time
rather than first boot time.

(From OE-Core rev: 9db6ea4981fe22dd430c13d9f5a838ad92d1afe6)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-20 13:33:50 +01:00
Andrei Gherzan
42d91a7db4 Replace "echo -e" with "printf" to have the same behavior in dash or bash
oe-core removed the prerequisite to have sh as bash. POSIX doesn't define
any options and furthermore allows 'echo -e' to be the default behavior.
This means that in dash 'echo -e' will actually print '-e' and interpret
backslashes by default. We use instead 'printf' builtin command with or
without '\n' to simulate 'echo -e' or 'echo -n'.
'printf' needs format while 'echo' can be used without any arguments. So
'echo >' was replaced by 'printf "" >'.
'echo' without '-n' flag adds a new line by default so to keep the same
behavior of two new lines while using 'echo "\n"', 'printf "\n\n"' is
used.

[YOCTO #3138]

(From OE-Core rev: a19880ad10ccb5d7d909dcf9de5c3dc58a0ebcd3)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-20 13:33:50 +01:00
Marcin Juszkiewicz
82a08d42ff byacc: update config.{sub, guess} before running configure
(From OE-Core rev: 6d8aeb0c9b939082cc8d54a940d615b33d81348d)

Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-20 13:33:50 +01:00
Marcin Juszkiewicz
3356b814e5 xcursor-transparent-theme: switch SRC_URI as matchbox-project is dead
(From OE-Core rev: bcd5ea36bd5e0dbb063f45fbc6d5d3272841fb0f)

Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-20 13:33:49 +01:00
Ross Burton
936d18a6cb bitbake: hob: Don't set busy cursor on the root window, just our window
[ YOCTO #3127 ]

(Bitbake rev: 5ef9d98b343b9ed05167e5471eb9f7f12e97b045)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-20 12:05:15 +01:00
Cristiana Voicu
c0c04a5404 bitbake: hob: add a top bar when building process is stopped
When a build was stopped, it wasn't obvious what to do next.
Now, on the page it appers a top bar with 3 buttons: "edit image",
"open log", "build new image"

[YOCTO #2537]
(Bitbake rev: a6afd15b7a40919313e26777b514ae44b587a0f6)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-20 12:05:15 +01:00
Trevor Woerner
f77488e565 bitbake: cooker: Clarify package/recipe wording
When the '-s' option is run, change the heading above the list of recipes
to say "Recipe Name" instead of "Package Name".

(Bitbake rev: d1c3a9de875fb488a56ab5cb1d2f8e2f24f31d69)

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-20 11:56:32 +01:00
Cristiana Voicu
1e8b535695 bitbake: hob/packageselectionpage: "Cancel" button returns to "Image configuration" screen
Once package building completes, you can customise the list of
packages that will go into the final image. Once you have made
the changes you need, you can either build your image, or you
can exit the process and go back to the 'Image configuration'
screen by selecting 'Cancel'.

[YOCTO #3105]
(Bitbake rev: c5fd1824c9794923576ec1e747536c0430542fd1)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-20 11:56:31 +01:00
Richard Purdie
3d6229535c bitbake.conf/gcc: Add clean masks for stamp files
This takes advantage of new bitbake functionality to clean up stale stamp
files when creating new stamp files.

[YOCTO #2961]

(From OE-Core rev: e21b6c04e512a3bc2339a20045b7041f1d26e859)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-20 11:52:35 +01:00
Paul Eggleton
14a04abb9b bitbake: hob: report event handler failures
If an event handler failed we were not recieving an error message -
parsing just "froze" at 99%. This is because we were expecting a
CommandFailure event and this never happened in the case of
RequestPackageInfo which is where the failure was occurring.

This also required tweaking the error formatting slightly, taking the
return value of the format function rather than the message property
since the latter only seems to contain the first line without the
traceback in the case of event handler failure. Other error cases were
tested and their message formatting is unaffected by this change.

Final part of the fix for [YOCTO #2651].

(Bitbake rev: 5bab81b124087d63d6eb62a861e1241714fcd483)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-20 11:48:39 +01:00
Bogdan Marinescu
8d46be8a0d bitbake: hob/settings: Remove stray "distro" combobox from simple settings
The "distro" combobox was moved to advanced settings, but it
was also present in simple settings. This patch removed it
from simple settings.

(Bitbake rev: 6d56bec4464da14d7fde0e60946be43293ad6e52)

Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-20 11:48:38 +01:00
Richard Purdie
d485d0b0e8 bitbake: build/siggen: Add support for stamp 'clean' masks
Currently when we execute a task, we don't remove other potentially stale
stamps. This can mean if you switch between two different versions of a
recipe without a clean, the build can get very confused.

This patch adds in functionality to allow a wildcard expression of stamp
files to be removed when creating a new stamp file. This patch adds in
the core of the code to enable this but it also requires metadata support
to enable it.

When writing this improvement I went through several different options but
this was the only way I could find to allow things like noexec tasks to
function correctly (where stamps need to be created without the data store).

[YOCTO #2961]

(Bitbake rev: e026469b307522e5b6a680e0ae5587749d33dcae)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-20 11:48:38 +01:00
Richard Purdie
a4fd77db84 bitbake: fetch2/cvs: Fix parameter spacing
Add in misssing space between the parameters. Reported by
Jate Sujjavanich <Jate.Sujjavanich@myfuelmaster.com>.

(Bitbake rev: 55382f0aac84b8f81cad0b82053c0b8295c33e54)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-20 11:37:17 +01:00
Richard Purdie
01606f2b97 bitbake: fetch2/cvs: Clean up various data store references
The code in the CVS fetcher is elderly and there are simpler ways of
using the data store. This updates to use the modern APIs.

(Bitbake rev: 78eee8c70a80997293df99475153aed0b2ad0a17)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-20 11:37:16 +01:00
Richard Purdie
553a5b1842 bitbake: fetch2/cvs: Fix localdata variable reference
The localdata variable was removed, fix up a lost reference to this.

(Bitbake rev: 02ccc1396005ce0b7a2150a5ce12b723df21d464)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-20 11:37:16 +01:00
Bogdan Marinescu
05c1d32e02 bitbake: hob: Fix settings dialog issues
Fix some issues with the settings dialog that were introduced as
a result of merging the fix for #2162.

[YOCTO #3117]

(Bitbake rev: a363f59579e01cb7bd39be2ce73f22c875c62ce7)

Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-20 10:29:33 +01:00
Constantin Musca
8c82b12d1c bitbake: hob: rename 'View log' to 'Open log'
Rename all the 'View log' buttons to 'Open log' for
consistency.

[YOCTO #3045]

(Bitbake rev: 7bc9b0c1c2544b494959b13ac79ac3e52edb4fe3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-20 10:29:33 +01:00
Christopher Larson
749f4f6744 bitbake: compat, event: use OrderedDict from py2.7 for the event handlers
This ensures that our event handlers get run in registration order, making the
behavior more deterministic. I pulled in the python2.7 OrderedDict to avoid
essentially reimplementing a version of it ourselves, figuring we can drop it
when we bump our required python version next.

(Bitbake rev: 44aa0b0537d3fbd1272015e7677948f84d8c0607)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-20 10:29:33 +01:00
Richard Purdie
f57392590a poky.conf: Silence unsafe reference warnings
These QA warnings undermine the quality impression of OE-Core. They are
useful in some specific circumstances but until the system has been audited
and these warnings are reduced, they shouldn't be showing by default.

Therefore disable them for now.

(From meta-yocto rev: e1dcffb66317b98fe5a0f545bbea80a6a48fc02b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-20 10:22:24 +01:00
Saul Wold
8ebed883d4 image_types: fix squashfs-lzma image creation
This removes the dependency on a seperate binary which we
don't seem to have. So, use mksquashfs's -comp lzma to
replace that functionality

[YOCTO #3126]

(From OE-Core rev: 8e82713724dfcb40f2ae24a166ec94f50f8b4cd0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-19 18:16:16 +01:00
Saul Wold
1c0f73b071 rootfs_rpm: Add Multilib prefix to installed_packages list
RPM does not name it's packages with the Multilib prefix,
but the rootfs_rpm class keeps track of the Multilib prefixs
in a list. Use that list to re-attach the prefix for use with
the license bbclass, buildhistory bbclass will also use this
and make it more accurate between multilib and non-multilib.
Use the embedded "Platform" information to ensure we get all
the correct matching.

(From OE-Core rev: f72abd80b0cc9d27aad2e31ecb548b4ab0fd8f67)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-19 18:16:16 +01:00
Khem Raj
7cab823d21 eglibc: Do not use fsqrt in libm when building for fsl ppc with fpu
(From OE-Core rev: f06097f4581e4c728c2950a86e025384e4bdcdf0)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-19 17:56:29 +01:00
Khem Raj
c98b7e815e eglibc: Fix fcntl.h for powerpc
This fix is needed for systemd to work on powerpc

(From OE-Core rev: 76f3a1979ea166238e26a2569fb06a4a403bd864)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-19 17:56:28 +01:00
Saul Wold
7999c9b1aa nfs-utils: add x32 patch to fix nfsctl issue
nfsservctl syscall does not exist for x32, so return an error.

(From OE-Core rev: fddcb9dd086cfb396255ae5c8f717a39c6b9c4b0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-19 17:56:28 +01:00
Saul Wold
d72ed271e7 xserver-xorg: Modify RREPLACES for RCONFLICTS
fix bad runtime dependency that was causing -exa to be a suitable candidate for xserver-xorg, thus resulting in no X server in some situations

(From OE-Core rev: 467c59495d83748d35846e8b37548182fea99cbf)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-19 17:56:28 +01:00
Andrei Gherzan
807c93f3ef util-linux: Fix bloken swapoff symlink
There were 2 issues with this symlink.
1. Is was installed in base_bindidir but packaged in bindir. Fixed to
be packaged in base_bindir
2. The symlink swapoff was created to point to swapon. The problem is
that swapoff is an alternative so it would end up pointing to
swapoff.util-linux which was an inexistent file. The fix is to create
a symlink swapoff.util-linux to swapon.util-linux.

(From OE-Core rev: 0ff32e8fb5463a23af9966afcb58eb00772af65b)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-19 17:56:28 +01:00
Constantin Musca
a6d808f8c8 grub: disable lzma, device-mapper, zfs and nvpair
check-if-liblzma-is-disabled.patch: added
	- add support for the --enable_liblzma option

[YOCTO #2750]

(From OE-Core rev: 1773a98b68dd223b016fe408b022c2c5475669c2)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-19 17:56:27 +01:00
Martin Jansa
48c01ee679 libtelepathy: PR bump to rebuild after libffi5 -> libffi6
(From OE-Core rev: 08dbc9790074fdb315d286849afbbda72d19cbd6)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-19 17:56:27 +01:00
Martin Jansa
5aa1f3a3fe recipes: few more PR bumps to rebuild after libffi5 -> libffi6
(From OE-Core rev: e95835742d2f27820d654c309bd9828305276c90)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-19 17:56:26 +01:00
Martin Jansa
2c5079be86 recipes: bump PR to rebuild after libffi5 -> libffi6
(From OE-Core rev: 211200fb98a72ba815e7c411fbebfd781879064c)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-19 17:56:26 +01:00
Kang Kai
913944d904 upstream_tracking: update lsb and ltp
Update version information of packages lsb and ltp.

(From meta-yocto rev: 347f9ff4d49412c58a45094bc21a5e3e87b93e53)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 17:12:52 +01:00
Jack Mitchell
ea17310cdb local.conf.sample: change valgrind support architecture comment
The comment for debug-tools states valgrind will only be installed for x86
targets. This is not true as valgrind now supports x86*, PPC* and ARMv7a;
delete the comment as the architecture support is now so varied.

(From meta-yocto rev: bbb44a247ab3d3d2b9630a258a4b24338ffe12e8)

Signed-off-by: Jack Mitchell <jack.mitchell@dbbroadcast.co.uk>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 17:12:52 +01:00
Constantin Musca
ada2c27f75 patch.bbclass: increase security
- Use mkdtemp for generating temp dir names
- Use bb.utils.remove for removing temp dirs
- Add comment for explaining the "patch" workaround

[YOCTO #3070]

(From OE-Core rev: fbe9fc4d5ece1e66b03b4c4bce9b7ffad3b5b138)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 17:12:43 +01:00
Scott Rifenbark
c4a923bcb0 documentation: Toolchain corrections from tarball to .sh file
For 1.3 there is not longer a toolchain tarball.  Instead, there
is a wrapper script that lets you install the tarball.  This
fundamental usage model change caused several ripples throughout
the documentation set.  I have changed wordings and examples
to reflect the new paradigm.

(From yocto-docs rev: afb2069daa91e04c0f78ba425a6b184cb820d888)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:52 +01:00
Scott Rifenbark
4c90692716 documentation/dev-manual/dev-manual-model.xml: updates to project creation
The steps for creating a project in Eclipse vary a bit between Juno
and Indigo.  These changes reflect that.

(From yocto-docs rev: a020ecde8ed02a29f67498ef1511261d2054f784)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:52 +01:00
Scott Rifenbark
b1f6ce1063 documentation/adt-manual/adt-prepare.xml: Notes about installing sysroot
I added a couple of reminders and some links to information about
separately extracting and installing the sysroot filesystem.

(From yocto-docs rev: d340dcb5021fe1dcdaae0830ef8624c0fc54bedf)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:52 +01:00
Scott Rifenbark
ccacc9c9eb documentation/adt-manual/adt-prepare.xml: updated ADT Installer example
Added text indicating that the user is prompted to verify the
cross-toolchain installation location.

(From yocto-docs rev: 3226eb2f0807687e8685702850a3a12b3d60ae5f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:51 +01:00
Scott Rifenbark
ef5017d432 documentation/adt-manual/adt-prepare.xml: Update adt_install example
I added a command to the example that places the user in the
adt-installer folder before they attempt to run scripts/adt_installer
for completeness.

(From yocto-docs rev: f098e1095d24d0271fb21f50aa848ebc05b828b1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:51 +01:00
Scott Rifenbark
7adb367e74 documentation/dev-manual/dev-manual-model.xml: Updates to plug-in install
Edits to test out the lastes version of installing the Yocto Eclipse
plug-in from the latest source.  Small changes to be more complete
on the step-by-step process with regard to being in the right
branch.  Also, inserted 1.3_beta as the version.  This will change
later.

(From yocto-docs rev: 1326916a7d03bdbb0613e6e26a4089b3bd87d204)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:51 +01:00
Scott Rifenbark
fa2da885af documentation/dev-manual/dev-manual-bsp-appendix.xml: Fix repo example
I fixed the repo example so that the -b option is right after the
git checkout command and so that the "origin/" string is part of the
example.

(From yocto-docs rev: ba7ed26cf308a69e1ec8cfb0072dd10742af4ac5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:50 +01:00
Scott Rifenbark
2e16a75c60 documentation/poky-ref-manual/ref-variables.xml: Wording change PACKAGE_BEFORE_PN
Slight wording change to the description of the
PACAGE_BEFORE_PN variable description based on feedback from
Paul Eggleton.

Reported-by: Paul Eggleton <paul.eggleton@intel.com>
(From yocto-docs rev: 8f7dcdb8edf461133d2149eb4728ee3682affc98)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:50 +01:00
Scott Rifenbark
1626fd50be documentation/poky-ref-manual/ref-bitbake.xml: Fix BB_ENV_EXTRAWHITE example
I changed the variable from BB_ENV_WHITELIST to BB_ENV_EXTRAWHITE
in the text before the example line.  I had the wrong variable
in there.

(From yocto-docs rev: f909a7336ae2f95baa751231beeae08081576e1f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:50 +01:00
Scott Rifenbark
7a6e99166a documentation/yocto-project-qs/yocto-project-qs.xml: Added glib-gettextize
Fixes [YOCTO #2904]

Added glib-gettextize package to the list of required Fedora
packages.

(From yocto-docs rev: c46f8e46ad70bf979d2e51e58d461bcd9456b773)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:50 +01:00
Paul Eggleton
cc8e7ccdf4 documentation/poky-ref-manual/ref-bitbake.xml: remove refs to Dates and Contacts
Update the BitBake "Preferences and Providers" section to remove
references to these two Pimlico applications that have been removed,
and tweak the example slightly so it is technically correct.

(From yocto-docs rev: 744624a40d02a859b3c526f5ea6657d32edd39c6)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:49 +01:00
Paul Eggleton
de8a9ba780 documentation/yocto-project-qs/yocto-project-qs.xml: Adjust GUI component feature listing
List frameworks we provide that are likely to be used by people these
days - Pimlico has been removed and GuPNP and Matchbox don't really
belong. Also slightly modify the sentence following so that it is clear
that these are optional.

In addition to Paul's patch, I cleaned up one of his sentences with
some simple grammar edits.

(From yocto-docs rev: 1cdeb057bab0d69fe6656e33e643962dd2086567)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:49 +01:00
Paul Eggleton
c5d94b72eb documentation/poky-ref-manual/ref-images.xml: Update list of images
* core-image-core was renamed to core-image-x11 and the editor and file
  manager were removed.
* core-image-basic's description has been updated to reflect its
  intended purpose
* core-image-lsb is intended to be standalone - should not be
  associated with core-image-basic.
* The Pimlico applications have been removed so they are no longer
  present in the Sato images.

In addition to Paul's patch, I removed the "etc." word.  This word
is better replaced by "and so forth".  Also, consistent with the
YP documentation.

(From yocto-docs rev: aba7ae60a38dfeda9ef52237b81f387984621847)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:49 +01:00
Paul Eggleton
971a94369f documentation/poky-ref-manual/ref-classes.xml: update undocumented classes
(From yocto-docs rev: 607fd73aa2e5bcc042839e2a0f840463f2fd1c2b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:48 +01:00
Paul Eggleton
fe2ad765d2 documentation/poky-ref-manual/ref-classes.xml: Add packagegroup.bbclass
Add a short section about packagegroup.bbclass.

In addition to Paul's patch, I changed the title of the cross-reference
to be the actual title used in the YP Development Manual.

(From yocto-docs rev: bfd4db7e0ef61a2dd7159cdc841dcffc2d9c53d4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:48 +01:00
Paul Eggleton
532aff1df2 documentation/poky-ref-manual/ref-variables.xml: variable edits
* For PE/PV/PR/PN these pertain to a recipe ("package" was used here
  historically).
* References to variables should not be prefixed with $ in the text
* Add text about suffixing RCONFLICTS as per other package variables
* Make ALLOW_EMPTY example complete
* Clarify and add example for AUTOREV

In addition to Paul's patch, I re-worded two instances.  One
to get rid of "package(s)", which is poor form.  And a second
to get rid of "unstable/development", which is also poor form.

(From yocto-docs rev: 498349f8d82f46433626521d148ff6c1d72e2b1c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:48 +01:00
Scott Rifenbark
97fc511b01 documentation/poky-ref-manual/ref-variables.xml: PACKAGE_BEFORE_PN grammar edits
Clarifying who picks up files that would normally be included
in the default package.  This is a wording change to try and
eliminate the ambiguous "they".

(From yocto-docs rev: 63f87b6616c1a93d39e198f0b02d01d36ac09467)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:47 +01:00
Scott Rifenbark
2f7553ef4a documentation/poky-ref-manual: Section name change
I changed the "Reference: Images" section to "Images".  This old
name was a hold over from when the book had appendices that were
reference-like.  Along with changing the name I also fixed two
links to the section that were found in the variables chapter.

(From yocto-docs rev: e21a973cfe07d21acdfe02b49aa86c7672905968)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:47 +01:00
Paul Eggleton
43bbfc5e80 documentation/documentation/poky-ref-manual/ref-variables.xml: Update PACKAGES default
Also add a definition for PACKAGE_BEFORE_PN since the default
value of PACKAGES now includes this.

In addition to Paul's changes I reformatted the default to be
<literallayout> to appear as code.

(From yocto-docs rev: 187390e2589b886e524700db9dc2e89cf28c6e90)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:47 +01:00
Paul Eggleton
6ceecd08f1 documentation/poky-ref-manual/ref-variables.xml: replace reference to old files
These file paths are no longer valid, instead point to the section
of the reference manual with more information on valid IMAGE_FEATURES.

In addition to Paul's patch, I provided the actual section name for
the cross-reference link he inserte.

(From yocto-docs rev: ad356708bfe3a14e82d678510df15cb93dc2f057)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:47 +01:00
Paul Eggleton
63d3dac89b documentation/poky-ref-manual/ref-features.xml: edits to IMAGE_FEATURES list
* apps-console-core has been effectively replaced by splash
* apps-x11-core, apps-x11-games have been removed
* ssh-server-* were added quite a while ago, add these here
* x11 has been added
* x11-base has changed behaviour slightly
* doc-pkgs was added
* nfs-server never exported the entire /, so remove this comment

In addition to Paul's changes.  I performed some general edits to the
list so that it is active voice and has a parallel structure for
all the list items.  Changes involved some of Paul's stuff and some
of mine.

(From yocto-docs rev: fec6f162506a59124b137a7d1640944114ebb5c2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:46 +01:00
Paul Eggleton
b39457ccc6 documentation/dev-manual/dev-manual-common-tasks.xml: package group changes
Task has been renamed to package group, and there are some minor changes
in how package group recipes should be constructed - in particular the
inherit of packagegroup.bbclass is now highly recommended as it will set
appropriate defaults and automatically add complementary -dev and -dbg
packages.

In addition to Paul's patch, I added a couple <filename>/</filename>
tags around some switch names to be consistent with manual
formatting.

(From yocto-docs rev: 598d18507ace2054f8c8bb5f496557c98f066b5a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:46 +01:00
Paul Eggleton
84b3daaf50 documentation/poky-ref-manual: fix for rename of task to packagegroup
(From yocto-docs rev: da0c9fa6d43d32f59bd935ae0fee533fc94fda95)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:46 +01:00
Paul Eggleton
a3de958c63 documentation: remove references to task bbappend
The meta-intel BSPs and yocto-bsp tool no longer use a bbappend of
task-core-tools-profile to add systemtap, so these sections should be
removed.

(From yocto-docs rev: cdc12163dd95f0a78cc0f35c03b5eb3d7b1476e3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:45 +01:00
Scott Rifenbark
64b9137b43 documentation: Fixed links to BitBake User Manual
Robert P. J. Day pointed out a link in the development manual that
was for the BitBake User Manual.  The link resolved to an old,
non-maintained version of BitBake documentation.  According to
Richard Purdie, the BitBake docs referenced should be the ones
that ship in the bitbake/doc/manual directory of poky.  The
YP docs had been using a variable named BITBAKE_DOCS_URL that
also resolved to the antiquated user manual site.  Consequently,
there were many links that needed fixed across both the YP
Development Manual and the YP Reference Manual.  Each of these
references now points in general to the bitbake/doc/manual
directory in poky for more information.

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

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:45 +01:00
Scott Rifenbark
3fa4a6a146 documentation/dev-manual/dev-manual-common-tasks.xml: note on readme
Added a note in the "Creating Layers" section noting that to be
Yocto Project compliant, a layer must contain a README file.  This
change was prompted by a discussion over the fact between Robert
P. J. Day and Mark Hatle.

(From yocto-docs rev: 2e073763a81125699a2d962031ca29ca64c81595)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:45 +01:00
Valentin Popa
b3ba9eb7e2 bitbake: Implement 'settings' dialog as designed
[YOCTO #2162]

(Bitbake rev: ac75b06744e73399ca1fbda322ef851ae5754b0a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:36 +01:00
Richard Purdie
149c121209 bitbake: cooker: Fix priority for virtual recipes
When making filename comparisons for recipes for priority calculations,
we need to split off any virtual prefix. Without this, BBCLASSEXTEND
version of recipes don't follow the priority settings they should.

[YOCTO #2933]

(Bitbake rev: 055b72a230e6b0b1cababd65372c62d9ddce385e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:36 +01:00
Constantin Musca
293764e435 bitbake: hob/builddetailspage: Add tooltips to the build failed notification
[YOCTO #3046]

(Bitbake rev: 69ad4ebd1379e804d0753bd4ee704b602b5efcc4)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:35 +01:00
Paul Eggleton
5b53671f27 bitbake: lib/bb/event: improve handling of event queue on exit
If BitBake exits before a UI handler (server) has been registered, we
print the event queue; if there are any errors or other non-debug
messages just print these and suppress the rest of the message queue.

This improves the output when sanity check failures occur with OE-Core
by avoiding printing a long stream of uninformative debug messages.

(Bitbake rev: 8668a94cb1841798636b68fe123400d6b81f6574)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:34 +01:00
Paul Eggleton
537dd88c1a bitbake: hob: format error messages properly
Error messages that use arguments need to be formatted properly, or we
don't get the full message. Use a formatter to do this when an error
occurs.

Partial fix for [YOCTO #2983].

(Bitbake rev: 6783538884adecd914909a9ab4ca73c27575f3ad)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:33 +01:00
Cristiana Voicu
831486844d bitbake: hob/imagedetailspage: change "FileCreated" label to "Files created"
[YOCTO #2998]

(Bitbake rev: ca2464561d54d59d1146359e41eb08201954fc21)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:33 +01:00
Jessica Zhang
043ab5433f bitbake: Fixed hob proxy tab tooltip text per review suggestions [YOCTO #2499]
(Bitbake rev: 485e69d41e220ed4e8efc89a357a8d395e44da9f)

Signed-off-by: Jessica Zhang <jessica.zhang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:33 +01:00
Paul Eggleton
78b14140d6 bitbake: hob: sort base image drop-down list
Sort the list of base images to make it easier to find a specific image
in the list. Note that "Create your own image" still remains the last
item in the list.

(Bitbake rev: db16f575a774de7d9d44b4bc727b252de5d0f34d)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:32 +01:00
Paul Eggleton
34cacbf186 bitbake: lib/bb/command.py: ensure setVariable only sets values as strings
This is the interface Hob uses to set variable values in many instances,
and at the moment it is possible that some of the values it passes are
not strings. If a non-string value gets into the datastore it can
trigger exceptions during parsing when we attempt to expand the variable
and substitute in the non-string value.

This fixes using the meta-ti layer within Hob - it currently has a
reference to BB_NUMBER_THREADS within a shell function and since this
is a variable that Hob was setting from its configuration as an integer,
due to the above this was triggering an ExpansionError.

Fixes [YOCTO #2875].

(Bitbake rev: 855b71d8a8e468bfeff9e1a6699d79d68ab27aa1)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:32 +01:00
Paul Eggleton
beb6815226 bitbake: hob: don't reorder layers list
We cannot reorder this list - it must stay in the order shown in the
dialog (which may in future be configurable by the user).

Fixes [YOCTO #2649].

(Bitbake rev: eca0352195d2d8ae8ef15baab9737884ec674a46)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:32 +01:00
Bruce Ashfield
ffc3b5ded3 linux-yocto/3.4: make uprobes select perf events
uprobes depends on functionality provided by perf events. After
uprobes was enabled in the standard kernel the mpc8315 board showed
link errors due to missing perf event functions.

This problem isn't isolated to the board or powerpc arch, but all
other boards have PERF_EVENTS enabled. To fix this, we make UPROBE_EVENT
select PERF_EVENTS, and any new boards will be protected from the
same failure.

We also update the configuration fragments since CONFIG_UPROBES depends on
CONFIG_PERF_EVENTS being set, so PERF_EVENTS needs to be added whenever
uprobes are enabled.

[YOCTO #3111]

(From OE-Core rev: b681b74624d1c8c4c98b2a121828e010fc5c3a25)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:31 +01:00
Richard Purdie
db82b42cdd bitbake.conf: Assign SRCPV so that it will be tracked correcting in the sstate checksum
Currently, SRCPV is just listed as having a value of ${@bb.fetch2.get_srcrev(d)}
which isn't helpful. This can mean that if PV changes, two recipes can have the
same sstate checksum despite having different PV values since the PV value itself
isn't tracked anywhere.

Adding this line means that the real PV value is expanded and recorded in the sstate
checksum, meaning the sstate packages no longer overlap. This is critical in ensuring
consistent builds for revipes using SRCPV.

(From OE-Core rev: a9fffadec4fb60547257cb3d7496b6e39ed07be8)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:31 +01:00
Richard Purdie
25af7f6ed1 opkg: Fix package dependency issue for preinsts
When processing dependencies, we need to look for both the SW_INSTALL and
SW_UNKNOWN states. If we don't do this, dependencies can be missed
and preinst scripts can run before dependencies are all installed.

This leads to package installation errors for packages like dbus-1
and associated user permission errors.

(From OE-Core rev: 119ef2789484222b94559675a09adc399f3b6bf0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:31 +01:00
Andrei Gherzan
0d67446b35 taglib: Update to v1.8
Patches not needed anymore - they switched to cmake.
LGPL license was replaced with the actual LGPL 2.1 file.
License section in audioproperties.h file was modified as it includes the
new address of Free Software Foundation.
libtag static library is not built by default anymore and if cmake is
instructed to build static library than shared library is deactivated.
So actually this is a switch now.

(From OE-Core rev: 312efe73dad8a9baf32578bd11a1654219d759df)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:31 +01:00
Khem Raj
97bb9c5b67 binutils-2.22: Backport PR fixes from 2.22 branch
These are fixes mainly cherrypicks for mips/ppc/x86
mainly fixing PRs in ld and gold

(From OE-Core rev: f098cfc24bae8e0685bcae53ea4fdc3326ddc6c4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:30 +01:00
Bruce Ashfield
268177e4e6 linux-yocto: virtio and KVM guest configuration
Updating the meta branch SRCREV to pick up virtio and kvm guest
configuration fragments.

  79947f1 meta: add paravirtualized KVM guest config fragment
  3ed86ed meta: add MMIO support in virtio config fragment

(From OE-Core rev: b6b5b501fbe7158f190e887c3edc1214bb3671ed)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:30 +01:00
Bruce Ashfield
3a6cebbe37 kernel-yocto: fix kernel configuration audit for custom yocto kernels
It was reported that the kernel configuration checks for custom yocto
kernels had the following output:

  NOTE: validating kernel configuration
  grep: /meta-series: No such file or directory
  grep: /meta-series: No such file or directory
  WARNING: Can't find any BSP hardware or required configuration fragments.
  WARNING: Looked at //cfg///hdw_frags.txt and //cfg///required_frags.txt in directory: //cfg//
  NOTE: Tasks Summary: Attempted 375 tasks of which 367 didn't need to be rerun and all succeeded.

which is not inspire confidence in the output of the process.

Completely inhibiting the check is one option to remove the messages,
but that removes the ability see output, which can help move users to
a better or more fully configured linux-yocto based kernel.

To fix this, we have to ensure that the path to the meta-series is
always valid, and that the tools can deal with not all files existing
in the audit directory.

Since custom yocto kernels do not set KMETA (they don't have a meta branch),
we ensure that a default of 'meta' is passed to the audit ('meta' is always
valid), and that kconf_check itself can deal with an incomplete set of
input audit files.

The net result is output like this (using a defconfig with invalid options
for the kernel being built):

  NOTE: validating kernel configuration
  This BSP sets 19 invalid/obsolete kernel options.
  These config options are not offered anywhere within this kernel.
  The full list can be found in your kernel src dir at:
  meta/cfg/standard/qemux86/invalid.cfg

  There were 1 instances of config fragment errors.
  The full list can be found in your kernel src dir at:
  meta/cfg/standard/qemux86/fragment_errors.txt

  The full list can be found in your kernel src dir at:
  meta/cfg/standard/qemux86/missing_required.cfg

(From OE-Core rev: 4d1b7dae063ee4c35c426306d0e22f11ce112c72)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:29 +01:00
Peter Seebach
4bb2ce4f30 pseudo_1.4.1.bb: update to pseudo 1.4.1, fixing 32-bit host problems
There were a number of cases where pseudo used plain old stat()
to get dev/inode data for files; on 32-bit hosts, this could fail
if the files were over 2GB, causing pseudo to prevent removing of
large files. This is fixed in 1.4.1.

(From OE-Core rev: 056eddc4299d10ddafe0da3dc768bd80d0c1b96b)

Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:29 +01:00
Paul Eggleton
a2eab6bb16 scripts/combo-layer: ensure we validate branch/revision on init
If both branch and last_revision are specified for a component when
combo-layer init is run, ensure that the specified revision is actually
on the specified branch and error out if not. Also ensure that the error
message mentions the component.

(From OE-Core rev: e498257ecbec94cec181d73bda57d44335b4dee0)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:29 +01:00
Paul Eggleton
7ddf64d58d scripts/combo-layer: use last_revision if specified in init
If last_revision is specified for a component when running combo-layer
init, then use that revision instead of the latest revision on the
branch. Also, remove unnecessary git checkout during init since we
specify the revision to all calls to git when dealing with the component
repositories.

Fixes [YOCTO #3040].

(From OE-Core rev: ff8277cd133e9a02b131977078cff61fa587a1af)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:28 +01:00
Andrei Dinu
87ec7526ce libffi upgrade to 3.0.11
Changes :

- Added ax_append_flags.m4 and ax_check_compile_flag.m4 to the m4 directory.
  The files were missing and aclocal.m4 was generated without those two macros.

- Added a new license md5 checksum to the recipe because the old LICENSE file
  differs from the new one here :

        OLD : libffi - Copyright (c) 1996-2011

        NEW : libffi - Copyright (c) 1996-2012

(From OE-Core rev: 3e40136e8bd13b17b6d88b6acfb5ed162bb8d96a)

Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:28 +01:00
Paul Eggleton
447b53b8ca gst-fluendo-mpegdemux: add LICENSE_FLAGS
This likely requires some form of license to use in a commercial
product.

(From OE-Core rev: 6499d4900d8e078447335332d4e186f58b93d63b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:28 +01:00
Ross Burton
f73e829585 libx11: update patch to a backport from upstream git
(From OE-Core rev: 0d8db0a1fe236be24bd5dc003a79ee1b6cdd5c05)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:27 +01:00
Ross Burton
1cc4bb4a66 librsvg: remove spurious popt dependency
(From OE-Core rev: 33c19fd5d33a3ec0d0cf6a0c406d87a62711a5fc)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:27 +01:00
Ross Burton
1f6566c8a7 librsvg: --disable-gnome-vfs doesn't exist anymore, remove
(From OE-Core rev: 7a71050fdd0b1489c29df82b3e9b2a6da560523b)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:26 +01:00
Jack Mitchell
56d8665f12 git: define NO_PYTHON=1 to stop git requiring python as a dependancy
Git requires python by default as an included script to link git
to perforce is written in Python. Define NO_PYTHON to stop the
script being included and thus remove the dependancy on Python.

(From OE-Core rev: 602538e1c8403e8b188109ce94a906a1d9090d7e)

Signed-off-by: Jack Mitchell <jack.mitchell@dbbroadcast.co.uk>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:26 +01:00
Andrei Gherzan
30db39829b image_types.bbclass: Round up ROOTFS_SIZE after base_size check
If we round up ROOTFS_SIZE to IMAGE_ROOTFS_ALIGNMENT before checking if
base_size is greater then IMAGE_ROOTFS_SIZE, we can end up adding an
unaligned value to IMAGE_ROOTFS_SIZE. Obviously, if
IMAGE_ROOTFS_EXTRA_SPACE was overwritten with an unaligned value. So
let's add the round up code after the base_size calculus and it's
comparison.

(From OE-Core rev: 726c1617077da6b49606ac1a2cae64d2d02e6214)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:26 +01:00
Saul Wold
e5561887e7 kernelshark: add missing ${D}
This was noticed by the following warnings of files that should have been removed!

WARNING: QA Issue: kernelshark: Files/directories were installed but not shipped
  /usr/share
  /usr/share/trace-cmd
  /usr/share/trace-cmd/plugins
  /usr/share/trace-cmd/plugins/plugin_blk.so
  /usr/share/trace-cmd/plugins/plugin_sched_switch.so
  /usr/share/trace-cmd/plugins/plugin_kmem.so
  /usr/share/trace-cmd/plugins/plugin_kvm.so
  /usr/share/trace-cmd/plugins/plugin_function.so
  /usr/share/trace-cmd/plugins/plugin_jbd2.so
  /usr/share/trace-cmd/plugins/plugin_hrtimer.so
  /usr/share/trace-cmd/plugins/plugin_mac80211.so
  /usr/share/trace-cmd/plugins/.debug
  /usr/share/trace-cmd/plugins/.debug/plugin_blk.so
  /usr/share/trace-cmd/plugins/.debug/plugin_sched_switch.so
  /usr/share/trace-cmd/plugins/.debug/plugin_kmem.so
  /usr/share/trace-cmd/plugins/.debug/plugin_kvm.so
  /usr/share/trace-cmd/plugins/.debug/plugin_function.so
  /usr/share/trace-cmd/plugins/.debug/plugin_jbd2.so
  /usr/share/trace-cmd/plugins/.debug/plugin_hrtimer.so
  /usr/share/trace-cmd/plugins/.debug/plugin_mac80211.so

(From OE-Core rev: c3cff64708cb078405f5ecd9bca6801031786bc4)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:25 +01:00
Saul Wold
c9f93420c2 oprofileui: Add Icons to oprofileui-viewer package
Fixes the following warning:

WARNING: QA Issue: oprofileui: Files/directories were installed but not shipped
  /usr/share/icons
  /usr/share/icons/hicolor
  /usr/share/icons/hicolor/16x16
  /usr/share/icons/hicolor/32x32
  /usr/share/icons/hicolor/48x48
  /usr/share/icons/hicolor/24x24
  /usr/share/icons/hicolor/scalable
  /usr/share/icons/hicolor/22x22
  /usr/share/icons/hicolor/16x16/apps
  /usr/share/icons/hicolor/16x16/apps/oprofile-viewer.png
  /usr/share/icons/hicolor/32x32/apps
  /usr/share/icons/hicolor/32x32/apps/oprofile-viewer.png
  /usr/share/icons/hicolor/48x48/apps
  /usr/share/icons/hicolor/48x48/apps/oprofile-viewer.png
  /usr/share/icons/hicolor/24x24/apps
  /usr/share/icons/hicolor/24x24/apps/oprofile-viewer.png
  /usr/share/icons/hicolor/scalable/apps
  /usr/share/icons/hicolor/scalable/apps/oprofile-viewer.svg
  /usr/share/icons/hicolor/22x22/apps
  /usr/share/icons/hicolor/22x22/apps/oprofile-viewer.png

(From OE-Core rev: b5683038d36fce49abebe44ec4212a5d128b5668)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:25 +01:00
Matthew McClintock
5388847838 valgrind_3.7.0.bb: fix missing leading space on _append
(From OE-Core rev: a5cc8ad6a2c40f6913eb356f7a9916726d696931)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:25 +01:00
Constantin Musca
2a0d7aded8 patch.bbclass: Use one TMPDIR per patching process
We must use one TMPDIR per process (/tmp/${PID}) so that the patching
processes don't generate the same temp file name (the "patch" program
uses the TMPDIR environment variable for deciding where to create the
temp files).

[YOCTO #3070]

(From OE-Core rev: 16dbf505c4fdd9fe1820d950ab05c8ea99ad7505)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:24 +01:00
Khem Raj
d7ef15a063 runqemu: Explicitly specify MACHINE when calling bitbake
When using runqemu with distros outside oe-core then
MACHINE may not be there in local.conf so use the one
thats available in environment of runqemu which is actually
the correct one.

(From OE-Core rev: 5c3fec058a2d370fbb625901ca1822ce04927ac2)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:24 +01:00
Khem Raj
0496e285f6 uclibc: Revert systemd regressing patch from upsteam uclibc and uprev SRCREV
This patch is causing systemd based systemd to not boot
Revert of patch has been tested on tip of master hence the new SRCREV

New SRCREV brings in one another regression fix as described here
http://lists.uclibc.org/pipermail/uclibc/2012-August/046993.html

(From OE-Core rev: c24d518b76f07d86de03259048035407ae3bde68)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:23 +01:00
Ross Burton
8f1f81bea8 connman: remove trailing whitespace
(From OE-Core rev: 554274869e9adfa714bbb87ac817fa5303f70897)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:23 +01:00
Andrei Dinu
7401ed0191 Update to upstream_tracking.inc
(From meta-yocto rev: 1e03766157836606ef1974d1b18572fed208d347)

Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 17:56:58 +01:00
Ross Burton
fe0cc42cd9 scripts: change default ARM BSP to use xserver-xorg, not -lite
(From meta-yocto rev: 22cd22813a07c03f47810754a89916f629ce13cd)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:54 +01:00
Ross Burton
c46ca0666a distro-tracking; remove references to xserver-xorg-lite
(From meta-yocto rev: 6938ee8b76a92f74ce73bbc8f208f1e29bd31e44)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:53 +01:00
Ross Burton
af01997159 distro-tracking: remove libx11-trim
(From meta-yocto rev: 3d6049703c40e83c330788b77eb6308b00fc2715)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:53 +01:00
Darren Hart
b262fcdf92 rt: Add hwlatdetect to rt images
This adds the newly separated hwlatdetect package to the rt images.
While this pulls in a python dependency, it is worth have hwlatdetect
installed by default on these images as they are intended to assist in
the evaluation of platforms for use in real-time environments.

(From OE-Core rev: 835654994574c158d6324218ebe000bd2ef9a792)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:53 +01:00
Darren Hart
b3155c8393 rt-tests: Add hwlatdetect package
Split out rt-tests into rt-tests and hwlatdetect packages as the latter
requires python and we want to be able to install the core rt-tests on
minimal systems without python.

This also addresses QA warnings about the hwlatdetect files not being
packaged.

Add an RRECOMMENDS on the hwlat kernel module package for the new
hwlatdetect package as the python test requires the kernel module to
function properly (but we probably don't want to kill a build if the
exact kernel module package is not available).

(From OE-Core rev: 0ea5e5a805e038ecfeb6b87ca05c021c5f72c5e9)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:52 +01:00
Darren Hart
244dd76011 rt-tests: Update to 0.84, use the kernel.org git repository
The maintainer of rt-tests has recreated the git repository on kernel.org and
has stated that kernel.org is now the official source for rt-tests.

Update to 0.84. Remove the user cflags and ldflags patch as it is
included in the 0.84 release.

(From OE-Core rev: cdf84de3584e17b7fea2401cdb4eaae9752e98a2)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:52 +01:00
Jackie Huang
c2383a34ea quota 4.00: add DEPENDS gettext-native
do_install needs command 'msgfmt', it would fail if the command
doesn't exist on the host, add DEPENDS gettext-native to fix this.

[YOCTO #2811]

(From OE-Core rev: f12f75aa57cacc73a0428cedba970076f0abb9f8)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:52 +01:00
Andreas Müller
17b3c88338 gst-plugins-good: fix compile error with recent linux-libc-headers
With linux-libc-headers-3.5.0 (for tests) the error message was:

| gstv4l2bufferpool.c: In function 'gst_v4l2_buffer_new':
| gstv4l2bufferpool.c:184:3: error: 'struct v4l2_buffer' has no member named 'input'

(From OE-Core rev: 95e3463ddcb527ffad41699719963107ad24a34f)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:51 +01:00
Zhenhua Luo
b7a81c5b51 valgrind: fix debug info reading error when do memcheck on ppc targets
following is the error message:
        --2263-- WARNING: Serious error when reading debug info
        --2263-- When reading debug info from /lib/ld-2.13.so:
        --2263-- Can't make sense of .got section mapping
        --2263-- WARNING: Serious error when reading debug info
        --2263-- When reading debug info from /home/root/lzh:
        --2263-- Can't make sense of .data section mapping
        --2263-- WARNING: Serious error when reading debug info
        --2263-- When reading debug info from /usr/lib/valgrind/vgpreload_core-ppc32-linux.so:
        --2263-- Can't make sense of .data section mapping
        --2263-- WARNING: Serious error when reading debug info
        --2263-- When reading debug info from /usr/lib/valgrind/vgpreload_memcheck-ppc32-linux.so:
        --2263-- Can't make sense of .data section mapping
        --2263-- WARNING: Serious error when reading debug info
        --2263-- When reading debug info from /lib/libc-2.13.so:
        --2263-- Can't make sense of .data section mapping

(From OE-Core rev: 14626cc76210ed6fe40316a311f24147ed8de8be)

Signed-off-by: Zhenhua Luo <b19537@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:51 +01:00
Ross Burton
fdf87242d9 libx11-trim: remove, it's the same as libx11 now
(From OE-Core rev: 7a10eccc75f12bfe3afb925c976405cfcd9baeb0)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:51 +01:00
Ross Burton
680ffe36f0 mesa-dri: remove DEFAULT_PREFERENCE, this is the preferred now
(From OE-Core rev: 438852881a9450b2686e3f61d4efe260fa4b2c94)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:51 +01:00
Ross Burton
a6a18d4458 mesa-xlib: remove, it serves no useful purpose
(From OE-Core rev: 7a815ca21f57feb4706a7bb0656cbabd74bc873f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:50 +01:00
Ross Burton
7ca0d775d3 libx11: revise keysymdef patch based on submission upstream
(From OE-Core rev: 6fb59242e476e6b4a19cdb2acbe9509292cdbad9)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:50 +01:00
Ross Burton
bbe27db677 libx11-diet: remove un-needed chunk from stubs patch
(From OE-Core rev: 41c1b76c2c1b875bf72331f6b89cf7f5e2bba9f2)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:50 +01:00
Ross Burton
ad02e381e1 libx11: makekeys can be cross-compiled now, so don't hack around
(From OE-Core rev: 04c776956b98cc96c2c1a139bec0422feae1497d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:49 +01:00
Ross Burton
c2585592b5 libx11: drop makekeys_crosscompile.patch, effectively merged upstream
(From OE-Core rev: 6169ed981b1c8fe26a5238bb9837c21d284df729)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:49 +01:00
Ross Burton
003c45755d default-providers: default to libx11, not -trim
(From OE-Core rev: 8b0a1ce417feea5f58fc08f54025343c7c7ff892)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:49 +01:00
Ross Burton
cc5557eb2f libx11-diet: remove statements that are redundant
(From OE-Core rev: 4bba0537473f28961d6e128f8bc18c9a4abd01cd)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:48 +01:00
Ross Burton
5842947c3d libx11: make bigfont an optional (disabled by default) packageconfig option
(From OE-Core rev: eb4e584de23ebaf2d8f54404dcf12a5aed1a37a1)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:48 +01:00
Ross Burton
84279136fe libx11: refresh dependencies, and centralise into libx11.inc
(From OE-Core rev: a66e6a7765525d3e18cd81b68c422b3dab81d498)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:48 +01:00
Ross Burton
d7a03d5bd0 libx11: merge patches into a single directory
(From OE-Core rev: 34b337e52551717106b377c53ea5dc617ac4c92c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:47 +01:00
Ross Burton
8e6a6ecd0e libx11: remove redundant license data
(From OE-Core rev: 0f2643cfa385e9637a2d34268e60cdce9fa44e69)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:47 +01:00
Ross Burton
13ca58f538 libx11: move keysymdefdir option to .inc
(From OE-Core rev: 375cdaf2cc03a4784991999e6a302fe37678809b)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:47 +01:00
Ross Burton
c0fff56ef0 libx11: move xcms disabling to PACKAGECONFIG in libx11.inc
(From OE-Core rev: ea17d1365b0425b0f6ddd4daf8d166116ac26f26)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:47 +01:00
Ross Burton
85816c84eb xorg-lib: move options to disable documentation to xorg-lib-common
(From OE-Core rev: aee98f2ccab4bfff2aca031c2374274f945982f5)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:46 +01:00
Ross Burton
8071888705 libx11-diet: you can't disable UDC, because it's always disabled
(From OE-Core rev: bb2c59d3efdd94d7cc0cd47daa3429a1521ca8ac)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:46 +01:00
Ross Burton
71ba823419 libx11-diet: you can't disable XCB anymore, so don't try
(From OE-Core rev: 315d187fcf1e6ff430b5c2986aa307e182ae09cb)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:46 +01:00
Ross Burton
aa1744d63b libx11: use INC_PR
(From OE-Core rev: d709a0a457ec05291ae56a54af923ca9f43d15aa)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:45 +01:00
Bruce Ashfield
0359330bdd linux-yocto/3.4: add x32 configuration fragment
When x32 is the tuning for a x86 MACHINE, the kernel should also have
CONFIG_X86_X32=y. This adds a x32 fragment that can be used to trigger
the right ABI.

The commit also contains a check for mx32 in TUNE_FEATURES, and if
present, the new fragment will be appended to KERNEL_FEATURES and
trigger the support in the kernel.

cc: Saul Wold <sgw@linux.intel.com>
(From OE-Core rev: bf689c60caa905eb8866101b9e99dd4ae246a2ca)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:45 +01:00
Constantin Musca
e3aa2e8a3d sysstat: upgrade to 10.1.1
(From OE-Core rev: a1d83d6aba91dad4935804801114d9d50ee0fab9)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:45 +01:00
Constantin Musca
39a30b88a3 libexif: upgrade to 0.6.21
(From OE-Core rev: 727ed3ca04fbb3d3685a1b346457d975367da2ea)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:44 +01:00
Constantin Musca
83ba6c31da glew: upgrade to 1.9.0
(From OE-Core rev: c5d2f7fee83e8c9c278eba264de3bbc0d5d3104a)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:44 +01:00
Constantin Musca
5f42b9c6a7 boost: upgrade to 1.51.0
(From OE-Core rev: 62688f63e2b2a9df01dc3a870ee26fc738c225e1)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:44 +01:00
Vladimir Zapolskiy
a3c257a136 classes/license: place all found licenses on one line
Cosmetic change, settle all found licenses into one line and report warning
about missing licenses loudly.

(From OE-Core rev: f015a9eb8265c485da0b20009ba72119035599b1)

Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:43 +01:00
Vladimir Zapolskiy
2ebe4d4cfb classes/license: correct license info in lisense.manifest
Trivial change, do not cut off plus symbol from license name, otherwise
information about package license is corrupted.

(From OE-Core rev: ba53de38e96833ea82ddd0f1e336cd7ddfa0c2d1)

Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:43 +01:00
Vladimir Zapolskiy
043df837a5 classes/license: account LICENSE_${pkg} values in manifest
Trivial change, process LICENSE_${pkg} and LICENSE values. This fixes multiple
cases, when license is not specified at all in license.manifest

(From OE-Core rev: 8fd734e6f9159921d0d148c4d5c0fa37c882b21a)

Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:43 +01:00
Vladimir Zapolskiy
ed4836d319 classes/license: remove redundant nested if statements
Cosmetic change, which improves code perception. Also check for locale
packages firstly, this shall improve performance a little.

(From OE-Core rev: 100e457de4b223defb1a844d3b85af812caf2f79)

Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:42 +01:00
Vladimir Zapolskiy
5dce00ff49 classes/license: check license manifest for double records
Trivial typo bugfix, avoid multiple records in license.manifest.

(From OE-Core rev: 0d3ca97d3a349ca572fce798ebf9de59a438c0c8)

Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:42 +01:00
Vladimir Zapolskiy
dd1ee2ab1e classes/license: define LICENSE_MANIFEST variable
Cosmetic change, saves space and reduces code line length.

(From OE-Core rev: 0ac50f848cf0f897333cff9340976519fc95fdc4)

Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:42 +01:00
Phil Blundell
c460737a30 eglibc: Restore ${PN} to before ${PN}-dev in PACKAGES
Commit 13544fbc6217fee1731a6da1e2cf94901a500842 changed the ordering
of PACKAGES so that ${PN}-dev came before ${PN}.  However, this caused
the FILES matching to go wrong if ${libdir} == ${base_libdir}.  Fix this
by moving ${PN} ahead of ${PN}-dev once again.

(From OE-Core rev: ec3ec1e7388c2175f41527d5e5e07c6bb14a8f6e)

Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:42 +01:00
Matthew McClintock
bb330fdc00 sysvinit-inittab_2.88dsf.bb: only run serial checks at boot if we have items to check
Right now, we delay running the serial console checks to we boot up. This causes
issues for read only file systems. So, if have not configured any serial ports to
check via SERIAL_CONSOLES_CHECK we can skip the check at boot. This fixes any
issues with read only file systems and ipk packaging.

(From OE-Core rev: 019a95a5e01bd3fefaaab0a27029ed8b26ee3c79)

Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:41 +01:00
Bruce Ashfield
1d3391b84f linux-yocto*: append to KERNEL_FEATURES instead of assigning
It is sometimes useful for KERNEL_FEATURES to be set in a machine
or other configuration file. The linux-yocto recipes currently
initialize the variable, which clobbers any values set by .conf
files.

Appending to the variables allows these settings to propagate to
the kernel configuration, while maintaining the existing set of
added kernel features.

(From OE-Core rev: 7121fe8d836fc178e9ab8f0e6f8eb34a99325c81)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:41 +01:00
Jackie Huang
84f54d6a5d libgnome-keyring: add missing DEPENDS on intltool-native
libgnome-keyring requires command 'intltoolize' in configure,
so add DEPENDS intltool-native.

[YOCTO #3081]

(From OE-Core rev: 3d07587cc530f856c985c03a9b9b42cfb89c502c)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:41 +01:00
Richard Purdie
844422dbe3 libgpg-error: Use the source file for the licence checksum
It makes sense to us the license checksum from the source .in file rather
than that from the generated file which configure can change (or remove).

(From OE-Core rev: 38b853b669428c8ac390ee7dd063331b6f03476e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:40 +01:00
Richard Purdie
8b9b1ab42e autotools.bbclass: Add functionality to force a clean of ${B} when reconfiguring (and ${S} != ${B})
Unfortunately whilst rerunning configure and make against a project will mostly
work there are situations where it does not correctly do the right thing.

In particular, eglibc and gcc will fail out with errors where settings
do not match a previously built configuration. It could be argued they are
broken but the situation is what it is. There is the possibility of more subtle
errors too.

This patch adds removal of the build directory (${B}) when configure is
rerunning, the sstate checksum for do_configure has changed and ${S} != ${B}.
We could simply use a stamp but saving out the previous configuration checksum
adds some data at no real overhead.

If we find there are things where we want to disable this behaviour with
CONFIGURESTAMPFILE = "" in the recipe, or users could disable it globally.

[YOCTO #2774]
[YOCTO #2848]

This is particularly helpful for eglibc and gcc which use split builds by default and
are a particular source of reconfigure type problems.

(From OE-Core rev: f15f61af77cc4e52a037f509f8e49e1ea530cf35)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:40 +01:00
Laurentiu Palcu
c8e3e0149a nativesdk-qemu: fix SDK relocation issue
User mode emulation binaries are linked using a local linker script. The
nativesdk ones were not used and the resulting binaries did not have the
interp section resized. Hence, those binaries could not be relocated.

[YOCTO #3083]

(From OE-Core rev: da014e900adfe96f01290c5a8f5fb08e295ca204)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:40 +01:00
Paul Eggleton
de69c6c94e classes/sanity: remove obsolete code
We can now rely upon the minimum BitBake version having the
SanityCheckFailed event, so remove the code to handle if this is not
there.

(From OE-Core rev: ba17572c9c11efb45a92ba97914ce1f6d84002c8)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:39 +01:00
Paul Eggleton
fd572e8c6b classes/sanity: skip tune checks if machine is invalid
If there is no valid machine configuration it's almost guaranteed that
the tune checks will fail, so just suppress them in that case.

(From OE-Core rev: 629c585e687cda9290efcffd18dd92fdf16009ab)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:39 +01:00
Martin Ertsaas
f20b8ffc5c gettext: Make gettext 0.16.1 extend native and nativesdk.
gettext 0.16.1 is a GPLv2 version of gettext. Making that extend native and
nativesdk makes sure we use the same version of gettext for compiling internally
as well as in our toolchain.

(From OE-Core rev: 6322a1b3680d2480c96433fde5a913b3bf2d09ea)

Signed-off-by: Martin Ertsaas <mertsas@cisco.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:39 +01:00
Bruce Ashfield
925594a94b linux-yocto/3.4: v3.4.10 and uprobes/kprobes configuration updates
Updating to 3.4.10 which has been soaking for a bit now, as well
as picking up the following meta commits from Tom Z:

  a82db2f meta: have systemtap use kprobes and uprobes feature
  d5d5b80 meta: add kprobes support to ktypes/standard
  b32d373 meta: add kprobes feature
  d40ed99 meta: have uprobe feature use uprobe.cfg
  a69d1db meta: add uprobe.cfg

(From OE-Core rev: fb71d8c3ab735739baedcb5c8c44b028890d8a5e)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:38 +01:00
Khem Raj
42f0f96903 gcc-4.7: Backport libgcc fixes to appease the new build sequence
This makes the libgcc builds identical when done with gcc-cross-initial
or final gcc-cross. Since eglibc only sees gcc-cross-initial it is
important that the final libgcc that appears on root file system is same
as the one against which eglibc was built.

(From OE-Core rev: bd0ab094d6c36b55848e23e63b96587773299a7f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:38 +01:00
Khem Raj
86ae51246f gcc-4.7: Fix build for armv4/EABI and ppc/Os
arm patch is a forward port from OE/classic
ppc patch should help in building images with Os

(From OE-Core rev: ac9ebcea4a2b778f6dd103a729831d9a9be281df)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:38 +01:00
Ross Burton
ed9bb94f35 telepathy-idle: fix parallel build
Apply a patch from upstream git, and clean up our other patch so that it
applies.

[ YOCTO #3056 ]

(From OE-Core rev: b0d23a1e3335ccd9bdc5b6512020ff3321619abf)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:37 +01:00
Ross Burton
13221b222b webkit-gtk: work around Make bug by re-running make
GNU make 3.82 has a bug where it drops required dependencies.
https://bugs.webkit.org/show_bug.cgi?id=79498 is the WebKitGTK+
bug, and http://savannah.gnu.org/bugs/?30653 is the GNU Make bug.

Work around this by running make again if it fails just in case the failure is
due to the bug.

Based on a patch by Andreas Müller <schnitzeltony@googlemail.com>.

[ YOCTO #2816 ]

(From OE-Core rev: af5bdc8ca413d6cabeb4f4b4c5836912a17f28be)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:37 +01:00
Phil Blundell
69c4ddf138 shadow-native: Ensure that ${sbindir} and ${base_sbindir} are respected
These values need to be passed on the command line to "make install" otherwise
shadow will use its own built-in idea of where those directories are located.

(From OE-Core rev: 2b4b5f3259be4b790c098fc98cae0275ac6804a0)

Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:37 +01:00
Phil Blundell
02cc31e7fe shadow: Fix various invalid assumptions about directory layout
The makefiles in the shadow package have their own hard-coded paths
for ${base_bindir} and ${base_sbindir} (known as "bindir" and "sbindir"
in shadow-speak).  Ensure that they install into our paths rather than
their own.

Also check that ${base_bindir} and ${bindir} are different before trying
to move files from one to the other; likewise for ${base_sbindir} and
${sbindir}.

(From OE-Core rev: d4e62e164ef73b47c178edcbc2579f5358934afc)

Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:37 +01:00
Phil Blundell
6ccd988f24 perl-native: PROVIDE libmodule-build-perl-native for consistency with non-native perl
This module is, apparently, included in the standard perl distribution
since 5.10.1 or so.  The regular perl recipe has had this PROVIDES for a
while but it seems to have been overlooked in the native version.

(From OE-Core rev: 2c3e8c5ab098f84c77729377afc240bc71d81665)

Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:36 +01:00
Mark Hatle
7cd145472d qt4: Update qt4.inc to remove staticdev deps in -dbg packages
It appears that the qt4.inc had a copy/paste error relating to creating
a list of staticdev packages, that caused them to show up as dependencies
in the -dbg package.

(From OE-Core rev: a7c5cec5fc63b4a26d84673460426b35669068dc)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:36 +01:00
Mark Asselstine
9c2bb6822c base-files: provide a mechanism to skip creation of the hostname file
The existence of a /etc/hostname file causes any hostname provided on
the kernel command line or via dhcp to be overwritten by the
initscripts 'init.d/hostname.sh'. This change allows you to set a
value of "" for 'hostname' which will skip the creation of the
/etc/hostname file by the base-files package.

(From OE-Core rev: 5fd3503d4a438d126f44fe8118e9ea465e7699c2)

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:36 +01:00
Mark Hatle
03109ba97d package_rpm.bbclass: Avoid unnecessary installs in complementary pass
When called with the complementary install option, the first step is to
backup the install manifest so that we can avoid installing items previously
installed.  However, this backup process skipped the initial_install portion
of the manifest, causing early install items like libc6, bash, and base-files
to be installed a second time.

Fix this by cating the files to original_solution.  This is done as an append to
allow multiple calls to package_install_internal_rpm to work.

(From OE-Core rev: af9fd7566a5de4716a202922f5eabb13a412f2fb)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:35 +01:00
Mark Hatle
a6359e9710 image.bbclass: Enable the complementary install to be called w/ globbing params
If the image.bbclass is called with arguments, and these arguments are not
"populate_sdk", they will be passed in as the expected GLOBS.

This enables external components and scripting to use the
rootfs_install_complementary code.

(From OE-Core rev: f44c5f227a170290f567d0a0a24baaa870048788)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 15:13:35 +01:00
Richard Purdie
5a71f25825 sstate: Append to EXTRASSTATEMAPS and add comment
Appending to EXTRA_SSTATEMAPS is better than just hardcoding a value. Also
add a comment about why this is necessary.

(From OE-Core rev: d4f4a57b8d564d57256017d937ed2eabf94c36ae)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-12 14:24:38 +01:00
Saul Wold
7250638ec8 upstream_tracking: Fix format issues
(From meta-yocto rev: c353f31a3bf0cb4c54c44837e7d66a55120c79b8)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 23:21:12 +01:00
Andrei Dinu
0ccef3be90 Manual updates to upstream_tracking.inc
(From meta-yocto rev: 5a9b29a3da65942585e21aa2c96f51494bd313a6)

Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 23:21:12 +01:00
Cristiana Voicu
2cbf4e60a3 bitbake: hob/packageselectionpage: restore selected packages
After "Cancel" action, selected packages are restored to default.

[YOCTO #2984]
(Bitbake rev: 81b0c0cd15cbd61285e6525f482412051371ea4c)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 21:54:45 +01:00
Paul Eggleton
1b1b83651a bitbake: hob: rename task -> packagegroup in recipe selection
This changes the filtering to use the inheritance of
packagegroup.bbclass to determine if a recipe is a package group.

Also makes the tab tooltip text generic; these recipes could come from
any enabled layer, not just the default ones.

(Bitbake rev: a3bf87a90198bf6127663c27d8be086dab04aaf9)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 21:54:45 +01:00
Paul Eggleton
5f40b7a29b bitbake: hob: ensure error message text is properly escaped
Our poor implementation of markup escaping was causing invalid
markup, leading to the error dialog being blank. Use the glib markup
escaping function provided by PyGTK+ to do this properly and avoid the
blank error dialogs.

Partial fix for [YOCTO #2983].

(Bitbake rev: 563ea5233a5ab1629c51e802d04280692f96c596)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 21:54:44 +01:00
Paul Eggleton
4ec3d72072 bitbake: hob: use correct semantics for dealing with pkgdata
Some of these values may or may not be overridden on a per-package
basis, so handle them accordingly.

(Bitbake rev: 56cee6a958843b03c5389d4a45245a04d1e03327)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 21:54:44 +01:00
Paul Eggleton
a4e36563d9 classes/packageinfo: use better method to check if package exists
Instead of using a rather error-prone method of looking for output
package files in order to determine if a package got created, use the
.packaged file within pkgdata.

This fixes two separate issues:
* Some packages apparently not being found by this code e.g. all
  apm/apmd packages when using ipk packaging.
* Buggy implementation of this checking code which triggered an
  exception during the event handler if PKGV was overridden on a
  per-package basis (as it is with external-sourcery-toolchain), which
  blocked Hob from completing parsing at 99% - fixes [YOCTO #2651].

(From OE-Core rev: 48169c6bc44c546cecaa06207b6c36da558b81f7)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 21:52:43 +01:00
Richard Purdie
fb44773f61 bitbake: tinfoil: Add file inadvertently not committed
(Bitbake rev: 44a3fb49e817be641090d5d1bce7b586af407d71)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 21:50:41 +01:00
Ross Burton
440fba4db7 packagegroup-core-x11-xserver: remove redundant PACKAGES statement
(From OE-Core rev: 8d16cbe934291557a26e61266417febcb2e8dfba)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 17:15:53 +01:00
Martin Jansa
ba8abac4c9 eglibc-initial-2.16: add kconfig-frontends-native to depends
* fixes:
  | make[1]: Entering directory `/OE/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/eglibc-initial-2.16-r8+svnr20393/eglibc-2_16/libc'
  | make[1]: *** No rule to make target `/OE/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/bin/conf', needed by `config'.  Stop.
  | make[1]: Leaving directory `/OE/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/eglibc-initial-2.16-r8+svnr20393/eglibc-2_16/libc'

* it's because, eglibc-initial.inc overwrites DEPENDS from eglibc_2.16.bb
  $ grep DEPENDS eglibc_2.16.bb
  DEPENDS += "gperf-native kconfig-frontends-native"
  $ grep DEPENDS eglibc-initial.inc
  DEPENDS = "linux-libc-headers virtual/${TARGET_PREFIX}gcc-initial"

  and it's included after eglibc_2.16.bb
  $ head -n 3 eglibc-initial_2.16.bb
  require eglibc_${PV}.bb
  require eglibc-initial.inc

(From OE-Core rev: 8616e16ea0f9536c431e203e19d7bdff6ca867bb)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 16:58:13 +01:00
Paul Eggleton
21816355c0 bitbake: cooker: fix handling of exceptions during exception handling
If an exception occurs during handling another exception we were
getting a useless traceback such as the following, after which
BitBake froze:

ERROR: Command execution failed: Traceback (most recent call last):
  File "/home/user/poky/poky/bitbake/lib/bb/command.py", line 84, in runAsyncCommand
    self.cooker.updateCache()
  File "/home/user/poky/poky/bitbake/lib/bb/cooker.py", line 1207, in updateCache
    if not self.parser.parse_next():
  File "/home/user/poky/poky/bitbake/lib/bb/cooker.py", line 1694, in parse_next
    logger.error('Unable to parse %s', value.recipe,
AttributeError: 'exceptions.TypeError' object has no attribute 'recipe'

Fix this to print an actual traceback of the exception and exit
gracefully (well, as gracefully as possible under the circumstances).

The general fix for [YOCTO #2977].

(Bitbake rev: 675b237a284dff84e972546774b69e2f89afb360)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:14:08 +01:00
Paul Eggleton
4d8ba9a0ec bitbake: fetch2: fix malformed URL causing a useless traceback
The implementation of NoMethodError and MalformedUrl was broken - if you
just set self.args in an exception class to a string it treats it as a
list and then fails later on with a TypeError due to the number of
arguments not matching up.

This nasty exception during exception handling was breaking the normal
exception flow (fixed separately), which meant that if you had a
malformed URL or invalid protocol in SRC_URI you would get the
following:

ERROR: Command execution failed: Traceback (most recent call last):
  File "/home/user/poky/poky/bitbake/lib/bb/command.py", line 84, in runAsyncCommand
    self.cooker.updateCache()
  File "/home/user/poky/poky/bitbake/lib/bb/cooker.py", line 1207, in updateCache
    if not self.parser.parse_next():
  File "/home/user/poky/poky/bitbake/lib/bb/cooker.py", line 1694, in parse_next
    logger.error('Unable to parse %s', value.recipe,
AttributeError: 'exceptions.TypeError' object has no attribute 'recipe'

A specific fix for [YOCTO #2977].

(Bitbake rev: 9d4150d99051d24ff218e8a43664ceaf524b19c7)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:14:08 +01:00
Cristiana Voicu
e843d56a31 bitbake: hob/imageconfigurationpage: remove or_label reference
When or_label was removed, I forgot to remove also the references to it.

[YOCTO #3010]

(Bitbake rev: 4d208aaedd60f79a4277f501fdbf8c2afc32c250)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:14:08 +01:00
Paul Eggleton
27f842eba5 lib/oe/sstatesig.py: add signature data query function
Add a function that can be used from BitBake code which will find
signature data (sigdata/siginfo) files based on specified criteria, and
hook it into BitBake as bb.siggen.find_siginfo.

(From OE-Core rev: 9f0453c29891e32f8038c4bbc22ada28bfbf818a)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:03:55 +01:00
Saul Wold
950c85e398 poky-tiny: Enable x86-64 to build eglibc correctly
There is bug in the eglibc configure scripts that prevent a
x86-64 from configuring correctly and finding the smaller
library fucntions.

This has been reported to the eglibc community via the issues ML

[YOCTO #2943]

(From meta-yocto rev: 08893d0bf76b31dc020dc24a9268bd07e259a069)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:56 +01:00
Tom Zanussi
2ce0e3ca1b yocto-bsp: remove packagegroup-core-tools-profile.bbappend
The functionality previously added by these bbappends was already
handled in task-core-tools-profile.bb (now
packagegroup-core-tools-profile.bb), so remove this.

(From meta-yocto rev: e999a6639a711f5c9a64c69d6b89fb478566d34a)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:56 +01:00
Khem Raj
3e1d3d3dcf runqemu-internal: New qemu calls it qemu-system-i386 for x86
New qemu calls the x86 system emulator to be qemu-system-i386
which is consistent now so change it in scripts

(From OE-Core rev: b1ccf0202ba66f9be76463df177f11719ab589e8)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:55 +01:00
Khem Raj
7c4878ecf4 qemu-git: Move to tip of git past 1.2 release
There are a lot of armv7 and sh4 fixes that
its worth moving to latest version. The patch
forward porting can happen later.

(From OE-Core rev: 1b91e597f3550c35605d6b15fd958376e3dde93d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:55 +01:00
Khem Raj
11432c69fa qemu: Update from 0.15 to 1.2
Forward port the patches which were not applied upstream

(From OE-Core rev: 0c1328a27881f1b3046ed527447608a9fa91b1ea)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:55 +01:00
Saul Wold
f6cc077250 Add package wget and perl modules.
LSB needs wget to download packages but wget provided by busybox doesn't
support some options such as '-N'.

LSB perl test 4.1.6-2 case all/tst_perlModPresent.pl,
../lib/Class/ISA/t/00_about_verbose and ../lib/Class/ISA/t/01_old_junk.t
fail because of lack of these modules, add them to make test pass.

File CORE/config.h which is provided by perl-dev and file
unicore/version which is provided by perl-doc are required by LSB perl
test cases.

Add perl-dev and perl-doc to packagegroups-core-lsb.

[Yocto #3030 #3031 #3052 #3054 #3055]

(From OE-Core rev: ac4a60a1c585bfe5bdce1556303d49bef2594070)

Signed-off-by: Kang Kai <kai.kang@windriver.com>

Rebased for packagegroup change -sgw
These perl libraries are being added directly to OE-Core for 4.1
LSB Complainace, when 5.0 comes out early next year (2013), we will
remove these changes.

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:54 +01:00
Kang Kai
098beba3bd libi18n-collate-perl: add it
This module is deprecated from perl 5.003_06.
But LSB perl test 4.1.6-2 still test it.
So add it.

[Yocto #3031]

(From OE-Core rev: 8228aa1f6bc1ee5ecddd78ce43d5ebfc0eed2d3c)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:54 +01:00
Kang Kai
0ca60159dd libfile-checktree-perl: add it
LSB perl test 4.1.6-2, all/tst_perlModPresent.pl 1 fails with:
test 88 'use File::CheckTree;' failed

Add it to fix this issue.

[Yocto #3031]

(From OE-Core rev: af5141135d0888ea1f72cd63c454bc82884ec567)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:54 +01:00
Kang Kai
14bf0b71e3 libenv-perl: add it
Just add it for LSB 4.1 perl tests.

[Yocto #3031]

(From OE-Core rev: 16be305db800c976e6241973e0cf176b954de8e4)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:54 +01:00
Kang Kai
bee598c039 libdumpvalue-perl: add it
LSB perl test 4.1.6-2 case all/tst_perlModPresent.pl 1 fails with:
test 44 'use Dumpvalue;' failed

So add libdumpvalue-perl to fix it.

(From OE-Core rev: 0141967e4a721586c2c04252aae3b8e3732f53c3)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:53 +01:00
Kang Kai
d04b95bd59 libpod-plainer-perl: add it
LSB perl test 4.1.6-2 case all/tst_perlModPresent.pl 1 fails with:
test 190 'use Pod::Plainer;' failed

Add libpod-plainer-perl to fix it.

[Yocto #3031]

(From OE-Core rev: 0c26ced44326280f65f574c6ffb2dc1392a2f79e)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:53 +01:00
Kang Kai
8ced78d3ab perl: package modules Pod-Html and Tie-Hash-NamedCapture
Package modules Pod-Html and Tie-Hash-NamedCapture.

Without module Tie::Hash::NameCapture.pm, call "use English;" will fail.

Module Pod::Html is required by LSB perl test 4.1 case
all/tst_perlModPresent.pl 1.

[Yocto #3031]

(From OE-Core rev: e8d4386b48e169f126dd2fa018b3f44c8a42eef8)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:53 +01:00
Kang Kai
c3e066aa05 libclass-isa-perl: add it
perl module Class::ISA is needed by LSB 4.1 perl test, so add it.
When LSB 5.0 release, it will be deprecated. But we need it now.

[Yocto #3030]

(From OE-Core rev: f2e8d7670d926aa88c3c38996d1a216812741dd2)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:53 +01:00
Franklin S. Cooper Jr
23a6f63f74 u-boot: Use fw_env.config if available.
* Add support for board specific fw_env.config file if available.

(From OE-Core rev: 5b6a8e987f9039aca63d97bc42421b78acab8a3d)

Signed-off-by: Franklin S. Cooper Jr <fcooper27jr@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:52 +01:00
Saul Wold
24288740d0 core-image: allow root login when debug-tweaks is enabled
This allows root to login over ssh with an empty password just like
dropbear when the debug-tweaks are enabled, it's important to disable
debug-tweaks for a production system as this will leave open a security
hole!

Thanks to Marc for the settings.
Cc: Marc Ferland <marc.ferland@gmail.com>

[Yocto #3078]

(From OE-Core rev: 13e6aa8bba6ab1ebba1efa23f94af379a8fcb6a9)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:52 +01:00
Ross Burton
9b92449de1 xserver-xorg: make DRI/GLX options respect opengl distro feature
If the distro doesn't have the opengl feature there's no point building the DRI
or GLX support, making the mesa-dri build dependency optional.

(From OE-Core rev: 73d02f6b121c8b0ed2d42de0bfd6c227fd4de41f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:51 +01:00
Ross Burton
887a731468 xserver-xorg-lite: remove
Building xserver-xorg and not installing the DRI and GLX modules (and so not
Mesa) results in an increase of 16kb compared to this package.

This isn't worth the effort of maintaining two packages.

(From OE-Core rev: 586835801a11e514a10228be957713e1ce90dd44)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:51 +01:00
Constantin Musca
3668a2de73 autoconf: use --warning=cross only if supported
Adapt autoconf to pass --warning=cross to automake only if
supported.

[YOCTO #842]

(From OE-Core rev: 16d1c8f076378d0878f332f83b7e1f5fcf16447d)

Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:51 +01:00
Khem Raj
5cf953b02e machines/x86: Drop redundant glibc configure knobs
nptl and thereby tls are not optional anymore

(From OE-Core rev: 1a4b277e47a8d624cde4c73713d036e230f3a523)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:50 +01:00
Khem Raj
f23d843747 kconfig-frontends: Create symlinks for conf and mconf
eglibc calls out mconf and conf directly so lets create
symlinks to point to their kconfig- counterparts

(From OE-Core rev: 5857772e285ad6e39b7216bc542189e45f6fdbf7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:50 +01:00
Khem Raj
3cfc70fc27 eglibc: Enable kconfig for option management
(From OE-Core rev: 13e2ccf6f4e71d674583894750f70865ebe5e4d1)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:50 +01:00
Khem Raj
607a3d57c5 eglibc-2.16: Add kconfig infrastructure
This will let eglibc use kernel like option
management through kconfig

(From OE-Core rev: 4282b86072fd5a916d0d12082d6ba575bce691f2)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:49 +01:00
Khem Raj
4bca66470e arch-armv4.inc: On armv4 add --fix-v4bx to linker flags for kernel
(From OE-Core rev: 2092e08ba81595c6aaedca8237f6717409eb53b6)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:49 +01:00
Martin Jansa
6ce6e3eb1a pixman: ignore NEON, IWMMXT, LOONGSON_MMI variables for class-native
* pixman-native can have different do_configure sstate checksums if it's built with armv4t machine and armv7a
  OE @ ~ $ bitbake/bin/bitbake-diffsigs
    before-mgmt/stamps.1346795706/nokia900/x86_64-linux/pixman-native-*.do_configure.sigdata.*
    after-mgmt/stamps.1346801508/om-gta02/x86_64-linux/pixman-native-*.do_configure.sigdata.*
  basehash changed from 27e577de60880a788c7aaba797ef83e0 to c6799807eb3e767daf1e75738fc753f7
  Variable NEON value changed from   to  --disable-arm-neon
* so if you start building with different machine then last time (wrt
  NEON setting) all recipes which depends on pixman-native will be rebuilt too
* this explains why sstate-cache-management.sh wanted to remove many
  native sstate packages when --stamps-dir option was used (see comment
  28 in https://bugzilla.yoctoproject.org/show_bug.cgi?id=2897)

(From OE-Core rev: 0b466e6677208aeefdfa15aa37bd4681eda166c8)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:49 +01:00
Andreas Müller
d822c8f385 pixman: merge meta-oe append into oe-core
* neon configuration settings included
* patches were aligned to 0.27.2.

(From OE-Core rev: 97c547f3efc4bfd801a24f189ee3f38e5a017fb7)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:48 +01:00
Robert Yang
092895cdb1 package_rpm.bbclass: fix incremental rpm image generation
* Check ${target_rootfs}/etc/passwd rather than
  ${target_rootfs}${rpmlibdir} to make sure that it has been previously
  installed.

* Remove the "--nodeps" when incremental image generation, it should
  take care of the dependencies. Still use "--replacefiles --replacepkgs" in
  case there are conflicts.

[YOCTO #3047]

(From OE-Core rev: 2b3df2ec7979a49842df172be442a8794fe68fff)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:48 +01:00
Kang Kai
d401258b81 lsb: update version
Update package lsb version to be same with current lsb test suit
version. Because when install the suit, it warns that need lsb
version >= 3.0 at least.

Drop the duplicated creating files under /etc/lsb-release.d.

Provides directories /etc/opt and /var/opt that they are required by
package lsb-dist-checker in lsb test suit.

(From OE-Core rev: 973e615ab4ee325ab568f84e001a5724f4b0dd01)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:48 +01:00
Kang Kai
71749200ea ltp: update
Update to latest version 20120903

(From OE-Core rev: e14a9921928c774d1817704a0a606d3ac7e4f989)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:47 +01:00
Veerabrahmam vr
3526308ddd qemuimagetest: modifying the scenario file as per new test cases
modified scenario files.

(From OE-Core rev: dfd2ead41846c568d251a47c4baa2d9666e0c98f)

Signed-off-by: veerabrahmam <veerabrahmamvr@huawei.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:47 +01:00
Veerabrahmam vr
913e2e2ef9 qemuimagetest: add basic function to check syslogd
one test case to check syslogd is executing on target.

(From OE-Core rev: 9286ea7a4eb85ba559d48135458f3b94da7a3866)

Signed-off-by: veerabrahmam <veerabrahmamvr@huawei.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:47 +01:00
Veerabrahmam vr
fe4dcbb252 qemuimagetest: add basic function to check enough disk space
one test case to check disk space availability.

(From OE-Core rev: d7b549a72a91db41d8b7084b4b3efa162a62a880)

Signed-off-by: veerabrahmam <veerabrahmamvr@huawei.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:46 +01:00
Veerabrahmam vr
ea55ec97c0 qemuimagetest: basic function to check bash exists
one test case to check  bash command availability on qemu target.

 Signed-off-by: veerabrahmam <veerabrahmamvr@huawei.com>

(From OE-Core rev: 357478b624b27fdfce25b6064b0f64717db75fa6)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:46 +01:00
Robert Yang
208ff62db4 bin_package.bbclass: binary package recipe class
This is used for the binary package recipe, it's been suggested that it
would be a useful feature to be able to easily take an RPM or similar
containing a software binary from a 3rd party software vendor and
integrate it into an image created by the build system.

* Brief introduction
  - The binary pkg can be .rpm, .deb, .ipk and other formats which can
    be unpacked by bitbake fetcher.

  - Let bitbake unpack the bianry package, just like unpack the source
    package.

  - Skip the do_configure and do_compile.

  - Install the files to ${D}

  - Other steps are similar to the source package's recipe.

* Note:
  - The "subdir" parameter in the SRC_URI is useful for the binary
    package recipe, so I added an example in the comment.

  - I have sent a patch to bitbake-devel mailing list to support
    unpack the .rpm, .ipk, and .deb files.

[YOCTO #1592]

(From OE-Core rev: 7037f52909b8226d2afed4ac73c902d410afc112)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:46 +01:00
Robert Yang
4a015e57cc package_rpm.bbclass: fix the arch (replace "-" with "_")
rpm can't use the "-" as the arch, which causes problem, e.g., when
MACHINE = "beagleboard":

* The arch should be armv7a-vfp-neon, but rpm only takes the armv7a,
  this is incorrect since it is mixed with real arch armv7a.

* The nativesdk's arch should be i686-nativesdk (or x86_64-nativesdk),
  but rpm only takes the i686 (or x86_64), this in incorrect since it is
  mixed with the arch i686 (or x86_64).

Replace "-" with "_" when rpm package and the rootfs generation would
fix the problem, I think this is fine since it doesn't change the tune's
arch, the package manager doesn't care about the arch's name, but it
needs a unify arch system to avoid confusing. This is similar to what we
have done on the deb which fixed the arch i486, i586 and so on to i386.

[YOCTO #2328]

(From OE-Core rev: fc985f511da86400e4fa7d17555216c12eb51666)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:45 +01:00
Saul Wold
d011150949 distrodata: replace Tab with Space
(From OE-Core rev: adb241958f125cc4c74ac5fbfc00674e7cd7305d)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:45 +01:00
Paul Eggleton
cfa6817dd9 classes/mirrors: remove bogus gnutls mirror
This mirror entry which maps to itself plus a slash, if matched, put the
fetcher into a circular loop until the stack space is exhausted. A patch
has been sent to fix this issue in BitBake, but we should remove the
bogus entry as well.

(Note that this entry does not actually trigger the issue with current
master because the gnutls recipe now uses GNU_MIRROR instead of
ftp.gnutls.org, thus the bogus mirror entry is not matched.)

(From OE-Core rev: 0de1827a9601143b090f751ea702fdb65a936b77)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-10 13:01:45 +01:00
Paul Eggleton
5343cdb20e bitbake: fetch2: replace double slashes in paths in encodeurl()
This ensures that if all a MIRRORS entry does is add a slash, this does
not result in a circular loop.

Fixes [YOCTO #3073].

(Bitbake rev: 57055d337a2c9997a6e5d5bdabaec396e3e128e9)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-07 14:50:04 +01:00
Cristiana Voicu
572851887e bitbake: hob: print message when DISPLAY is not set
If DISPLAY wasn't set, launching hob has printed a traceback
difficult to understand. Now, the exception is caught and it
shows a human message.

[YOCTO #2596]

(Bitbake rev: a41098a2dacbd903422ccdcd1885b0f351c7ddf3)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-07 14:43:51 +01:00
Liming An
95ae927dfc bitbake: Hob: change view of 'recipes' and 'packages' tables as ui design
changed the order of task tables,
cancel the 'description' column,
add the binb total number indicator, and so on

[YOCTO 2195]

(Bitbake rev: 6dc3263d60a6d35f9eebfcdbc2665201ee40b953)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-07 12:13:53 +01:00
Bruce Ashfield
a32f551c96 mpc8315e-rdb: switch to ppce300c3 tuning
It has been pointed out several times that the mpc8315e-rdb is a
ppce300c3 board, and should be using a different tuning than it's
current ppc603e.

This switching the default tuning of the board to the newly introduced
ppce300c3 tuning in oe-core.

[YOCTO #1192]

(From meta-yocto rev: 884e796ea85f7dd064f83c90b439b0e863e28c57)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-07 12:10:45 +01:00
Paul Eggleton
e58eb8cbb0 bitbake: bitbake-diffsigs: allow specifying task & follow deps recursively
Add the ability to compare the two most recent runs of a specified task,
and follow dependent hash changes recursively. This enables you to trace
back and find exactly why a task was re-run after the fact.

Note that this relies on the metadata providing a function, hooked in
as bb.siggen.find_siginfo, which allows searching in the appropriate
places to find signature data files.

(Bitbake rev: cc70181659c07e04c205e17832846acf1ff31d28)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-07 12:10:45 +01:00
Paul Eggleton
d5226c96d3 bitbake: lib/bb/siggen.py: make signature dump/compare functions return a list
These functions become a little bit more reusable if they return a list
containing the output rather than just printing it.

(Bitbake rev: a0ad2a947b71abcc0a1244cf139b9e9dfd8ee049)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-07 12:10:44 +01:00
Paul Eggleton
19d0abe14c bitbake: lib/bb/siggen.py: insert a colon between class and recipe name
before:
  virtual:nativeautomake_1.12.1.bb.do_compile
after:
  virtual:native:automake_1.12.1.bb.do_compile

This separation ensures that the key is readable, and if necessary,
parsable.

Unfortunately this invalidates previous native sstate signatures with
OE-Core - not much that can be done about that; however that occurs
frequently during the development cycle so it's par for the course.

(Bitbake rev: 5b96c32dad256090e9bda5af0f80c7dbcc90bde8)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-07 12:10:44 +01:00
Paul Eggleton
b7bd852db1 bitbake: lib/bb/siggen: replace tabs with spaces
We had one section of the code mixing tabs with spaces, which is
particularly undesirable with python code.

(Bitbake rev: 8eaa093b179e03a6003a47220540b1bc73afca17)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-07 12:10:44 +01:00
Paul Eggleton
56a66a1fab bitbake: tinfoil: create simple interface for bitbake-based utilities
The code to initialise BitBake within bitbake-layers should be useful
for other utilities that need to query configuration or recipe
information, so refactor it out into its own class, "Tinfoil" (to
continue with our cooking metaphor).

(Bitbake rev: e5707e3938ace47c4a8d1fa2e81583fd4dc6b95d)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-07 12:10:43 +01:00
Bogdan Marinescu
e8d87846e3 bitbake: crumbs/hig: Save toolchain in settings
Toolchain was not saved in the settings dialog ("Output" tab).

[YOCTO #2695]

(Bitbake rev: f8924b75d6ff7f093d73f4e3c0953e349960d5ff)

Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-07 12:10:43 +01:00
Cristiana Voicu
e2b0eaef93 bitbake: hob: The 'run image' and 'deploy image' dialogs text and alignment corrections
-changed the text shown by both dialogs text
-make small tweaks to alignment

[YOCTO #2999]

(Bitbake rev: b193db13472908b8ec6c670da96ff3b0004e635b)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-07 12:10:43 +01:00
Cristiana Voicu
ed17f44da6 bitbake: hob/imagedetailspage: "Image ready" icon appers only after the image was generated
Now, "Your image is ready" icon doesn't appear when you come back on Imagedetails
page. It appears only after the image was generated.

[YOCTO #2984]

(Bitbake rev: de29bfc163471e4959483493a5e5b26f8a2cf8a0)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-07 12:10:43 +01:00
Ioana Grigoropol
40d55d37b6 bitbake: hobwidget: Button theme is taken from host, fix
- All buttons in the interface inherit a BaseHobButton that
  use the gtk settings for buttons from the host;
- Removed 'or' label between actions on image details page

[Yocto #3011]

(Bitbake rev: 1a8356b57f906cf575612eb52fc8d3a9824ff9a7)

Signed-off-by: Ioana Grigoropol <ioanax.grigoropol@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-07 12:10:42 +01:00
Robert Yang
7d8b49cfe4 bitbake: fetch2: unpack rpm, ipk and deb binary package
* Unpack the ".rpm" binary package (only .src.rpm in the past)

* Unpack the .deb and .ipk binary package, their unpack commands are the same.

* This is useful for binary package recipe.

[YOCTO #1592]

(Bitbake rev: de7ceb9459574f33920ccc06255b533434f0ec25)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-07 12:10:42 +01:00
Cristiana Voicu
399d7f2029 bitbake: hob/recipe&packageselectionpage: Change "Back" button to "Cancel" button
"Back" button placed on RecipeSelectionPage and PackageSelectionPage
was changed to "Cancel" button to avoid any confusion.
Also, it was placed next to the other buttons on the page.

[YOCTO #3012]

(Bitbake rev: 1785b49a1b0b9698851d6e8aea94d1d2aa22c445)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-07 12:10:42 +01:00
Cristiana Voicu
34c4b3a93d bitbake: hob/imageconfigurationpage: Set secondary action for "Edit image" button
The image configuration screen should have only one primary action.
"Edit image" button has now secondary action, and also I have removed
"or" label.

[YOCTO #3010]

(Bitbake rev: f54191dac18b4e1100944cc6da86705c1e9c1683)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-07 12:10:41 +01:00
Cristiana Voicu
0edb99f38a bitbake: hob/packageselectionpage: Add tooltips to 'Included' and 'All packages' tab and 'Search' field
For the 'Included' tab: "The packages currently included for your image"
For the 'All packages' tab: "All packages that have been built"
For the 'Search' field: "Enter a package name to find it"

[YOCTO #2322]

(Bitbake rev: 0828f352419127fb30dc4eb5f91feba84ea59202)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-07 12:10:41 +01:00
Cristiana Voicu
b2e2badd51 bitbake: hob/packageselectionpage: Correctly restore previously selected packages
"Back" button from "Packageselection" page now restores correctly previously
selected packages list. Till now "Back" button was implemented just to switch
pages, not to cancel changes you have made to packages list.

[YOCTO #2984]

(Bitbake rev: 1ad03d6a327eb3389f7b4d0d74d2e8ae8b50c3b6)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-07 12:10:41 +01:00
Kang Kai
c8db2f66de bitbake: hob2: remove class hcc
Because class hcc is useless, remove it.

(Bitbake rev: 08d4a0f76542e05755c298b3875ea373e5512e13)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-07 12:10:40 +01:00
Kang Kai
da98eddd02 bitbake: hob2: remove the hard-coded images map
[Yocto #2795]

When a new image type added, the hob will crash because the new type is
not in the hard-coded image dictionary.

For most of the image types, they are same with the image file's
extension name. So use variable "IMAGE_EXTENSION_difftype" to map the
image type which is diff with the image file extension name, such as
type "live". And the variable(s) will be set in image_types.bbclass.

(Bitbake rev: e7c84f056af9c613920d5adcd078a011e0387193)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-07 12:10:40 +01:00
Kang Kai
15abf2571c image_types.bbclass: add variable for Hob
Add a new variable "IMAGE_EXTENSION_live" for Hob to map image type
"live" with real image file extension names.

This is for Hob to remove the hard-coded maps.

(From OE-Core rev: fe0973df7c72b1acec7feae03a4e13c1f49c8b1f)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-07 12:10:40 +01:00
Martin Ertsaas
1bb35c966e rsync: Add md5sum and sha256sum for the rsync_2.6.9
rsync_2.6.9 is the only rsync recipe in openembedded without GPLv3 license, but it lacked the
checksums for the fetcher.

(From OE-Core rev: 1016edcadb22c1655e1a902601118ec3c7332fea)

Signed-off-by: Martin Ertsaas <mertsas@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-07 12:10:39 +01:00
Bruce Ashfield
72dc770cd9 conf/tune: add tune-ppce300c3
It has been pointed out several times that the yocto mpc8315e-rdb
reference was using the wrong tuning (603e), since it is actually
a e300c3 board.

This commit creates a e300c3 tune file based on the e300c2 variant
already in oe-core.

This commit also inhibits altivec in flac when this new tuning is
enabled and used by the mpc8315e-rdb

[YOCTO #1192]

(From OE-Core rev: 8663c7ba0530eb36728fe524ed0137e064cc1c5a)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-07 12:10:39 +01:00
597 changed files with 20728 additions and 14624 deletions

View File

@@ -40,9 +40,17 @@ from bb import cooker
from bb import ui
from bb import server
__version__ = "1.15.3"
__version__ = "1.16.0"
logger = logging.getLogger("BitBake")
# Unbuffer stdout to avoid log truncation in the event
# of an unorderly exit as well as to provide timely
# updates to log files for use with tail
try:
if sys.stdout.name == '<stdout>':
sys.stdout = os.fdopen(sys.stdout.fileno(), 'w', 0)
except:
pass
class BBConfiguration(object):
"""
@@ -174,6 +182,8 @@ Default BBFILES are the .bb files in the current directory.""")
parser.add_option("-B", "--bind", help = "The name/address for the bitbake server to bind to",
action = "store", dest = "bind", default = False)
parser.add_option("", "--no-setscene", help = "Do not run any setscene tasks, forces builds",
action = "store_true", dest = "nosetscene", default = False)
options, args = parser.parse_args(sys.argv)
configuration = BBConfiguration(options)

View File

@@ -1,12 +1,102 @@
#!/usr/bin/env python
# bitbake-diffsigs
# BitBake task signature data comparison utility
#
# 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.
import os
import sys
import warnings
import fnmatch
import optparse
import logging
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), 'lib'))
import bb.tinfoil
import bb.siggen
if len(sys.argv) > 2:
bb.siggen.compare_sigfiles(sys.argv[1], sys.argv[2])
logger = logging.getLogger('BitBake')
def find_compare_task(bbhandler, pn, taskname):
""" Find the most recent signature files for the specified PN/task and compare them """
if not hasattr(bb.siggen, 'find_siginfo'):
logger.error('Metadata does not support finding signature data files')
sys.exit(1)
filedates = bb.siggen.find_siginfo(pn, taskname, None, bbhandler.config_data)
latestfiles = sorted(filedates.keys(), key=lambda f: filedates[f])[-2:]
if not latestfiles:
logger.error('No sigdata files found matching %s %s' % (pn, taskname))
sys.exit(1)
elif len(latestfiles) < 2:
logger.error('Only one matching sigdata file found for the specified task (%s %s)' % (pn, taskname))
sys.exit(1)
else:
# Define recursion callback
def recursecb(key, hash1, hash2):
hashes = [hash1, hash2]
hashfiles = bb.siggen.find_siginfo(key, None, hashes, bbhandler.config_data)
recout = []
if len(hashfiles) == 2:
out2 = bb.siggen.compare_sigfiles(hashfiles[hash1], hashfiles[hash2], recursecb)
recout.extend(list(' ' + l for l in out2))
else:
recout.append("Unable to find matching sigdata for %s with hashes %s or %s" % (key, hash1, hash2))
return recout
# Recurse into signature comparison
output = bb.siggen.compare_sigfiles(latestfiles[0], latestfiles[1], recursecb)
if output:
print '\n'.join(output)
sys.exit(0)
parser = optparse.OptionParser(
usage = """
%prog -t recipename taskname
%prog sigdatafile1 sigdatafile2
%prog sigdatafile1""")
parser.add_option("-t", "--task",
help = "find the signature data files for last two runs of the specified task and compare them",
action="store_true", dest="taskmode")
options, args = parser.parse_args(sys.argv)
if len(args) == 1:
parser.print_help()
else:
bb.siggen.dump_sigfile(sys.argv[1])
tinfoil = bb.tinfoil.Tinfoil()
if options.taskmode:
if len(args) < 3:
logger.error("Please specify a recipe and task name")
sys.exit(1)
tinfoil.prepare(config_only = True)
find_compare_task(tinfoil, args[1], args[2])
else:
if len(args) == 2:
output = bb.siggen.dump_sigfile(sys.argv[1])
else:
output = bb.siggen.compare_sigfiles(sys.argv[1], sys.argv[2])
if output:
print '\n'.join(output)

View File

@@ -6,4 +6,6 @@ sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(sys.argv[0])), '
import bb.siggen
bb.siggen.dump_sigfile(sys.argv[1])
output = bb.siggen.dump_sigfile(sys.argv[1])
if output:
print '\n'.join(output)

View File

@@ -6,10 +6,22 @@
# Copyright (C) 2011 Mentor Graphics Corporation
# 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.
import cmd
import logging
import warnings
import os
import sys
import fnmatch
@@ -23,26 +35,14 @@ import bb.cache
import bb.cooker
import bb.providers
import bb.utils
from bb.cooker import state
import bb.fetch2
import bb.tinfoil
logger = logging.getLogger('BitBake')
warnings.filterwarnings("ignore", category=DeprecationWarning)
def main(args):
# Set up logging
console = logging.StreamHandler(sys.stdout)
format = bb.msg.BBLogFormatter("%(levelname)s: %(message)s")
bb.msg.addDefaultlogFilter(console)
console.setFormatter(format)
logger.addHandler(console)
initialenv = os.environ.copy()
bb.utils.clean_environment()
cmds = Commands(initialenv)
cmds = Commands()
if args:
# Allow user to specify e.g. show-layers instead of show_layers
args = [args[0].replace('-', '_')] + args[1:]
@@ -53,46 +53,11 @@ def main(args):
class Commands(cmd.Cmd):
def __init__(self, initialenv):
def __init__(self):
cmd.Cmd.__init__(self)
self.bbhandler = bb.tinfoil.Tinfoil()
self.returncode = 0
self.config = Config(parse_only=True)
self.cooker = bb.cooker.BBCooker(self.config,
self.register_idle_function,
initialenv)
self.config_data = self.cooker.configuration.data
bb.providers.logger.setLevel(logging.ERROR)
self.cooker_data = None
self.bblayers = (self.config_data.getVar('BBLAYERS', True) or "").split()
def register_idle_function(self, function, data):
pass
def prepare_cooker(self):
sys.stderr.write("Parsing recipes..")
logger.setLevel(logging.WARNING)
try:
while self.cooker.state in (state.initial, state.parsing):
self.cooker.updateCache()
except KeyboardInterrupt:
self.cooker.shutdown()
self.cooker.updateCache()
sys.exit(2)
logger.setLevel(logging.INFO)
sys.stderr.write("done.\n")
self.cooker_data = self.cooker.status
self.cooker_data.appends = self.cooker.appendlist
def check_prepare_cooker(self, config_only = False):
if not self.cooker_data:
if config_only:
self.cooker.parseConfiguration()
self.cooker_data = self.cooker.status
else:
self.prepare_cooker()
self.bblayers = (self.bbhandler.config_data.getVar('BBLAYERS', True) or "").split()
def default(self, line):
"""Handle unrecognised commands"""
@@ -117,13 +82,13 @@ class Commands(cmd.Cmd):
def do_show_layers(self, args):
"""show current configured layers"""
self.check_prepare_cooker(config_only = True)
self.bbhandler.prepare(config_only = True)
logger.plain("%s %s %s" % ("layer".ljust(20), "path".ljust(40), "priority"))
logger.plain('=' * 74)
for layerdir in self.bblayers:
layername = self.get_layer_name(layerdir)
layerpri = 0
for layer, _, regex, pri in self.cooker.status.bbfile_config_priorities:
for layer, _, regex, pri in self.bbhandler.cooker.status.bbfile_config_priorities:
if regex.match(os.path.join(layerdir, 'test')):
layerpri = pri
break
@@ -154,7 +119,7 @@ Options:
recipes with the ones they overlay indented underneath
-s only list overlayed recipes where the version is the same
"""
self.check_prepare_cooker()
self.bbhandler.prepare()
show_filenames = False
show_same_ver_only = False
@@ -186,7 +151,7 @@ Options:
# factor - however, each layer.conf is free to either prepend or append to
# BBPATH (or indeed do crazy stuff with it). Thus the order in BBPATH might
# not be exactly the order present in bblayers.conf either.
bbpath = str(self.config_data.getVar('BBPATH', True))
bbpath = str(self.bbhandler.config_data.getVar('BBPATH', True))
overlayed_class_found = False
for (classfile, classdirs) in classes.items():
if len(classdirs) > 1:
@@ -237,7 +202,7 @@ Options:
-m only list where multiple recipes (in the same layer or different
layers) exist for the same recipe name
"""
self.check_prepare_cooker()
self.bbhandler.prepare()
show_filenames = False
show_multi_provider_only = False
@@ -259,15 +224,15 @@ Options:
def list_recipes(self, title, pnspec, show_overlayed_only, show_same_ver_only, show_filenames, show_multi_provider_only):
pkg_pn = self.cooker.status.pkg_pn
(latest_versions, preferred_versions) = bb.providers.findProviders(self.cooker.configuration.data, self.cooker.status, pkg_pn)
allproviders = bb.providers.allProviders(self.cooker.status)
pkg_pn = self.bbhandler.cooker.status.pkg_pn
(latest_versions, preferred_versions) = bb.providers.findProviders(self.bbhandler.cooker.configuration.data, self.bbhandler.cooker.status, pkg_pn)
allproviders = bb.providers.allProviders(self.bbhandler.cooker.status)
# Ensure we list skipped recipes
# We are largely guessing about PN, PV and the preferred version here,
# but we have no choice since skipped recipes are not fully parsed
skiplist = self.cooker.skiplist.keys()
skiplist.sort( key=lambda fileitem: self.cooker.calc_bbfile_priority(fileitem) )
skiplist = self.bbhandler.cooker.skiplist.keys()
skiplist.sort( key=lambda fileitem: self.bbhandler.cooker.calc_bbfile_priority(fileitem) )
skiplist.reverse()
for fn in skiplist:
recipe_parts = os.path.splitext(os.path.basename(fn))[0].split('_')
@@ -375,7 +340,7 @@ build results (as the layer priority order has effectively changed).
logger.error('Directory %s exists and is non-empty, please clear it out first' % outputdir)
return
self.check_prepare_cooker()
self.bbhandler.prepare()
layers = self.bblayers
if len(arglist) > 2:
layernames = arglist[:-1]
@@ -405,8 +370,8 @@ build results (as the layer priority order has effectively changed).
appended_recipes = []
for layer in layers:
overlayed = []
for f in self.cooker.overlayed.iterkeys():
for of in self.cooker.overlayed[f]:
for f in self.bbhandler.cooker.overlayed.iterkeys():
for of in self.bbhandler.cooker.overlayed[f]:
if of.startswith(layer):
overlayed.append(of)
@@ -430,8 +395,8 @@ build results (as the layer priority order has effectively changed).
logger.warn('Overwriting file %s', fdest)
bb.utils.copyfile(f1full, fdest)
if ext == '.bb':
if f1 in self.cooker_data.appends:
appends = self.cooker_data.appends[f1]
if f1 in self.bbhandler.cooker.appendlist:
appends = self.bbhandler.cooker.appendlist[f1]
if appends:
logger.plain(' Applying appends to %s' % fdest )
for appendname in appends:
@@ -440,9 +405,9 @@ build results (as the layer priority order has effectively changed).
appended_recipes.append(f1)
# Take care of when some layers are excluded and yet we have included bbappends for those recipes
for recipename in self.cooker_data.appends.iterkeys():
for recipename in self.bbhandler.cooker.appendlist.iterkeys():
if recipename not in appended_recipes:
appends = self.cooker_data.appends[recipename]
appends = self.bbhandler.cooker.appendlist[recipename]
first_append = None
for appendname in appends:
layer = layer_path_match(appendname)
@@ -460,14 +425,14 @@ build results (as the layer priority order has effectively changed).
# have come from)
first_regex = None
layerdir = layers[0]
for layername, pattern, regex, _ in self.cooker.status.bbfile_config_priorities:
for layername, pattern, regex, _ in self.bbhandler.cooker.status.bbfile_config_priorities:
if regex.match(os.path.join(layerdir, 'test')):
first_regex = regex
break
if first_regex:
# Find the BBFILES entries that match (which will have come from this conf/layer.conf file)
bbfiles = str(self.config_data.getVar('BBFILES', True)).split()
bbfiles = str(self.bbhandler.config_data.getVar('BBFILES', True)).split()
bbfiles_layer = []
for item in bbfiles:
if first_regex.match(item):
@@ -490,7 +455,7 @@ build results (as the layer priority order has effectively changed).
logger.warning("File %s does not match the flattened layer's BBFILES setting, you may need to edit conf/layer.conf or move the file elsewhere" % f1full)
def get_file_layer(self, filename):
for layer, _, regex, _ in self.cooker.status.bbfile_config_priorities:
for layer, _, regex, _ in self.bbhandler.cooker.status.bbfile_config_priorities:
if regex.match(filename):
for layerdir in self.bblayers:
if regex.match(os.path.join(layerdir, 'test')):
@@ -516,14 +481,14 @@ usage: show-appends
Recipes are listed with the bbappends that apply to them as subitems.
"""
self.check_prepare_cooker()
if not self.cooker_data.appends:
self.bbhandler.prepare()
if not self.bbhandler.cooker.appendlist:
logger.plain('No append files found')
return
logger.plain('=== Appended recipes ===')
pnlist = list(self.cooker_data.pkg_pn.keys())
pnlist = list(self.bbhandler.cooker_data.pkg_pn.keys())
pnlist.sort()
for pn in pnlist:
self.show_appends_for_pn(pn)
@@ -531,19 +496,19 @@ Recipes are listed with the bbappends that apply to them as subitems.
self.show_appends_for_skipped()
def show_appends_for_pn(self, pn):
filenames = self.cooker_data.pkg_pn[pn]
filenames = self.bbhandler.cooker_data.pkg_pn[pn]
best = bb.providers.findBestProvider(pn,
self.cooker.configuration.data,
self.cooker_data,
self.cooker_data.pkg_pn)
self.bbhandler.cooker.configuration.data,
self.bbhandler.cooker_data,
self.bbhandler.cooker_data.pkg_pn)
best_filename = os.path.basename(best[3])
self.show_appends_output(filenames, best_filename)
def show_appends_for_skipped(self):
filenames = [os.path.basename(f)
for f in self.cooker.skiplist.iterkeys()]
for f in self.bbhandler.cooker.skiplist.iterkeys()]
self.show_appends_output(filenames, None, " (skipped)")
def show_appends_output(self, filenames, best_filename, name_suffix = ''):
@@ -569,7 +534,7 @@ Recipes are listed with the bbappends that apply to them as subitems.
continue
basename = os.path.basename(filename)
appends = self.cooker_data.appends.get(basename)
appends = self.bbhandler.cooker.appendlist.get(basename)
if appends:
appended.append((basename, list(appends)))
else:
@@ -577,22 +542,5 @@ Recipes are listed with the bbappends that apply to them as subitems.
return appended, notappended
class Config(object):
def __init__(self, **options):
self.pkgs_to_build = []
self.debug_domains = []
self.extra_assume_provided = []
self.prefile = []
self.postfile = []
self.debug = 0
self.__dict__.update(options)
def __getattr__(self, attribute):
try:
return super(Config, self).__getattribute__(attribute)
except AttributeError:
return None
if __name__ == '__main__':
sys.exit(main(sys.argv[1:]) or 0)

View File

@@ -21,7 +21,7 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
__version__ = "1.15.3"
__version__ = "1.16.0"
import sys
if sys.version_info < (2, 6, 0):

View File

@@ -470,11 +470,40 @@ def stamp_internal(taskname, d, file_name):
return stamp
def stamp_cleanmask_internal(taskname, d, file_name):
"""
Internal stamp helper function to generate stamp cleaning mask
Returns the stamp path+filename
In the bitbake core, d can be a CacheData and file_name will be set.
When called in task context, d will be a data store, file_name will not be set
"""
taskflagname = taskname
if taskname.endswith("_setscene") and taskname != "do_setscene":
taskflagname = taskname.replace("_setscene", "")
if file_name:
stamp = d.stamp_base_clean[file_name].get(taskflagname) or d.stampclean[file_name]
extrainfo = d.stamp_extrainfo[file_name].get(taskflagname) or ""
else:
stamp = d.getVarFlag(taskflagname, 'stamp-base-clean', True) or d.getVar('STAMPCLEAN', True)
file_name = d.getVar('BB_FILENAME', True)
extrainfo = d.getVarFlag(taskflagname, 'stamp-extra-info', True) or ""
if not stamp:
return
return bb.parse.siggen.stampcleanmask(stamp, file_name, taskname, extrainfo)
def make_stamp(task, d, file_name = None):
"""
Creates/updates a stamp for a given task
(d can be a data dict or dataCache)
"""
cleanmask = stamp_cleanmask_internal(task, d, file_name)
if cleanmask:
bb.utils.remove(cleanmask)
stamp = stamp_internal(task, d, file_name)
# Remove the file and recreate to force timestamp
# change on broken NFS filesystems

View File

@@ -43,7 +43,7 @@ except ImportError:
logger.info("Importing cPickle failed. "
"Falling back to a very slow implementation.")
__cache_version__ = "144"
__cache_version__ = "145"
def getCacheFile(path, filename, data_hash):
return os.path.join(path, filename + "." + data_hash)
@@ -130,7 +130,9 @@ class CoreRecipeInfo(RecipeInfoCommon):
self.broken = self.getvar('BROKEN', metadata)
self.not_world = self.getvar('EXCLUDE_FROM_WORLD', metadata)
self.stamp = self.getvar('STAMP', metadata)
self.stampclean = self.getvar('STAMPCLEAN', metadata)
self.stamp_base = self.flaglist('stamp-base', self.tasks, metadata)
self.stamp_base_clean = self.flaglist('stamp-base-clean', self.tasks, metadata)
self.stamp_extrainfo = self.flaglist('stamp-extra-info', self.tasks, metadata)
self.file_checksums = self.flaglist('file-checksums', self.tasks, metadata, True)
self.packages_dynamic = self.listvar('PACKAGES_DYNAMIC', metadata)
@@ -157,7 +159,9 @@ class CoreRecipeInfo(RecipeInfoCommon):
cachedata.pkg_dp = {}
cachedata.stamp = {}
cachedata.stampclean = {}
cachedata.stamp_base = {}
cachedata.stamp_base_clean = {}
cachedata.stamp_extrainfo = {}
cachedata.file_checksums = {}
cachedata.fn_provides = {}
@@ -189,7 +193,9 @@ class CoreRecipeInfo(RecipeInfoCommon):
cachedata.pkg_pepvpr[fn] = (self.pe, self.pv, self.pr)
cachedata.pkg_dp[fn] = self.defaultpref
cachedata.stamp[fn] = self.stamp
cachedata.stampclean[fn] = self.stampclean
cachedata.stamp_base[fn] = self.stamp_base
cachedata.stamp_base_clean[fn] = self.stamp_base_clean
cachedata.stamp_extrainfo[fn] = self.stamp_extrainfo
cachedata.file_checksums[fn] = self.file_checksums

View File

@@ -157,7 +157,7 @@ class CommandsSync:
Set the value of variable in configuration.data
"""
varname = params[0]
value = params[1]
value = str(params[1])
command.cooker.configuration.data.setVar(varname, value)
def initCooker(self, command, params):

View File

@@ -1,5 +1,11 @@
"""Code pulled from future python versions, here for compatibility"""
from collections import MutableMapping, KeysView, ValuesView, ItemsView
try:
from thread import get_ident as _get_ident
except ImportError:
from dummy_thread import get_ident as _get_ident
def total_ordering(cls):
"""Class decorator that fills in missing ordering methods"""
convert = {
@@ -26,3 +32,210 @@ def total_ordering(cls):
opfunc.__doc__ = getattr(int, opname).__doc__
setattr(cls, opname, opfunc)
return cls
class OrderedDict(dict):
'Dictionary that remembers insertion order'
# An inherited dict maps keys to values.
# The inherited dict provides __getitem__, __len__, __contains__, and get.
# The remaining methods are order-aware.
# Big-O running times for all methods are the same as regular dictionaries.
# The internal self.__map dict maps keys to links in a doubly linked list.
# The circular doubly linked list starts and ends with a sentinel element.
# The sentinel element never gets deleted (this simplifies the algorithm).
# Each link is stored as a list of length three: [PREV, NEXT, KEY].
def __init__(self, *args, **kwds):
'''Initialize an ordered dictionary. The signature is the same as
regular dictionaries, but keyword arguments are not recommended because
their insertion order is arbitrary.
'''
if len(args) > 1:
raise TypeError('expected at most 1 arguments, got %d' % len(args))
try:
self.__root
except AttributeError:
self.__root = root = [] # sentinel node
root[:] = [root, root, None]
self.__map = {}
self.__update(*args, **kwds)
def __setitem__(self, key, value, PREV=0, NEXT=1, dict_setitem=dict.__setitem__):
'od.__setitem__(i, y) <==> od[i]=y'
# Setting a new item creates a new link at the end of the linked list,
# and the inherited dictionary is updated with the new key/value pair.
if key not in self:
root = self.__root
last = root[PREV]
last[NEXT] = root[PREV] = self.__map[key] = [last, root, key]
dict_setitem(self, key, value)
def __delitem__(self, key, PREV=0, NEXT=1, dict_delitem=dict.__delitem__):
'od.__delitem__(y) <==> del od[y]'
# Deleting an existing item uses self.__map to find the link which gets
# removed by updating the links in the predecessor and successor nodes.
dict_delitem(self, key)
link_prev, link_next, key = self.__map.pop(key)
link_prev[NEXT] = link_next
link_next[PREV] = link_prev
def __iter__(self):
'od.__iter__() <==> iter(od)'
# Traverse the linked list in order.
NEXT, KEY = 1, 2
root = self.__root
curr = root[NEXT]
while curr is not root:
yield curr[KEY]
curr = curr[NEXT]
def __reversed__(self):
'od.__reversed__() <==> reversed(od)'
# Traverse the linked list in reverse order.
PREV, KEY = 0, 2
root = self.__root
curr = root[PREV]
while curr is not root:
yield curr[KEY]
curr = curr[PREV]
def clear(self):
'od.clear() -> None. Remove all items from od.'
for node in self.__map.itervalues():
del node[:]
root = self.__root
root[:] = [root, root, None]
self.__map.clear()
dict.clear(self)
# -- the following methods do not depend on the internal structure --
def keys(self):
'od.keys() -> list of keys in od'
return list(self)
def values(self):
'od.values() -> list of values in od'
return [self[key] for key in self]
def items(self):
'od.items() -> list of (key, value) pairs in od'
return [(key, self[key]) for key in self]
def iterkeys(self):
'od.iterkeys() -> an iterator over the keys in od'
return iter(self)
def itervalues(self):
'od.itervalues -> an iterator over the values in od'
for k in self:
yield self[k]
def iteritems(self):
'od.iteritems -> an iterator over the (key, value) pairs in od'
for k in self:
yield (k, self[k])
update = MutableMapping.update
__update = update # let subclasses override update without breaking __init__
__marker = object()
def pop(self, key, default=__marker):
'''od.pop(k[,d]) -> v, remove specified key and return the corresponding
value. If key is not found, d is returned if given, otherwise KeyError
is raised.
'''
if key in self:
result = self[key]
del self[key]
return result
if default is self.__marker:
raise KeyError(key)
return default
def setdefault(self, key, default=None):
'od.setdefault(k[,d]) -> od.get(k,d), also set od[k]=d if k not in od'
if key in self:
return self[key]
self[key] = default
return default
def popitem(self, last=True):
'''od.popitem() -> (k, v), return and remove a (key, value) pair.
Pairs are returned in LIFO order if last is true or FIFO order if false.
'''
if not self:
raise KeyError('dictionary is empty')
key = next(reversed(self) if last else iter(self))
value = self.pop(key)
return key, value
def __repr__(self, _repr_running={}):
'od.__repr__() <==> repr(od)'
call_key = id(self), _get_ident()
if call_key in _repr_running:
return '...'
_repr_running[call_key] = 1
try:
if not self:
return '%s()' % (self.__class__.__name__,)
return '%s(%r)' % (self.__class__.__name__, self.items())
finally:
del _repr_running[call_key]
def __reduce__(self):
'Return state information for pickling'
items = [[k, self[k]] for k in self]
inst_dict = vars(self).copy()
for k in vars(OrderedDict()):
inst_dict.pop(k, None)
if inst_dict:
return (self.__class__, (items,), inst_dict)
return self.__class__, (items,)
def copy(self):
'od.copy() -> a shallow copy of od'
return self.__class__(self)
@classmethod
def fromkeys(cls, iterable, value=None):
'''OD.fromkeys(S[, v]) -> New ordered dictionary with keys from S.
If not specified, the value defaults to None.
'''
self = cls()
for key in iterable:
self[key] = value
return self
def __eq__(self, other):
'''od.__eq__(y) <==> od==y. Comparison to another OD is order-sensitive
while comparison to a regular mapping is order-insensitive.
'''
if isinstance(other, OrderedDict):
return len(self)==len(other) and self.items() == other.items()
return dict.__eq__(self, other)
def __ne__(self, other):
'od.__ne__(y) <==> od!=y'
return not self == other
# -- the following methods support python 3.x style dictionary views --
def viewkeys(self):
"od.viewkeys() -> a set-like object providing a view on od's keys"
return KeysView(self)
def viewvalues(self):
"od.viewvalues() -> an object providing a view on od's values"
return ValuesView(self)
def viewitems(self):
"od.viewitems() -> a set-like object providing a view on od's items"
return ItemsView(self)

View File

@@ -278,8 +278,8 @@ class BBCooker:
pkg_pn = self.status.pkg_pn
(latest_versions, preferred_versions) = bb.providers.findProviders(self.configuration.data, self.status, pkg_pn)
logger.plain("%-35s %25s %25s", "Package Name", "Latest Version", "Preferred Version")
logger.plain("%-35s %25s %25s\n", "============", "==============", "=================")
logger.plain("%-35s %25s %25s", "Recipe Name", "Latest Version", "Preferred Version")
logger.plain("%-35s %25s %25s\n", "===========", "==============", "=================")
for p in sorted(pkg_pn):
pref = preferred_versions[p]
@@ -642,7 +642,8 @@ class BBCooker:
# Calculate priorities for each file
matched = set()
for p in self.status.pkg_fn:
self.status.bbfile_priority[p] = self.calc_bbfile_priority(p, matched)
realfn, cls = bb.cache.Cache.virtualfn2realfn(p)
self.status.bbfile_priority[p] = self.calc_bbfile_priority(realfn, matched)
# Don't show the warning if the BBFILE_PATTERN did match .bbappend files
unmatched = set()
@@ -938,13 +939,13 @@ class BBCooker:
errors = True
continue
if lver <> depver:
parselog.error("Layer dependency %s of layer %s is at version %d, expected %d", dep, c, lver, depver)
parselog.error("Layer '%s' depends on version %d of layer '%s', but version %d is enabled in your configuration", c, depver, dep, lver)
errors = True
else:
parselog.error("Layer dependency %s of layer %s has no version, expected %d", dep, c, depver)
parselog.error("Layer '%s' depends on version %d of layer '%s', which exists in your configuration but does not specify a version", c, depver, dep)
errors = True
else:
parselog.error("Layer dependency %s of layer %s not found", dep, c)
parselog.error("Layer '%s' depends on layer '%s', but this layer is not enabled in your configuration", c, dep)
errors = True
collection_depends[c] = depnamelist
else:
@@ -1691,8 +1692,13 @@ class CookerParser(object):
except Exception as exc:
self.error += 1
etype, value, tb = sys.exc_info()
logger.error('Unable to parse %s', value.recipe,
exc_info=(etype, value, exc.traceback))
if hasattr(value, "recipe"):
logger.error('Unable to parse %s', value.recipe,
exc_info=(etype, value, exc.traceback))
else:
# Most likely, an exception occurred during raising an exception
import traceback
logger.error('Exception during parse: %s' % traceback.format_exc())
self.shutdown(clean=False)
return False

View File

@@ -323,9 +323,8 @@ def build_dependencies(key, keys, shelldeps, vardepvals, d):
deps |= set((vardeps or "").split())
deps -= set((d.getVarFlag(key, "vardepsexclude", True) or "").split())
except:
bb.note("Error expanding variable %s" % key)
raise
except Exception as e:
raise bb.data_smart.ExpansionError(key, None, e)
return deps, value
#bb.note("Variable %s references %s and calls %s" % (key, str(deps), str(execs)))
#d.setVarFlag(key, "vardeps", deps)

View File

@@ -103,7 +103,10 @@ class ExpansionError(Exception):
self.variablename = varname
self.exception = exception
if varname:
self.msg = "Failure expanding variable %s, expression was %s which triggered exception %s: %s" % (varname, expression, type(exception).__name__, exception)
if expression:
self.msg = "Failure expanding variable %s, expression was %s which triggered exception %s: %s" % (varname, expression, type(exception).__name__, exception)
else:
self.msg = "Failure expanding variable %s: %s: %s" % (varname, type(exception).__name__, exception)
else:
self.msg = "Failure expanding expression %s which triggered exception %s: %s" % (expression, type(exception).__name__, exception)
Exception.__init__(self, self.msg)

View File

@@ -32,6 +32,7 @@ import logging
import atexit
import traceback
import bb.utils
import bb.compat
# This is the pid for which we should generate the event. This is set when
# the runqueue forks off.
@@ -53,7 +54,7 @@ Registered = 10
AlreadyRegistered = 14
# Internal
_handlers = {}
_handlers = bb.compat.OrderedDict()
_ui_handlers = {}
_ui_handler_seq = 0
@@ -104,6 +105,18 @@ def print_ui_queue():
console = logging.StreamHandler(sys.stdout)
console.setFormatter(BBLogFormatter("%(levelname)s: %(message)s"))
logger.handlers = [console]
# First check to see if we have any proper messages
msgprint = False
for event in ui_queue:
if isinstance(event, logging.LogRecord):
if event.levelno > logging.DEBUG:
logger.handle(event)
msgprint = True
if msgprint:
return
# Nope, so just print all of the messages we have (including debug messages)
for event in ui_queue:
if isinstance(event, logging.LogRecord):
logger.handle(event)
@@ -497,6 +510,15 @@ class MsgFatal(MsgBase):
class MsgPlain(MsgBase):
"""General output"""
class LogExecTTY(Event):
"""Send event containing program to spawn on tty of the logger"""
def __init__(self, msg, prog, sleep_delay, retries):
Event.__init__(self)
self.msg = msg
self.prog = prog
self.sleep_delay = sleep_delay
self.retries = retries
class LogHandler(logging.Handler):
"""Dispatch logging messages as bitbake events"""
@@ -540,6 +562,7 @@ class SanityCheckFailed(Event):
"""
Event to indicate sanity check has failed
"""
def __init__(self, msg):
def __init__(self, msg, network_error=False):
Event.__init__(self)
self._msg = msg
self._network_error = network_error

View File

@@ -54,7 +54,7 @@ class MalformedUrl(BBFetchException):
msg = "The URL: '%s' is invalid and cannot be interpreted" % url
self.url = url
BBFetchException.__init__(self, msg)
self.args = url
self.args = (url,)
class FetchError(BBFetchException):
"""General fetcher exception when something happens incorrectly"""
@@ -87,7 +87,7 @@ class NoMethodError(BBFetchException):
msg = "Could not find a fetcher which supports the URL: '%s'" % url
self.url = url
BBFetchException.__init__(self, msg)
self.args = url
self.args = (url,)
class MissingParameterError(BBFetchException):
"""Exception raised when a fetch method is missing a critical parameter in the url"""
@@ -178,6 +178,9 @@ def encodeurl(decoded):
url += "@"
if host and type != "file":
url += "%s" % host
# Standardise path to ensure comparisons work
while '//' in path:
path = path.replace("//", "/")
url += "%s" % urllib.quote(path)
if p:
for parm in p:
@@ -355,7 +358,7 @@ def verify_checksum(u, ud, d):
mismatch = True;
if mismatch:
msg = msg + '\nYour checksums:\nSRC_URI[%s] = "%s"\nSRC_URI[%s] = "%s"' % (ud.md5_name, md5data, ud.sha256_name, sha256data)
msg = msg + '\nIf this change is expected (e.g. you have upgraded to a new version without updating the checksums) then you can use these lines within the recipe:\nSRC_URI[%s] = "%s"\nSRC_URI[%s] = "%s"\nOtherwise you should retry the download and/or check with upstream to determine if the file has become corrupted or otherwise unexpectedly modified.\n' % (ud.md5_name, md5data, ud.sha256_name, sha256data)
if len(msg):
raise ChecksumError('Checksum mismatch!%s' % msg, u)
@@ -468,7 +471,13 @@ def runfetchcmd(cmd, d, quiet = False, cleanup = []):
except bb.process.NotFoundError as e:
error_message = "Fetch command %s" % (e.command)
except bb.process.ExecutionError as e:
error_message = "Fetch command %s failed with exit code %s, output:\nSTDOUT: %s\nSTDERR: %s" % (e.command, e.exitcode, e.stdout, e.stderr)
if e.stdout:
output = "output:\n%s\n%s" % (e.stdout, e.stderr)
elif e.stderr:
output = "output:\n%s" % e.stderr
else:
output = "no output"
error_message = "Fetch command failed with exit code %s, %s" % (e.exitcode, output)
except bb.process.CmdError as e:
error_message = "Fetch command %s could not be run:\n%s" % (e.command, e.msg)
if not success:
@@ -938,14 +947,16 @@ class FetchMethod(object):
if dos:
cmd = '%s -a' % cmd
cmd = "%s '%s'" % (cmd, file)
elif file.endswith('.src.rpm') or file.endswith('.srpm'):
elif file.endswith('.rpm') or file.endswith('.srpm'):
if 'extract' in urldata.parm:
unpack_file = urldata.parm.get('extract')
cmd = 'rpm2cpio.sh %s | cpio -i %s' % (file, unpack_file)
cmd = 'rpm2cpio.sh %s | cpio -id %s' % (file, unpack_file)
iterate = True
iterate_file = unpack_file
else:
cmd = 'rpm2cpio.sh %s | cpio -i' % (file)
cmd = 'rpm2cpio.sh %s | cpio -id' % (file)
elif file.endswith('.deb') or file.endswith('.ipk'):
cmd = 'ar -p %s data.tar.gz | zcat | tar --no-same-owner -xpf -' % file
if not unpack or not cmd:
# If file == dest, then avoid any copies, as we already put the file into dest!
@@ -1193,8 +1204,9 @@ class Fetch(object):
except BBFetchException as e:
if isinstance(e, ChecksumError):
logger.warn("Checksum error encountered with download (will attempt other sources): %s" % str(e))
if isinstance(e, NoChecksumError):
logger.warn("Checksum failure encountered with download of %s - will attempt other sources if available" % u)
logger.debug(1, str(e))
elif isinstance(e, NoChecksumError):
raise
else:
logger.warn('Failed to fetch URL %s, attempting MIRRORS if available' % u)
@@ -1216,6 +1228,8 @@ class Fetch(object):
except BBFetchException as e:
if isinstance(e, NoChecksumError):
logger.error("%s" % str(e))
elif isinstance(e, ChecksumError):
logger.error("Checksum failure fetching %s" % u)
raise
finally:

View File

@@ -29,7 +29,6 @@ BitBake build tools.
import os
import logging
import bb
from bb import data
from bb.fetch2 import FetchMethod, FetchError, MissingParameterError, logger
from bb.fetch2 import runfetchcmd
@@ -64,7 +63,7 @@ class Cvs(FetchMethod):
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)
ud.localfile = bb.data.expand('%s_%s_%s_%s%s%s.tar.gz' % (ud.module.replace('/', '.'), ud.host, ud.tag, ud.date, norecurse, fullpath), d)
def need_update(self, url, ud, d):
if (ud.date == "now"):
@@ -88,10 +87,10 @@ class Cvs(FetchMethod):
cvsroot = ud.path
else:
cvsroot = ":" + method
cvsproxyhost = data.getVar('CVS_PROXY_HOST', d, True)
cvsproxyhost = d.getVar('CVS_PROXY_HOST', True)
if cvsproxyhost:
cvsroot += ";proxy=" + cvsproxyhost
cvsproxyport = data.getVar('CVS_PROXY_PORT', d, True)
cvsproxyport = d.getVar('CVS_PROXY_PORT', True)
if cvsproxyport:
cvsroot += ";proxyport=" + cvsproxyport
cvsroot += ":" + ud.user
@@ -112,8 +111,8 @@ class Cvs(FetchMethod):
options.append("-r %s" % ud.tag)
cvsbasecmd = d.getVar("FETCHCMD_cvs", True)
cvscmd = cvsbasecmd + "'-d" + cvsroot + "' co " + " ".join(options) + " " + ud.module
cvsupdatecmd = cvsbasecmd + "'-d" + cvsroot + "' update -d -P " + " ".join(options)
cvscmd = cvsbasecmd + " '-d" + cvsroot + "' co " + " ".join(options) + " " + ud.module
cvsupdatecmd = cvsbasecmd + " '-d" + cvsroot + "' update -d -P " + " ".join(options)
if cvs_rsh:
cvscmd = "CVS_RSH=\"%s\" %s" % (cvs_rsh, cvscmd)
@@ -121,8 +120,8 @@ class Cvs(FetchMethod):
# 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)
pkg = d.getVar('PN', True)
pkgdir = os.path.join(d.getVar('CVSDIR', True), pkg)
moddir = os.path.join(pkgdir, localdir)
if os.access(os.path.join(moddir, 'CVS'), os.R_OK):
logger.info("Update " + loc)
@@ -163,12 +162,9 @@ class Cvs(FetchMethod):
def clean(self, ud, d):
""" Clean CVS Files and tarballs """
pkg = data.expand('${PN}', d)
localdata = data.createCopy(d)
data.setVar('OVERRIDES', "cvs:%s" % data.getVar('OVERRIDES', localdata), localdata)
data.update_data(localdata)
pkgdir = os.path.join(data.expand('${CVSDIR}', localdata), pkg)
pkg = d.getVar('PN', True)
pkgdir = os.path.join(d.getVar("CVSDIR", True), pkg)
bb.utils.remove(pkgdir, True)
bb.utils.remove(ud.localpath)

View File

@@ -257,6 +257,7 @@ class Git(FetchMethod):
indirectiondir = destdir[:-1] + ".indirectionsymlink"
if os.path.exists(indirectiondir):
os.remove(indirectiondir)
bb.utils.mkdirhier(os.path.dirname(indirectiondir))
os.symlink(ud.clonedir, indirectiondir)
clonedir = indirectiondir

View File

@@ -49,6 +49,9 @@ class Wget(FetchMethod):
return True
def urldata_init(self, ud, d):
if 'protocol' in ud.parm:
if ud.parm['protocol'] == 'git':
raise bb.fetch2.ParameterError("Invalid protocol - if you wish to fetch from a git repository using http, you need to instead use the git:// prefix with protocol=http", ud.url)
if 'downloadfilename' in ud.parm:
ud.basename = ud.parm['downloadfilename']

View File

@@ -29,7 +29,7 @@ import logging
import bb.utils
from bb.parse import ParseError, resolve_file, ast, logger
__config_regexp__ = re.compile( r"(?P<exp>export\s*)?(?P<var>[a-zA-Z0-9\-_+.${}/]+)(\[(?P<flag>[a-zA-Z0-9\-_+.]+)\])?\s*((?P<colon>:=)|(?P<lazyques>\?\?=)|(?P<ques>\?=)|(?P<append>\+=)|(?P<prepend>=\+)|(?P<predot>=\.)|(?P<postdot>\.=)|=)\s*(?P<apo>['\"])(?P<value>.*)(?P=apo)$")
__config_regexp__ = re.compile( r"(?P<exp>export\s*)?(?P<var>[a-zA-Z0-9\-_+.${}/]+)(\[(?P<flag>[a-zA-Z0-9\-_+.]+)\])?\s*((?P<colon>:=)|(?P<lazyques>\?\?=)|(?P<ques>\?=)|(?P<append>\+=)|(?P<prepend>=\+)|(?P<predot>=\.)|(?P<postdot>\.=)|=)\s*(?!'[^']*'[^']*'$)(?!\"[^\"]*\"[^\"]*\"$)(?P<apo>['\"])(?P<value>.*)(?P=apo)$")
__include_regexp__ = re.compile( r"include\s+(.+)" )
__require_regexp__ = re.compile( r"require\s+(.+)" )
__export_regexp__ = re.compile( r"export\s+([a-zA-Z0-9\-_+.${}/]+)$" )

View File

@@ -130,7 +130,7 @@ def findPreferredProvider(pn, cfgData, dataCache, pkg_pn = None, item = None):
m = re.match('(\d+:)*(.*)(_.*)*', preferred_v)
if m:
if m.group(1):
preferred_e = int(m.group(1)[:-1])
preferred_e = m.group(1)[:-1]
else:
preferred_e = None
preferred_v = m.group(2)

View File

@@ -466,7 +466,7 @@ class RunQueueData:
# (makes sure sometask runs after targetname's someothertask)
idepends = taskData.tasks_idepends[task]
for (depid, idependtask) in idepends:
if depid in taskData.build_targets:
if depid in taskData.build_targets and not depid in taskData.failed_deps:
# Won't be in build_targets if ASSUME_PROVIDED
depdata = taskData.build_targets[depid][0]
if depdata is not None:
@@ -692,13 +692,14 @@ class RunQueueData:
stampfnwhitelist.append(fn)
self.stampfnwhitelist = stampfnwhitelist
# Interate over the task list looking for tasks with a 'setscene' function
# Iterate over the task list looking for tasks with a 'setscene' function
self.runq_setscene = []
for task in range(len(self.runq_fnid)):
setscene = taskData.gettask_id(self.taskData.fn_index[self.runq_fnid[task]], self.runq_task[task] + "_setscene", False)
if not setscene:
continue
self.runq_setscene.append(task)
if not self.cooker.configuration.nosetscene:
for task in range(len(self.runq_fnid)):
setscene = taskData.gettask_id(self.taskData.fn_index[self.runq_fnid[task]], self.runq_task[task] + "_setscene", False)
if not setscene:
continue
self.runq_setscene.append(task)
def invalidate_task(fn, taskname, error_nostamp):
taskdep = self.dataCache.task_deps[fn]
@@ -932,6 +933,8 @@ class RunQueue:
return self._execute_runqueue()
except bb.runqueue.TaskFailure:
raise
except SystemExit:
raise
except:
logger.error("An uncaught exception occured in runqueue, please see the failure below:")
self.state = runQueueComplete

View File

@@ -48,6 +48,9 @@ class SignatureGenerator(object):
def stampfile(self, stampbase, file_name, taskname, extrainfo):
return ("%s.%s.%s" % (stampbase, taskname, extrainfo)).rstrip('.')
def stampcleanmask(self, stampbase, file_name, taskname, extrainfo):
return ("%s.%s*.%s" % (stampbase, taskname, extrainfo)).rstrip('.')
def dump_sigtask(self, fn, task, stampbase, runtime):
return
@@ -185,8 +188,8 @@ class SignatureGeneratorBasic(SignatureGenerator):
if task in dataCache.file_checksums[fn]:
checksums = bb.fetch2.get_file_checksums(dataCache.file_checksums[fn][task], recipename)
for (f,cs) in checksums:
self.file_checksum_values[k][f] = cs
data = data + cs
self.file_checksum_values[k][f] = cs
data = data + cs
taint = self.read_taint(fn, task, dataCache.stamp[fn])
if taint:
@@ -266,18 +269,24 @@ class SignatureGeneratorBasic(SignatureGenerator):
class SignatureGeneratorBasicHash(SignatureGeneratorBasic):
name = "basichash"
def stampfile(self, stampbase, fn, taskname, extrainfo):
def stampfile(self, stampbase, fn, taskname, extrainfo, clean=False):
if taskname != "do_setscene" and taskname.endswith("_setscene"):
k = fn + "." + taskname[:-9]
else:
k = fn + "." + taskname
if k in self.taskhash:
if clean:
h = "*"
taskname = taskname + "*"
elif 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 stampcleanmask(self, stampbase, fn, taskname, extrainfo):
return self.stampfile(stampbase, fn, taskname, extrainfo, clean=True)
def invalidate_task(self, task, d, fn):
bb.note("Tainting hash to force rebuild of task %s, %s" % (fn, task))
bb.build.write_taint(task, d, fn)
@@ -290,7 +299,7 @@ def dump_this_task(outfile, d):
def clean_basepath(a):
if a.startswith("virtual:"):
b = a.rsplit(":", 1)[0] + a.rsplit("/", 1)[1]
b = a.rsplit(":", 1)[0] + ":" + a.rsplit("/", 1)[1]
else:
b = a.rsplit("/", 1)[1]
return b
@@ -301,7 +310,9 @@ def clean_basepaths(a):
b[clean_basepath(x)] = a[x]
return b
def compare_sigfiles(a, b):
def compare_sigfiles(a, b, recursecb = None):
output = []
p1 = pickle.Unpickler(open(a, "rb"))
a_data = p1.load()
p2 = pickle.Unpickler(open(b, "rb"))
@@ -320,114 +331,123 @@ def compare_sigfiles(a, b):
return changed, added, removed
if 'basewhitelist' in a_data and a_data['basewhitelist'] != b_data['basewhitelist']:
print "basewhitelist changed from %s to %s" % (a_data['basewhitelist'], b_data['basewhitelist'])
output.append("basewhitelist changed from %s to %s" % (a_data['basewhitelist'], b_data['basewhitelist']))
if a_data['basewhitelist'] and b_data['basewhitelist']:
print "changed items: %s" % a_data['basewhitelist'].symmetric_difference(b_data['basewhitelist'])
output.append("changed items: %s" % a_data['basewhitelist'].symmetric_difference(b_data['basewhitelist']))
if 'taskwhitelist' in a_data and a_data['taskwhitelist'] != b_data['taskwhitelist']:
print "taskwhitelist changed from %s to %s" % (a_data['taskwhitelist'], b_data['taskwhitelist'])
output.append("taskwhitelist changed from %s to %s" % (a_data['taskwhitelist'], b_data['taskwhitelist']))
if a_data['taskwhitelist'] and b_data['taskwhitelist']:
print "changed items: %s" % a_data['taskwhitelist'].symmetric_difference(b_data['taskwhitelist'])
output.append("changed items: %s" % a_data['taskwhitelist'].symmetric_difference(b_data['taskwhitelist']))
if a_data['taskdeps'] != b_data['taskdeps']:
print "Task dependencies changed from:\n%s\nto:\n%s" % (sorted(a_data['taskdeps']), sorted(b_data['taskdeps']))
output.append("Task dependencies changed from:\n%s\nto:\n%s" % (sorted(a_data['taskdeps']), sorted(b_data['taskdeps'])))
if a_data['basehash'] != b_data['basehash']:
print "basehash changed from %s to %s" % (a_data['basehash'], b_data['basehash'])
output.append("basehash changed from %s to %s" % (a_data['basehash'], b_data['basehash']))
changed, added, removed = dict_diff(a_data['gendeps'], b_data['gendeps'], a_data['basewhitelist'] & b_data['basewhitelist'])
if changed:
for dep in changed:
print "List of dependencies for variable %s changed from %s to %s" % (dep, a_data['gendeps'][dep], b_data['gendeps'][dep])
output.append("List of dependencies for variable %s changed from %s to %s" % (dep, a_data['gendeps'][dep], b_data['gendeps'][dep]))
if a_data['gendeps'][dep] and b_data['gendeps'][dep]:
print "changed items: %s" % a_data['gendeps'][dep].symmetric_difference(b_data['gendeps'][dep])
output.append("changed items: %s" % a_data['gendeps'][dep].symmetric_difference(b_data['gendeps'][dep]))
if added:
for dep in added:
print "Dependency on variable %s was added" % (dep)
output.append("Dependency on variable %s was added" % (dep))
if removed:
for dep in removed:
print "Dependency on Variable %s was removed" % (dep)
output.append("Dependency on Variable %s was removed" % (dep))
changed, added, removed = dict_diff(a_data['varvals'], b_data['varvals'])
if changed:
for dep in changed:
print "Variable %s value changed from %s to %s" % (dep, a_data['varvals'][dep], b_data['varvals'][dep])
output.append("Variable %s value changed from %s to %s" % (dep, a_data['varvals'][dep], b_data['varvals'][dep]))
changed, added, removed = dict_diff(a_data['file_checksum_values'], b_data['file_checksum_values'])
if changed:
for f in changed:
print "Checksum for file %s changed from %s to %s" % (f, a_data['file_checksum_values'][f], b_data['file_checksum_values'][f])
output.append("Checksum for file %s changed from %s to %s" % (f, a_data['file_checksum_values'][f], b_data['file_checksum_values'][f]))
if added:
for f in added:
print "Dependency on checksum of file %s was added" % (f)
output.append("Dependency on checksum of file %s was added" % (f))
if removed:
for f in removed:
print "Dependency on checksum of file %s was removed" % (f)
output.append("Dependency on checksum of file %s was removed" % (f))
if 'runtaskhashes' in a_data and 'runtaskhashes' in b_data:
a = clean_basepaths(a_data['runtaskhashes'])
b = clean_basepaths(b_data['runtaskhashes'])
a = a_data['runtaskhashes']
b = b_data['runtaskhashes']
changed, added, removed = dict_diff(a, b)
if added:
for dep in added:
bdep_found = False
if removed:
for bdep in removed:
if a[dep] == b[bdep]:
#print "Dependency on task %s was replaced by %s with same hash" % (dep, bdep)
bdep_found = True
if not bdep_found:
print "Dependency on task %s was added with hash %s" % (dep, a[dep])
bdep_found = False
if removed:
for bdep in removed:
if a[dep] == b[bdep]:
#output.append("Dependency on task %s was replaced by %s with same hash" % (dep, bdep))
bdep_found = True
if not bdep_found:
output.append("Dependency on task %s was added with hash %s" % (clean_basepath(dep), a[dep]))
if removed:
for dep in removed:
adep_found = False
if added:
for adep in added:
if a[adep] == b[dep]:
#print "Dependency on task %s was replaced by %s with same hash" % (adep, dep)
adep_found = True
if not adep_found:
print "Dependency on task %s was removed with hash %s" % (dep, b[dep])
adep_found = False
if added:
for adep in added:
if a[adep] == b[dep]:
#output.append("Dependency on task %s was replaced by %s with same hash" % (adep, dep))
adep_found = True
if not adep_found:
output.append("Dependency on task %s was removed with hash %s" % (clean_basepath(dep), b[dep]))
if changed:
for dep in changed:
print "Hash for dependent task %s changed from %s to %s" % (dep, a[dep], b[dep])
output.append("Hash for dependent task %s changed from %s to %s" % (clean_basepath(dep), a[dep], b[dep]))
if callable(recursecb):
recout = recursecb(dep, a[dep], b[dep])
if recout:
output.extend(recout)
a_taint = a_data.get('taint', None)
b_taint = b_data.get('taint', None)
if a_taint != b_taint:
print "Taint (by forced/invalidated task) changed from %s to %s" % (a_taint, b_taint)
output.append("Taint (by forced/invalidated task) changed from %s to %s" % (a_taint, b_taint))
return output
def dump_sigfile(a):
output = []
p1 = pickle.Unpickler(open(a, "rb"))
a_data = p1.load()
print "basewhitelist: %s" % (a_data['basewhitelist'])
output.append("basewhitelist: %s" % (a_data['basewhitelist']))
print "taskwhitelist: %s" % (a_data['taskwhitelist'])
output.append("taskwhitelist: %s" % (a_data['taskwhitelist']))
print "Task dependencies: %s" % (sorted(a_data['taskdeps']))
output.append("Task dependencies: %s" % (sorted(a_data['taskdeps'])))
print "basehash: %s" % (a_data['basehash'])
output.append("basehash: %s" % (a_data['basehash']))
for dep in a_data['gendeps']:
print "List of dependencies for variable %s is %s" % (dep, a_data['gendeps'][dep])
output.append("List of dependencies for variable %s is %s" % (dep, a_data['gendeps'][dep]))
for dep in a_data['varvals']:
print "Variable %s value is %s" % (dep, a_data['varvals'][dep])
output.append("Variable %s value is %s" % (dep, a_data['varvals'][dep]))
if 'runtaskdeps' in a_data:
print "Tasks this task depends on: %s" % (a_data['runtaskdeps'])
output.append("Tasks this task depends on: %s" % (a_data['runtaskdeps']))
if 'file_checksum_values' in a_data:
print "This task depends on the checksums of files: %s" % (a_data['file_checksum_values'])
output.append("This task depends on the checksums of files: %s" % (a_data['file_checksum_values']))
if 'runtaskhashes' in a_data:
for dep in a_data['runtaskhashes']:
print "Hash for dependent task %s is %s" % (dep, a_data['runtaskhashes'][dep])
output.append("Hash for dependent task %s is %s" % (dep, a_data['runtaskhashes'][dep]))
if 'taint' in a_data:
print "Tainted (by forced/invalidated task): %s" % a_data['taint']
output.append("Tainted (by forced/invalidated task): %s" % a_data['taint'])
return output

View File

@@ -34,3 +34,18 @@ class VerCmpString(unittest.TestCase):
result = bb.utils.vercmp_string('1.1', '1_p2')
self.assertTrue(result < 0)
def test_explode_dep_versions(self):
correctresult = {"foo" : ["= 1.10"]}
result = bb.utils.explode_dep_versions2("foo (= 1.10)")
self.assertEqual(result, correctresult)
result = bb.utils.explode_dep_versions2("foo (=1.10)")
self.assertEqual(result, correctresult)
result = bb.utils.explode_dep_versions2("foo ( = 1.10)")
self.assertEqual(result, correctresult)
result = bb.utils.explode_dep_versions2("foo ( =1.10)")
self.assertEqual(result, correctresult)
result = bb.utils.explode_dep_versions2("foo ( = 1.10 )")
self.assertEqual(result, correctresult)
result = bb.utils.explode_dep_versions2("foo ( =1.10 )")
self.assertEqual(result, correctresult)

98
bitbake/lib/bb/tinfoil.py Normal file
View File

@@ -0,0 +1,98 @@
# tinfoil: a simple wrapper around cooker for bitbake-based command-line utilities
#
# Copyright (C) 2012 Intel Corporation
# Copyright (C) 2011 Mentor Graphics 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.
import logging
import warnings
import os
import sys
import bb.cache
import bb.cooker
import bb.providers
import bb.utils
from bb.cooker import state
import bb.fetch2
class Tinfoil:
def __init__(self):
# Needed to avoid deprecation warnings with python 2.6
warnings.filterwarnings("ignore", category=DeprecationWarning)
# Set up logging
self.logger = logging.getLogger('BitBake')
console = logging.StreamHandler(sys.stdout)
format = bb.msg.BBLogFormatter("%(levelname)s: %(message)s")
bb.msg.addDefaultlogFilter(console)
console.setFormatter(format)
self.logger.addHandler(console)
initialenv = os.environ.copy()
bb.utils.clean_environment()
self.config = TinfoilConfig(parse_only=True)
self.cooker = bb.cooker.BBCooker(self.config,
self.register_idle_function,
initialenv)
self.config_data = self.cooker.configuration.data
bb.providers.logger.setLevel(logging.ERROR)
self.cooker_data = None
def register_idle_function(self, function, data):
pass
def parseRecipes(self):
sys.stderr.write("Parsing recipes..")
self.logger.setLevel(logging.WARNING)
try:
while self.cooker.state in (state.initial, state.parsing):
self.cooker.updateCache()
except KeyboardInterrupt:
self.cooker.shutdown()
self.cooker.updateCache()
sys.exit(2)
self.logger.setLevel(logging.INFO)
sys.stderr.write("done.\n")
self.cooker_data = self.cooker.status
def prepare(self, config_only = False):
if not self.cooker_data:
if config_only:
self.cooker.parseConfiguration()
self.cooker_data = self.cooker.status
else:
self.parseRecipes()
class TinfoilConfig(object):
def __init__(self, **options):
self.pkgs_to_build = []
self.debug_domains = []
self.extra_assume_provided = []
self.prefile = []
self.postfile = []
self.debug = 0
self.__dict__.update(options)
def __getattr__(self, attribute):
try:
return super(TinfoilConfig, self).__getattribute__(attribute)
except AttributeError:
return None

View File

@@ -99,6 +99,8 @@ class BuildConfigurationTreeView(gtk.TreeView):
import os, os.path
if os.path.exists(path):
branch = bb.process.run('cd %s; git branch | grep "^* " | tr -d "* "' % path)[0]
if branch.startswith("fatal:"):
branch = "(unknown)"
if branch:
branch = branch.strip('\n')
vars.append(self.set_vars("Branch:", branch))
@@ -165,7 +167,7 @@ class BuildDetailsPage (HobPage):
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')
self.back_button = HobAltButton('&lt;&lt; Back')
self.back_button.connect("clicked", self.back_button_clicked_cb)
self.button_box.pack_start(self.back_button, expand=False, fill=False)
@@ -206,7 +208,7 @@ class BuildDetailsPage (HobPage):
color = HobColors.ERROR
build_fail_top = gtk.EventBox()
build_fail_top.set_size_request(-1, 200)
#build_fail_top.set_size_request(-1, 200)
build_fail_top.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse(color))
build_fail_tab = gtk.Table(14, 46, True)
@@ -229,40 +231,103 @@ class BuildDetailsPage (HobPage):
# create button 'Edit packages'
action_button = HobButton(primary_action)
action_button.set_size_request(-1, 40)
#action_button.set_size_request(-1, 40)
action_button.set_tooltip_text("Edit the %s parameters" % actions)
action_button.connect('clicked', self.failure_primary_action_button_clicked_cb, primary_action)
build_fail_tab.attach(action_button, 4, 13, 9, 12)
if log_file:
open_log_button = HobAltButton("Open log")
open_log_button.set_relief(gtk.RELIEF_HALF)
open_log_button.connect('clicked', self.failure_open_log_button_clicked_cb, log_file)
open_log_button.set_tooltip_text("Open the build's log file")
open_log_button.connect('clicked', self.open_log_button_clicked_cb, log_file)
build_fail_tab.attach(open_log_button, 14, 23, 9, 12)
attach_pos = (24 if log_file else 14)
file_bug_button = HobAltButton('File a bug')
file_bug_button.set_relief(gtk.RELIEF_HALF)
file_bug_button.set_tooltip_text("Open the Yocto Project bug tracking website")
file_bug_button.connect('clicked', self.failure_activate_file_bug_link_cb)
build_fail_tab.attach(file_bug_button, attach_pos, attach_pos + 9, 9, 12)
return build_fail_top
def show_fail_page(self, title, action_names):
def show_fail_page(self, title):
self._remove_all_widget()
self.title = "Hob cannot build your %s" % title
self.build_fail_bar = self.add_build_fail_top_bar(action_names, self.builder.current_logfile)
self.build_fail_bar = self.add_build_fail_top_bar(title, self.builder.current_logfile)
self.pack_start(self.group_align, expand=True, fill=True)
self.box_group_area.pack_start(self.build_fail_bar, expand=False, fill=False)
self.box_group_area.pack_start(self.vbox, 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 add_build_stop_top_bar(self, action, log_file=None):
color = HobColors.LIGHT_GRAY
build_stop_top = gtk.EventBox()
#build_stop_top.set_size_request(-1, 200)
build_stop_top.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse(color))
build_stop_top.set_flags(gtk.CAN_DEFAULT)
build_stop_top.grab_default()
build_stop_tab = gtk.Table(11, 46, True)
build_stop_top.add(build_stop_tab)
icon = gtk.Image()
icon_pix_buffer = gtk.gdk.pixbuf_new_from_file(hic.ICON_INFO_HOVER_FILE)
icon.set_from_pixbuf(icon_pix_buffer)
build_stop_tab.attach(icon, 1, 4, 0, 6)
label = gtk.Label()
label.set_alignment(0.0, 0.5)
label.set_markup("<span size='x-large'><b>%s</b></span>" % self.title)
build_stop_tab.attach(label, 4, 26, 0, 6)
action_button = HobButton("Edit %s" % action)
action_button.set_size_request(-1, 40)
if action == "image":
action_button.set_tooltip_text("Edit the image parameters")
elif action == "recipes":
action_button.set_tooltip_text("Edit the included recipes")
elif action == "packages":
action_button.set_tooltip_text("Edit the included packages")
action_button.connect('clicked', self.stop_primary_action_button_clicked_cb, action)
build_stop_tab.attach(action_button, 4, 13, 6, 9)
if log_file:
open_log_button = HobAltButton("Open log")
open_log_button.set_relief(gtk.RELIEF_HALF)
open_log_button.set_tooltip_text("Open the build's log file")
open_log_button.connect('clicked', self.open_log_button_clicked_cb, log_file)
build_stop_tab.attach(open_log_button, 14, 23, 6, 9)
attach_pos = (24 if log_file else 14)
build_button = HobAltButton("Build new image")
#build_button.set_size_request(-1, 40)
build_button.set_tooltip_text("Create a new image from scratch")
build_button.connect('clicked', self.new_image_button_clicked_cb)
build_stop_tab.attach(build_button, attach_pos, attach_pos + 9, 6, 9)
return build_stop_top, action_button
def show_stop_page(self, action):
self._remove_all_widget()
self.title = "Build stopped"
self.build_stop_bar, action_button = self.add_build_stop_top_bar(action, self.builder.current_logfile)
self.pack_start(self.group_align, expand=True, fill=True)
self.box_group_area.pack_start(self.build_stop_bar, expand=False, fill=False)
self.box_group_area.pack_start(self.vbox, expand=True, fill=True)
self.vbox.pack_start(self.notebook, expand=True, fill=True)
self.show_all()
self.back_button.hide()
return action_button
def show_page(self, step):
self._remove_all_widget()
if step == self.builder.PACKAGE_GENERATING or step == self.builder.FAST_IMAGE_GENERATING:
@@ -296,6 +361,9 @@ class BuildDetailsPage (HobPage):
def back_button_clicked_cb(self, button):
self.builder.show_configuration()
def new_image_button_clicked_cb(self, button):
self.builder.reset()
def show_back_button(self):
self.back_button.show()
@@ -322,10 +390,18 @@ class BuildDetailsPage (HobPage):
self.builder.show_recipes()
elif "Edit packages" in action:
self.builder.show_packages()
elif "Edit image configuration" in action:
elif "Edit image" in action:
self.builder.show_configuration()
def failure_open_log_button_clicked_cb(self, button, log_file):
def stop_primary_action_button_clicked_cb(self, button, action):
if "recipes" in action:
self.builder.show_recipes()
elif "packages" in action:
self.builder.show_packages(ask=False)
elif "image" in action:
self.builder.show_configuration()
def open_log_button_clicked_cb(self, button, log_file):
if log_file:
os.system("xdg-open /%s" % log_file)

View File

@@ -21,23 +21,26 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import gtk
import glib
import gtk, gobject
import copy
import os
import subprocess
import shlex
import re
import logging
import sys
from bb.ui.crumbs.template import TemplateMgr
from bb.ui.crumbs.imageconfigurationpage import ImageConfigurationPage
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, HobButton, HobAltButton, hcc
from bb.ui.crumbs.sanitycheckpage import SanityCheckPage
from bb.ui.crumbs.hobwidget import hwc, HobButton, HobAltButton
from bb.ui.crumbs.hig import CrumbsMessageDialog, ImageSelectionDialog, \
AdvancedSettingDialog, LayerSelectionDialog, \
DeployImageDialog
AdvancedSettingDialog, SimpleSettingsDialog, \
LayerSelectionDialog, DeployImageDialog
from bb.ui.crumbs.persistenttooltip import PersistentTooltip
import bb.ui.crumbs.utils
@@ -123,6 +126,8 @@ class Configuration:
self.selected_image = None
self.selected_recipes = []
self.selected_packages = []
self.initial_selected_packages = []
self.initial_user_selected_packages = []
def split_proxy(self, protocol, proxy):
entry = []
@@ -184,7 +189,7 @@ class Configuration:
self.curr_distro = template.getVar("DISTRO")
self.dldir = template.getVar("DL_DIR")
self.sstatedir = template.getVar("SSTATE_DIR")
self.sstatemirror = template.getVar("SSTATE_MIRROR")
self.sstatemirror = template.getVar("SSTATE_MIRRORS")
try:
self.pmake = int(template.getVar("PARALLEL_MAKE").split()[1])
except:
@@ -234,7 +239,7 @@ class Configuration:
template.setVar("DISTRO", self.curr_distro)
template.setVar("DL_DIR", self.dldir)
template.setVar("SSTATE_DIR", self.sstatedir)
template.setVar("SSTATE_MIRROR", self.sstatemirror)
template.setVar("SSTATE_MIRRORS", self.sstatemirror)
template.setVar("PARALLEL_MAKE", "-j %s" % self.pmake)
template.setVar("BB_NUMBER_THREADS", self.bbthread)
template.setVar("PACKAGE_CLASSES", " ".join(["package_" + i for i in self.curr_package_format.split()]))
@@ -263,6 +268,22 @@ class Configuration:
template.setVar("CVS_PROXY_HOST", self.combine_host_only("cvs"))
template.setVar("CVS_PROXY_PORT", self.combine_port_only("cvs"))
def __str__(self):
s = "VERSION: '%s', BBLAYERS: '%s', MACHINE: '%s', DISTRO: '%s', DL_DIR: '%s'," % \
(hobVer, " ".join(self.layers), self.curr_mach, self.curr_distro, self.dldir )
s += "SSTATE_DIR: '%s', SSTATE_MIRROR: '%s', PARALLEL_MAKE: '-j %s', BB_NUMBER_THREADS: '%s', PACKAGE_CLASSES: '%s', " % \
(self.sstatedir, self.sstatemirror, self.pmake, self.bbthread, " ".join(["package_" + i for i in self.curr_package_format.split()]))
s += "IMAGE_ROOTFS_SIZE: '%s', IMAGE_EXTRA_SPACE: '%s', INCOMPATIBLE_LICENSE: '%s', SDKMACHINE: '%s', CONF_VERSION: '%s', " % \
(self.image_rootfs_size, self.image_extra_size, self.incompat_license, self.curr_sdk_machine, self.conf_version)
s += "LCONF_VERSION: '%s', EXTRA_SETTING: '%s', TOOLCHAIN_BUILD: '%s', IMAGE_FSTYPES: '%s', __SELECTED_IMAGE__: '%s', " % \
(self.lconf_version, self.extra_setting, self.toolchain_build, self.image_fstypes, self.selected_image)
s += "DEPENDS: '%s', IMAGE_INSTALL: '%s', enable_proxy: '%s', use_same_proxy: '%s', http_proxy: '%s', " % \
(self.selected_recipes, self.user_selected_packages, self.enable_proxy, self.same_proxy, self.combine_proxy("http"))
s += "https_proxy: '%s', ftp_proxy: '%s', GIT_PROXY_HOST: '%s', GIT_PROXY_PORT: '%s', CVS_PROXY_HOST: '%s', CVS_PROXY_PORT: '%s'" % \
(self.combine_proxy("https"), self.combine_proxy("ftp"),self.combine_host_only("git"), self.combine_port_only("git"),
self.combine_host_only("cvs"), self.combine_port_only("cvs"))
return s
class Parameters:
'''Represents other variables like available machines, etc.'''
@@ -323,7 +344,7 @@ def hob_conf_filter(fn, data):
keys = ["MACHINE_HOB", "SDKMACHINE_HOB", "PACKAGE_CLASSES_HOB", \
"BB_NUMBER_THREADS_HOB", "PARALLEL_MAKE_HOB", "DL_DIR_HOB", \
"SSTATE_DIR_HOB", "SSTATE_MIRROR_HOB", "INCOMPATIBLE_LICENSE_HOB"]
"SSTATE_DIR_HOB", "SSTATE_MIRRORS_HOB", "INCOMPATIBLE_LICENSE_HOB"]
for key in keys:
var_hob = data.getVar(key)
if var_hob:
@@ -338,7 +359,8 @@ def hob_conf_filter(fn, data):
class Builder(gtk.Window):
(MACHINE_SELECTION,
(INITIAL_CHECKS,
MACHINE_SELECTION,
RCPPKGINFO_POPULATING,
RCPPKGINFO_POPULATED,
BASEIMG_SELECTED,
@@ -351,16 +373,18 @@ class Builder(gtk.Window):
IMAGE_GENERATED,
MY_IMAGE_OPENED,
BACK,
END_NOOP) = range(14)
END_NOOP) = range(15)
(IMAGE_CONFIGURATION,
(SANITY_CHECK,
IMAGE_CONFIGURATION,
RECIPE_DETAILS,
BUILD_DETAILS,
PACKAGE_DETAILS,
IMAGE_DETAILS,
END_TAB) = range(6)
END_TAB) = range(7)
__step2page__ = {
INITIAL_CHECKS : SANITY_CHECK,
MACHINE_SELECTION : IMAGE_CONFIGURATION,
RCPPKGINFO_POPULATING : IMAGE_CONFIGURATION,
RCPPKGINFO_POPULATED : IMAGE_CONFIGURATION,
@@ -376,14 +400,7 @@ class Builder(gtk.Window):
END_NOOP : None,
}
@classmethod
def interpret_markup(cls, msg):
msg = msg.replace('&', '&amp;')
msg = msg.replace('<', '&lt;')
msg = msg.replace('>', '&gt;')
msg = msg.replace('"', '&quot;')
msg = msg.replace("'", "&acute;")
return msg
SANITY_CHECK_MIN_DISPLAY_TIME = 5
def __init__(self, hobHandler, recipe_model, package_model):
super(Builder, self).__init__()
@@ -457,8 +474,14 @@ class Builder(gtk.Window):
self.set_title("Hob")
self.set_icon_name("applications-development")
self.set_resizable(True)
window_width = self.get_screen().get_width()
window_height = self.get_screen().get_height()
try:
window_width = self.get_screen().get_width()
window_height = self.get_screen().get_height()
except AttributeError:
print "Please set DISPLAY variable before running Hob."
sys.exit(1)
if window_width >= hwc.MAIN_WIN_WIDTH:
window_width = hwc.MAIN_WIN_WIDTH
window_height = hwc.MAIN_WIN_HEIGHT
@@ -474,9 +497,14 @@ class Builder(gtk.Window):
self.build_details_page = BuildDetailsPage(self)
self.package_details_page = PackageSelectionPage(self)
self.image_details_page = ImageDetailsPage(self)
self.sanity_check_page = SanityCheckPage(self)
self.display_sanity_check = False
self.sanity_check_post_func = False
self.had_network_error = False
self.nb = gtk.Notebook()
self.nb.set_show_tabs(False)
self.nb.insert_page(self.sanity_check_page, None, self.SANITY_CHECK)
self.nb.insert_page(self.image_configuration_page, None, self.IMAGE_CONFIGURATION)
self.nb.insert_page(self.recipe_details_page, None, self.RECIPE_DETAILS)
self.nb.insert_page(self.build_details_page, None, self.BUILD_DETAILS)
@@ -487,17 +515,46 @@ class Builder(gtk.Window):
self.show_all()
self.nb.set_current_page(0)
def sanity_check_timeout(self):
# The minimum time for showing the 'sanity check' page has passe
# If someone set the 'sanity_check_post_step' meanwhile, execute it now
self.display_sanity_check = False
if self.sanity_check_post_func:
temp = self.sanity_check_post_func
self.sanity_check_post_func = None
temp()
return False
def show_sanity_check_page(self):
# This window must stay on screen for at least 5 seconds, according to the design document
self.nb.set_current_page(self.SANITY_CHECK)
self.sanity_check_post_step = None
self.display_sanity_check = True
self.sanity_check_page.start()
gobject.timeout_add(self.SANITY_CHECK_MIN_DISPLAY_TIME * 1000, self.sanity_check_timeout)
def execute_after_sanity_check(self, func):
if not self.display_sanity_check:
func()
else:
sanity_check_post_func = func
def generate_configuration(self):
self.show_sanity_check_page()
self.handler.generate_configuration()
def initiate_new_build_async(self):
self.switch_page(self.MACHINE_SELECTION)
if self.load_template(TemplateMgr.convert_to_template_pathfilename("default", ".hob/")) == False:
self.show_sanity_check_page()
self.handler.init_cooker()
self.handler.set_extra_inherit("image_types")
self.handler.generate_configuration()
self.generate_configuration()
def update_config_async(self):
self.switch_page(self.MACHINE_SELECTION)
self.set_user_config()
self.handler.generate_configuration()
self.generate_configuration()
def sanity_check(self):
self.handler.trigger_sanity_check()
@@ -519,6 +576,13 @@ class Builder(gtk.Window):
self.handler.reset_build()
self.handler.generate_packages(all_recipes, self.configuration.default_task)
def restore_initial_selected_packages(self):
self.package_model.set_selected_packages(self.configuration.initial_user_selected_packages, True)
self.package_model.set_selected_packages(self.configuration.initial_selected_packages)
for package in self.configuration.selected_packages:
if package not in self.configuration.initial_selected_packages:
self.package_model.exclude_item(self.package_model.find_path_for_item(package))
def fast_generate_image_async(self, log = False):
self.switch_page(self.FAST_IMAGE_GENERATING)
if log:
@@ -646,6 +710,9 @@ class Builder(gtk.Window):
self.recipe_details_page.set_recipe_curr_tab(self.recipe_details_page.INCLUDED)
elif next_step == self.PACKAGE_SELECTION:
self.configuration.initial_selected_packages = self.configuration.selected_packages
self.configuration.initial_user_selected_packages = self.configuration.user_selected_packages
self.package_details_page.set_title("Edit packages")
if self.recipe_model.get_selected_image() == self.recipe_model.__custom_image__:
self.package_details_page.set_packages_curr_tab(self.package_details_page.ALL)
else:
@@ -658,6 +725,7 @@ class Builder(gtk.Window):
self.build_details_page.show_page(next_step)
elif next_step == self.PACKAGE_GENERATED:
self.package_details_page.set_title("Step 2 of 2: Edit packages")
if self.recipe_model.get_selected_image() == self.recipe_model.__custom_image__:
self.package_details_page.set_packages_curr_tab(self.package_details_page.ALL)
else:
@@ -688,7 +756,7 @@ class Builder(gtk.Window):
self.handler.set_distro(self.configuration.curr_distro)
self.handler.set_dl_dir(self.configuration.dldir)
self.handler.set_sstate_dir(self.configuration.sstatedir)
self.handler.set_sstate_mirror(self.configuration.sstatemirror)
self.handler.set_sstate_mirrors(self.configuration.sstatemirror)
self.handler.set_pmake(self.configuration.pmake)
self.handler.set_bbthreads(self.configuration.bbthread)
self.handler.set_rootfs_size(self.configuration.image_rootfs_size)
@@ -717,7 +785,10 @@ class Builder(gtk.Window):
self.recipe_model.set_selected_image(selected_image)
self.recipe_model.set_selected_recipes(selected_recipes)
def update_package_model(self, selected_packages):
def update_package_model(self, selected_packages, user_selected_packages=None):
if user_selected_packages:
left = self.package_model.set_selected_packages(user_selected_packages, True)
self.configuration.user_selected_packages += left
left = self.package_model.set_selected_packages(selected_packages)
self.configuration.selected_packages += left
@@ -745,12 +816,29 @@ class Builder(gtk.Window):
def handler_package_formats_updated_cb(self, handler, formats):
self.parameters.all_package_formats = formats
def switch_to_image_configuration_helper(self):
self.sanity_check_page.stop()
self.switch_page(self.IMAGE_CONFIGURATION)
self.image_configuration_page.switch_machine_combo()
def show_network_error_dialog_helper(self):
self.sanity_check_page.stop()
self.show_network_error_dialog()
def handler_command_succeeded_cb(self, handler, initcmd):
if initcmd == self.handler.GENERATE_CONFIGURATION:
if not self.configuration.curr_mach:
self.configuration.curr_mach = self.handler.runCommand(["getVariable", "HOB_MACHINE"]) or ""
self.update_configuration_parameters(self.get_parameters_sync())
self.sanity_check()
elif initcmd == self.handler.SANITY_CHECK:
self.image_configuration_page.switch_machine_combo()
if self.had_network_error:
self.had_network_error = False
self.execute_after_sanity_check(self.show_network_error_dialog_helper)
else:
# Switch to the 'image configuration' page now, but we might need
# to wait for the minimum display time of the sanity check page
self.execute_after_sanity_check(self.switch_to_image_configuration_helper)
elif initcmd in [self.handler.GENERATE_RECIPES,
self.handler.GENERATE_PACKAGES,
self.handler.GENERATE_IMAGE]:
@@ -767,23 +855,47 @@ class Builder(gtk.Window):
self.generate_image_async(True)
def show_error_dialog(self, msg):
lbl = "<b>Error</b>\n"
lbl = lbl + "%s\n\n" % Builder.interpret_markup(msg)
dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_ERROR)
lbl = "<b>Hob found an error</b>\n"
dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_ERROR, msg)
button = dialog.add_button("Close", gtk.RESPONSE_OK)
HobButton.style_button(button)
response = dialog.run()
dialog.destroy()
def show_network_error_dialog(self):
lbl = "<b>Hob cannot connect to the network</b>\n"
msg = "Please check your network connection. If you are using a proxy server, please make sure it is configured correctly."
lbl = lbl + "%s\n\n" % glib.markup_escape_text(msg)
dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_ERROR)
button = dialog.add_button("Close", gtk.RESPONSE_OK)
HobButton.style_button(button)
button = dialog.add_button("Proxy settings", gtk.RESPONSE_CANCEL)
HobButton.style_button(button)
res = dialog.run()
dialog.destroy()
if res == gtk.RESPONSE_CANCEL:
res, settings_changed = self.show_simple_settings_dialog(SimpleSettingsDialog.PROXIES_PAGE_ID)
if not res:
return
if settings_changed:
self.reparse_post_adv_settings()
def handler_command_failed_cb(self, handler, msg):
if msg:
self.show_error_dialog(msg)
self.reset()
def handler_sanity_failed_cb(self, handler, msg):
msg = msg.replace("your local.conf", "Settings")
self.show_error_dialog(msg)
def handler_sanity_failed_cb(self, handler, msg, network_error):
self.reset()
if network_error:
# Mark this in an internal field. The "network error" dialog will be
# shown later, when a SanityCheckPassed event will be handled
# (as sent by sanity.bbclass)
self.had_network_error = True
else:
msg = msg.replace("your local.conf", "Settings")
self.show_error_dialog(msg)
self.reset()
def window_sensitive(self, sensitive):
self.image_configuration_page.machine_combo.set_sensitive(sensitive)
@@ -793,6 +905,7 @@ class Builder(gtk.Window):
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_adv_configuration_button.set_sensitive(sensitive)
self.image_configuration_page.config_build_button.set_sensitive(sensitive)
self.recipe_details_page.set_sensitive(sensitive)
@@ -801,9 +914,9 @@ class Builder(gtk.Window):
self.image_details_page.set_sensitive(sensitive)
if sensitive:
self.get_root_window().set_cursor(gtk.gdk.Cursor(gtk.gdk.LEFT_PTR))
self.window.set_cursor(None)
else:
self.get_root_window().set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH))
self.window.set_cursor(gtk.gdk.Cursor(gtk.gdk.WATCH))
self.sensitive = sensitive
@@ -817,11 +930,12 @@ class Builder(gtk.Window):
selected_image = self.configuration.selected_image
selected_recipes = self.configuration.selected_recipes[:]
selected_packages = self.configuration.selected_packages[:]
user_selected_packages = self.configuration.user_selected_packages[:]
self.image_configuration_page.update_image_combo(self.recipe_model, selected_image)
self.image_configuration_page.update_image_desc()
self.update_recipe_model(selected_image, selected_recipes)
self.update_package_model(selected_packages)
self.update_package_model(selected_packages, user_selected_packages)
def recipelist_changed_cb(self, recipe_model):
self.recipe_details_page.refresh_selection()
@@ -893,8 +1007,13 @@ class Builder(gtk.Window):
linkname = 'hob-image-' + self.configuration.curr_mach
else:
linkname = selected_image + '-' + self.configuration.curr_mach
image_extension = self.get_image_extension()
for image_type in self.parameters.image_types:
for real_image_type in hcc.SUPPORTED_IMAGE_TYPES[image_type]:
if image_type in image_extension:
real_types = image_extension[image_type]
else:
real_types = [image_type]
for real_image_type in real_types:
linkpath = self.parameters.image_addr + '/' + linkname + '.' + real_image_type
if os.path.exists(linkpath):
self.parameters.image_names.append(os.readlink(linkpath))
@@ -914,6 +1033,18 @@ class Builder(gtk.Window):
status = "stop"
message = "Build stopped: "
fraction = self.build_details_page.progress_bar.get_fraction()
stop_to_next_edit = ""
if self.current_step == self.FAST_IMAGE_GENERATING:
stop_to_next_edit = "image configuration"
elif self.current_step == self.IMAGE_GENERATING:
if self.previous_step == self.FAST_IMAGE_GENERATING:
stop_to_next_edit = "image configuration"
else:
stop_to_next_edit = "packages"
elif self.current_step == self.PACKAGE_GENERATING:
stop_to_next_edit = "recipes"
button = self.build_details_page.show_stop_page(stop_to_next_edit.split(' ')[0])
self.set_default(button)
else:
fail_to_next_edit = ""
if self.current_step == self.FAST_IMAGE_GENERATING:
@@ -928,7 +1059,7 @@ class Builder(gtk.Window):
elif self.current_step == self.PACKAGE_GENERATING:
fail_to_next_edit = "recipes"
fraction = 1.0
self.build_details_page.show_fail_page(fail_to_next_edit.split(' ')[0], fail_to_next_edit)
self.build_details_page.show_fail_page(fail_to_next_edit.split(' ')[0])
status = "fail"
message = "Build failed: "
self.build_details_page.update_progress_bar(message, fraction, status)
@@ -951,7 +1082,7 @@ class Builder(gtk.Window):
self.build_failed()
def handler_no_provider_cb(self, running_build, msg):
dialog = CrumbsMessageDialog(self, Builder.interpret_markup(msg), gtk.STOCK_DIALOG_INFO)
dialog = CrumbsMessageDialog(self, glib.markup_escape_text(msg), gtk.STOCK_DIALOG_INFO)
button = dialog.add_button("Close", gtk.RESPONSE_OK)
HobButton.style_button(button)
dialog.run()
@@ -996,20 +1127,11 @@ class Builder(gtk.Window):
def destroy_window_cb(self, widget, event):
if not self.sensitive:
return True
lbl = "<b>Do you really want to exit the Hob image creator?</b>"
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:
gtk.main_quit()
return False
else:
elif self.handler.building:
self.stop_build()
return True
else:
gtk.main_quit()
def build_packages(self):
_, all_recipes = self.recipe_model.get_selected_recipes()
@@ -1114,10 +1236,21 @@ class Builder(gtk.Window):
self.save_template(path)
dialog.destroy()
def get_image_extension(self):
image_extension = {}
for type in self.parameters.image_types:
ext = self.handler.runCommand(["getVariable", "IMAGE_EXTENSION_%s" % type])
if ext:
image_extension[type] = ext.split(' ')
return image_extension
def show_load_my_images_dialog(self):
image_extension = self.get_image_extension()
dialog = ImageSelectionDialog(self.parameters.image_addr, self.parameters.image_types,
"Open My Images", self,
gtk.FILE_CHOOSER_ACTION_SAVE)
gtk.FILE_CHOOSER_ACTION_SAVE, None,
image_extension)
button = dialog.add_button("Cancel", gtk.RESPONSE_NO)
HobAltButton.style_button(button)
button = dialog.add_button("Open", gtk.RESPONSE_YES)
@@ -1140,8 +1273,8 @@ class Builder(gtk.Window):
dialog.destroy()
def show_adv_settings_dialog(self):
dialog = AdvancedSettingDialog(title = "Settings",
def show_adv_settings_dialog(self, tab=None):
dialog = AdvancedSettingDialog(title = "Advanced configuration",
configuration = copy.deepcopy(self.configuration),
all_image_types = self.parameters.image_types,
all_package_formats = self.parameters.all_package_formats,
@@ -1156,6 +1289,34 @@ class Builder(gtk.Window):
HobAltButton.style_button(button)
button = dialog.add_button("Save", gtk.RESPONSE_YES)
HobButton.style_button(button)
dialog.set_save_button(button)
response = dialog.run()
settings_changed = False
if response == gtk.RESPONSE_YES:
self.configuration = dialog.configuration
self.save_defaults() # remember settings
settings_changed = dialog.settings_changed
dialog.destroy()
return response == gtk.RESPONSE_YES, settings_changed
def show_simple_settings_dialog(self, tab=None):
dialog = SimpleSettingsDialog(title = "Settings",
configuration = copy.deepcopy(self.configuration),
all_image_types = self.parameters.image_types,
all_package_formats = self.parameters.all_package_formats,
all_distros = self.parameters.all_distros,
all_sdk_machines = self.parameters.all_sdk_machines,
max_threads = self.parameters.max_threads,
parent = self,
flags = gtk.DIALOG_MODAL
| gtk.DIALOG_DESTROY_WITH_PARENT
| 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)
if tab:
dialog.switch_to_page(tab)
response = dialog.run()
settings_changed = False
if response == gtk.RESPONSE_YES:
@@ -1300,25 +1461,27 @@ class Builder(gtk.Window):
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"
lbl = lbl + " possible but may well leave your build directory in an"
lbl = lbl + " unusable state that requires manual steps to fix.\n\n"
lbl = lbl + "'Stop' will stop the build as soon as all in"
lbl = lbl + " build?\n\n'Stop' will stop the build as soon as all in"
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."
lbl = lbl + " some time.\n\n"
lbl = lbl + "'Force Stop' will stop the build as quickly as"
lbl = lbl + " possible but may well leave your build directory in an"
lbl = lbl + " unusable state that requires manual steps to fix."
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)
button = dialog.add_button("Force stop", gtk.RESPONSE_YES)
HobAltButton.style_button(button)
button = dialog.add_button("Force Stop", gtk.RESPONSE_YES)
button = dialog.add_button("Stop", gtk.RESPONSE_OK)
HobButton.style_button(button)
response = dialog.run()
dialog.destroy()
if response != gtk.RESPONSE_CANCEL:
self.stopping = True
if response == gtk.RESPONSE_OK:
self.build_details_page.progress_bar.set_title("Stopping the build...")
self.build_details_page.progress_bar.set_rcstyle("stop")
self.cancel_build_sync()
elif response == gtk.RESPONSE_YES:
self.cancel_build_sync(True)
@@ -1334,4 +1497,4 @@ class Builder(gtk.Window):
format = bb.msg.BBLogFormatter("%(levelname)s: %(message)s")
self.consolelog.setFormatter(format)
self.logger.addHandler(self.consolelog)
self.logger.addHandler(self.consolelog)

File diff suppressed because it is too large Load Diff

View File

@@ -22,7 +22,6 @@
import gobject
import logging
from bb.ui.crumbs.runningbuild import RunningBuild
from bb.ui.crumbs.hobwidget import hcc
class HobHandler(gobject.GObject):
@@ -44,7 +43,7 @@ class HobHandler(gobject.GObject):
(gobject.TYPE_STRING,)),
"sanity-failed" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_STRING,)),
(gobject.TYPE_STRING, gobject.TYPE_INT)),
"generating-data" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
@@ -102,7 +101,14 @@ class HobHandler(gobject.GObject):
def runCommand(self, commandline):
try:
return self.server.runCommand(commandline)
result = self.server.runCommand(commandline)
result_str = str(result)
if (result_str.startswith("Busy (") or
result_str == "No such command"):
raise Exception('%s has failed with output "%s". ' %
(str(commandline), result_str) +
"We recommend that you restart Hob.")
return result
except Exception as e:
self.commands_async = []
self.clear_busy()
@@ -157,10 +163,16 @@ class HobHandler(gobject.GObject):
targets.append(self.toolchain)
self.runCommand(["buildTargets", targets, self.default_task])
def display_error(self):
self.clear_busy()
self.emit("command-failed", self.error_msg)
self.error_msg = ""
if self.building:
self.building = False
def handle_event(self, event):
if not event:
return
if self.building:
self.current_phase = "building"
self.build.handle_event(event)
@@ -174,11 +186,14 @@ class HobHandler(gobject.GObject):
self.run_next_command()
elif isinstance(event, bb.event.SanityCheckFailed):
self.emit("sanity-failed", event._msg)
self.emit("sanity-failed", event._msg, event._network_error)
elif isinstance(event, logging.LogRecord):
if event.levelno >= logging.ERROR:
self.error_msg += event.msg + '\n'
if not self.building:
if event.levelno >= logging.ERROR:
formatter = bb.msg.BBLogFormatter()
msg = formatter.format(event)
self.error_msg += msg + '\n'
elif isinstance(event, bb.event.TargetsTreeGenerated):
self.current_phase = "data generation"
@@ -210,11 +225,7 @@ class HobHandler(gobject.GObject):
self.run_next_command()
elif isinstance(event, bb.command.CommandFailed):
self.commands_async = []
self.clear_busy()
self.emit("command-failed", self.error_msg)
self.error_msg = ""
if self.building:
self.building = False
self.display_error()
elif isinstance(event, (bb.event.ParseStarted,
bb.event.CacheLoadStarted,
bb.event.TreeDataPreparationStarted,
@@ -244,6 +255,9 @@ class HobHandler(gobject.GObject):
message["title"] = "Parsing recipes: "
self.emit("parsing-completed", message)
if self.error_msg and not self.commands_async:
self.display_error()
return
def init_cooker(self):
@@ -289,8 +303,8 @@ class HobHandler(gobject.GObject):
def set_sstate_dir(self, directory):
self.runCommand(["setVariable", "SSTATE_DIR_HOB", directory])
def set_sstate_mirror(self, url):
self.runCommand(["setVariable", "SSTATE_MIRROR_HOB", url])
def set_sstate_mirrors(self, url):
self.runCommand(["setVariable", "SSTATE_MIRRORS_HOB", url])
def set_extra_size(self, image_extra_size):
self.runCommand(["setVariable", "IMAGE_ROOTFS_EXTRA_SPACE", str(image_extra_size)])
@@ -413,7 +427,7 @@ class HobHandler(gobject.GObject):
params["distro"] = self.runCommand(["getVariable", "DISTRO"]) or "defaultsetup"
params["pclass"] = self.runCommand(["getVariable", "PACKAGE_CLASSES"]) or ""
params["sstatedir"] = self.runCommand(["getVariable", "SSTATE_DIR"]) or ""
params["sstatemirror"] = self.runCommand(["getVariable", "SSTATE_MIRROR"]) or ""
params["sstatemirror"] = self.runCommand(["getVariable", "SSTATE_MIRRORS"]) or ""
num_threads = self.runCommand(["getCpuCount"])
if not num_threads:

View File

@@ -42,7 +42,7 @@ class PackageListModel(gtk.TreeStore):
()),
}
__toolchain_required_packages__ = ["task-core-standalone-sdk-target", "task-core-standalone-sdk-target-dbg"]
__toolchain_required_packages__ = ["packagegroup-core-standalone-sdk-target", "packagegroup-core-standalone-sdk-target-dbg"]
def __init__(self):
@@ -145,6 +145,12 @@ class PackageListModel(gtk.TreeStore):
self.pkg_path = {}
self.rprov_pkg = {}
def getpkgvalue(pkgdict, key, pkgname, defaultval = None):
value = pkgdict.get('%s_%s' % (key, pkgname), None)
if not value:
value = pkgdict.get(key, defaultval)
return value
for pkginfo in pkginfolist:
pn = pkginfo['PN']
pv = pkginfo['PV']
@@ -157,25 +163,24 @@ class PackageListModel(gtk.TreeStore):
self.COL_INC, False)
self.pn_path[pn] = self.get_path(pniter)
# PKG is always present
pkg = pkginfo['PKG']
pkgv = pkginfo['PKGV']
pkgr = pkginfo['PKGR']
pkgsize = pkginfo['PKGSIZE_%s' % pkg] if 'PKGSIZE_%s' % pkg in pkginfo.keys() else "0"
pkg_rename = pkginfo['PKG_%s' % pkg] if 'PKG_%s' % pkg in pkginfo.keys() else ""
section = pkginfo['SECTION_%s' % pkg] if 'SECTION_%s' % pkg in pkginfo.keys() else ""
summary = pkginfo['SUMMARY_%s' % pkg] if 'SUMMARY_%s' % pkg in pkginfo.keys() else ""
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 ""
pkgv = getpkgvalue(pkginfo, 'PKGV', pkg)
pkgr = getpkgvalue(pkginfo, 'PKGR', pkg)
# PKGSIZE is artificial, will always be overridden with the package name if present
pkgsize = pkginfo.get('PKGSIZE_%s' % pkg, "0")
# PKG_%s is the renamed version
pkg_rename = pkginfo.get('PKG_%s' % pkg, "")
# The rest may be overridden or not
section = getpkgvalue(pkginfo, 'SECTION', pkg, "")
summary = getpkgvalue(pkginfo, 'SUMMARY', pkg, "")
rdep = getpkgvalue(pkginfo, 'RDEPENDS', pkg, "")
rrec = getpkgvalue(pkginfo, 'RRECOMMENDS', pkg, "")
rprov = getpkgvalue(pkginfo, 'RPROVIDES', pkg, "")
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]
elif 'ALLOW_EMPTY' in pkginfo.keys():
allow_empty = pkginfo['ALLOW_EMPTY']
else:
allow_empty = ""
allow_empty = getpkgvalue(pkginfo, 'ALLOW_EMPTY', pkg, "")
if pkgsize == "0" and not allow_empty:
continue
@@ -332,13 +337,13 @@ class PackageListModel(gtk.TreeStore):
set_selected_packages(), some packages will not be set included.
Return the un-set packages list.
"""
def set_selected_packages(self, packagelist):
def set_selected_packages(self, packagelist, user_selected=False):
left = []
binb = 'User Selected' if user_selected else ''
for pn in packagelist:
if pn in self.pkg_path.keys():
path = self.pkg_path[pn]
self.include_item(item_path=path,
binb="User Selected")
self.include_item(item_path=path, binb=binb)
else:
left.append(pn)
@@ -354,7 +359,7 @@ class PackageListModel(gtk.TreeStore):
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":
if binb == "User Selected":
name = self.get_value(child_it, self.COL_NAME)
packagelist.append(name)
child_it = self.iter_next(child_it)
@@ -521,17 +526,24 @@ class RecipeListModel(gtk.ListStore):
val2 = model.get_value(iter2, RecipeListModel.COL_INC)
return ((val1 == True) and (val2 == False))
def include_item_sort_func(self, model, iter1, iter2):
val1 = model.get_value(iter1, RecipeListModel.COL_INC)
val2 = model.get_value(iter2, RecipeListModel.COL_INC)
return ((val1 == False) and (val2 == True))
"""
Create, if required, and return a filtered gtk.TreeModelSort
containing only the items which are items specified by filter
"""
def tree_model(self, filter, excluded_items_ahead=False):
def tree_model(self, filter, excluded_items_ahead=False, included_items_ahead=True):
model = self.filter_new()
model.set_visible_func(self.tree_model_filter, filter)
sort = gtk.TreeModelSort(model)
if excluded_items_ahead:
sort.set_default_sort_func(self.exclude_item_sort_func)
elif included_items_ahead:
sort.set_default_sort_func(self.include_item_sort_func)
else:
sort.set_sort_column_id(RecipeListModel.COL_NAME, gtk.SORT_ASCENDING)
sort.set_default_sort_func(None)
@@ -583,8 +595,8 @@ class RecipeListModel(gtk.ListStore):
depends = event_model["depends"].get(item, []) + event_model["rdepends-pn"].get(item, [])
if ('task-' in name):
atype = 'task'
if ('packagegroup.bbclass' in " ".join(inherits)):
atype = 'packagegroup'
elif ('image.bbclass' in " ".join(inherits)):
if name != "hob-image":
atype = 'image'
@@ -660,6 +672,10 @@ class RecipeListModel(gtk.ListStore):
self[dep_path][self.COL_BINB] = ', '.join(dep_bin).lstrip(', ')
elif not dep_included:
self.include_item(dep_path, binb=item_name, image_contents=image_contents)
dep_bin = self[item_path][self.COL_BINB].split(', ')
if self[item_path][self.COL_NAME] in dep_bin:
dep_bin.remove(self[item_path][self.COL_NAME])
self[item_path][self.COL_BINB] = ', '.join(dep_bin).lstrip(', ')
def exclude_item(self, item_path):
if not self.path_included(item_path):

View File

@@ -38,6 +38,7 @@ class HobPage (gtk.VBox):
self.title = "Hob -- Image Creator"
else:
self.title = title
self.title_label = gtk.Label()
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)
@@ -46,6 +47,9 @@ class HobPage (gtk.VBox):
self.group_align.add(self.box_group_area)
self.box_group_area.set_homogeneous(False)
def set_title(self, title):
self.title = title
self.title_label.set_markup("<span size='x-large'>%s</span>" % self.title)
def add_onto_top_bar(self, widget = None, padding = 0):
# the top button occupies 1/7 of the page height
@@ -58,9 +62,9 @@ class HobPage (gtk.VBox):
hbox = gtk.HBox()
label = gtk.Label()
label.set_markup("<span size='x-large'>%s</span>" % self.title)
hbox.pack_start(label, expand=False, fill=False, padding=20)
self.title_label = gtk.Label()
self.title_label.set_markup("<span size='x-large'>%s</span>" % self.title)
hbox.pack_start(self.title_label, expand=False, fill=False, padding=20)
if widget:
# add the widget in the event box

View File

@@ -63,35 +63,6 @@ class hic:
ICON_INDI_TICK_FILE = os.path.join(HOB_ICON_BASE_DIR, ('indicators/tick.png'))
ICON_INDI_INFO_FILE = os.path.join(HOB_ICON_BASE_DIR, ('indicators/info.png'))
class hcc:
SUPPORTED_IMAGE_TYPES = {
"jffs2" : ["jffs2"],
"sum.jffs2" : ["sum.jffs2"],
"cramfs" : ["cramfs"],
"ext2" : ["ext2"],
"ext2.gz" : ["ext2.gz"],
"ext2.bz2" : ["ext2.bz2"],
"ext3" : ["ext3"],
"ext3.gz" : ["ext3.gz"],
"ext2.lzma" : ["ext2.lzma"],
"btrfs" : ["btrfs"],
"live" : ["hddimg", "iso"],
"squashfs" : ["squashfs"],
"squashfs-lzma" : ["squashfs-lzma"],
"ubi" : ["ubi"],
"tar" : ["tar"],
"tar.gz" : ["tar.gz"],
"tar.bz2" : ["tar.bz2"],
"tar.xz" : ["tar.xz"],
"cpio" : ["cpio"],
"cpio.gz" : ["cpio.gz"],
"cpio.xz" : ["cpio.xz"],
"vmdk" : ["vmdk"],
"cpio.lzma" : ["cpio.lzma"],
"elf" : ["elf"],
}
class HobViewTable (gtk.VBox):
"""
A VBox to contain the table for different recipe views and package view
@@ -182,7 +153,12 @@ class HobViewTable (gtk.VBox):
# Just display the first item
if binb:
bin = binb.split(', ')
cell.set_property('text', bin[0])
total_no = len(bin)
if total_no > 1 and bin[0] == "User Selected":
present_binb = bin[1] + ' (+' + str(total_no) + ')'
else:
present_binb = bin[0] + ' (+' + str(total_no) + ')'
cell.set_property('text', present_binb)
else:
cell.set_property('text', "")
return True
@@ -243,7 +219,7 @@ def soften_color(widget, state=gtk.STATE_NORMAL):
color.blue = color.blue * blend + style.base[state].blue * (1.0 - blend)
return color.to_string()
class HobButton(gtk.Button):
class BaseHobButton(gtk.Button):
"""
A gtk.Button subclass which follows the visual design of Hob for primary
action buttons
@@ -257,24 +233,33 @@ class HobButton(gtk.Button):
@staticmethod
def style_button(button):
style = button.get_style()
button_color = gtk.gdk.Color(HobColors.ORANGE)
button.modify_bg(gtk.STATE_NORMAL, button_color)
button.modify_bg(gtk.STATE_PRELIGHT, button_color)
button.modify_bg(gtk.STATE_SELECTED, button_color)
style = gtk.rc_get_style_by_paths(gtk.settings_get_default(), 'gtk-button', 'gtk-button', gobject.TYPE_NONE)
button.set_flags(gtk.CAN_DEFAULT)
button.grab_default()
label = "<span size='x-large'><b>%s</b></span>" % gobject.markup_escape_text(button.get_label())
# label = "<span size='x-large'><b>%s</b></span>" % gobject.markup_escape_text(button.get_label())
label = button.get_label()
button.set_label(label)
button.child.set_use_markup(True)
class HobAltButton(gtk.Button):
class HobButton(BaseHobButton):
"""
A gtk.Button subclass which follows the visual design of Hob for primary
action buttons
label: the text to display as the button's label
"""
def __init__(self, label):
BaseHobButton.__init__(self, label)
HobButton.style_button(self)
class HobAltButton(BaseHobButton):
"""
A gtk.Button subclass which has no relief, and so is more discrete
"""
def __init__(self, label):
gtk.Button.__init__(self, label)
BaseHobButton.__init__(self, label)
HobAltButton.style_button(self)
"""
@@ -300,14 +285,6 @@ class HobAltButton(gtk.Button):
button.set_label("<span size='large' color='%s'><b>%s</b></span>" % (colour, gobject.markup_escape_text(button.text)))
button.child.set_use_markup(True)
@staticmethod
def style_button(button):
button.text = button.get_label()
button.connect("state-changed", HobAltButton.desensitise_on_state_change_cb)
HobAltButton.set_text(button)
button.child.set_use_markup(True)
button.set_relief(gtk.RELIEF_NONE)
class HobImageButton(gtk.Button):
"""
A gtk.Button with an icon and two rows of text, the second of which is
@@ -360,7 +337,8 @@ class HobInfoButton(gtk.EventBox):
def __init__(self, tip_markup, parent=None):
gtk.EventBox.__init__(self)
self.image = gtk.Image()
self.image.set_from_file(hic.ICON_INFO_DISPLAY_FILE)
self.image.set_from_file(
hic.ICON_INFO_DISPLAY_FILE)
self.image.show()
self.add(self.image)

View File

@@ -138,7 +138,6 @@ class ImageConfigurationPage (HobPage):
self.show_all()
if self.builder.recipe_model.get_selected_image() == self.builder.recipe_model.__custom_image__:
self.just_bake_button.hide()
self.or_label.hide()
def create_config_machine(self):
self.machine_title = gtk.Label()
@@ -168,13 +167,12 @@ class ImageConfigurationPage (HobPage):
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_box = gtk.HBox(False, 6)
self.progress_bar = HobProgressBar()
self.progress_box.pack_start(self.progress_bar, expand=True, fill=True)
# 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.progress_box.pack_end(stop_button, expand=False, fill=False)
self.machine_separator = gtk.HSeparator()
def set_config_machine_layout(self, show_progress_bar = False):
@@ -184,7 +182,9 @@ class ImageConfigurationPage (HobPage):
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.progress_box, 0, 40, 15, 18)
self.gtable.attach(self.progress_bar, 0, 37, 15, 18)
self.gtable.attach(self.stop_button, 37, 40, 15, 18, 0, 0)
self.gtable.attach(self.machine_separator, 0, 40, 13, 14)
def create_config_baseimg(self):
@@ -205,17 +205,26 @@ class ImageConfigurationPage (HobPage):
self.image_desc = gtk.Label()
self.image_desc.set_alignment(0.0, 0.5)
self.image_desc.set_size_request(360, -1)
self.image_desc.set_size_request(256, -1)
self.image_desc.set_justify(gtk.JUSTIFY_LEFT)
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_adv_configuration_button = HobImageButton("Advanced configuration",
"Select image types, package formats, etc",
icon_file, hover_file)
self.view_adv_configuration_button.connect("clicked", self.view_adv_configuration_button_clicked_cb)
self.image_separator = gtk.HSeparator()
def set_config_baseimg_layout(self):
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_desc, 0, 12, 27, 33)
self.gtable.attach(self.view_adv_configuration_button, 14, 36, 23, 28)
self.gtable.attach(self.image_separator, 0, 40, 35, 36)
def create_config_build_button(self):
@@ -224,18 +233,14 @@ class ImageConfigurationPage (HobPage):
# create button "Build image"
self.just_bake_button = HobButton("Build image")
self.just_bake_button.set_size_request(205, 49)
#self.just_bake_button.set_size_request(205, 49)
self.just_bake_button.set_tooltip_text("Build target image")
self.just_bake_button.connect("clicked", self.just_bake_button_clicked_cb)
button_box.pack_end(self.just_bake_button, expand=False, fill=False)
# create separator label
self.or_label = gtk.Label(" or ")
button_box.pack_end(self.or_label, expand=False, fill=False)
# create button "Edit Image"
self.edit_image_button = HobButton("Edit image")
self.edit_image_button.set_size_request(205, 49)
self.edit_image_button = HobAltButton("Edit image")
#self.edit_image_button.set_size_request(205, 49)
self.edit_image_button.set_tooltip_text("Edit target image")
self.edit_image_button.connect("clicked", self.edit_image_button_clicked_cb)
button_box.pack_end(self.edit_image_button, expand=False, fill=False)
@@ -333,7 +338,6 @@ class ImageConfigurationPage (HobPage):
if selected_image == self.builder.recipe_model.__custom_image__:
self.just_bake_button.hide()
self.or_label.hide()
glib.idle_add(self.image_combo_changed_idle_cb, selected_image, selected_recipes, selected_packages)
@@ -351,6 +355,7 @@ class ImageConfigurationPage (HobPage):
# populate image combo
filter = {RecipeListModel.COL_TYPE : ['image']}
image_model = recipe_model.tree_model(filter)
image_model.set_sort_column_id(recipe_model.COL_NAME, gtk.SORT_ASCENDING)
active = 0
cnt = 1
@@ -363,6 +368,7 @@ class ImageConfigurationPage (HobPage):
if self.builder.parameters.image_black_pattern:
for i in self.builder.parameters.image_black_pattern.split():
black_pattern.append(re.compile(i))
black_pattern.append(re.compile("hob-image"))
it = image_model.get_iter_first()
self._image_combo_disconnect_signal()
@@ -413,6 +419,14 @@ class ImageConfigurationPage (HobPage):
def layer_button_clicked_cb(self, button):
# Create a layer selection dialog
self.builder.show_layer_selection_dialog()
def view_adv_configuration_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()
def just_bake_button_clicked_cb(self, button):
self.builder.just_bake()
@@ -432,7 +446,7 @@ class ImageConfigurationPage (HobPage):
def settings_button_clicked_cb(self, button):
# Create an advanced settings dialog
response, settings_changed = self.builder.show_adv_settings_dialog()
response, settings_changed = self.builder.show_simple_settings_dialog()
if not response:
return
if settings_changed:

View File

@@ -41,10 +41,10 @@ class ImageDetailsPage (HobPage):
style.bg[gtk.STATE_NORMAL] = self.get_colormap().alloc_color(color, False, False)
self.set_style(style)
self.hbox = gtk.HBox()
self.hbox.set_border_width(10)
self.add(self.hbox)
self.row = gtk.Table(1, 2, False)
self.row.set_border_width(10)
self.add(self.row)
total_rows = 0
if widget:
total_rows = 10
@@ -54,8 +54,8 @@ class ImageDetailsPage (HobPage):
self.table = gtk.Table(total_rows, 20, True)
self.table.set_row_spacings(6)
self.table.set_size_request(100, -1)
self.hbox.pack_start(self.table, expand=True, fill=True, padding=15)
self.row.attach(self.table, 0, 1, 0, 1, xoptions=gtk.FILL|gtk.EXPAND, yoptions=gtk.FILL)
colid = 0
rowid = 0
self.line_widgets = {}
@@ -73,11 +73,80 @@ class ImageDetailsPage (HobPage):
# pack the button on the right
if button:
self.bbox = gtk.VBox()
self.bbox.pack_start(button, expand=True, fill=True)
self.bbox.pack_start(button, expand=True, fill=False)
if button2:
self.bbox.pack_start(button2, expand=True, fill=True)
self.hbox.pack_end(self.bbox, expand=False, fill=False)
self.bbox.pack_start(button2, expand=True, fill=False)
self.bbox.set_size_request(150,-1)
self.row.attach(self.bbox, 1, 2, 0, 1, xoptions=gtk.FILL, yoptions=gtk.EXPAND)
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 wrap_line(self, inputs):
# wrap the long text of inputs
wrap_width_chars = 75
outputs = ""
tmps = inputs
less_chars = len(inputs)
while (less_chars - wrap_width_chars) > 0:
less_chars -= wrap_width_chars
outputs += tmps[:wrap_width_chars] + "\n "
tmps = inputs[less_chars:]
outputs += tmps
return outputs
def format_line(self, variable, value):
wraped_value = self.wrap_line(value)
markup = "<span weight=\'bold\'>%s</span>" % variable
markup += "<span weight=\'normal\' foreground=\'#1c1c1c\' font_desc=\'14px\'>%s</span>" % wraped_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"
label = gtk.Label()
label.set_alignment(0.0, 0.5)
label.set_markup(self.format_line(variable, value))
return label
class BuildDetailBox (gtk.EventBox):
def __init__(self, varlist = None, vallist = None, icon = None, color = HobColors.LIGHT_GRAY):
gtk.EventBox.__init__(self)
# set color
style = self.get_style().copy()
style.bg[gtk.STATE_NORMAL] = self.get_colormap().alloc_color(color, False, False)
self.set_style(style)
self.hbox = gtk.HBox()
self.hbox.set_border_width(10)
self.add(self.hbox)
total_rows = 0
if varlist and vallist:
# pack the icon and the text on the left
total_rows += len(varlist)
self.table = gtk.Table(total_rows, 20, True)
self.table.set_row_spacings(6)
self.table.set_size_request(100, -1)
self.hbox.pack_start(self.table, expand=True, fill=True, padding=15)
colid = 0
rowid = 0
self.line_widgets = {}
if icon:
self.table.attach(icon, colid, colid + 2, 0, 1)
colid = colid + 2
if varlist and vallist:
for row in range(rowid, total_rows):
index = row - rowid
self.line_widgets[varlist[index]] = self.text2label(varlist[index], vallist[index])
self.table.attach(self.line_widgets[varlist[index]], colid, 20, row, row + 1)
def update_line_widgets(self, variable, value):
if len(self.line_widgets) == 0:
return
@@ -183,7 +252,7 @@ class ImageDetailsPage (HobPage):
self.pack_start(self.group_align, expand=True, fill=True)
self.build_result = None
if self.build_succeeded:
if self.build_succeeded and self.builder.current_step == self.builder.IMAGE_GENERATING:
# building is the previous step
icon = gtk.Image()
pixmap_path = hic.ICON_INDI_CONFIRM_FILE
@@ -192,7 +261,7 @@ class ImageDetailsPage (HobPage):
icon.set_from_pixbuf(pix_buffer)
varlist = [""]
vallist = ["Your image is ready"]
self.build_result = self.DetailBox(varlist=varlist, vallist=vallist, icon=icon, color=color)
self.build_result = self.BuildDetailBox(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()
@@ -239,7 +308,7 @@ class ImageDetailsPage (HobPage):
is_runnable = self.create_bottom_buttons(self.buttonlist, self.toggled_image)
# Generated image files info
varlist = ["Name: ", "FileCreated: ", "Directory: "]
varlist = ["Name: ", "Files created: ", "Directory: "]
vallist = []
vallist.append(image_name.split('.')[0])
@@ -249,12 +318,12 @@ class ImageDetailsPage (HobPage):
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")
view_log_button = None
open_log_button = None
if log_file:
view_log_button = HobAltButton("View log")
view_log_button.connect("clicked", self.view_log_clicked_cb, log_file)
view_log_button.set_tooltip_text("Open the building log files")
self.image_detail = self.DetailBox(varlist=varlist, vallist=vallist, button=view_files_button, button2=view_log_button)
open_log_button = HobAltButton("Open log")
open_log_button.connect("clicked", self.open_log_clicked_cb, log_file)
open_log_button.set_tooltip_text("Open the build's log file")
self.image_detail = self.DetailBox(varlist=varlist, vallist=vallist, button=view_files_button, button2=open_log_button)
self.box_group_area.pack_start(self.image_detail, expand=False, fill=True)
# The default kernel box for the qemu images
@@ -263,15 +332,15 @@ class ImageDetailsPage (HobPage):
if 'qemu' in image_name:
self.sel_kernel = self.get_kernel_file_name()
varlist = ["Kernel: "]
vallist = []
vallist.append(self.sel_kernel)
# varlist = ["Kernel: "]
# vallist = []
# vallist.append(self.sel_kernel)
change_kernel_button = HobAltButton("Change")
change_kernel_button.connect("clicked", self.change_kernel_cb)
change_kernel_button.set_tooltip_text("Change qemu kernel file")
self.kernel_detail = self.DetailBox(varlist=varlist, vallist=vallist, button=change_kernel_button)
self.box_group_area.pack_start(self.kernel_detail, expand=False, fill=False)
# change_kernel_button = HobAltButton("Change")
# change_kernel_button.connect("clicked", self.change_kernel_cb)
# change_kernel_button.set_tooltip_text("Change qemu kernel file")
# self.kernel_detail = self.DetailBox(varlist=varlist, vallist=vallist, button=change_kernel_button)
# self.box_group_area.pack_start(self.kernel_detail, expand=True, fill=True)
# Machine, Base image and Layers
layer_num_limit = 15
@@ -316,7 +385,7 @@ class ImageDetailsPage (HobPage):
else: # get to this page from "My images"
edit_packages_button = None
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)
self.box_group_area.pack_start(self.package_detail, expand=True, fill=True)
# pack the buttons at the bottom, at this time they are already created.
if self.build_succeeded:
@@ -333,7 +402,7 @@ class ImageDetailsPage (HobPage):
def view_files_clicked_cb(self, button, image_addr):
subprocess.call("xdg-open /%s" % image_addr, shell=True)
def view_log_clicked_cb(self, button, log_file):
def open_log_clicked_cb(self, button, log_file):
if log_file:
os.system("xdg-open /%s" % log_file)
@@ -357,6 +426,8 @@ class ImageDetailsPage (HobPage):
return mach_runnable
def test_deployable(self, image_name):
if self.builder.configuration.curr_mach.startswith("qemu"):
return False
deployable = False
for t in self.builder.parameters.deployable_image_types:
if image_name.endswith(t):
@@ -389,7 +460,13 @@ class ImageDetailsPage (HobPage):
label = gtk.Label()
label.set_use_markup(True)
label.set_alignment(0.0, 0.5)
label.set_markup("<span font_desc='12'>Select the image file you want to %s</span>" % primary_action)
label.set_padding(12,0)
if primary_action == "Run image":
label.set_markup("<span font_desc='12'>Select the image file you want to run:</span>")
elif primary_action == "Deploy image":
label.set_markup("<span font_desc='12'>Select the image file you want to deploy:</span>")
else:
label.set_markup("<span font_desc='12'>Select the image file you want to %s</span>" % primary_action)
dialog.vbox.pack_start(label, expand=False, fill=False)
# filter created images as action attribution (deploy or run)
@@ -418,12 +495,12 @@ class ImageDetailsPage (HobPage):
sel_btn.set_active(fileitem['is_toggled'])
sel_btn.connect('toggled', self.table_selected_cb, fileitem)
if curr_row < 10:
table.attach(sel_btn, 2, 5, curr_row, curr_row + 1)
table.attach(sel_btn, 0, 4, curr_row, curr_row + 1, xpadding=24)
else:
table.attach(sel_btn, 7, 10, curr_row - 10, curr_row - 9)
table.attach(sel_btn, 5, 9, curr_row - 10, curr_row - 9, xpadding=24)
curr_row += 1
dialog.vbox.pack_start(table, expand=False, fill=False, padding = 6)
dialog.vbox.pack_start(table, expand=False, fill=False, padding=6)
button = dialog.add_button("Cancel", gtk.RESPONSE_CANCEL)
HobAltButton.style_button(button)
@@ -472,7 +549,7 @@ class ImageDetailsPage (HobPage):
name = "Deploy image"
if name in buttonlist and self.test_deployable(image_name):
deploy_button = HobButton('Deploy image')
deploy_button.set_size_request(205, 49)
#deploy_button.set_size_request(205, 49)
deploy_button.set_tooltip_text("Burn a live image to a USB drive or flash memory")
deploy_button.set_flags(gtk.CAN_DEFAULT)
button_id = deploy_button.connect("clicked", self.deploy_button_clicked_cb)
@@ -485,15 +562,15 @@ class ImageDetailsPage (HobPage):
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 ")
self.details_bottom_buttons.pack_end(label, expand=False, fill=False)
#label = gtk.Label(" or ")
#self.details_bottom_buttons.pack_end(label, 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_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")
@@ -507,14 +584,14 @@ class ImageDetailsPage (HobPage):
if name in buttonlist:
if created == True:
# separator
label = gtk.Label(" or ")
self.details_bottom_buttons.pack_end(label, expand=False, fill=False)
#label = gtk.Label(" or ")
#self.details_bottom_buttons.pack_end(label, expand=False, fill=False)
# create button "Save as template"
save_button = HobAltButton("Save as template")
else:
save_button = HobButton("Save as template")
save_button.set_size_request(205, 49)
#save_button.set_size_request(205, 49)
save_button.set_flags(gtk.CAN_DEFAULT)
packed = True
save_button.set_tooltip_text("Save the image configuration for reuse")
@@ -531,7 +608,7 @@ class ImageDetailsPage (HobPage):
else:
build_new_button = HobButton("Build new image")
build_new_button.set_flags(gtk.CAN_DEFAULT)
build_new_button.set_size_request(205, 49)
#build_new_button.set_size_request(205, 49)
self.details_bottom_buttons.pack_end(build_new_button, expand=False, fill=False)
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)
@@ -581,7 +658,7 @@ class ImageDetailsPage (HobPage):
def settings_button_clicked_cb(self, button):
# Create an advanced settings dialog
response, settings_changed = self.builder.show_adv_settings_dialog()
response, settings_changed = self.builder.show_simple_settings_dialog()
if not response:
return
if settings_changed:

View File

@@ -34,12 +34,19 @@ class PackageSelectionPage (HobPage):
pages = [
{
'name' : 'Included',
'name' : 'Included packages',
'tooltip' : 'The packages currently included for your image',
'filter' : { PackageListModel.COL_INC : [True] },
'columns' : [{
'col_name' : 'Package name',
'col_id' : PackageListModel.COL_NAME,
'col_t_id' : PackageListModel.COL_FONT,
'col_style': 'text',
'col_min' : 100,
'col_max' : 300,
'expand' : 'True'
}, {
'col_name' : 'Size',
'col_id' : PackageListModel.COL_SIZE,
'col_style': 'text',
'col_min' : 100,
'col_max' : 300,
@@ -47,35 +54,24 @@ class PackageSelectionPage (HobPage):
}, {
'col_name' : 'Brought in by',
'col_id' : PackageListModel.COL_BINB,
'col_t_id' : PackageListModel.COL_FONT,
'col_style': 'binb',
'col_min' : 100,
'col_max' : 350,
'expand' : 'True'
}, {
'col_name' : 'Size',
'col_id' : PackageListModel.COL_SIZE,
'col_t_id' : PackageListModel.COL_FONT,
'col_style': 'text',
'col_min' : 100,
'col_max' : 300,
'expand' : 'True'
}, {
'col_name' : 'Included',
'col_id' : PackageListModel.COL_INC,
'col_t_id' : PackageListModel.COL_FONT,
'col_style': 'check toggle',
'col_group': 'tree store group',
'col_min' : 100,
'col_max' : 100
}]
}, {
'name' : 'All packages',
'tooltip' : 'All packages that have been built',
'filter' : {},
'columns' : [{
'col_name' : 'Package name',
'col_id' : PackageListModel.COL_NAME,
'col_t_id' : PackageListModel.COL_FONT,
'col_style': 'text',
'col_min' : 100,
'col_max' : 400,
@@ -83,7 +79,6 @@ class PackageSelectionPage (HobPage):
}, {
'col_name' : 'Size',
'col_id' : PackageListModel.COL_SIZE,
'col_t_id' : PackageListModel.COL_FONT,
'col_style': 'text',
'col_min' : 100,
'col_max' : 500,
@@ -92,7 +87,6 @@ class PackageSelectionPage (HobPage):
'col_name' : 'Included',
'col_id' : PackageListModel.COL_INC,
'col_style': 'check toggle',
'col_group': 'tree store group',
'col_min' : 100,
'col_max' : 100
}]
@@ -131,16 +125,18 @@ class PackageSelectionPage (HobPage):
filter = page['filter']
tab.set_model(self.package_model.tree_model(filter))
tab.connect("toggled", self.table_toggled_cb, page['name'])
tab.connect_group_selection(self.table_selected_cb)
if page['name'] == "Included":
if page['name'] == "Included packages":
tab.connect("button-release-event", self.button_click_cb)
tab.connect("cell-fadeinout-stopped", self.after_fadeout_checkin_include)
self.ins.append_page(tab, page['name'])
self.ins.append_page(tab, page['name'], page['tooltip'])
self.tables.append(tab)
self.ins.set_entry("Search packages:")
# set the search entry for each table
for tab in self.tables:
search_tip = "Enter a package 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 dialog
@@ -150,16 +146,16 @@ class PackageSelectionPage (HobPage):
self.box_group_area.pack_start(self.button_box, expand=False, fill=False)
self.build_image_button = HobButton('Build image')
self.build_image_button.set_size_request(205, 49)
#self.build_image_button.set_size_request(205, 49)
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)
self.button_box.pack_end(self.build_image_button, expand=False, fill=False)
self.back_button = HobAltButton('<< Back')
self.back_button = HobAltButton('Cancel')
self.back_button.connect("clicked", self.back_button_clicked_cb)
self.button_box.pack_start(self.back_button, expand=False, fill=False)
self.button_box.pack_end(self.back_button, expand=False, fill=False)
def button_click_cb(self, widget, event):
path, col = widget.table_tree.get_cursor()
@@ -169,7 +165,7 @@ class PackageSelectionPage (HobPage):
if binb:
self.builder.show_binb_dialog(binb)
def view_log_clicked_cb(self, button, log_file):
def open_log_clicked_cb(self, button, log_file):
if log_file:
os.system("xdg-open /%s" % log_file)
@@ -177,25 +173,26 @@ class PackageSelectionPage (HobPage):
children = self.button_box.get_children() or []
for child in children:
self.button_box.remove(child)
# re-packed the buttons as request, add the 'view log' button if build success
self.button_box.pack_start(self.back_button, expand=False, fill=False)
# re-packed the buttons as request, add the 'open log' button if build success
self.button_box.pack_end(self.build_image_button, expand=False, fill=False)
if log_file:
view_log_button = HobAltButton("View log")
view_log_button.connect("clicked", self.view_log_clicked_cb, log_file)
view_log_button.set_tooltip_text("Open the building log files")
self.button_box.pack_end(view_log_button, expand=False, fill=False)
open_log_button = HobAltButton("Open log")
open_log_button.connect("clicked", self.open_log_clicked_cb, log_file)
open_log_button.set_tooltip_text("Open the build's log file")
self.button_box.pack_end(open_log_button, expand=False, fill=False)
self.button_box.pack_end(self.back_button, expand=False, fill=False)
self.show_all()
def build_image_clicked_cb(self, button):
self.builder.build_image()
def back_button_clicked_cb(self, button):
if self.builder.current_step == self.builder.PACKAGE_GENERATED:
self.builder.show_recipes()
elif self.builder.previous_step == self.builder.IMAGE_GENERATED:
if self.builder.previous_step == self.builder.IMAGE_GENERATED:
self.builder.restore_initial_selected_packages()
self.refresh_selection()
self.builder.show_image_details()
else:
self.builder.show_configuration()
def _expand_all(self):
for tab in self.tables:
@@ -221,13 +218,13 @@ class PackageSelectionPage (HobPage):
self.label.set_label("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)
self.ins.show_indicator_icon("Included packages", selected_packages_num)
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:
if pagename == "Included":
if pagename == "Included packages":
self.pre_fadeout_checkout_include(view_tree)
self.package_model.exclude_item(item_path=path)
self.render_fadeout(view_tree, cell)
@@ -284,21 +281,6 @@ class PackageSelectionPage (HobPage):
tree.set_model(self.package_model.tree_model(self.pages[0]['filter']))
tree.expand_all()
def foreach_cell_change_font(self, model, path, iter, paths=None):
# Changed the font for a group cells
if path and iter and path[0] == paths[0]:
self.package_model.set(iter, self.package_model.COL_FONT, "bold")
else:
if iter and model.iter_parent(iter) == None:
self.package_model.set(iter, self.package_model.COL_FONT, '11')
else:
self.package_model.set(iter, self.package_model.COL_FONT, '10')
def table_selected_cb(self, selection):
model, paths = selection.get_selected_rows()
if paths:
child_path = self.package_model.convert_vpath_to_path(model, paths[0])
self.package_model.foreach(self.foreach_cell_change_font, child_path)
def set_packages_curr_tab(self, curr_page):
self.ins.set_current_page(curr_page)

View File

@@ -11,6 +11,9 @@ class ProgressBar(gtk.Dialog):
self.vbox.pack_start(self.progress)
self.show_all()
def set_text(self, msg):
self.progress.set_text(msg)
def update(self, x, y):
self.progress.set_fraction(float(x)/float(y))
self.progress.set_text("%2d %%" % (x*100/y))

View File

@@ -33,10 +33,10 @@ from bb.ui.crumbs.hobpages import HobPage
class RecipeSelectionPage (HobPage):
pages = [
{
'name' : 'Included',
'name' : 'Included recipes',
'tooltip' : 'The recipes currently included for your image',
'filter' : { RecipeListModel.COL_INC : [True],
RecipeListModel.COL_TYPE : ['recipe', 'task'] },
RecipeListModel.COL_TYPE : ['recipe', 'packagegroup'] },
'columns' : [{
'col_name' : 'Recipe name',
'col_id' : RecipeListModel.COL_NAME,
@@ -44,13 +44,6 @@ class RecipeSelectionPage (HobPage):
'col_min' : 100,
'col_max' : 400,
'expand' : 'True'
}, {
'col_name' : 'Brought in by',
'col_id' : RecipeListModel.COL_BINB,
'col_style': 'binb',
'col_min' : 100,
'col_max' : 500,
'expand' : 'True'
}, {
'col_name' : 'Group',
'col_id' : RecipeListModel.COL_GROUP,
@@ -58,6 +51,13 @@ class RecipeSelectionPage (HobPage):
'col_min' : 100,
'col_max' : 300,
'expand' : 'True'
}, {
'col_name' : 'Brought in by',
'col_id' : RecipeListModel.COL_BINB,
'col_style': 'binb',
'col_min' : 100,
'col_max' : 500,
'expand' : 'True'
}, {
'col_name' : 'Included',
'col_id' : RecipeListModel.COL_INC,
@@ -67,7 +67,7 @@ class RecipeSelectionPage (HobPage):
}]
}, {
'name' : 'All recipes',
'tooltip' : 'All recipes available in the Yocto Project',
'tooltip' : 'All recipes in your configured layers',
'filter' : { RecipeListModel.COL_TYPE : ['recipe'] },
'columns' : [{
'col_name' : 'Recipe name',
@@ -76,6 +76,13 @@ class RecipeSelectionPage (HobPage):
'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' : 'License',
'col_id' : RecipeListModel.COL_LIC,
@@ -83,13 +90,6 @@ class RecipeSelectionPage (HobPage):
'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,
@@ -98,23 +98,16 @@ class RecipeSelectionPage (HobPage):
'col_max' : 100
}]
}, {
'name' : 'Tasks',
'tooltip' : 'All tasks available in the Yocto Project',
'filter' : { RecipeListModel.COL_TYPE : ['task'] },
'name' : 'Package Groups',
'tooltip' : 'All package groups in your configured layers',
'filter' : { RecipeListModel.COL_TYPE : ['packagegroup'] },
'columns' : [{
'col_name' : 'Task name',
'col_name' : 'Package group 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,
'expand' : 'True'
}, {
'col_name' : 'Included',
'col_id' : RecipeListModel.COL_INC,
@@ -130,7 +123,7 @@ class RecipeSelectionPage (HobPage):
TASKS) = range(3)
def __init__(self, builder = None):
super(RecipeSelectionPage, self).__init__(builder, "Edit recipes")
super(RecipeSelectionPage, self).__init__(builder, "Step 1 of 2: Edit recipes")
# set invisible members
self.recipe_model = self.builder.recipe_model
@@ -156,7 +149,7 @@ class RecipeSelectionPage (HobPage):
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":
if page['name'] == "Included recipes":
tab.connect("button-release-event", self.button_click_cb)
tab.connect("cell-fadeinout-stopped", self.after_fadeout_checkin_include)
self.ins.append_page(tab, page['name'], page['tooltip'])
@@ -177,16 +170,16 @@ class RecipeSelectionPage (HobPage):
self.box_group_area.pack_end(button_box, expand=False, fill=False)
self.build_packages_button = HobButton('Build packages')
self.build_packages_button.set_size_request(205, 49)
#self.build_packages_button.set_size_request(205, 49)
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 = HobAltButton('<< Back')
self.back_button = HobAltButton('Cancel')
self.back_button.connect("clicked", self.back_button_clicked_cb)
button_box.pack_start(self.back_button, expand=False, fill=False)
button_box.pack_end(self.back_button, expand=False, fill=False)
def button_click_cb(self, widget, event):
path, col = widget.table_tree.get_cursor()
@@ -205,13 +198,13 @@ class RecipeSelectionPage (HobPage):
def refresh_selection(self):
self.builder.configuration.selected_image = self.recipe_model.get_selected_image()
_, self.builder.configuration.selected_recipes = self.recipe_model.get_selected_recipes()
self.ins.show_indicator_icon("Included", len(self.builder.configuration.selected_recipes))
self.ins.show_indicator_icon("Included recipes", len(self.builder.configuration.selected_recipes))
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:
if pagename == "Included":
if pagename == "Included recipes":
self.pre_fadeout_checkout_include(view_tree)
self.recipe_model.exclude_item(item_path=path)
self.render_fadeout(view_tree, cell)
@@ -243,7 +236,7 @@ class RecipeSelectionPage (HobPage):
# 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'] }
RecipeListModel.COL_TYPE : ['recipe', 'packagegroup'] }
new_model = self.recipe_model.tree_model(filter, excluded_items_ahead=True)
tree.set_model(new_model)

View File

@@ -374,7 +374,22 @@ class RunningBuild (gobject.GObject):
for reason in event._reasons:
msg += ("%s\n" % reason)
self.emit("no-provider", msg)
self.emit("log", msg)
self.emit("log", "error", msg)
elif isinstance(event, bb.event.LogExecTTY):
icon = "dialog-warning"
color = HobColors.WARNING
if self.sequential or not parent:
tree_add = self.model.append
else:
tree_add = self.model.prepend
tree_add(parent,
(None,
package,
task,
event.msg,
icon,
color,
0))
else:
if not isinstance(event, (bb.event.BuildBase,
bb.event.StampUpdate,

View File

@@ -0,0 +1,85 @@
#!/usr/bin/env python
#
# BitBake Graphical GTK User Interface
#
# Copyright (C) 2012 Intel Corporation
#
# Authored by Bogdan Marinescu <bogdan.a.marinescu@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 gtk, gobject
from bb.ui.crumbs.progressbar import HobProgressBar
from bb.ui.crumbs.hobwidget import hic
from bb.ui.crumbs.hobpages import HobPage
#
# SanityCheckPage
#
class SanityCheckPage (HobPage):
def __init__(self, builder):
super(SanityCheckPage, self).__init__(builder)
self.running = False
self.create_visual_elements()
self.show_all()
def make_label(self, text, bold=True):
label = gtk.Label()
label.set_alignment(0.0, 0.5)
mark = "<span %s>%s</span>" % (self.span_tag('x-large', 'bold') if bold else self.span_tag('medium'), text)
label.set_markup(mark)
return label
def start(self):
if not self.running:
self.running = True
gobject.timeout_add(100, self.timer_func)
def stop(self):
self.running = False
def is_running(self):
return self.running
def timer_func(self):
self.progress_bar.pulse()
return self.running
def create_visual_elements(self):
# Table'd layout. 'rows' and 'cols' give the table size
rows, cols = 30, 50
self.table = gtk.Table(rows, cols, True)
self.pack_start(self.table, expand=False, fill=False)
sx, sy = 2, 2
# 'info' icon
image = gtk.Image()
image.set_from_file(hic.ICON_INFO_DISPLAY_FILE)
self.table.attach(image, sx, sx + 2, sy, sy + 3 )
image.show()
# 'Checking' message
label = self.make_label('Hob is checking for correct build system setup')
self.table.attach(label, sx + 2, cols, sy, sy + 3, xpadding=5 )
label.show()
# 'Shouldn't take long' message.
label = self.make_label("The check shouldn't take long.", False)
self.table.attach(label, sx + 2, cols, sy + 3, sy + 4, xpadding=5)
label.show()
# Progress bar
self.progress_bar = HobProgressBar()
self.table.attach(self.progress_bar, sx + 2, cols - 3, sy + 5, sy + 7, xpadding=5)
self.progress_bar.show()
# All done
self.table.show()

View File

@@ -137,7 +137,7 @@ class RecipeFile(ConfigFile):
class TemplateMgr(gobject.GObject):
__gLocalVars__ = ["MACHINE", "PACKAGE_CLASSES", "DISTRO", "DL_DIR", "SSTATE_DIR", "SSTATE_MIRROR", "PARALLEL_MAKE", "BB_NUMBER_THREADS", "CONF_VERSION"]
__gLocalVars__ = ["MACHINE", "PACKAGE_CLASSES", "DISTRO", "DL_DIR", "SSTATE_DIR", "SSTATE_MIRRORS", "PARALLEL_MAKE", "BB_NUMBER_THREADS", "CONF_VERSION"]
__gBBLayersVars__ = ["BBLAYERS", "LCONF_VERSION"]
__gRecipeVars__ = ["DEPENDS", "IMAGE_INSTALL"]

View File

@@ -220,7 +220,8 @@ def main(server, eventHandler):
gtk.gdk.threads_enter()
dep = DepExplorer()
bardialog = gtk.Dialog(parent=dep)
bardialog = gtk.Dialog(parent=dep,
flags=gtk.DIALOG_MODAL|gtk.DIALOG_DESTROY_WITH_PARENT)
bardialog.set_default_size(400, 50)
pbar = HobProgressBar()
bardialog.vbox.pack_start(pbar)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@@ -27,6 +27,7 @@ import logging
import progressbar
import signal
import bb.msg
import time
import fcntl
import struct
import copy
@@ -182,11 +183,11 @@ class TerminalFilter(object):
activetasks = self.helper.running_tasks
failedtasks = self.helper.failed_tasks
runningpids = self.helper.running_pids
if self.footer_present and (self.lastpids == runningpids):
if self.footer_present and (self.lastcount == self.helper.tasknumber_current) and (self.lastpids == runningpids):
return
if self.footer_present:
self.clearFooter()
if not activetasks:
if not self.helper.tasknumber_total or self.helper.tasknumber_current == self.helper.tasknumber_total:
return
tasks = []
for t in runningpids:
@@ -194,6 +195,8 @@ class TerminalFilter(object):
if self.main.shutdown:
content = "Waiting for %s running tasks to finish:" % len(activetasks)
elif not len(activetasks):
content = "No currently running tasks (%s of %s)" % (self.helper.tasknumber_current, self.helper.tasknumber_total)
else:
content = "Currently %s running tasks (%s of %s):" % (len(activetasks), self.helper.tasknumber_current, self.helper.tasknumber_total)
print content
@@ -204,6 +207,7 @@ class TerminalFilter(object):
lines = lines + 1 + int(len(content) / (self.columns + 1))
self.footer_present = lines
self.lastpids = runningpids[:]
self.lastcount = self.helper.tasknumber_current
def finish(self):
if self.stdinbackup:
@@ -216,6 +220,10 @@ def main(server, eventHandler, tf = TerminalFilter):
includelogs = server.runCommand(["getVariable", "BBINCLUDELOGS"])
loglines = server.runCommand(["getVariable", "BBINCLUDELOGS_LINES"])
consolelogfile = server.runCommand(["getVariable", "BB_CONSOLELOG"])
if sys.stdin.isatty() and sys.stdout.isatty():
log_exec_tty = True
else:
log_exec_tty = False
helper = uihelper.BBUIHelper()
@@ -271,6 +279,20 @@ def main(server, eventHandler, tf = TerminalFilter):
if not main.shutdown:
main.shutdown = 1
if isinstance(event, bb.event.LogExecTTY):
if log_exec_tty:
tries = event.retries
while tries:
print "Trying to run: %s" % event.prog
if os.system(event.prog) == 0:
break
time.sleep(event.sleep_delay)
tries -= 1
if tries:
continue
logger.warn(event.msg)
continue
if isinstance(event, logging.LogRecord):
if event.levelno >= format.ERROR:
errors = errors + 1

View File

@@ -318,6 +318,8 @@ class NCursesUI:
if isinstance(event, bb.cooker.CookerExit):
exitflag = True
if isinstance(event, bb.event.LogExecTTY):
mw.appendText('WARN: ' + event.msg + '\n')
if helper.needUpdate:
activetasks, failedtasks = helper.getTasks()
taw.erase()

View File

@@ -138,7 +138,7 @@ def explode_deps(s):
#r[-1] += ' ' + ' '.join(j)
return r
def explode_dep_versions(s):
def explode_dep_versions2(s):
"""
Take an RDEPENDS style string of format:
"DEPEND1 (optional version) DEPEND2 (optional version) ..."
@@ -147,24 +147,70 @@ def explode_dep_versions(s):
r = {}
l = s.replace(",", "").split()
lastdep = None
lastcmp = ""
lastver = ""
incmp = False
inversion = False
for i in l:
if i[0] == '(':
inversion = True
lastver = i[1:] or ""
#j = []
elif inversion and i.endswith(')'):
inversion = False
lastver = lastver + " " + (i[:-1] or "")
r[lastdep] = lastver
elif not inversion:
r[i] = None
lastdep = i
lastver = ""
elif inversion:
lastver = lastver + " " + i
incmp = True
i = i[1:].strip()
if not i:
continue
if incmp:
incmp = False
inversion = True
# This list is based on behavior and supported comparisons from deb, opkg and rpm.
#
# Even though =<, <<, ==, !=, =>, and >> may not be supported,
# we list each possibly valid item.
# The build system is responsible for validation of what it supports.
if i.startswith(('<=', '=<', '<<', '==', '!=', '>=', '=>', '>>')):
lastcmp = i[0:2]
i = i[2:]
elif i.startswith(('<', '>', '=')):
lastcmp = i[0:1]
i = i[1:]
else:
# This is an unsupported case!
lastcmp = (i or "")
i = ""
i.strip()
if not i:
continue
if inversion:
if i.endswith(')'):
i = i[:-1] or ""
inversion = False
if lastver and i:
lastver += " "
if i:
lastver += i
if lastdep not in r:
r[lastdep] = []
r[lastdep].append(lastcmp + " " + lastver)
continue
#if not inversion:
lastdep = i
lastver = ""
lastcmp = ""
if not (i in r and r[i]):
r[lastdep] = []
return r
def explode_dep_versions(s):
r = explode_dep_versions2(s)
for d in r:
if not r[d]:
r[d] = None
continue
if len(r[d]) > 1:
bb.warn("explode_dep_versions(): Item %s appeared in dependency string '%s' multiple times with different values. explode_dep_versions cannot cope with this." % (d, s))
r[d] = r[d][0]
return r
def join_deps(deps, commasep=True):
@@ -174,7 +220,11 @@ def join_deps(deps, commasep=True):
result = []
for dep in deps:
if deps[dep]:
result.append(dep + " (" + deps[dep] + ")")
if isinstance(deps[dep], list):
for v in deps[dep]:
result.append(dep + " (" + v + ")")
else:
result.append(dep + " (" + deps[dep] + ")")
else:
result.append(dep)
if commasep:

View File

@@ -24,13 +24,15 @@
# manuals are being generated. The variable BRANCH is used to indicate the
# branch (edison or denzil) and is used only when DOC=dev-manual or
# DOC=mega-manual. If you do not specify a BRANCH, the default branch used
# will be for the latest Yocto Project release.
# will be for the latest Yocto Project release. If you build for either
# edison or denzil, you must use BRANCH. You do not need to use BRANCH for
# any release beyond denzil.
#
# To build a manual, you must invoke Makefile with the DOC argument. If you
# are going to publish the manual, then you must invoke Makefile with both the
# DOC and the VER argument. If you are building a particular version of the
# Yocto Project Development Manual or you are building any version of the
# mega-manual, you must use the DOC and BRANCH arguments.
# DOC and the VER argument. Furthermore, if you are building or publishing
# the edison or denzil versions of the Yocto Poject Development Manual or
# the mega-manual, you must also use the BRANCH argument.
#
# Examples:
#
@@ -47,7 +49,8 @@
# fourth example generates both the PDF and HTML 'edison' versions of the YP
# Development Manual. The last exmample generates the HTML version of the
# mega-manual and uses the 'denzil' branch when choosing figures for the
# tarball of figures.
# tarball of figures. Any example that does not use the BRANCH argument
# builds the current version of the manual set.
#
# 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
@@ -57,16 +60,13 @@
# make publish DOC=bsp-guide VER=1.3
# make publish DOC=adt-manual VER=1.3
# make publish DOC=dev-manual VER=1.1.1 BRANCH=edison
# make publish DOC=dev-manual VER=1.2
# make publish DOC=mega-manual VER=1.3 BRANCH=denzil
# make publish DOC=dev-manual VER=1.2 BRANCH=denzil
#
# 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
# The first example publishes the 1.3 version of both the PDF and HTML versions of
# the BSP Guide. The second example publishes the 1.3 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. The fourth example publishes
# the PDF and HTML 'master' versions of the YP Development Manual. The last
# example publishes the 1.3 version of the mega-manual (HTML-only) and the
# version generated and published is based on the 'denzil' branch.
# the PDF and HTML 'denzil' versions of the YP Development Manual.
#
ifeq ($(DOC),bsp-guide)
@@ -119,9 +119,9 @@ TARFILES = dev-style.css dev-manual.html dev-manual.pdf \
TARFILES = dev-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-denzil.png \
figures/kernel-overview-1.png figures/kernel-overview-2.png \
figures/kernel-overview-3-denzil.png \
figures/kernel-example-repos-generic.png \
figures/kernel-overview-1.png figures/kernel-overview-2-generic.png \
figures/kernel-overview-3-generic.png \
figures/source-repos.png figures/yp-download.png \
figures/wip.png
endif
@@ -184,9 +184,9 @@ TARFILES = mega-manual.html mega-style.css figures/yocto-environment.png figures
figures/kernel-title.png figures/kernel-architecture-overview.png \
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-denzil.png \
figures/kernel-overview-1.png figures/kernel-overview-2.png \
figures/kernel-overview-3-denzil.png \
figures/kernel-example-repos-generic.png \
figures/kernel-overview-1.png figures/kernel-overview-2-generic.png \
figures/kernel-overview-3-generic.png \
figures/source-repos.png figures/yp-download.png \
figures/wip.png
endif

View File

@@ -49,6 +49,15 @@ is located in the tools directory. Also note that the figures folder in the
mega-manual directory contains duplicates of all the figures in the YP folders
directories for all YP manuals and guides.
If you want to find HTML versions of the Yocto Project manuals on the web,
go to http://www.yoctoproject.org and click on the "Documentation" tab. From
there you have access to archived documentation from previous releases, current
documentation for the latest release, and "Docs in Progress" for the release
currently being developed.
In general, the Yocto Project site (http://www.yoctoproject.org) is a great
reference for both information and downloads.
Makefile
========

View File

@@ -32,7 +32,7 @@
For an Autotools-based project, you can use the cross-toolchain by just
passing the appropriate host option to <filename>configure.sh</filename>.
The host option you use is derived from the name of the environment setup
script in <filename>/opt/poky</filename> resulting from unpacking the
script in <filename>/opt/poky</filename> resulting from installation of the
cross-toolchain tarball.
For example, the host option for an ARM-based target that uses the GNU EABI
is <filename>armv5te-poky-linux-gnueabi</filename>.

View File

@@ -54,8 +54,8 @@
<para>
The cross-toolchain consists of a cross-compiler, cross-linker, and cross-debugger
that are used to develop user-space applications for targeted hardware.
This toolchain is created either by running the ADT Installer script or
through a build directory that is based on your metadata
This toolchain is created either by running the ADT Installer script, a toolchain installer
script, or through a build directory that is based on your metadata
configuration or extension for your targeted device.
The cross-toolchain works with a matching target sysroot.
</para>

View File

@@ -29,8 +29,7 @@
<note>
<para>Avoid mixing installation methods when installing toolchains for different architectures.
For example, avoid using the ADT Installer to install some toolchains and then hand-installing
cross-development toolchains from downloaded tarballs to install toolchains
for different architectures.
cross-development toolchains by running the toolchain installer for different architectures.
Mixing installation methods can result in situations where the ADT Installer becomes
unreliable and might not install the toolchain.</para>
<para>If you must mix installation methods, you might avoid problems by deleting
@@ -46,9 +45,9 @@
For example, you can configure the installation to install the QEMU emulator
and the user-space NFS, specify which root filesystem profiles to download,
and define the target sysroot location.</para></listitem>
<listitem><para><emphasis>Use an Existing Toolchain Tarball:</emphasis>
<listitem><para><emphasis>Use an Existing Toolchain:</emphasis>
Using this method, you select and download an architecture-specific
toolchain tarball and then hand-install the toolchain.
toolchain installer and then run the script to hand-install the toolchain.
If you use this method, you just get the cross-toolchain and QEMU - you do not
get any of the other mentioned benefits had you run the ADT Installer script.</para></listitem>
<listitem><para><emphasis>Use the Toolchain from within the Build Directory:</emphasis>
@@ -84,7 +83,7 @@
<para>
If you use BitBake to generate the ADT Installer tarball, you must
<filename>source</filename> the environment setup script
(<filename>oe-init-build-env</filename>) located
(<filename>&OE_INIT_FILE;</filename>) located
in the source directory before running the <filename>bitbake</filename>
command that creates the tarball.
</para>
@@ -188,6 +187,7 @@
When you run the installer, the environment must use a
host <filename>gcc</filename>:
<literallayout class='monospaced'>
$ cd ~/adt-installer
$ ./adt_installer
</literallayout>
</para>
@@ -200,7 +200,10 @@
</note>
<para>
Once the installer begins to run, you are asked whether you want to run in
Once the installer begins to run, you are asked to enter the location for
cross-toolchain installation.
The default location is <filename>/opt/poky/&lt;release&gt;</filename>.
After selecting the location, you are prompted to run in
interactive or silent mode.
If you want to closely monitor the installation, choose “I” for interactive
mode rather than “S” for silent mode.
@@ -223,10 +226,12 @@
<title>Using a Cross-Toolchain Tarball</title>
<para>
If you want to simply install the cross-toolchain by hand, you can do so by using an existing
cross-toolchain tarball.
If you want to simply install the cross-toolchain by hand, you can do so by running the
toolchain installer.
If you use this method to install the cross-toolchain and you still need to install the target
sysroot, you will have to install sysroot separately.
sysroot, you will have to extract and install sysroot separately.
For information on how to do this, see the
"<link linkend='extracting-the-root-filesystem'>Extracting the Root Filesystem</link>" section.
</para>
<para>
@@ -237,30 +242,43 @@
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>
<listitem><para>Go into that folder and download the toolchain tarball whose name
<listitem><para>Go into that folder and download the toolchain installer 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:
<filename>x86_64</filename> folder and download the following installer:
<literallayout class='monospaced'>
poky-eglibc-x86_64-i586-toolchain-gmae-&DISTRO;.tar.bz2
poky-eglibc-x86_64-i586-toolchain-gmae-&DISTRO;.sh
</literallayout>
<note><para>As an alternative to steps one and two, you can build the toolchain tarball
<note><para>As an alternative to steps one and two, you can build the toolchain installer
if you have a <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>build directory</ulink>.
If you need GMAE, you should use the <filename>bitbake meta-toolchain-gmae</filename>
command.
The resulting tarball will support such development.
The resulting installation script when run will support such development.
However, if you are not concerned with GMAE,
you can generate the tarball using <filename>bitbake meta-toolchain</filename>.</para>
you can generate the toolchain installer using
<filename>bitbake meta-toolchain</filename>.</para>
<para>Use the appropriate <filename>bitbake</filename> command only after you have
sourced the <filename>oe-build-init-env</filename> script located in the source
directory.
When the <filename>bitbake</filename> command completes, the tarball will
When the <filename>bitbake</filename> command completes, the toolchain installer will
be in <filename>tmp/deploy/sdk</filename> in the build directory.
</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>&YOCTO_ADTPATH_DIR;</filename>.
</para></note>
</para></listitem>
<listitem><para>Once you have the installer, run it to install the toolchain.
You must change the permissions on the toolchain installer
script so that it is executable.</para>
<para>The following command shows how to run the installer given a toolchain tarball
for a 64-bit development host system and a 32-bit target architecture.
The example assumes the toolchain installer is located in <filename>~/Downloads/</filename>.
<literallayout class='monospaced'>
$ ~/Downloads/poky-eglibc-x86_64-i586-toolchain-gmae-&DISTRO;.sh
</literallayout>
<note>
If you do not have write permissions for the directory into which you are installing
the toolchain, the toolchain installer notifies you and exits.
Be sure you have write permissions in the directory and run the installer again.
</note>
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>
@@ -285,7 +303,7 @@
Follow these steps to generate the toolchain into the build directory:
<orderedlist>
<listitem><para>Source the environment setup script
<filename>oe-init-build-env</filename> located in the
<filename>&OE_INIT_FILE;</filename> located in the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>source directory</ulink>.
</para></listitem>
<listitem><para>At this point, you should be sure that the
@@ -312,7 +330,11 @@
the cross-toolchain is generated and populated within the build directory.
You will notice environment setup files for the cross-toolchain in the
build directory in the <filename>tmp</filename> directory.
Setup script filenames contain the strings <filename>environment-setup</filename>.
Setup script filenames contain the strings <filename>environment-setup</filename>.</para>
<para>Be aware that when you use this method to install the toolchain you still need
to separately extract and install the sysroot filesystem.
For information on how to do this, see the
"<link linkend='extracting-the-root-filesystem'>Extracting the Root Filesystem</link>" section.
</para></listitem>
</orderedlist>
</para>
@@ -383,7 +405,15 @@
</para>
<para>
If you plan on remotely deploying and debugging your application from within the
If you are planning on developing against your image and you are not
building or using one of the Yocto Project development images
(e.g. core-image-*-dev), you must be sure to include the development
packages as part of your image recipe.
</para>
<para>
Furthermore, if you plan on remotely deploying and debugging your
application from within the
Eclipse IDE, you must have an image that contains the Yocto Target Communication
Framework (TCF) agent (<filename>tcf-agent</filename>).
By default, the Yocto Project provides only one type pre-built image that contains the

View File

@@ -56,6 +56,7 @@
BBLAYERS = " \
/usr/local/src/yocto/meta \
/usr/local/src/yocto/meta-yocto \
/usr/local/src/yocto/meta-yocto-bsp \
/usr/local/src/yocto/meta-&lt;bsp_name&gt; \
"
</literallayout>
@@ -172,9 +173,6 @@
meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay/machconfig
meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay-noemgd/
meta-crownbay/recipes-bsp/formfactor/formfactor/crownbay-noemgd/machconfig
meta-crownbay/recipes-core/
meta-crownbay/recipes-core/tasks/
meta-crownbay/recipes-core/tasks/task-core-tools-profile.bbappend
meta-crownbay/recipes-graphics/
meta-crownbay/recipes-graphics/xorg-xserver/
meta-crownbay/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
@@ -391,7 +389,7 @@
<para>
Tuning files are found in the <filename>meta/conf/machine/include</filename>
directory within the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>source directory</ulink>.
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
Tuning files can also reside in the BSP Layer itself.
For example, the <filename>ia32-base.inc</filename> file resides in the
<filename>meta-intel</filename> BSP Layer in <filename>conf/machine/include</filename>.
@@ -443,31 +441,10 @@
formfactor recipe
<filename>meta/recipes-bsp/formfactor/formfactor_0.0.bb</filename>,
which is found in the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>source directory</ulink>.
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
</para></note>
</section>
<section id='bsp-filelayout-core-recipes'>
<title>Core Recipe Files</title>
<para>
You can find these files in the BSP Layer at:
<literallayout class='monospaced'>
meta-&lt;bsp_name&gt;/recipes-core/*
</literallayout>
</para>
<para>
This directory contains recipe files that are almost always necessary to build a
useful, working Linux image.
Thus, the term "core" is used to group these recipes.
For example, in the Crown Bay BSP there is the
<filename>task-core-tools-profile.bbappend</filename> file, which is an append file used
to recommend that the
<ulink url='http://sourceware.org/systemtap/wiki'>SystemTap</ulink>
package be included as a package when the image is built.
</para>
</section>
<section id='bsp-filelayout-recipes-graphics'>
<title>Display Support Files</title>
<para>
@@ -509,7 +486,7 @@
</para>
<para>
For your BSP, you typically want to use an existing Yocto Project kernel recipe found in the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>source directory</ulink>
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>
at <filename>meta/recipes-kernel/linux</filename>.
You can append your specific changes to the kernel recipe by using a
similarly named append file, which is located in the BSP Layer (e.g.
@@ -581,7 +558,7 @@
to ensure the build process uses the <filename>standard/default/crownbay</filename>
kernel branch.
Finally, the append file points to the specific top commits in the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>source directory</ulink> Git
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink> Git
repository and the <filename>meta</filename> Git repository branches to identify the
exact kernel needed to build the Crown Bay BSP.
</para>
@@ -641,13 +618,6 @@
<filename>meta</filename> branch for your BSP.
The configuration options will likely end up in that location anyway if the BSP gets
added to the Yocto Project.
For an example showing how to change the BSP configuration, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#changing-the-bsp-configuration'>Changing the BSP Configuration</ulink>"
section in the Yocto Project Development Manual.
For a better understanding of working with a local clone of the kernel repository
and a local bare clone of the kernel, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#modifying-the-kernel-source-code'>Modifying the Kernel
Source Code</ulink>" section also in the Yocto Project Development Manual.
</para>
<para>
@@ -730,7 +700,7 @@
<filename>recipe-*</filename> subdirectory.
You can find <filename>recipes.txt</filename> in the
<filename>meta</filename> directory of the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>source directory</ulink>,
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>,
or in the OpenEmbedded Core Layer
(<filename>openembedded-core</filename>) found at
<ulink url='http://git.openembedded.org/openembedded-core/tree/meta'></ulink>.
@@ -738,7 +708,7 @@
<para>Within any particular <filename>recipes-*</filename> category, the layout
should match what is found in the OpenEmbedded Core
Git repository (<filename>openembedded-core</filename>)
or the source directory (<filename>poky</filename>).
or the Source Directory (<filename>poky</filename>).
In other words, make sure you place related files in appropriately
related <filename>recipes-*</filename> subdirectories specific to the
recipe's function, or within a subdirectory containing a set of closely-related
@@ -895,7 +865,7 @@
<para>
To better understand this, consider an example that customizes a recipe by adding
a BSP-specific configuration file named <filename>interfaces</filename> to the
<filename>netbase_4.47.bb</filename> recipe for machine "xyz".
<filename>netbase_5.0.bb</filename> recipe for machine "xyz".
Do the following:
<orderedlist>
<listitem><para>Edit the <filename>netbase_4.47.bbappend</filename> file so that it
@@ -1041,8 +1011,8 @@
<para>
The following sections describe the common location and help features as well
as details for the <filename>yocto-bsp</filename> and <filename>yocto-kernel</filename>
tools.
as provide details for the
<filename>yocto-bsp</filename> and <filename>yocto-kernel</filename> tools.
</para>
<section id='common-features'>
@@ -1061,7 +1031,7 @@
<para>
Both tools reside in the <filename>scripts/</filename> subdirectory
of the <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>source directory</ulink>.
of the <ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
Consequently, to use the scripts, you must <filename>source</filename> the
environment just as you would when invoking a build:
<literallayout class='monospaced'>
@@ -1073,30 +1043,27 @@
The most immediately useful function is to get help on both tools.
The built-in help system makes it easy to drill down at
any time and view the syntax required for any specific command.
Simply enter the name of the command, or the command along with
<filename>help</filename> to display a list of the available sub-commands.
Here is an example:
Simply enter the name of the command with the <filename>help</filename>
switch:
<literallayout class='monospaced'>
$ yocto-bsp
$ yocto-bsp help
Usage:
Usage:
Create a customized Yocto BSP layer.
Create a customized Yocto BSP layer.
usage: yocto-bsp [--version] [--help] COMMAND [ARGS]
usage: yocto-bsp [--version] [--help] COMMAND [ARGS]
Current 'yocto-bsp' commands are:
create Create a new Yocto BSP
list List available values for options and BSP properties
The most commonly used 'yocto-bsp' commands are:
create Create a new Yocto BSP
list List available values for options and BSP properties
See 'yocto-bsp help COMMAND' for more information on a specific command.
See 'yocto-bsp help COMMAND' for more information on a specific command.
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-D, --debug output debug information
--version show program's version number and exit
-h, --help show this help message and exit
-D, --debug output debug information
</literallayout>
</para>
@@ -1106,19 +1073,20 @@
<literallayout class='monospaced'>
$ yocto-bsp create
Usage:
Usage:
Create a new Yocto BSP
usage: yocto-bsp create &lt;bsp-name&gt; &lt;karch&gt; [-o &lt;DIRNAME&gt; | --outdir &lt;DIRNAME&gt;]
Create a new Yocto BSP
usage: yocto-bsp create &lt;bsp-name&gt; &lt;karch&gt; [-o &lt;DIRNAME&gt; | --outdir &lt;DIRNAME&gt;]
[-i &lt;JSON PROPERTY FILE&gt; | --infile &lt;JSON PROPERTY_FILE&gt;]
This command creates a Yocto BSP based on the specified parameters.
The new BSP will be a new BSP layer contained by default within
the top-level directory specified as 'meta-bsp-name'. The -o option
can be used to place the BSP layer in a directory with a different
name and location.
This command creates a Yocto BSP based on the specified parameters.
The new BSP will be a new Yocto BSP layer contained by default within
the top-level directory specified as 'meta-bsp-name'. The -o option
can be used to place the BSP layer in a directory with a different
name and location.
...
...
</literallayout>
</para>
@@ -1129,33 +1097,26 @@
$ yocto-bsp help create
NAME
yocto-bsp create - Create a new Yocto BSP
yocto-bsp create - Create a new Yocto BSP
SYNOPSIS
yocto-bsp create &lt;bsp-name&gt; &lt;karch&gt; [-o &lt;DIRNAME&gt; | --outdir &lt;DIRNAME&gt;]
yocto-bsp create &lt;bsp-name&gt; &lt;karch&gt; [-o &lt;DIRNAME&gt; | --outdir &lt;DIRNAME&gt;]
[-i &lt;JSON PROPERTY FILE&gt; | --infile &lt;JSON PROPERTY_FILE&gt;]
DESCRIPTION
This command creates a Yocto BSP based on the specified
parameters. The new BSP will be a new Yocto BSP layer contained
by default within the top-level directory specified as
'meta-bsp-name'. The -o option can be used to place the BSP layer
in a directory with a different name and location.
The value of the 'karch' parameter determines the set of files
that will be generated for the BSP, along with the specific set of
'properties' that will be used to fill out the BSP-specific
portions of the BSP.
...
NOTE: Once created, you should add your new layer to your
bblayers.conf file in order for it to be subsequently seen and
modified by the yocto-kernel tool.
NOTE for x86- and x86_64-based BSPs: The generated BSP assumes the
presence of the of the meta-intel layer, so you should also have a
meta-intel layer present and added to your bblayers.conf as well.
This command creates a Yocto BSP based on the specified
parameters. The new BSP will be a new Yocto BSP layer contained
by default within the top-level directory specified as
'meta-bsp-name'. The -o option can be used to place the BSP layer
in a directory with a different name and location.
The value of the 'karch' parameter determines the set of files
that will be generated for the BSP, along with the specific set of
'properties' that will be used to fill out the BSP-specific
portions of the BSP. The possible values for the 'karch' paramter
can be listed via 'yocto-bsp list karch'.
...
</literallayout>
</para>
@@ -1182,33 +1143,33 @@
For the current set of BSPs, the script prompts you for various important
parameters such as:
<itemizedlist>
<listitem><para>which kernel to use</para></listitem>
<listitem><para>which branch of that kernel to use (or re-use)</para></listitem>
<listitem><para>whether or not to use X, and if so, which drivers to use</para></listitem>
<listitem><para>whether to turn on SMP</para></listitem>
<listitem><para>whether the BSP has a keyboard</para></listitem>
<listitem><para>whether the BSP has a touchscreen</para></listitem>
<listitem><para>any remaining configurable items associated with the BSP</para></listitem>
<listitem><para>The kernel to use</para></listitem>
<listitem><para>The branch of that kernel to use (or re-use)</para></listitem>
<listitem><para>Whether or not to use X, and if so, which drivers to use</para></listitem>
<listitem><para>Whether to turn on SMP</para></listitem>
<listitem><para>Whether the BSP has a keyboard</para></listitem>
<listitem><para>Whether the BSP has a touchscreen</para></listitem>
<listitem><para>Remaining configurable items associated with the BSP</para></listitem>
</itemizedlist>
</para>
<para>
You use the <filename>yocto-bsp create</filename> sub-command to create
a new BSP layer.
This command requires you to specify a particular architecture on which to
base the BSP.
This command requires you to specify a particular kernel architecture
(<filename>karch</filename>) on which to base the BSP.
Assuming you have sourced the environment, you can use the
<filename>yocto-bsp list karch</filename> sub-command to list the
architectures available for BSP creation as follows:
<literallayout class='monospaced'>
$ yocto-bsp list karch
Architectures available:
arm
powerpc
i386
mips
x86_64
qemu
x86_64
i386
powerpc
arm
mips
</literallayout>
</para>
@@ -1229,53 +1190,46 @@
the prompts appear in brackets.
Pressing enter without supplying anything on the command line or pressing enter
and providing an invalid response causes the script to accept the default value.
Once the script completes, the new <filename>meta-myarm</filename> BSP layer
is created in the current working directory.
This example assumes you have source the &OE_INIT_FILE; and are currently
in the top-level folder of the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
</para>
<para>
Following is the complete example:
<literallayout class='monospaced'>
$ yocto-bsp create myarm qemu
Which qemu architecture would you like to use? [default: x86]
1) common 32-bit x86
2) common 64-bit x86
3) common 32-bit ARM
4) common 32-bit PowerPC
5) common 32-bit MIPS
Which qemu architecture would you like to use? [default: i386]
1) i386 (32-bit)
2) x86_64 (64-bit)
3) ARM (32-bit)
4) PowerPC (32-bit)
5) MIPS (32-bit)
3
Would you like to use the default (3.2) kernel? (Y/n)
Do you need a new machine branch for this BSP (the alternative is to re-use an existing branch)? [Y/n]
Getting branches from remote repo git://git.yoctoproject.org/linux-yocto-3.2...
Please choose a machine branch to base this BSP on => [default: standard/default/common-pc]
1) base
Would you like to use the default (3.4) kernel? (y/n) [default: y]
Do you need a new machine branch for this BSP (the alternative is to re-use an existing branch)? [y/n] [default: y]
Getting branches from remote repo git://git.yoctoproject.org/linux-yocto-3.4.git...
Please choose a machine branch to base your new BSP branch on: [default: standard/base]
1) standard/arm-versatile-926ejs
2) standard/base
3) standard/default/arm-versatile-926ejs
4) standard/default/base
5) standard/default/beagleboard
6) standard/default/cedartrailbsp (copy).xml
7) standard/default/common-pc-64/base
8) standard/default/common-pc-64/jasperforest
9) standard/default/common-pc-64/romley
10) standard/default/common-pc-64/sugarbay
11) standard/default/common-pc/atom-pc
12) standard/default/common-pc/base
13) standard/default/crownbay
14) standard/default/emenlow
15) standard/default/fishriver
16) standard/default/fri2
17) standard/default/fsl-mpc8315e-rdb
18) standard/default/mti-malta32-be
19) standard/default/mti-malta32-le
20) standard/default/preempt-rt
21) standard/default/qemu-ppc32
22) standard/default/routerstationpro
23) standard/preempt-rt/base
24) standard/preempt-rt/qemu-ppc32
25) standard/preempt-rt/routerstationpro
26) standard/tiny
3
Do you need SMP support? (Y/n)
Does your BSP have a touchscreen? (y/N)
Does your BSP have a keyboard? (Y/n)
3) standard/beagleboard
4) standard/cedartrail
5) standard/crownbay
6) standard/emenlow
7) standard/fishriver
8) standard/fri2
9) standard/fsl-mpc8315e-rdb
10) standard/mti-malta32
11) standard/mti-malta64
12) standard/qemuppc
13) standard/routerstationpro
14) standard/sys940x
1
Would you like SMP support? (y/n) [default: y]
Does your BSP have a touchscreen? (y/n) [default: n]
Does your BSP have a keyboard? (y/n) [default: y]
New qemu BSP created in meta-myarm
</literallayout>
Let's take a closer look at the example now:
@@ -1285,10 +1239,10 @@
In the example, we use the <filename>arm</filename> architecture.
</para></listitem>
<listitem><para>The script then prompts you for the kernel.
The default kernel is 3.2 and is acceptable.
The default 3.4 kernel is acceptable.
So, the example accepts the default.
If you enter 'n', the script prompts you to further enter the kernel
you do want to use (e.g. 3.0, 3.2_preempt-rt, etc.).</para></listitem>
you do want to use (e.g. 3.0, 3.2_preempt-rt, and so forth.).</para></listitem>
<listitem><para>Next, the script asks whether you would like to have a new
branch created especially for your BSP in the local
<ulink url='&YOCTO_DOCS_DEV_URL;#local-kernel-files'>Linux Yocto Kernel</ulink>
@@ -1301,25 +1255,20 @@
The reason a new branch is the default is that typically
new BSPs do require BSP-specific patches.
The tool thus assumes that most of time a new branch is required.
<note>In the current implementation, creation or re-use of a branch does
not actually matter.
The reason is because the generated BSPs assume that patches and
configurations live in recipe-space, which is something that can be done
with or without a dedicated branch.
Generated BSPs, however, are different.
This difference becomes significant once the tool's 'publish' functionality
is implemented.</note></para></listitem>
<listitem><para>Regardless of which choice is made in the previous step,
</para></listitem>
<listitem><para>Regardless of which choice you make in the previous step,
you are now given the opportunity to select a particular machine branch on
which to base your new BSP-specific machine branch on
which to base your new BSP-specific machine branch
(or to re-use if you had elected to not create a new branch).
Because this example is generating an <filename>arm</filename> BSP, the example
uses <filename>#3</filename> at the prompt, which selects the arm-versatile branch.
uses <filename>#1</filename> at the prompt, which selects the arm-versatile branch.
</para></listitem>
<listitem><para>The remainder of the prompts are routine.
Defaults are accepted for each.</para></listitem>
<listitem><para>By default, the script creates the new BSP Layer in the
<ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>build directory</ulink>.
current working directory of the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>,
which is <filename>poky</filename> in this case.
</para></listitem>
</orderedlist>
</para>
@@ -1332,6 +1281,7 @@
BBLAYERS = " \
/usr/local/src/yocto/meta \
/usr/local/src/yocto/meta-yocto \
/usr/local/src/yocto/meta-yocto-bsp \
/usr/local/src/yocto/meta-myarm \
"
</literallayout>
@@ -1363,21 +1313,28 @@
is to use the <filename>yocto-kernel</filename> built-in help as follows:
<literallayout class='monospaced'>
$ yocto-kernel
Usage:
Usage:
Modify and list Yocto BSP kernel config items and patches.
Modify and list Yocto BSP kernel config items and patches.
usage: yocto-kernel [--version] [--help] COMMAND [ARGS]
usage: yocto-kernel [--version] [--help] COMMAND [ARGS]
The most commonly used 'yocto-kernel' commands are:
config list List the modifiable set of bare kernel config options for a BSP
config add Add or modify bare kernel config options for a BSP
config rm Remove bare kernel config options from a BSP
patch list List the patches associated with a BSP
patch add Patch the Yocto kernel for a BSP
patch rm Remove patches from a BSP
Current 'yocto-kernel' commands are:
config list List the modifiable set of bare kernel config options for a BSP
config add Add or modify bare kernel config options for a BSP
config rm Remove bare kernel config options from a BSP
patch list List the patches associated with a BSP
patch add Patch the Yocto kernel for a BSP
patch rm Remove patches from a BSP
See 'yocto-kernel help COMMAND' for more information on a specific command.
See 'yocto-kernel help COMMAND' for more information on a specific command.
Options:
--version show program's version number and exit
-h, --help show this help message and exit
-D, --debug output debug information
</literallayout>
</para>

View File

@@ -1,716 +0,0 @@
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<appendix id='dev-manual-bsp-appendix'>
<title>BSP Development Example</title>
<para>
This appendix provides a complete BSP development example.
The example assumes the following:
<itemizedlist>
<listitem><para>No previous preparation or use of the Yocto Project.</para></listitem>
<listitem><para>Use of the Crown Bay Board Support Package (BSP) as a "base" BSP from
which to work.
The example begins with the Crown Bay BSP as the starting point
but ends by building a new 'atom-pc' BSP, which was based on the Crown Bay BSP.
</para></listitem>
<listitem><para>Shell commands assume <filename>bash</filename></para></listitem>
<listitem><para>Example was developed on an Intel-based Core i7 platform running
Ubuntu 10.04 LTS released in April of 2010.</para></listitem>
</itemizedlist>
</para>
<section id='getting-local-yocto-project-files-and-bsp-files'>
<title>Getting Local Source Files and BSP Files</title>
<para>
You need to have the <link linkend='source-directory'>source directory</link>
available on your host system.
You can set up this directory through tarball extraction or by cloning the
<filename>poky</filename> Git repository.
The following paragraphs describe both methods.
For additional information, see the bulleted item
"<link linkend='local-yp-release'>Yocto Project Release</link>".
</para>
<para>
As mentioned, one way to set up the source directory is to use Git to clone the
<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 "&DISTRO_NAME;" tarball.
These commands unpack the tarball into a source directory structure.
By default, the top-level directory of the source directory is named
<filename>&YOCTO_POKY;</filename>:
<literallayout class='monospaced'>
$ tar xfj &YOCTO_POKY_TARBALL;
$ cd &YOCTO_POKY;
</literallayout>
<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 &DISTRO_NAME; release tarballs.
Consequently, there is nothing left to do other than extract those tarballs into the
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 Poky 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 differences.</para></note>
</para>
<para>
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 &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'>
$ 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 id='choosing-a-base-bsp-app'>
<title>Choosing a Base BSP</title>
<para>
For this example, the base BSP is the <trademark class='registered'>Intel</trademark>
<trademark class='trade'>Atom</trademark> Processor E660 with Intel Platform
Controller Hub EG20T Development Kit, which is otherwise referred to as "Crown Bay."
The BSP layer is <filename>meta-crownbay</filename>.
The base BSP is simply the BSP
we will be using as a starting point, so don't worry if you don't actually have Crown Bay
hardware.
The remainder of the example transforms the base BSP into a BSP that should be
able to boot on generic atom-pc (netbook) hardware.
</para>
<para>
For information on how to choose a base BSP, see
"<link linkend='developing-a-board-support-package-bsp'>Developing a Board Support Package (BSP)</link>".
</para>
</section>
<section id='getting-your-base-bsp-app'>
<title>Getting Your Base BSP</title>
<para>
You need to have the base BSP layer on your development system.
Similar to the local <link linkend='source-directory'>source directory</link>,
you can get the BSP
layer in a couple of different ways:
download the BSP tarball and extract it, or set up a local Git repository that
has the BSP layers.
You should use the same method that you used to set up the source directory earlier.
See "<link linkend='getting-setup'>Getting Setup</link>" for information on how to get
the BSP files.
</para>
<para>
This example assumes the BSP layer will be located within a directory named
<filename>meta-intel</filename> contained within the <filename>poky</filename>
parent directory.
The following steps will automatically create the
<filename>meta-intel</filename> directory and the contained
<filename>meta-crownbay</filename> starting point in both the Git and the tarball cases.
</para>
<para>
If you're using the Git method, you could do the following to create
the starting layout after you have made sure you are in the <filename>poky</filename>
directory created in the previous steps:
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/meta-intel.git
$ cd meta-intel
</literallayout>
Alternatively, you can start with the downloaded Crown Bay tarball.
You can download the &DISTRO_NAME; version of the BSP tarball from 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='&YOCTO_MACHINES_DL_URL;/crownbay-noemgd/crownbay-noemgd-&DISTRO_NAME;-&POKYVERSION;.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-&DISTRO_NAME;-&POKYVERSION;.tar.bz2
$ cd meta-intel
</literallayout>
</para>
<para>
The <filename>meta-intel</filename> directory contains all the metadata
that supports BSP creation.
If you're using the Git method, the following
step will switch to the &DISTRO_NAME; metadata.
If you're using the tarball method, you already have the correct metadata and can
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>&DISTRO_NAME;</filename> branch.
<literallayout class='monospaced'>
$ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
Branch &DISTRO_NAME; set up to track remote branch &DISTRO_NAME; from origin.
Switched to a new branch '&DISTRO_NAME;'
</literallayout>
</para>
</section>
<section id='making-a-copy-of-the-base bsp-to-create-your-new-bsp-layer-app'>
<title>Making a Copy of the Base BSP to Create Your New BSP Layer</title>
<para>
Now that you have set up the source directory and included the base BSP files, you need to
create a new layer for your BSP.
To create your BSP layer, you simply copy the <filename>meta-crownbay</filename>
layer to a new layer.
</para>
<para>
For this example, the new layer will be named <filename>meta-mymachine</filename>.
The name should follow the BSP layer naming convention, which is
<filename>meta-&lt;name&gt;</filename>.
The following assumes your working directory is <filename>meta-intel</filename>
inside your source directory.
To start your new layer, just copy the new layer alongside the existing
BSP layers in the <filename>meta-intel</filename> directory:
<literallayout class='monospaced'>
$ cp -a meta-crownbay/ meta-mymachine
</literallayout>
</para>
</section>
<section id='making-changes-to-your-bsp-app'>
<title>Making Changes to Your BSP</title>
<para>
Right now you have two identical BSP layers with different names:
<filename>meta-crownbay</filename> and <filename>meta-mymachine</filename>.
You need to change your configurations so that they work for your new BSP and
your particular hardware.
The following sections look at each of these areas of the BSP.
</para>
<section id='changing-the-bsp-configuration'>
<title>Changing the BSP Configuration</title>
<para>
We will look first at the configurations, which are all done in the layers
<filename>conf</filename> directory.
</para>
<para>
First, since in this example the new BSP will not support EMGD, we will get rid of the
<filename>crownbay.conf</filename> file and then rename the
<filename>crownbay-noemgd.conf</filename> file to <filename>mymachine.conf</filename>.
Much of what we do in the configuration directory is designed to help the OpenEmbedded
build system work with the new layer and to be able to find and use the right software.
The following two commands result in a single machine configuration file named
<filename>mymachine.conf</filename>.
<literallayout class='monospaced'>
$ rm meta-mymachine/conf/machine/crownbay.conf
$ mv meta-mymachine/conf/machine/crownbay-noemgd.conf \
meta-mymachine/conf/machine/mymachine.conf
</literallayout>
</para>
<para>
Next, we need to make changes to the <filename>mymachine.conf</filename> itself.
The only changes we want to make for this example are to the comment lines.
Changing comments, of course, is never strictly necessary, but it's alway good form to make
them reflect reality as much as possible.
Here, simply substitute the Crown Bay name with an appropriate name for the BSP
(<filename>mymachine</filename> in this case) and change the description to
something that describes your hardware.
</para>
<para>
Note that inside the <filename>mymachine.conf</filename> is the
<filename>PREFERRED_VERSION_linux-yocto</filename> statement.
This statement identifies the kernel that the BSP is going to use.
In this case, the BSP is using <filename>linux-yocto</filename>, which is the
current Yocto Project kernel based on the Linux 3.2 release.
</para>
<para>
The next configuration file in the new BSP layer we need to edit is
<filename>meta-mymachine/conf/layer.conf</filename>.
This file identifies build information needed for the new layer.
You can see the
"<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>
<para>
The file contains these statements that reference the Crown Bay BSP:
<literallayout class='monospaced'>
BBFILE_COLLECTIONS += "crownbay"
BBFILE_PATTERN_crownbay := "^${LAYERDIR}/"
BBFILE_PRIORITY_crownbay = "6"
LAYERDEPENDS_crownbay = "intel"
</literallayout>
</para>
<para>
Simply substitute the machine string name <filename>crownbay</filename>
with the new machine name <filename>mymachine</filename> to get the following:
<literallayout class='monospaced'>
BBFILE_COLLECTIONS += "mymachine"
BBFILE_PATTERN_mymachine := "^${LAYERDIR}/"
BBFILE_PRIORITY_mymachine = "6"
LAYERDEPENDS_mymachine = "intel"
</literallayout>
</para>
</section>
<section id='changing-the-recipes-in-your-bsp'>
<title>Changing the Recipes in Your BSP</title>
<para>
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, while append files take
the form of <filename>.bbappend</filename> files.
If you want to leverage the existing recipes the OpenEmbedded 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
<filename>recipes-bsp</filename>, <filename>recipes-kernel</filename>,
<filename>recipes-core</filename>, and
<filename>recipes-graphics</filename> directories.
</para>
<section id='changing-recipes-bsp'>
<title>Changing&nbsp;&nbsp;<filename>recipes-bsp</filename></title>
<para>
First, let's look at <filename>recipes-bsp</filename>.
For this example we are not adding any new BSP recipes.
And, we only need to remove the formfactor we do not want and change the name of
the remaining one that doesn't support EMGD.
These commands take care of the <filename>recipes-bsp</filename> recipes:
<literallayout class='monospaced'>
$ rm -rf meta-mymachine/recipes-bsp/formfactor/formfactor/crownbay
$ mv meta-mymachine/recipes-bsp/formfactor/formfactor/crownbay-noemgd/ \
meta-mymachine/recipes-bsp/formfactor/formfactor/mymachine
</literallayout>
</para>
</section>
<section id='changing-recipes-graphics'>
<title>Changing&nbsp;&nbsp;<filename>recipes-graphics</filename></title>
<para>
Now let's look at <filename>recipes-graphics</filename>.
For this example we want to remove anything that supports EMGD and
be sure to rename remaining directories appropriately.
The following commands clean up the <filename>recipes-graphics</filename> directory:
<literallayout class='monospaced'>
$ rm -rf meta-mymachine/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay
$ mv meta-mymachine/recipes-graphics/xorg-xserver/xserver-xf86-config/crownbay-noemgd \
meta-mymachine/recipes-graphics/xorg-xserver/xserver-xf86-config/mymachine
</literallayout>
</para>
<para>
At this point the <filename>recipes-graphics</filename> directory just has files that
support Video Electronics Standards Association (VESA) graphics modes and not EMGD.
</para>
</section>
<section id='changing-recipes-core'>
<title>Changing&nbsp;&nbsp;<filename>recipes-core</filename></title>
<para>
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 <link linkend='source-directory'>source directory</link> at
<filename>meta/recipes-core/tasks</filename>.
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'>
RRECOMMENDS_task-core-tools-profile_append_crownbay = " systemtap"
RRECOMMENDS_task-core-tools-profile_append_crownbay-noemgd = " systemtap"
</literallayout>
</para>
<para>
The <filename>RRECOMMENDS</filename> statements list packages that
extend usability.
The first <filename>RRECOMMENDS</filename> statement can be removed, while the
second one can be changed to reflect <filename>meta-mymachine</filename>:
<literallayout class='monospaced'>
RRECOMMENDS_task-core-tools-profile_append_mymachine = " systemtap"
</literallayout>
</para>
</section>
<section id='changing-recipes-kernel'>
<title>Changing&nbsp;&nbsp;<filename>recipes-kernel</filename></title>
<para>
Finally, let's look at <filename>recipes-kernel</filename> changes.
Recall that the BSP uses the <filename>linux-yocto</filename> kernel as determined
earlier in the <filename>mymachine.conf</filename>.
The recipe for that kernel is not located in the
BSP layer but rather in the source directory at
<filename>meta/recipes-kernel/linux</filename> and is
named <filename>linux-yocto_3.2.bb</filename>.
The <filename>SRCREV_machine</filename> and <filename>SRCREV_meta</filename>
statements point to the exact commits used by the Yocto Project development team
in their source repositories that identify the right kernel for our hardware.
In other words, the <filename>SRCREV</filename> values are simply Git commit
IDs that identify which commit on each
of the kernel branches (machine and meta) will be checked out and used to build
the kernel.
</para>
<para>
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.2.bbappend</filename> that
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 kernel that supports the Crown Bay BSP with and without EMGD support.
Here are the statements:
<note>The commit ID strings used in this manual might not match the actual commit
ID strings found in the <filename>linux-yocto_3.2.bbappend</filename> file.
For the example, this difference does not matter.</note>
<literallayout class='monospaced'>
SRCREV_machine_pn-linux-yocto_crownbay ?= \
"211fc7f4d10ec2b82b424286aabbaff9254b7cbd"
SRCREV_meta_pn-linux-yocto_crownbay ?= \
"514847185c78c07f52e02750fbe0a03ca3a31d8f"
SRCREV_machine_pn-linux-yocto_crownbay-noemgd ?= \
"211fc7f4d10ec2b82b424286aabbaff9254b7cbd"
SRCREV_meta_pn-linux-yocto_crownbay-noemgd ?= \
"514847185c78c07f52e02750fbe0a03ca3a31d8f"
</literallayout>
</para>
<para>
You will notice that there are two pairs of <filename>SRCREV</filename> statements.
The top pair identifies the kernel that supports
EMGD, which we dont care about in this example.
The bottom pair identifies the kernel that we will use:
<filename>linux-yocto</filename>.
At this point though, the unique commit strings all are still associated with
Crown Bay and not <filename>meta-mymachine</filename>.
</para>
<para>
To fix this situation in <filename>linux-yocto_3.2.bbappend</filename>,
we delete the two <filename>SRCREV</filename> statements that support
EMGD (the top pair).
We also change the remaining pair to specify <filename>mymachine</filename>
and insert the commit identifiers to identify the kernel in which we
are interested, which will be based on the <filename>atom-pc-standard</filename>
kernel.
In this case, because we're working with the &DISTRO_NAME; branch of everything, we
need to use the <filename>SRCREV</filename> values for the atom-pc branch
that are associated with the &DISTRO_NAME; release.
To find those values, we need to find the <filename>SRCREV</filename>
values that &DISTRO_NAME; uses for the atom-pc branch, which we find in the
<filename>poky/meta-yocto/recipes-kernel/linux/linux-yocto_3.2.bbappend</filename>
file.
</para>
<para>
The machine <filename>SRCREV</filename> we want is in the
<filename>SRCREV_machine_atom-pc</filename> variable.
The meta <filename>SRCREV</filename> isn't specified in this file, so it must be
specified in the base kernel recipe in the
<filename>poky/meta/recipes-kernel/linux/linux-yocto_3.2.bb</filename>
file, in the <filename>SRCREV_meta</filename> variable found there.
Here are the final <filename>SRCREV</filename> statements:
<literallayout class='monospaced'>
SRCREV_machine_pn-linux-yocto_mymachine ?= \
"f29531a41df15d74be5ad47d958e4117ca9e489e"
SRCREV_meta_pn-linux-yocto_mymachine ?= \
"b14a08f5c7b469a5077c10942f4e1aec171faa9d"
</literallayout>
</para>
<para>
In this example, we're using the <filename>SRCREV</filename> values we
found already captured in the &DISTRO_NAME; release because we're creating a BSP based on
&DISTRO_NAME;.
If, instead, we had based our BSP on the master branches, we would want to use
the most recent <filename>SRCREV</filename> values taken directly from the kernel repo.
We will not be doing that for this example.
However, if you do base a future BSP on master and
if you are familiar with Git repositories, you probably wont have trouble locating the
exact commit strings in the Yocto Project source repositories you need to change
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.2</filename> kernel at
<ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/linux-yocto-3.2'></ulink>.
</para>
<para>
If you need a little more assistance after going to the link then do the following:
<orderedlist>
<listitem><para>Expand the list of branches by clicking <filename>[…]</filename></para></listitem>
<listitem><para>Click on the <filename>standard/default/common-pc/atom-pc</filename>
branch</para></listitem>
<listitem><para>Click on the commit column header to view the top commit</para></listitem>
<listitem><para>Copy the commit string for use in the
<filename>linux-yocto_3.2.bbappend</filename> file</para></listitem>
</orderedlist>
</para>
<para>
For the <filename>SRCREV</filename> statement that points to the <filename>meta</filename>
branch use the same procedure except expand the <filename>meta</filename>
branch in step 2 above.
</para>
<para>
Also in the <filename>linux-yocto_3.2.bbappend</filename> file are
<ulink url='&YOCTO_DOCS_REF_URL;#var-COMPATIBLE_MACHINE'><filename>COMPATIBLE_MACHINE</filename></ulink>,
<ulink url='&YOCTO_DOCS_REF_URL;#var-KMACHINE'><filename>KMACHINE</filename></ulink>,
and
<ulink url='&YOCTO_DOCS_REF_URL;#var-KBRANCH'><filename>KBRANCH</filename></ulink> statements.
Two sets of these exist: one set supports EMGD and one set does not.
Because we are not interested in supporting EMGD those three can be deleted.
The remaining three must be changed so that <filename>mymachine</filename> replaces
<filename>crownbay-noemgd</filename> and <filename>crownbay</filename>.
Because we are using the <filename>atom-pc</filename> branch for this new BSP, we can also find
the exact branch we need for the <filename>KMACHINE</filename>
and <filename>KBRANCH</filename> variables in our new BSP from the value
we find in the
<filename>poky/meta-yocto/recipes-kernel/linux/linux-yocto_3.2.bbappend</filename>
file we looked at in a previous step.
In this case, the values we want are in the <filename>KMACHINE_atom-pc</filename> variable
and the <filename>KBRANCH_atom-pc</filename> variables in that file.
Here is the final <filename>linux-yocto_3.2.bbappend</filename> file after all
the edits:
<literallayout class='monospaced'>
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
COMPATIBLE_MACHINE_mymachine = "mymachine"
KMACHINE_mymachine = "atom-pc"
KBRANCH_mymachine = "standard/default/common-pc/atom-pc"
SRCREV_machine_pn-linux-yocto_mymachine ?= \
"f29531a41df15d74be5ad47d958e4117ca9e489e"
SRCREV_meta_pn-linux-yocto_mymachine ?= \
"b14a08f5c7b469a5077c10942f4e1aec171faa9d"
</literallayout>
</para>
</section>
</section>
<section id='bsp-recipe-change-summary'>
<title>BSP Recipe Change Summary</title>
<para>
In summary, the edits to the layers recipe files result in removal of any files and
statements that do not support your targeted hardware in addition to the inclusion
of any new recipes you might need.
In this example, it was simply a matter of ridding the new layer
<filename>meta-mymachine</filename> of any code that supported the EMGD features
and making sure we were identifying the kernel that supports our example, which
is the <filename>atom-pc-standard</filename> kernel.
We did not introduce any new recipes to the layer.
</para>
<para>
Finally, it is also important to update the layers <filename>README</filename>
file so that the information in it reflects your BSP.
</para>
</section>
</section>
<section id='preparing-for-the-build-app'>
<title>Preparing for the Build</title>
<para>
To get ready to build your image that uses the new layer you need to do the following:
<orderedlist>
<listitem><para>Get the environment ready for the build by sourcing the environment
script.
The environment script is in the top-level of the source directory.
The script has the string
<filename>init-build-env</filename> in the files name.
For this example, the following command gets the build environment ready:
<literallayout class='monospaced'>
$ source oe-init-build-env yocto-build
</literallayout>
When you source the script, a build directory is created in the current
working directory.
In our example we were in the <filename>poky</filename> directory.
Thus, entering the previous command created the <filename>yocto-build</filename> directory.
If you do not provide a name for the build directory it defaults to
<filename>build</filename>.
The <filename>yocto-build</filename> directory contains a
<filename>conf</filename> directory that has
two configuration files you will need to check: <filename>bblayers.conf</filename>
and <filename>local.conf</filename>.</para></listitem>
<listitem><para>Check and edit the resulting <filename>local.conf</filename> file.
This file minimally identifies the machine for which to build the image by
configuring the <filename>MACHINE</filename> variable.
For this example you must set the variable to mymachine as follows:
<literallayout class='monospaced'>
MACHINE ??= “mymachine”
</literallayout>
You should also be sure any other variables in which you are interested are set.
Some variables to consider are <filename>BB_NUMBER_THREADS</filename>
and <filename>PARALLEL_MAKE</filename>, both of which can greatly reduce your build time
if your development system supports multiple cores.
For development systems that support multiple cores, a good rule of thumb is to set
both the <filename>BB_NUMBER_THREADS</filename> and <filename>PARALLEL_MAKE</filename>
variables to twice the number of cores your system supports.</para></listitem>
<listitem><para>Update the <filename>bblayers.conf</filename> file so that it includes
both the path to your new BSP layer and the path to the
<filename>meta-intel</filename> layer.
In this example, you need to include both these paths as part of the
<filename>BBLAYERS</filename> variable:
<literallayout class='monospaced'>
$HOME/poky/meta-intel
$HOME/poky/meta-intel/meta-mymachine
</literallayout></para></listitem>
</orderedlist>
</para>
<para>
The
<ulink url='&YOCTO_DOCS_REF_URL;#ref-variables-glos'>Variables Glossary</ulink> chapter in the
Yocto Project Reference Manual has more information on configuration variables.
</para>
</section>
<section id='building-the-image-app'>
<title>Building and Booting the Image</title>
<para>
To build the image for our <filename>meta-mymachine</filename> BSP enter the following command
from the same shell from which you ran the setup script.
You should run the <filename>bitbake</filename> command without any intervening shell commands.
For example, moving your working directory around could cause problems.
Here is the command for this example:
<literallayout class='monospaced'>
$ bitbake -k core-image-sato
</literallayout>
</para>
<para>
This command specifies an image that has Sato support and that can be run from a USB device or
from a CD without having to first install anything.
The build process takes significant time and includes thousands of tasks, which are reported
at the console.
If the build results in any type of error you should check for misspellings in the
files you changed or problems with your host development environment such as missing packages.
</para>
<para>
Finally, once you have an image, you can try booting it from a device
(e.g. a USB device).
To prepare a bootable USB device, insert a USB flash drive into your build system and
copy the <filename>.hddimg</filename> file, located in the
<filename>poky/build/tmp/deploy/images</filename>
directory after a successful build to the flash drive.
Assuming the USB flash drive takes device <filename>/dev/sdf</filename>,
use <filename>dd</filename> to copy the live image to it.
For example:
<literallayout class='monospaced'>
# dd if=core-image-sato-mymachine-20111101223904.hddimg of=/dev/sdf
# sync
# eject /dev/sdf
</literallayout>
You should now have a bootable USB flash device.
</para>
<para>
Insert the device
into a bootable USB socket on the target, and power it on.
The system should boot to the Sato graphical desktop.
<footnote><para>Because
this new image is not in any way tailored to the system you're
booting it on, which is assumed to be some sort of atom-pc (netbook) system for this
example, it might not be completely functional though it should at least boot to a text
prompt.
Specifically, it might fail to boot into graphics without some tweaking.
If this ends up being the case, a possible next step would be to replace the
<filename>mymachine.conf</filename>
contents with the contents of <filename>atom-pc.conf</filename> and replace
<filename>xorg.conf</filename> with <filename>atom-pc xorg.conf</filename>
in <filename>meta-yocto</filename> and see if it fares any better.
In any case, following the previous steps will give you a buildable image that
will probably boot on most systems.
Getting things working like you want
them to for your hardware will normally require some amount of experimentation with
configuration settings.</para></footnote>
</para>
<para>
For reference, the sato image produced by the previous steps for &DISTRO_NAME;
should look like the following in terms of size.
If your sato image is much different from this,
you probably made a mistake in one of the above steps:
<literallayout class='monospaced'>
260538368 2012-04-27 01:44 core-image-sato-mymachine-20120427025051.hddimg
</literallayout>
<note>The previous instructions are also present in the README that was copied
from meta-crownbay, which should also be updated to reflect the specifics of your
new BSP.
That file and the <filename>README.hardware</filename> file in the top-level
<filename>poky</filename> directory
also provides some suggestions for things to try if booting fails and produces
strange error messages.</note>
</para>
</section>
</appendix>
<!--
vim: expandtab tw=80 ts=4
-->

View File

@@ -30,7 +30,7 @@
These types of customizations typically reside in a BSP Layer.
Furthermore, the machine customizations should be isolated from recipes and metadata that support
a new GUI environment, for example.
This situation gives you a couple a layers: one for the machine configurations, and one for the
This situation gives you a couple of layers: one for the machine configurations, and one for the
GUI environment.
It is important to understand, however, that the BSP layer can still make machine-specific
additions to recipes within the GUI environment layer without polluting the GUI layer itself
@@ -50,8 +50,9 @@
You can easily identify a layer in the source directory by its folder name.
Folders that are layers begin with the string <filename>meta</filename>.
For example, when you set up the <link linkend='source-directory'>source directory</link>
structure, you will see several layers: <filename>meta</filename>, <filename>meta-demoapps</filename>,
<filename>meta-skeleton</filename>, and <filename>meta-yocto</filename>.
structure, you will see several layers: <filename>meta</filename>,
<filename>meta-hob</filename>, <filename>meta-skeleton</filename>,
<filename>meta-yocto</filename>, and <filename>meta-yocto-bsp</filename>.
Each of these folders is a layer.
</para>
@@ -146,7 +147,10 @@
If the layer adds distro policy, add the distro configuration in a
<filename>conf/distro/</filename> file with the layer.
If the layer introduces new recipes, put the recipes you need in
<filename>recipes-*</filename> subdirectories within the layer.</para></listitem>
<filename>recipes-*</filename> subdirectories within the layer.
<note>In order to be compliant with the Yocto Project, a layer must contain
a <ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout-readme'>README file.</ulink>
</note></para></listitem>
</orderedlist>
</para>
@@ -207,14 +211,17 @@
<link linkend='build-directory'>build directory</link>.
The following example shows how to enable a layer named <filename>meta-mylayer</filename>:
<literallayout class='monospaced'>
LCONF_VERSION = "1"
LCONF_VERSION = "6"
BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS = " \
BBLAYERS ?= " \
/path/to/poky/meta \
/path/to/poky/meta-yocto \
/path/to/poky/meta-yocto-bsp \
/path/to/poky/meta-mylayer \
"
"
</literallayout>
</para>
@@ -225,6 +232,14 @@
During the processing of each <filename>conf/layer.conf</filename> file, BitBake adds the
recipes, classes and configurations contained within the particular layer to the source
directory.
<note>
Removing the <filename>meta-yocto</filename> layer exposes a bug for the
current release of the Yocto Project.
If for some reason you do remove this layer from the
<filename>bblayers.conf</filename>, you must set the
<filename>LCONF_VERSION</filename> variable to "5".
See <ulink url='https://bugzilla.yoctoproject.org/show_bug.cgi?id=3176'>[YOCTO_#3176]</ulink>
for more information.</note>
</para>
</section>
@@ -234,7 +249,7 @@
<para>
Recipes used to append metadata to other recipes are called BitBake append files.
BitBake append files use the <filename>.bbappend</filename> file type suffix, while
underlying recipes to which metadata is being appended use the
the corresponding recipes to which metadata is being appended use the
<filename>.bb</filename> file type suffix.
</para>
@@ -248,14 +263,14 @@
</para>
<para>
Append files files must have the same name as the underlying recipe.
Append files files must have the same name as the corresponding recipe.
For example, the append file <filename>someapp_&DISTRO;.bbappend</filename> must
apply to <filename>someapp_&DISTRO;.bb</filename>.
This means the original recipe and append file names are version number specific.
If the underlying recipe is renamed to update to a newer version, the
corresponding <filename>.bbappend</filename> file must be renamed as well.
If the corresponding recipe is renamed to update to a newer version, the
underlying <filename>.bbappend</filename> file must be renamed as well.
During the build process, BitBake displays an error on starting if it detects a
<filename>.bbappend</filename> file that does not have an underlying recipe
<filename>.bbappend</filename> file that does not have a corresponding recipe
with a matching name.
</para>
@@ -300,7 +315,7 @@
<literallayout class='monospaced'>
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
PRINC = "1"
PRINC := "${@int(PRINC) + 1}"
</literallayout>
This example adds or overrides files in
<ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink>
@@ -323,12 +338,6 @@
paths in the final list.
</note>
</para>
<para>
For another example on how to use a <filename>.bbappend</filename> file, see the
"<link linkend='changing-recipes-kernel'>Changing <filename>recipes-kernel</filename></link>"
section.
</para>
</section>
<section id='prioritizing-your-layer'>
@@ -462,7 +471,7 @@
One way to get additional software into an image is to create a custom image.
The following example shows the form for the two lines you need:
<literallayout class='monospaced'>
IMAGE_INSTALL = "task-core-x11-base package1 package2"
IMAGE_INSTALL = "packagegroup-core-x11-base package1 package2"
inherit core-image
</literallayout>
@@ -491,58 +500,60 @@
</section>
<section id='usingpoky-extend-customimage-customtasks'>
<title>Customizing Images Using Custom Tasks</title>
<title>Customizing Images Using Custom Package Groups</title>
<para>
For complex custom images, the best approach is to create a custom task package
For complex custom images, the best approach is to create a custom package group recipe
that is used to build the image or images.
A good example of a tasks package is
<filename>meta/recipes-core/tasks/task-core-boot.bb</filename>
A good example of a package group recipe is
<filename>meta/recipes-core/packagegroups/packagegroup-core-boot.bb</filename>.
The
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGES'>PACKAGES</ulink></filename>
variable lists the task packages to build along with the complementary
<filename>-dbg</filename> and <filename>-dev</filename> packages.
For each package added, you can use
variable lists the package group packages you wish to produce. <filename>inherit packagegroup</filename>
sets appropriate default values and automatically adds <filename>-dev</filename>
and <filename>-dbg</filename> complementary
packages for every package specified in <filename>PACKAGES</filename>.
Note that the inherit line should be towards
the top of the recipe, certainly before you set <filename>PACKAGES</filename>.
For each package you specify in <filename>PACKAGES</filename>, you can use
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-RDEPENDS'>RDEPENDS</ulink></filename>
and
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-RRECOMMENDS'>RRECOMMENDS</ulink></filename>
entries to provide a list of packages the parent task package should contain.
Following is an example:
<literallayout class='monospaced'>
DESCRIPTION = "My Custom Tasks"
DESCRIPTION = "My Custom Package Groups"
inherit packagegroup
PACKAGES = "\
task-custom-apps \
task-custom-apps-dbg \
task-custom-apps-dev \
task-custom-tools \
task-custom-tools-dbg \
task-custom-tools-dev \
packagegroup-custom-apps \
packagegroup-custom-tools \
"
RDEPENDS_task-custom-apps = "\
RDEPENDS_packagegroup-custom-apps = "\
dropbear \
portmap \
psplash"
RDEPENDS_task-custom-tools = "\
RDEPENDS_packagegroup-custom-tools = "\
oprofile \
oprofileui-server \
lttng-control \
lttng-viewer"
RRECOMMENDS_task-custom-tools = "\
RRECOMMENDS_packagegroup-custom-tools = "\
kernel-module-oprofile"
</literallayout>
</para>
<para>
In the previous example, two task packages are created with their dependencies and their
recommended package dependencies listed: <filename>task-custom-apps</filename>, and
<filename>task-custom-tools</filename>.
To build an image using these task packages, you need to add
<filename>task-custom-apps</filename> and/or
<filename>task-custom-tools</filename> to
In the previous example, two package group packages are created with their dependencies and their
recommended package dependencies listed: <filename>packagegroup-custom-apps</filename>, and
<filename>packagegroup-custom-tools</filename>.
To build an image using these package group packages, you need to add
<filename>packagegroup-custom-apps</filename> and/or
<filename>packagegroup-custom-tools</filename> to
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_INSTALL'>IMAGE_INSTALL</ulink></filename>.
For other forms of image dependencies see the other areas of this section.
</para>
@@ -557,11 +568,12 @@
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_FEATURES'>IMAGE_FEATURES</ulink></filename>
variable.
To create these features, the best reference is
<filename>meta/classes/core-image.bbclass</filename>, which shows how to achieve this.
<filename>meta/classes/core-image.bbclass</filename>, which shows how this is
achieved.
In summary, the file looks at the contents of the
<filename>IMAGE_FEATURES</filename>
variable and then maps that into a set of tasks or packages.
Based on this information the
Based on this information, the
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_INSTALL'> IMAGE_INSTALL</ulink></filename>
variable is generated automatically.
Users can add extra features by extending the class or creating a custom class for use
@@ -768,7 +780,7 @@
variable.
BitBake passes these options into the <filename>make</filename> GNU invocation.
Note that a <filename>do_install</filename> task is still required.
Otherwise BitBake runs an empty <filename>do_install</filename> task by default.
Otherwise, BitBake runs an empty <filename>do_install</filename> task by default.
</para>
<para>
@@ -901,7 +913,9 @@
</para>
<para>
The <filename>PACKAGES</filename> and <filename>FILES_*</filename> variables in the
The <ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGES'><filename>PACKAGES</filename></ulink>
and <ulink url='&YOCTO_DOCS_REF_URL;#var-FILES'><filename>FILES_*</filename></ulink>
variables in the
<filename>meta/conf/bitbake.conf</filename> configuration file define how files installed
by the <filename>do_install</filename> task are packaged.
By default, the <filename>PACKAGES</filename> variable contains
@@ -1016,8 +1030,8 @@
<para>
For a complete example that shows how to add a new machine,
see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-bsp-appendix'>BSP Development Example</ulink>"
in Appendix A.
"<ulink url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'>Creating a New BSP Layer Using the yocto-bsp Script</ulink>"
in the Yocto Project Board Support Package (BSP) Developer's Guide.
</para>
<section id="platdev-newmachine-conffile">
@@ -1193,7 +1207,9 @@
Many standard recipes are already extended and support multiple libraries.
You can check in the <filename>meta/conf/multilib.conf</filename>
configuration file in the source directory to see how this is
done using the <filename>BBCLASSEXTEND</filename> variable.
done using the
<ulink url='&YOCTO_DOCS_REF_URL;#var-BBCLASSEXTEND'><filename>BBCLASSEXTEND</filename></ulink>
variable.
Eventually, all recipes will be covered and this list will be unneeded.
</para>
@@ -1202,10 +1218,13 @@
extend the package name from <filename>${PN}</filename> to
<filename>${MLPREFIX}${PN}</filename>, where <filename>MLPREFIX</filename>
is the particular multilib (e.g. "lib32-" or "lib64-").
Standard variables such as <filename>DEPENDS</filename>,
<filename>RDEPENDS</filename>, <filename>RPROVIDES</filename>,
<filename>RRECOMMENDS</filename>, <filename>PACKAGES</filename>, and
<filename>PACKAGES_DYNAMIC</filename> are automatically extended by the system.
Standard variables such as
<ulink url='&YOCTO_DOCS_REF_URL;#var-DEPENDS'><filename>DEPENDS</filename></ulink>,
<ulink url='&YOCTO_DOCS_REF_URL;#var-RDEPENDS'><filename>RDEPENDS</filename></ulink>,
<filename>RPROVIDES</filename>,
<ulink url='&YOCTO_DOCS_REF_URL;#var-RRECOMMENDS'><filename>RRECOMMENDS</filename></ulink>,
<ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGES'><filename>PACKAGES</filename></ulink>,
and <filename>PACKAGES_DYNAMIC</filename> are automatically extended by the system.
If you are extending any manual code in the recipe, you can use the
<filename>${MLPREFIX}</filename> variable to ensure those names are extended
correctly.
@@ -1333,6 +1352,8 @@
<para>
The easiest way to define kernel configurations is to set them through the
<filename>menuconfig</filename> tool.
This tool provides an interactive method with which
to set kernel configurations.
For general information on <filename>menuconfig</filename>, see
<ulink url='http://en.wikipedia.org/wiki/Menuconfig'></ulink>.
</para>
@@ -1340,6 +1361,9 @@
<para>
To use the <filename>menuconfig</filename> tool in the Yocto Project development
environment, you must build the tool using BitBake.
Thus, the environment must be set up using the <filename>&OE_INIT_FILE;</filename>
script found in the
<link linkend='build-directory'>Build Directory</link>.
The following commands build and invoke <filename>menuconfig</filename> assuming the
source directory top-level folder is <filename>~/poky</filename>:
<literallayout class='monospaced'>
@@ -1348,17 +1372,86 @@
$ bitbake linux-yocto -c menuconfig
</literallayout>
Once <filename>menuconfig</filename> comes up, its standard interface allows you to
examine and configure all the kernel configuration parameters.
Once you have made your changes, simply exit the tool and save your changes to
interactively examine and configure all the kernel configuration parameters.
After making your changes, simply exit the tool and save your changes to
create an updated version of the <filename>.config</filename> configuration file.
</para>
<para>
For an example that shows how to change a specific kernel option
using <filename>menuconfig</filename>, see the
"<link linkend='changing-the-config-smp-configuration-using-menuconfig'>Changing
the <filename>CONFIG_SMP</filename> Configuration Using <filename>menuconfig</filename></link>"
section.
Consider an example that configures the <filename>linux-yocto-3.4</filename>
kernel.
The OpenEmbedded build system recognizes this kernel as
<filename>linux-yocto</filename>.
Thus, the following commands from the shell in which you previously sourced the
environment initialization script cleans the shared state cache and the
<ulink url='&YOCTO_DOCS_REF_URL;#var-WORKDIR'><filename>WORKDIR</filename></ulink>
directory and then builds and launches <filename>menuconfig</filename>:
<literallayout class='monospaced'>
$ bitbake linux-yocto -c menuconfig
</literallayout>
</para>
<para>
Once <filename>menuconfig</filename> launches, you use the interface
to navigate through the selections to find the configuration settings in
which you are interested.
For example, consider the <filename>CONFIG_SMP</filename> configuration setting.
You can find it at <filename>Processor Type and Features</filename> under
the configuration selection <filename>Symmetric Multi-processing Support</filename>.
After highlighting the selection, you can use the arrow keys to select or deselect
the setting.
When you are finished with all your selections, exit out and save them.
</para>
<para>
Saving the selections updates the <filename>.config</filename> configuration file.
This is the file that the OpenEmbedded build system uses to configure the
kernel during the build.
You can find and examine this file in the build directory in
<filename>tmp/work/</filename>.
The actual <filename>.config</filename> is located in the area where the
specific kernel is built.
For example, if you were building a Linux Yocto kernel based on the
Linux 3.4 kernel and you were building a QEMU image targeted for
<filename>x86</filename> architecture, the
<filename>.config</filename> file would be located here:
<literallayout class='monospaced'>
~/poky/build/tmp/work/qemux86-poky-linux/linux-yocto-3.4.11+git1+84f...
...656ed30-r1/linux-qemux86-standard-build
</literallayout>
<note>
The previous example directory is artificially split and many of the characters
in the actual filename are omitted in order to make it more readable.
Also, depending on the kernel you are using, the exact pathname
for <filename>linux-yocto-3.4...</filename> might differ.
</note>
</para>
<para>
Within the <filename>.config</filename> file, you can see the kernel settings.
For example, the following entry shows that symmetric multi-processor support
is not set:
<literallayout class='monospaced'>
# CONFIG_SMP is not set
</literallayout>
</para>
<para>
A good method to isolate changed configurations is to use a combination of the
<filename>menuconfig</filename> tool and simple shell commands.
Before changing configurations with <filename>menuconfig</filename>, copy the
existing <filename>.config</filename> and rename it to something else,
use <filename>menuconfig</filename> to make
as many changes an you want and save them, then compare the renamed configuration
file against the newly created file.
You can use the resulting differences as your base to create configuration fragments
to permanently save in your kernel layer.
<note>
Be sure to make a copy of the <filename>.config</filename> and don't just
rename it.
The build system needs an existing <filename>.config</filename>
from which to work.
</note>
</para>
</section>
@@ -1497,6 +1590,267 @@
</section>
</section>
<section id="patching-the-kernel">
<title>Patching the Kernel</title>
<para>
Patching the kernel involves changing or adding configurations to an existing kernel,
changing or adding recipes to the kernel that are needed to support specific hardware features,
or even altering the source code itself.
<note>
You can use the <filename>yocto-kernel</filename> script
found in the <link linkend='source-directory'>Source Directory</link>
under <filename>scripts</filename> to manage kernel patches and configuration.
See the "<ulink url='&YOCTO_DOCS_BSP_URL;#managing-kernel-patches-and-config-items-with-yocto-kernel'>Managing kernel Patches and Config Items with yocto-kernel</ulink>"
section in the Yocto Project Board Support Packages (BSP) Developer's Guide for
more information.</note>
</para>
<para>
This example creates a simple patch by adding some QEMU emulator console
output at boot time through <filename>printk</filename> statements in the kernel's
<filename>calibrate.c</filename> source code file.
Applying the patch and booting the modified image causes the added
messages to appear on the emulator's console.
</para>
<section id='creating-the-patch'>
<title>Creating the Patch</title>
<para>
Describe how to find the source files in the build area.
We are not assuming they are using their own kernel tree.
</para>
</section>
<section id='changing-the-source-code-and-pushing-it-to-the-bare-clone'>
<title>Changing the Source Code and Pushing it to the Bare Clone</title>
<para>
The file you change in this example is named <filename>calibrate.c</filename>
and is located in the <filename>my-linux-yocto-3.4-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.
</para>
<para>
Here is the unaltered code at the start of this function:
<literallayout class='monospaced'>
void __cpuinit calibrate_delay(void)
{
unsigned long lpj;
static bool printed;
int this_cpu = smp_processor_id();
if (per_cpu(cpu_loops_per_jiffy, this_cpu)) {
.
.
.
</literallayout>
</para>
<para>
Here is the altered code showing five new <filename>printk</filename> statements
near the top of the function:
<literallayout class='monospaced'>
void __cpuinit calibrate_delay(void)
{
unsigned long lpj;
static bool printed;
int this_cpu = smp_processor_id();
printk("*************************************\n");
printk("* *\n");
printk("* HELLO YOCTO KERNEL *\n");
printk("* *\n");
printk("*************************************\n");
if (per_cpu(cpu_loops_per_jiffy, this_cpu)) {
.
.
.
</literallayout>
</para>
<para>
After making and saving your changes, you need to stage them for the push.
The following Git commands are one method of staging and committing your changes:
<literallayout class='monospaced'>
$ git add calibrate.c
$ git commit --signoff
</literallayout>
</para>
<para>
Once the source code has been modified, you need to use Git to push the changes to
the bare clone.
If you do not push the changes, then the OpenEmbedded build system will not pick
up the changed source files.
</para>
<para>
The following command pushes the changes to the bare clone:
<literallayout class='monospaced'>
$ git push origin standard-common-pc-base:standard/default/common-pc/base
</literallayout>
</para>
</section>
<section id='changing-build-parameters-for-your-build'>
<title>Changing Build Parameters for Your Build</title>
<para>
At this point, the source has been changed and pushed.
The example now defines some variables used by the OpenEmbedded build system
to locate your kernel source.
You essentially need to identify where to find the kernel recipe and the changed source code.
You also need to be sure some basic configurations are in place that identify the
type of machine you are building and to help speed up the build should your host support
multiple-core and thread capabilities.
</para>
<para>
Do the following to make sure the build parameters are set up for the example.
Once you set up these build parameters, they do not have to change unless you
change the target architecture of the machine you are building or you move
the bare clone, copy of the clone, or the <filename>poky-extras</filename> repository:
<itemizedlist>
<listitem><para><emphasis>Build for the Correct Target Architecture:</emphasis> The
<filename>local.conf</filename> file in the build directory defines the build's
target architecture.
By default, <filename>MACHINE</filename> is set to
<filename>qemux86</filename>, which specifies a 32-bit
<trademark class='registered'>Intel</trademark> Architecture
target machine suitable for the QEMU emulator.
In this example, <filename>MACHINE</filename> is correctly configured.
</para></listitem>
<listitem><para><emphasis>Optimize Build Time:</emphasis> Also in the
<filename>local.conf</filename> file are two variables that can speed your
build time if your host supports multi-core and multi-thread capabilities:
<filename>BB_NUMBER_THREADS</filename> and <filename>PARALLEL_MAKE</filename>.
If the host system has multiple cores then you can optimize build time
by setting both these variables to twice the number of
cores.</para></listitem>
<listitem><para><emphasis>Identify Your <filename>meta-kernel-dev</filename>
Layer:</emphasis> The <filename>BBLAYERS</filename> variable in the
<filename>bblayers.conf</filename> file found in the
<filename>poky/build/conf</filename> directory needs to have the path to your local
<filename>meta-kernel-dev</filename> layer.
By default, the <filename>BBLAYERS</filename> variable contains paths to
<filename>meta</filename> and <filename>meta-yocto</filename> in the
<filename>poky</filename> Git repository.
Add the path to your <filename>meta-kernel-dev</filename> location.
Be sure to substitute your user information in the statement.
Here is an example:
<literallayout class='monospaced'>
BBLAYERS = " \
/home/scottrif/poky/meta \
/home/scottrif/poky/meta-yocto \
/home/scottrif/poky/meta-yocto-bsp \
/home/scottrif/poky/poky-extras/meta-kernel-dev \
"
</literallayout></para></listitem>
<listitem><para><emphasis>Identify Your Source Files:</emphasis> In the
<filename>linux-yocto_3.4.bbappend</filename> file located in the
<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.4.git</filename>.
To do this, set the <filename>KSRC_linux_yocto</filename> variable to point to your
local <filename>linux-yocto-3.4.git</filename> Git repository by adding the
following statement.
Also, be sure the <filename>SRC_URI</filename> variable is pointing to
your kernel source files by removing the comment.
Finally, be sure to substitute your user information in the statement:
<literallayout class='monospaced'>
KSRC_linux_yocto_3_4 ?= "/home/scottrif/linux-yocto-3.4.git"
SRC_URI = "git://${KSRC_linux_yocto_3_4};protocol=file;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta"
</literallayout></para></listitem>
</itemizedlist>
</para>
<note>
<para>Before attempting to build the modified kernel, there is one more set of changes you
need to make in the <filename>meta-kernel-dev</filename> layer.
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
unused <filename>.bbappend</filename> files, or simply remove (or rename) all the files
except the one your are using for the build
(i.e. <filename>linux-yocto_3.4.bbappend</filename> in this example).</para>
<para>If you do not make one of these two adjustments, your machine will be compatible
with all the kernel recipes in the <filename>meta-kernel-dev</filename> layer.
When your machine is comapatible with all the kernel recipes, the build attempts
to build all kernels in the layer.
You could end up with build errors blocking your work.</para>
</note>
</section>
<section id='building-and-booting-the-modified-qemu-kernel-image'>
<title>Building and Booting the Modified QEMU Kernel Image</title>
<para>
Next, you need to build the modified image.
Do the following:
<orderedlist>
<listitem><para>Your environment should be set up since you previously sourced
the <filename>&OE_INIT_FILE;</filename> script.
If it isn't, source the script again from <filename>poky</filename>.
<literallayout class='monospaced'>
$ cd ~/poky
$ source &OE_INIT_FILE;
</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 build directory.
Always use the BitBake <filename>cleanall</filename> task to clear
out previous builds.</note></para></listitem>
<listitem><para>Next, build the kernel image using this command:
<literallayout class='monospaced'>
$ bitbake -k core-image-minimal
</literallayout></para></listitem>
<listitem><para>Finally, boot the modified image in the QEMU emulator
using this command:
<literallayout class='monospaced'>
$ runqemu qemux86
</literallayout></para></listitem>
</orderedlist>
</para>
<para>
Log into the machine using <filename>root</filename> with no password and then
use the following shell command to scroll through the console's boot output.
<literallayout class='monospaced'>
# dmesg | less
</literallayout>
</para>
<para>
You should see the results of your <filename>printk</filename> statements
as part of the output.
</para>
</section>
</section>
<section id="usingpoky-changes-updatingimages">
<title>Updating Existing Images</title>
@@ -1524,11 +1878,11 @@
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PR'>PR</ulink></filename>
variable needs to be increased
(or "bumped") as part of that commit.
This means that for new recipes you must be sure to add the <filename>PR</filename>
variable and set its initial value equal to "r0".
Failing to define <filename>PR</filename> makes it easy to miss when you bump a package.
Note that you can only use integer values following the "r" in the
<filename>PR</filename> variable.
For new recipes you should add the <filename>PR</filename>
variable and set its initial value equal to "r0", which is the default.
Even though the default value is "r0", the practice of adding it to a new recipe makes
it harder to forget to bump the variable when you make changes
to the recipe in future.
</para>
<para>
@@ -1639,7 +1993,7 @@
and thus outside of the <link linkend='source-directory'>source directory</link>.
For example, suppose you have a project that includes a new BSP with a heavily customized
kernel, a very minimal image, and some new user-space recipes.
And, you want to minimize the exposure to the build system to the
And, you want to minimize exposing the build system to the
development team so that they can focus on their project and maintain everyone's workflow
as much as possible.
In this case, you want a kernel source directory on the development machine where the
@@ -1711,8 +2065,9 @@
<para>
If you're working on a recipe that pulls from an external Source Code Manager (SCM), it
is possible to have the OpenEmbedded build system notice new changes added to the
SCM and then build the package that depends on them using the latest version.
is possible to have the OpenEmbedded build system notice new recipe changes added to the
SCM and then build the resulting package that depends on the new recipes by using the latest
versions.
This only works for SCMs from which it is possible to get a sensible revision number for changes.
Currently, you can do this with Apache Subversion (SVN), Git, and Bazaar (BZR) repositories.
</para>
@@ -1724,8 +2079,8 @@
<literallayout class='monospaced'>
SRCREV_pn-&lt;PN&gt; = "${AUTOREV}"
</literallayout>
where <filename>PN</filename>
is the name of the package for which you want to enable automatic source
where <ulink url='&YOCTO_DOCS_REF_URL;#var-PN'><filename>PN</filename></ulink>
is the name of the recipe for which you want to enable automatic source
revision updating.
</para>
</section>
@@ -1734,10 +2089,10 @@
<title>Debugging With the GNU Project Debugger (GDB) Remotely</title>
<para>
GDB allows you to examine running programs, which in turn help you to understand and fix problems.
GDB allows you to examine running programs, which in turn helps you to understand and fix problems.
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.
installed in SDK images.
See the "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" chapter
in the Yocto Project Reference Manual for a description of these images.
You can find information on GDB at <ulink url="http://sourceware.org/gdb/"/>.
@@ -1858,18 +2213,18 @@
<title>Making the Inferior Binaries Available</title>
<para>
The inferior binary (complete with all debugging symbols) as well as any
libraries (and their debugging symbols) on which the inferior binary depends
need to be available.
There are a number of ways you can make these available.
The inferior binary (complete with all debugging symbols), as well as any
libraries (and their debugging symbols) on which the inferior binary depends,
needs to be available.
There are a number of ways you can make these items available.
</para>
<para>
Perhaps the easiest way is to have an 'sdk' image that corresponds to the plain
Perhaps the easiest way is to have an SDK image that corresponds to the plain
image installed on the device.
In the case of <filename>core-image-sato</filename>,
<filename>core-image-sato-sdk</filename> would contain suitable symbols.
Because the sdk images already have the debugging symbols installed, it is just a
Because the SDK images already have the debugging symbols installed, it is just a
question of expanding the archive to some location and then informing GDB.
</para>
@@ -2000,13 +2355,18 @@
<filename>-fno-omit-framepointer</filename> flag.
You can achieve this by setting the
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-SELECTED_OPTIMIZATION'>SELECTED_OPTIMIZATION</ulink></filename>
variable to
<filename>-fexpensive-optimizations -fno-omit-framepointer -frename-registers -O2</filename>.
variable with the following options:
<literallayout class='monospaced'>
-fexpensive-optimizations
-fno-omit-framepointer
-frename-registers
-O2
</literallayout>
You can also achieve it by setting the
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-DEBUG_BUILD'>DEBUG_BUILD</ulink></filename>
variable to "1" in the <filename>local.conf</filename> configuration file.
If you use the <filename>DEBUG_BUILD</filename> variable you will also add extra debug information
that can make the debug packages large.
If you use the <filename>DEBUG_BUILD</filename> variable,
you will also add extra debug information that can make the debug packages large.
</para>
<section id="platdev-oprofile-target">

View File

@@ -23,9 +23,9 @@
</para>
<para>
The Yocto Project Development Manual, however, does provide detailed examples on how to create a
Board Support Package (BSP), change the kernel source code, and reconfigure the kernel.
You can find this information in the appendices of the manual.
The Yocto Project Development Manual, however, does provide detailed examples
on how to change the kernel source code, reconfigure the kernel, and develop
an application using the popular <trademark class='trade'>Eclipse</trademark> IDE.
</para>
</section>
@@ -44,7 +44,7 @@
<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
the Yocto Project (QEMU).</para></listitem>
the Yocto Project - the Quick EMUlator (QEMU).</para></listitem>
<listitem><para>An understanding of basic kernel architecture and concepts.</para></listitem>
<listitem><para>Many references to other sources of related information.</para></listitem>
</itemizedlist>
@@ -59,9 +59,10 @@
<itemizedlist>
<listitem><para>Step-by-step instructions if those instructions exist in other Yocto
Project documentation.
For example, the Yocto Project Development Manual contains detailed
instruction on how to obtain and configure the
<trademark class='trade'>Eclipse</trademark> Yocto Plug-in.</para></listitem>
For example, the Yocto Project Application Developer's Guide contains detailed
instruction on how to run the
<ulink url='&YOCTO_DOCS_ADT_URL;#installing-the-adt'>Installing the ADT and Toolchains</ulink>,
which is used to set up a cross-development environment.</para></listitem>
<listitem><para>Reference material.
This type of material resides in an appropriate reference manual.
For example, system variables are documented in the
@@ -114,7 +115,7 @@
<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='&YOCTO_HOME_URL;/download/yocto/yocto-project-1.1-release-notes-poky-&POKYVERSION;'>
<ulink url='&YOCTO_HOME_URL;/download/yocto/yocto-project-&DISTRO;-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>
@@ -169,11 +170,13 @@
BitBake</ulink>:</emphasis> The tool used by the OpenEmbedded build system
to process project metadata.</para></listitem>
<listitem><para><emphasis>
<ulink url='&BITBAKE_DOCS_URL;'>
BitBake User Manual</ulink>:</emphasis> A comprehensive guide to the BitBake tool.
</para></listitem>
BitBake User Manual:</emphasis>
A comprehensive guide to the BitBake tool.
If you want information on BitBake, see the user manual inculded in the
<filename>bitbake/doc/manual</filename> directory of the
<link linkend='source-directory'>Source Directory</link>.</para></listitem>
<listitem><para><emphasis>
<ulink url='http://wiki.qemu.org/Index.html'>QEMU</ulink>:
<ulink url='http://wiki.qemu.org/Index.html'>Quick EMUlator (QEMU)</ulink>:
</emphasis> An open-source machine emulator and virtualizer.</para></listitem>
</itemizedlist>
</para>

View File

@@ -12,6 +12,13 @@
or even altering the source code itself.
This appendix presents simple examples that modify the kernel source code,
change the kernel configuration, and add a kernel source recipe.
<note>
You can use the <filename>yocto-kernel</filename> script
found in the <link linkend='source-directory'>Source Directory</link>
under <filename>scripts</filename> to manage kernel patches and configuration.
See the "<ulink url='&YOCTO_DOCS_BSP_URL;#managing-kernel-patches-and-config-items-with-yocto-kernel'>Managing kernel Patches and Config Items with yocto-kernel</ulink>"
section in the Yocto Project Board Support Packages (BSP) Developer's Guide for
more information.</note>
</para>
<section id='modifying-the-kernel-source-code'>
@@ -34,11 +41,11 @@
Briefly, you need the following:
<itemizedlist>
<listitem><para>A local
<link linkend='source-directory'>source directory</link> for the
<link linkend='source-directory'>Source Directory</link> for the
poky Git repository</para></listitem>
<listitem><para>Local copies of the
<link linkend='poky-extras-repo'><filename>poky-extras</filename></link>
Git repository placed within the source directory.</para></listitem>
Git repository placed within the Source Directory.</para></listitem>
<listitem><para>A bare clone of the
<link linkend='local-kernel-files'>Yocto Project Kernel</link> upstream Git
repository to which you want to push your modifications.
@@ -59,7 +66,7 @@
</para>
<para>
<imagedata fileref="figures/kernel-example-repos-denzil.png" width="7in" depth="5in"
<imagedata fileref="figures/kernel-example-repos-generic.png" width="7in" depth="5in"
align="center" scale="100" />
</para>
@@ -69,16 +76,18 @@
<listitem><para><emphasis>Local Source Directory:</emphasis>
This area contains all the metadata that supports building images
using the OpenEmbedded build system.
In this example, the source directory also
contains the build directory, which contains the configuration directory
In this example, the
<link linkend='source-directory'>Source Directory</link> also
contains the
<link linkend='build-directory'>Build Directory</link>,
which contains the configuration directory
that lets you control the build.
Also in this example, the source directory contains local copies of the
Also in this example, the Source Directory contains local copies of the
<filename>poky-extras</filename> Git repository.</para>
<para>See the bulleted item
"<link linkend='local-yp-release'>Yocto Project Release</link>"
for information on how to get these files on your local system.</para></listitem>
<listitem><para><emphasis>Local copies of the<filename>poky-extras</filename>
Git Repository:</emphasis>
<listitem><para><emphasis>Local copies of the&nbsp;<filename>poky-extras</filename>&nbsp;Git Repository:</emphasis>
This area contains the <filename>meta-kernel-dev</filename> layer,
which is where you make changes that append the kernel build recipes.
You edit <filename>.bbappend</filename> files to locate your
@@ -125,17 +134,19 @@
<title>Setting Up the Local Source Directory</title>
<para>
You can set up the source directory through tarball extraction or by
You can set up the
<link linkend='source-directory'>Source Directory</link>
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 source directory.
local Source Directory.
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 source directory set up,
Once you have Source Directory set up,
you have many development branches from which you can work.
From inside the local repository you can see the branch names and the tag names used
in the upstream Git repository by using either of the following commands:
@@ -161,7 +172,7 @@
<para>
This example creates a local copy of the <filename>poky-extras</filename> Git
repository inside the <filename>poky</filename> source directory.
repository inside the <filename>poky</filename> Source Directory.
See the bulleted item "<link linkend='poky-extras-repo'>The
<filename>poky-extras</filename> Git Repository</link>"
for information on how to set up a local copy of the
@@ -172,11 +183,12 @@
Because this example uses the Yocto Project &DISTRO; Release code
named "&DISTRO_NAME;", which maps to the <filename>&DISTRO_NAME;</filename>
branch in the repository, you need to be sure you are using that
branch for <filename>poky-extra</filename>.
branch for <filename>poky-extras</filename>.
The following commands create and checkout the local
branch you are using for the <filename>&DISTRO_NAME;</filename>
branch:
<literallayout class='monospaced'>
$ cd ~/poky/poky-extras
$ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
Branch &DISTRO_NAME; set up to track remote branch &DISTRO_NAME; from origin.
Switched to a new branch '&DISTRO_NAME;'
@@ -188,7 +200,7 @@
<title>Setting Up the Bare Clone and its Copy</title>
<para>
This example modifies the <filename>linux-yocto-3.2</filename> kernel.
This example modifies the <filename>linux-yocto-3.4</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
@@ -200,17 +212,16 @@
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>my-linux-yocto-3.2-work</filename> in this example) has to have
The copy (<filename>my-linux-yocto-3.4-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 ~/my-linux-yocto-3.2-work
$ git checkout -b common-pc-base origin/standard/default/common-pc/base
Checking out files: 100% (532/532), done.
Branch common-pc-base set up to track remote branch
standard/default/common-pc/base from origin.
Switched to a new branch 'common-pc-base'
$ cd ~/my-linux-yocto-3.4-work
$ git checkout -b standard-common-pc-base origin/standard/common-pc/base
Branch standard-common-pc-base set up to track remote branch
standard/common-pc/base from origin.
Switched to a new branch 'standard-common-pc-base'
</literallayout>
</para>
</section>
@@ -224,7 +235,7 @@
<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.
<filename>&OE_INIT_FILE;</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
@@ -242,11 +253,36 @@
If necessary, the script creates the build directory:
<literallayout class='monospaced'>
$ cd ~/poky
$ source oe-init-build-env
$ source &OE_INIT_FILE;
You had no conf/local.conf file. This configuration file has therefore been
created for you with some default values. You may wish to edit it to use a
different MACHINE (target hardware) or enable parallel build options to take
advantage of multiple cores for example. See the file for more information as
common configuration options are commented.
### Shell environment set up for builds. ###
The Yocto Project has extensive documentation about OE including a reference manual
which can be found at:
http://yoctoproject.org/documentation
You can now run 'bitbake &lt;target&gt;'
For more information about OpenEmbedded see their website:
http://www.openembedded.org/
You had no conf/bblayers.conf file. The configuration file has been created for
you with some default values. To add additional metadata layers into your
configuration please add entries to this file.
The Yocto Project has extensive documentation about OE including a reference manual
which can be found at:
http://yoctoproject.org/documentation
For more information about OpenEmbedded see their website:
http://www.openembedded.org/
### Shell environment set up for builds. ###
You can now run 'bitbake &lt;target&gt;>'
Common targets are:
core-image-minimal
@@ -301,7 +337,7 @@
<para>
The file you change in this example is named <filename>calibrate.c</filename>
and is located in the <filename>my-linux-yocto-3.2-work</filename> Git repository
and is located in the <filename>my-linux-yocto-3.4-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.
@@ -365,7 +401,7 @@
<para>
The following command pushes the changes to the bare clone:
<literallayout class='monospaced'>
$ git push origin common-pc-base:standard/default/common-pc/base
$ git push origin standard-common-pc-base:standard/default/common-pc/base
</literallayout>
</para>
</section>
@@ -420,21 +456,25 @@
BBLAYERS = " \
/home/scottrif/poky/meta \
/home/scottrif/poky/meta-yocto \
/home/scottrif/poky/meta-yocto-bsp \
/home/scottrif/poky/poky-extras/meta-kernel-dev \
"
</literallayout></para></listitem>
<listitem><para><emphasis>Identify Your Source Files:</emphasis> In the
<filename>linux-yocto_3.2.bbappend</filename> file located in the
<filename>linux-yocto_3.4.bbappend</filename> file located in the
<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.2.git</filename>.
<filename>linux-yocto-3.4.git</filename>.
To do this, set the <filename>KSRC_linux_yocto</filename> variable to point to your
local <filename>linux-yocto-3.2.git</filename> Git repository by adding the
local <filename>linux-yocto-3.4.git</filename> Git repository by adding the
following statement.
Be sure to substitute your user information in the statement:
Also, be sure the <filename>SRC_URI</filename> variable is pointing to
your kernel source files by removing the comment.
Finally, be sure to substitute your user information in the statement:
<literallayout class='monospaced'>
KSRC_linux_yocto_3_2 ?= "/home/scottrif/linux-yocto-3.2.git"
KSRC_linux_yocto_3_4 ?= "/home/scottrif/linux-yocto-3.4.git"
SRC_URI = "git://${KSRC_linux_yocto_3_4};protocol=file;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta"
</literallayout></para></listitem>
</itemizedlist>
</para>
@@ -447,7 +487,7 @@
comment out the <filename>COMPATIBLE_MACHINE</filename> statements in all
unused <filename>.bbappend</filename> files, or simply remove (or rename) all the files
except the one your are using for the build
(i.e. <filename>linux-yocto_3.2.bbappend</filename> in this example).</para>
(i.e. <filename>linux-yocto_3.4.bbappend</filename> in this example).</para>
<para>If you do not make one of these two adjustments, your machine will be compatible
with all the kernel recipes in the <filename>meta-kernel-dev</filename> layer.
When your machine is comapatible with all the kernel recipes, the build attempts
@@ -464,11 +504,11 @@
Do the following:
<orderedlist>
<listitem><para>Your environment should be set up since you previously sourced
the <filename>oe-init-build-env</filename> script.
the <filename>&OE_INIT_FILE;</filename> script.
If it isn't, source the script again from <filename>poky</filename>.
<literallayout class='monospaced'>
$ cd ~/poky
$ source oe-init-build-env
$ source &OE_INIT_FILE;
</literallayout>
</para></listitem>
<listitem><para>Be sure old images are cleaned out by running the
@@ -506,299 +546,6 @@
</para>
</section>
</section>
<section id='changing-the-kernel-configuration'>
<title>Changing the Kernel Configuration</title>
<para>
This example changes the default behavior, which is "on", of the Symmetric
Multi-processing Support (<filename>CONFIG_SMP</filename>) to "off".
It is a simple example that demonstrates how to reconfigure the kernel.
</para>
<section id='getting-set-up-to-run-this-example'>
<title>Getting Set Up to Run this Example</title>
<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 should already have the source directory set up on your
host machine.
If this is the case, go to the next section, which is 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 source directory established on your system,
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
<link linkend='source-directory'>source directory</link>.
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 local copy of 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 upstream Git repository using either of the following commands:
<literallayout class='monospaced'>
$ cd poky
$ git branch -a
$ git tag -l
</literallayout>
This example uses the Yocto Project &DISTRO; 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 &DISTRO_NAME; set up to track remote branch &DISTRO_NAME; from origin.
Switched to a new branch '&DISTRO_NAME;'
</literallayout>
</para>
<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 both the <filename>BB_NUMBER_THREADS</filename> and the
<filename>PARALLEL_MAKE</filename> variables to twice 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'>
<title>Examining the Default&nbsp;&nbsp;<filename>CONFIG_SMP</filename> Behavior</title>
<para>
By default, <filename>CONFIG_SMP</filename> supports multiple processor machines.
To see this default setting from within the QEMU emulator, boot your image using
the emulator as follows:
<literallayout class='monospaced'>
$ runqemu qemux86 qemuparams="-smp 4"
</literallayout>
</para>
<para>
Login to the machine using <filename>root</filename> with no password.
After logging in, enter the following command to see how many processors are
being supported in the emulator.
The emulator reports support for the number of processors you specified using
the <filename>-smp</filename> option, four in this case:
<literallayout class='monospaced'>
# cat /proc/cpuinfo | grep processor
processor : 0
processor : 1
processor : 2
processor : 3
#
</literallayout>
To check the setting for <filename>CONFIG_SMP</filename>, you can use the
following command:
<literallayout class='monospaced'>
zcat /proc/config.gz | grep CONFIG_SMP
</literallayout>
The console returns the following showing that multi-processor machine support
is set:
<literallayout class='monospaced'>
CONFIG_SMP=y
</literallayout>
Logout of the emulator using the <filename>exit</filename> command and
then close it down.
</para>
</section>
<section id='changing-the-config-smp-configuration-using-menuconfig'>
<title>Changing the&nbsp;&nbsp;<filename>CONFIG_SMP</filename> Configuration Using&nbsp;&nbsp;<filename>menuconfig</filename></title>
<para>
The <filename>menuconfig</filename> tool provides an interactive method with which
to set kernel configurations.
You need to run <filename>menuconfig</filename> inside the Yocto BitBake environment.
Thus, the environment must be set up using the <filename>oe-init-build-env</filename>
script found in the build directory.
If you have not sourced this script do so with the following commands:
<literallayout class='monospaced'>
$ cd ~/poky
$ source oe-init-build-env
</literallayout>
</para>
<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.2</filename>
kernel.
The OpenEmbedded build system recognizes this kernel as
<filename>linux-yocto</filename>.
Thus, the following commands from the shell in which you previously sourced the
environment initialization script cleans the shared state cache and the
<ulink url='&YOCTO_DOCS_REF_URL;#var-WORKDIR'><filename>WORKDIR</filename></ulink>
directory and then builds and launches <filename>menuconfig</filename>:
<literallayout class='monospaced'>
$ bitbake linux-yocto -c menuconfig
</literallayout>
</para>
<para>
Once <filename>menuconfig</filename> launches, navigate through the user interface
to find the <filename>CONFIG_SMP</filename> configuration setting.
You can find it at <filename>Processor Type and Features</filename>.
The configuration selection is
<filename>Symmetric Multi-processing Support</filename>.
After using the arrow keys to highlight this selection, press "n" to turn it off.
Then, exit out and save your selections.
</para>
<para>
Once you save the selection, the <filename>.config</filename> configuration file
is updated.
This is the file that the build system uses to configure the Yocto Project kernel
when it is built.
You can find and examine this file in the build directory.
This example uses the following:
<literallayout class='monospaced'>
~/poky/build/tmp/work/qemux86-poky-linux/linux-yocto-3.2.11+git1+84f...
...656ed30-r1/linux-qemux86-standard-build
</literallayout>
<note>
The previous example directory is artificially split and many of the characters
in the actual filename are omitted in order to make it more readable.
Also, depending on the kernel you are using, the exact pathname might differ
slightly.
</note>
</para>
<para>
Within the <filename>.config</filename> file, you can see the following setting:
<literallayout class='monospaced'>
# CONFIG_SMP is not set
</literallayout>
</para>
<para>
A good method to isolate changed configurations is to use a combination of the
<filename>menuconfig</filename> tool and simple shell commands.
Before changing configurations with <filename>menuconfig</filename>, copy the
existing <filename>.config</filename> and rename it to something else,
use <filename>menuconfig</filename> to make
as many changes an you want and save them, then compare the renamed configuration
file against the newly created file.
You can use the resulting differences as your base to create configuration fragments
to permanently save in your kernel layer.
<note>
Be sure to make a copy of the <filename>.config</filename> and don't just
rename it.
The build system needs an existing <filename>.config</filename>
from which to work.
</note>
</para>
</section>
<section id='recompiling-the-kernel-and-testing-the-new-configuration'>
<title>Recompiling the Kernel and Testing the New Configuration</title>
<para>
At this point, you are ready to recompile your kernel image with
the new setting in effect using the BitBake command below:
<literallayout class='monospaced'>
$ bitbake linux-yocto
</literallayout>
</para>
<para>
Now run the QEMU emulator and pass it the same multi-processor option as before:
<literallayout class='monospaced'>
$ runqemu qemux86 qemuparams="-smp 4"
</literallayout>
</para>
<para>
Login to the machine using <filename>root</filename> with no password
and test for the number of processors the kernel supports:
<literallayout class='monospaced'>
# cat /proc/cpuinfo | grep processor
processor : 0
#
</literallayout>
</para>
<para>
From the output, you can see that the kernel no longer supports multi-processor systems.
The output indicates support for a single processor. You can verify the
<filename>CONFIG_SMP</filename> setting by using this command:
<literallayout class='monospaced'>
zcat /proc/config.gz | grep CONFIG_SMP
</literallayout>
The console returns the following output:
<literallayout class='monospaced'>
# CONFIG_SMP is not set
</literallayout>
You have successfully reconfigured the kernel.
</para>
</section>
</section>
<section id='adding-kernel-recipes'>
<title>Adding Kernel Recipes</title>
<para>
A future release of this manual will present an example that adds kernel recipes, which provide
new functionality to the kernel.
</para>
<para>
<imagedata fileref="figures/wip.png"
width="2in" depth="3in" align="center" scalefit="1" />
</para>
</section>
</appendix>
<!--

View File

@@ -8,23 +8,26 @@
<para>
Many development models exist for which you can use the Yocto Project.
This chapter overviews the following methods:
This chapter overviews simple methods that use tools provided by the
Yocto Project:
<itemizedlist>
<listitem><para><emphasis>System Development:</emphasis>
System Development covers Board Support Package (BSP) development and kernel
modification or configuration.
If you want to examine specific examples of the system development models,
see the "<link linkend='dev-manual-bsp-appendix'>BSP Development Example</link>"
appendix and the
"<link linkend='dev-manual-kernel-appendix'>Kernel Modification Example</link>" appendix.
For an example on how to create a BSP, see the
"<ulink url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'>Creating a New BSP Layer Using the yocto-bsp Script</ulink>"
section in the Yocto Project Board Support Package (BSP) Developer's Guide.
</para></listitem>
<listitem><para><emphasis>User Application Development:</emphasis>
User Application Development covers development of applications that you intend
to run on some target hardware.
For a user-space application development example that uses the
<trademark class='trade'>Eclipse</trademark> IDE,
see the
For information on how to set up your host development system for user-space
application development, see the
<ulink url='&YOCTO_DOCS_ADT_URL;'>Yocto Project Application Developer's Guide</ulink>.
For a simple example of user-space application development using the
<trademark class='trade'>Eclipse</trademark> IDE, see the
"<link linkend='application-development-workflow'>Application
Development Workflow</link>" section.
</para></listitem>
<listitem><para><emphasis>Temporary Source Code Modification:</emphasis>
Direct modification of temporary source code is a convenient development model
@@ -51,7 +54,7 @@
a specific hardware target.
Usually, when you want to create an image that runs on embedded hardware, the image does
not require the same number of features that a full-fledged Linux distribution provides.
Thus, you can create a much smaller image that is designed to use only the hardware
Thus, you can create a much smaller image that is designed to use only the
features for your particular hardware.
</para>
@@ -65,9 +68,9 @@
<title>Developing a Board Support Package (BSP)</title>
<para>
A BSP is a packageof recipes that, when applied, during a build results in
A BSP is a package of recipes that, when applied during a build, results in
an image that you can run on a particular board.
Thus, the package, when compiled into the new image, supports the operation of the board.
Thus, the package when compiled into the new image, supports the operation of the board.
</para>
<note>
@@ -77,9 +80,11 @@
<para>
The remainder of this section presents the basic steps used to create a BSP
based on an existing BSP that ships with the Yocto Project.
You can reference the "<link linkend='dev-manual-bsp-appendix'>BSP Development Example</link>"
appendix for a detailed example that uses the Crown Bay BSP as a base BSP from which to start.
using the Yocto Project's
<ulink url='&YOCTO_DOCS_BSP_URL;#using-the-yocto-projects-bsp-tools'>BSP Tools</ulink>.
For an example that shows how to create a new layer using the tools, see the
"<ulink url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'>Creating a New BSP Layer Using the yocto-bsp Script</ulink>"
section in the Yocto Project Board Support Package (BSP) Developer's Guide.
</para>
<para>
@@ -99,43 +104,30 @@
"<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 project files on your
system</emphasis>: You need this <link linkend='source-directory'>source
directory</link> available on your host system.
system</emphasis>: You need this <link linkend='source-directory'>Source
Directory</link> available on your host system.
Having these files on your system gives you access to the build
process and to the tools you need.
For information on how to set up the source directory, see the
For information on how to set up the
<link linkend='source-directory'>Source Directory</link>, see the
"<link linkend='getting-setup'>Getting Setup</link>" section.</para></listitem>
<listitem><para><emphasis>Establish a local copy of the base BSP files</emphasis>: Having
the BSP files on your system gives you access to the build
<listitem><para><emphasis>Establish the <filename>meta-intel</filename>
repository on your system</emphasis>: Having local copies of the
supported BSP layers on your system gives you access to the build
process and to the tools you need for creating a BSP.
For information on how to get these files, see the
"<link linkend='getting-setup'>Getting Setup</link>" section.</para></listitem>
<listitem><para><emphasis>Choose a BSP that is supported by the Yocto Project
as your base BSP</emphasis>:
The Yocto Project ships with several BSPs that support various hardware.
It is best to base your new BSP on an existing BSP rather than create all the
recipes and configuration files from scratch.
While it is possible to create everything from scratch, basing your new BSP
on something that is close is much easier.
Or, at a minimum, leveraging off an existing BSP
gives you some structure with which to start.</para>
<para>At this point you need to understand your target hardware well enough to determine which
existing BSP it most closely matches.
Things to consider are your hardwares on-board features, such as CPU type and graphics support.
You should look at the README files for supported BSPs to get an idea of which one
you could use.
A generic <trademark class='registered'>Intel</trademark>
<trademark class='trade'>Atom</trademark>-based BSP to consider is the
Crown Bay that does not support the <trademark class='registered'>Intel</trademark>
Embedded Media Graphics Driver (EMGD).
The remainder of this example uses that base BSP.</para>
<para>To see the supported BSPs, go to the
<ulink url='&YOCTO_HOME_URL;/download'>Download</ulink> page on the Yocto Project
website and click on “BSP Downloads.”</para></listitem>
<listitem><para><emphasis>Create your own BSP layer</emphasis>: Layers are ideal for
<listitem><para><emphasis>Create your own BSP layer using the
<ulink url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'><filename>yocto-bsp</filename></ulink> script</emphasis>:
Layers are ideal for
isolating and storing work for a given piece of hardware.
A layer is really just a location or area in which you place the recipes for your BSP.
In fact, a BSP is, in itself, a special type of layer.
In fact, a BSP is, in itself, a special type of layer.
The simplest way to create a new BSP layer that is compliant with the
Yocto Project is to use the <filename>yocto-bsp</filename> script.
For information about that script, see the
"<ulink url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'>Creating a New BSP Layer Using the yocto-bsp Script</ulink>"
section in the Yocto Project Board Support (BSP) Developer's Guide.
</para>
<para>
Another example that illustrates a layer is an application.
@@ -156,44 +148,54 @@
Yocto Project release: <filename>atom-pc</filename>, <filename>beagleboard</filename>,
<filename>mpc8315e</filename>, and <filename>routerstationpro</filename>.
The recipes and configurations for these four BSPs are located and dispersed
within the <link linkend='source-directory'>source directory</link>.
On the other hand, BSP layers for Crown Bay, Emenlow, Jasper Forest,
N450, Cedar Trail, Fish River, Fish River Island II, Romley, sys940x, tlk,
and Sugar Bay exist in their own separate layers within the larger
<filename>meta-intel</filename> layer.</note>
within the <link linkend='source-directory'>Source Directory</link>.
On the other hand, BSP layers for Cedar Trail, Chief River, Crown Bay,
Crystal Forest, Emenlow, Fish River, Fish River 2, Jasper Forest, N450,
Romley, sys940x, Sugar Bay, and tlk exist in their own separate layers
within the larger <filename>meta-intel</filename> layer.</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='&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
source directory.</para></listitem>
You can see the standard layout for a BSP by examining
any supported BSP found in the <filename>meta-intel</filename> layer inside
the Source Directory.</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.
Configuration changes identify where your new layer is on the local system
and identify which kernel you are going to use.
When you run the <filename>yocto-bsp</filename> script you are able to interactively
configure many things for the BSP (e.g. keyboard, touchscreen, and so forth).
</para></listitem>
<listitem><para><emphasis>Make recipe changes to your new BSP layer</emphasis>: Recipe
changes include altering recipes (<filename>.bb</filename> files), removing
recipes you don't use, and adding new recipes that you need to support your hardware.
recipes you don't use, and adding new recipes or append files
(<filename>.bbappend</filename>) that you need to support your hardware.
</para></listitem>
<listitem><para><emphasis>Prepare for the build</emphasis>: Once you have made all the
changes to your BSP layer, there remains a few things
you need to do for the OpenEmbedded build system in order for it to create your image.
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>
and you need to be sure two key configuration files are configured appropriately:
the <filename>conf/local.conf</filename> and the
<filename>conf/bblayers.conf</filename> file.
You must make the OpenEmbedded build system aware of your new layer.
See the
"<link linkend='enabling-your-layer'>Enabling Your Layer</link>" section
for information on how to let the build system know about your new layer.</para>
<para>The entire process for building an image is overviewed in the section
"<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 OpenEmbedded build system
uses the BitBake tool to build images based on the type of image you want to create.
You can find more information on BitBake
<ulink url='&BITBAKE_DOCS_URL;'>here</ulink>.</para>
You can find more information about BitBake in the user manual, which is found in the
<filename>bitbake/doc/manual</filename> directory of the
<link linkend='source-directory'>Source Directory</link>.</para>
<para>The build process supports several types of images to satisfy different needs.
See the
"<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" chapter
@@ -230,9 +232,11 @@
kernel architecture and the steps to modify the kernel.
For a complete discussion of the kernel, see the
<ulink url='&YOCTO_DOCS_KERNEL_URL;'>Yocto Project Kernel Architecture and Use Manual</ulink>.
You can reference the appendix
"<link linkend='dev-manual-kernel-appendix'>Kernel Modification Example</link>"
for a detailed example that changes the configuration of a kernel.
You can reference the
"<link linkend='patching-the-kernel'>Patching the Kernel</link>" section
for an example that changes the source code of the kernel.
For information on how to configure the kernel, see the
"<link linkend='configuring-the-kernel'>Configuring the Kernel</link> section.
</para>
<section id='kernel-overview'>
@@ -266,6 +270,9 @@
<listitem><para><emphasis><filename>linux-yocto-3.2</filename></emphasis> - The
stable Yocto Project kernel to use with the Yocto Project Release 1.2. This kernel
is based on the Linux 3.2 released kernel.</para></listitem>
<listitem><para><emphasis><filename>linux-yocto-3.4</filename></emphasis> - The
stable Yocto Project kernel to use with the Yocto Project Release 1.3. This kernel
is based on the Linux 3.4 released kernel.</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>
@@ -316,8 +323,8 @@
</note>
<para>
Storage of all the available kernel source code is one thing, while representing the
code on your host development system is another.
Upstream storage of all the available kernel source code is one thing, while
representing and using the code on your host development system is another.
Conceptually, you can think of the kernel source repositories as all the
source files necessary for all the supported kernels.
As a developer, you are just interested in the source files for the kernel on
@@ -326,43 +333,19 @@
</para>
<para>
You make kernel source code available on your host development system by using
Git to create a bare clone of the Yocto Project kernel Git repository
in which you are interested.
Then, you use Git again to clone a copy of that bare clone.
This copy represents the directory structure on your host system that is particular
to the kernel you want.
These are the files you actually modify to change the kernel.
See the <link linkend='local-kernel-files'>Yocto Project Kernel</link> item earlier
in this manual for an example of how to set up the kernel source directory
structure on your host system.
</para>
<para>
This next figure illustrates how the kernel source files might be arranged on
your host system.
</para>
<para>
<imagedata fileref="figures/kernel-overview-3-denzil.png"
width="6in" depth="4in" align="center" scale="100" />
</para>
<para>
In the previous figure, the file structure on the left represents the bare clone
set up to track the Yocto Project kernel Git repository.
The structure on the right represents the copy of the bare clone.
When you make modifcations to the kernel source code, this is the area in which
you work.
Once you make corrections, you must use Git to push the committed changes to the
bare clone.
The example in <xref linkend='modifying-the-kernel-source-code'>
Modifying the Kernel Source Code</xref> provides a detailed example.
Kernel source code is available on your host system a couple of different
ways.
If you are working in the kernel all the time, you probably would want
to set up your own local Git repository of the kernel tree.
If you just need to make some patches to the kernel, you can get at
temporary kernel source files extracted and used during the OpenEmbedded
build system.
We will just talk about working with the temporary source code.
</para>
<para>
What happens during the build?
When you build the kernel on your development system all files needed for the build
When you build the kernel on your development system, all files needed for the build
are taken from the source repositories pointed to by the
<filename>SRC_URI</filename> variable and gathered in a temporary work area
where they are subsequently used to create the unique kernel.
@@ -371,11 +354,13 @@
</para>
The following figure shows the temporary file structure
created on your host system when the build occurs.
This build directory contains all the source files used during the build.
This
<link linkend='build-directory'>Build Directory</link> contains all the
source files used during the build.
</para>
<para>
<imagedata fileref="figures/kernel-overview-2.png"
<imagedata fileref="figures/kernel-overview-2-generic.png"
width="6in" depth="5in" align="center" scale="100" />
</para>
@@ -384,7 +369,7 @@
branching strategy, see the
<ulink url='&YOCTO_DOCS_KERNEL_URL;'>Yocto Project Kernel Architecture and Use Manual</ulink>.
You can also reference the
"<link linkend='modifying-the-kernel-source-code'>Modifying the Kernel Source Code</link>"
"<link linkend='patching-the-kernel'>Patching the Kernel</link>"
section for a detailed example that modifies the kernel.
</para>
</section>
@@ -398,7 +383,7 @@
<para>
<imagedata fileref="figures/kernel-dev-flow.png"
width="6in" depth="7.5in" align="center" scalefit="1" />
width="6in" depth="5in" align="center" scalefit="1" />
</para>
<para>
@@ -415,43 +400,39 @@
For information on how to get these files, see the bulleted item
"<link linkend='local-yp-release'>Yocto Project Release</link>" earlier in this manual.
</para></listitem>
<listitem><para><emphasis>Set up a local copy of the <filename>poky-extras</filename> Git
repository</emphasis>: This local repository is the area for your configuration
fragments, new kernel recipes, and the kernel <filename>.bbappend</filename>
file used during the build.
It is good practice to set this repository up inside your local
source directory.
For information on how to get these files, see the bulleted item
"<link linkend='poky-extras-repo'>The <filename>poky-extras</filename> Git Repository</link>"
earlier in this manual.
<note>While it is certainly possible to modify the kernel without involving
a local Git repository, the suggested workflow for kernel modification
using the Yocto Project does use a Git repository.</note></para></listitem>
<listitem><para><emphasis>Establish a local copy of the Yocto Project kernel files on your
system</emphasis>: In order to make modifications to the kernel you need two things:
a bare clone of the Yocto Project kernel you are modifying and
a copy of that bare clone.
The bare clone is required by the build process and is the area to which you
push your kernel source changes (pulling does not work with bare clones).
The copy of the bare clone is a local Git repository that contains all the kernel's
source files.
You make your changes to the files in this copy of the bare clone.
For information on how to set these two items up, see the bulleted item
"<link linkend='local-kernel-files'>Yocto Project Kernel</link>"
earlier in this manual.</para></listitem>
<listitem><para><emphasis>Establish the temporary kernel source files</emphasis>:
Temporary kernel source files are kept in the Build Directory created by the
OpenEmbedded build system when you run BitBake.
If you have never built the kernel you are interested in, you need to run
an initial build to establish local kernel source files.</para>
<para>If you are building an image for the first time, you need to get the build
environment ready by sourcing
the environment setup script.
You also need to be sure two key configuration files
(<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='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>"
section of the Yocto Project Quick Start.
You might want to reference this information.
You can find more information on BitBake in the user manual, which is found in the
<filename>bitbake/doc/manual</filename> directory of the
<link linkend='source-directory'>Source Directory</link>.</para>
<para>The build process supports several types of images to satisfy different needs.
See the "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" chapter in
the Yocto Project Reference Manual for information on supported images.
</para></listitem>
<listitem><para><emphasis>Make changes to the kernel source code if
applicable</emphasis>: Modifying the kernel does not always mean directly
changing source files.
However, if you have to do this, you make the changes in the local
Git repository you set up to hold the source files (i.e. the copy of the
bare clone).
Once the changes are made, you need to use Git commands to commit the changes
and then push them to the bare clone.</para></listitem>
However, if you have to do this, you make the changes to the files in the
Build directory.</para></listitem>
<listitem><para><emphasis>Make kernel configuration changes
if applicable</emphasis>:
If your situation calls for changing the kernel's configuration, you can
use <filename>menuconfig</filename>
use the <filename>yocto-kernel</filename> script or <filename>menuconfig</filename>
to enable and disable kernel configurations.
Using the script lets you interactively set up kernel configurations.
Using <filename>menuconfig</filename> allows you to interactively develop and test the
configuration changes you are making to the kernel.
When saved, changes using <filename>menuconfig</filename> update the kernel's
@@ -467,51 +448,8 @@
<filename>.config</filename> file against a saved original and gather those
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
<filename>meta-kernel-dev</filename> layer that is within the local
<filename>poky-extras</filename> Git repository.
If you need to add new kernel recipes, you add them within this layer.
Also within this area, you will find the <filename>.bbappend</filename>
file that appends information to the kernel's recipe file used during the
build.
</para></listitem>
<listitem><para><emphasis>Prepare for the build</emphasis>: Once you have made all the
changes to your kernel (configurations, source code changes, recipe additions,
or recipe changes), there remains a few things
you need to do in order for the build system to create your image.
If you have not done so, you need to get the build environment ready by sourcing
the environment setup script described earlier.
You also need to be sure two key configuration files
(<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='&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>
<listitem><para><emphasis>Build the image</emphasis>: The OpenEmbedded
build system uses the BitBake
tool to build images based on the type of image you want to create.
You can find more information on BitBake
<ulink url='&BITBAKE_DOCS_URL;'>here</ulink>.</para>
<para>The build process supports several types of images to satisfy different needs.
See the "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>" chapter 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.
Once they are tested and ready to go, you can move them into the kernel layer,
which allows you to distribute the layer.</para></listitem>
<listitem><para><emphasis>If applicable, share your in-tree changes</emphasis>:
If the changes you made
are suited for all Yocto Project kernel users, you might want to send them on
for inclusion into the upstream kernel's Git repository.
If the changes are accepted, the Yocto Project Maintainer pulls them into
the master branch of the kernel tree.
Doing so makes them available to everyone using the kernel.</para></listitem>
<listitem><para><emphasis>Rebuild the kernel image with your changes</emphasis>:
Rebuilding the kernel image applies your changes.</para></listitem>
</orderedlist>
</para>
</section>
@@ -530,7 +468,8 @@
facilitate quick development and integration of your application into its run-time environment.
Using the ADT and toolchains, you can compile and link your application.
You can then deploy your application to the actual hardware or to the QEMU emulator for testing.
If you are familiar with the popular Eclipse IDE, you can use an Eclipse Yocto Plug-in to
If you are familiar with the popular <trademark class='trade'>Eclipse</trademark> IDE,
you can use an Eclipse Yocto Plug-in to
allow you to develop, deploy, and test your application all from within Eclipse.
</para>
@@ -574,10 +513,9 @@
(QEMU or real hardware), the area from which you get the image differs.
<itemizedlist>
<listitem><para>Download the image from
<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>
<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='&YOCTO_QEMU_DL_URL;'>
<filename>machines/qemu</filename></ulink> if your target architecture is supported
@@ -588,9 +526,8 @@
If your target architecture is similar to a supported architecture, you can
modify the kernel image before you build it.
See the
"<link linkend='kernel-modification-workflow'>Kernel Modification Workflow</link>"
section earlier in this manual for information on how to create a modified
Yocto Project kernel.</para></listitem>
"<link linkend='patching-the-kernel'>Patching the Kernel</link>"
section for an example.</para></listitem>
</itemizedlist></para>
<para>For information on pre-built kernel image naming schemes for images
that can run on the QEMU emulator, see the
@@ -606,14 +543,27 @@
"<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Using the ADT Installer</ulink>"
section
in the Yocto Project Application Developer's Guide.</para></listitem>
<listitem><para><emphasis>If Applicable, Secure the Target Root Filesystem</emphasis>:
<listitem><para><emphasis>If Applicable, Secure the Target Root Filesystem
and the Cross-development Toolchain</emphasis>:
If you choose not to install the ADT using the ADT Installer,
you need to find and download the
appropriate root filesystems.
You can find these tarballs in the same areas used for the kernel images.
you need to find and download the appropriate root filesystem and
the cross-development toolchain.</para>
<para>You can find the tarballs for the root filesystem in the same area used
for the kernel image.
Depending on the type of image you are running, the root filesystem you need differs.
For example, if you are developing an application that runs on an image that
supports Sato, you need to get root filesystem that supports Sato.
supports Sato, you need to get root filesystem that supports Sato.</para>
<para>You can find the cross-development toolchains at
<ulink url='&YOCTO_TOOLCHAIN_DL_URL;'><filename>toolchains</filename></ulink>.
Be sure to get the correct toolchain for your development host and your
target architecture.
See the "<ulink url='&YOCTO_DOCS_ADT_URL;#using-an-existing-toolchain-tarball'>Using a Cross-Toolchain Tarball</ulink>"
section in the Yocto Project Application Developer's Guide for information
and the
"<ulink url='&YOCTO_DOCS_QS_URL;#installing-the-toolchain'>Installing the Toolchain</ulink>"
in the Yocto Project Quick Start for information on finding and installing
the correct toolchain based on your host development system and your target
architecture.
</para></listitem>
<listitem><para><emphasis>Create and Build your Application</emphasis>:
At this point, you need to have source files for your application.
@@ -624,13 +574,13 @@
<listitem><para><emphasis>Deploy the Image with the Application</emphasis>:
If you are using the Eclipse IDE, you can deploy your image to the hardware or to
QEMU through the project's preferences.
If you are not using the Eclipse IDE, then you need to deploy the application using
other methods to the hardware.
If you are not using the Eclipse IDE, then you need to deploy the application
to the hardware using other methods.
Or, if you are using QEMU, you need to use that tool and load your image in for testing.
</para></listitem>
<listitem><para><emphasis>Test and Debug the Application</emphasis>:
Once your application is deployed, you need to test it.
Within the Eclipse IDE, you can use the debubbing environment along with the
Within the Eclipse IDE, you can use the debugging environment along with the
set of user-space tools installed along with the ADT to debug your application.
Of course, the same user-space tools are available separately if you choose
not to use the Eclipse IDE.</para></listitem>
@@ -712,9 +662,9 @@
<para>
Once you have downloaded the tarball, extract it into a clean
directory.
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>:
For example, the following commands unpack and install the
downloaded Eclipse IDE tarball into a clean directory
using the default name <filename>eclipse</filename>:
<literallayout class='monospaced'>
$ cd ~
$ tar -xzvf ~/Downloads/eclipse-SDK-4.2-linux-gtk-x86_64.tar.gz
@@ -857,7 +807,7 @@
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.
Yocto Project's Source Repositories.
</para>
<section id='new-software'>
@@ -898,24 +848,36 @@
</literallayout>
For this example, the repository is named
<filename>~/yocto-eclipse</filename>.</para></listitem>
<listitem><para>Be sure you are in the right branch for your Git repository.
For this release set the branch to <filename>&DISTRO_NAME;</filename>:
<literallayout class='monospaced'>
$ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
</literallayout></para></listitem>
<listitem><para>Locate the <filename>build.sh</filename> script in the
Git repository you created in the previous step.
The script is located in the <filename>scripts</filename>.</para></listitem>
<listitem><para>Be sure to set and export the <filename>ECLIPSE_HOME</filename> environment
variable to the top-level directory in which you installed the Indigo
version of Eclipse.
variable to the top-level directory in which you installed your version of Eclipse.
For example, if your Eclipse directory is <filename>$HOME/eclipse</filename>,
use the following:
<literallayout class='monospaced'>
$ export ECLIPSE_HOME=$HOME/eclipse
</literallayout></para></listitem>
<listitem><para>Run the <filename>build.sh</filename> script and provide the
name of the Git branch along with the Yocto Project release you are
using.
Here is an example that uses the <filename>master</filename> Git repository
and the <filename>1.1M4</filename> release:
<listitem><para>Be sure you have the right branch in the Poky Git repository
checked out.
For example, the following commands checkout the <filename>&DISTRO_NAME;</filename>
branch in the local Poky Git repository:
<literallayout class='monospaced'>
$ scripts/build.sh master 1.1M4
$ cd ~/poky
$ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
</literallayout></para></listitem>
<listitem><para>Move back to your Yocto Eclipse directory and
run the <filename>build.sh</filename> script.
Provide the name of the Git branch along with the Yocto Project release you are
using.
Here is an example that uses the <filename>&DISTRO_NAME;</filename> branches:
<literallayout class='monospaced'>
$ scripts/build.sh &DISTRO_NAME; &DISTRO_NAME;
</literallayout>
After running the script, the file
<filename>org.yocto.sdk-&lt;release&gt;-&lt;date&gt;-archive.zip</filename>
@@ -928,9 +890,10 @@
<listitem><para>Provide anything you want in the "Name" field.</para></listitem>
<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
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>Click through the "Okay" buttons.</para></listitem>
<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>
@@ -1051,10 +1014,17 @@
Developer's Guide for information on how to install the toolchain into the build
directory.</para></listitem>
<listitem><para><emphasis>Specify the Sysroot Location:</emphasis>
This location is where the root filesystem for the
target hardware is created on the development system by the ADT Installer.
The QEMU user-space tools, the
NFS boot process, and the cross-toolchain all use the sysroot location.
This location is where the root filesystem for the target hardware resides.
If you used the ADT Installer, then the location is
<filename>/opt/poky/&lt;release&gt;</filename>.
Additionally, when you use the ADT Installer, the same location is used for
the QEMU user-space tools and the NFS boot process.</para>
<para>If you used either of the other two methods to install the toolchain, then the
location of the sysroot filesystem depends on where you separately
extracted and intalled the filesystem.</para>
<para>For information on how to install the toolchain and on how to extract
and install the sysroot filesystem, see the
"<ulink url='&YOCTO_DOCS_ADT_URL;#installing-the-adt'>Installing the ADT and Toolchains</ulink>" section.
</para></listitem>
<listitem><para><emphasis>Select the Target Architecture:</emphasis>
The target architecture is the type of hardware you are
@@ -1175,7 +1145,11 @@ directory.</para></listitem>
The <filename>Yocto Project Settings</filename>
Dialog allows you to override those default settings
for a given project.</para></listitem>
<listitem><para>Make your configurations for the project and click "OK".</para></listitem>
<listitem><para>Make your configurations for the project and click "OK".
If you are running the Juno version of Eclipse, you can skip down to the next
section where you build the project.
If you are not working with Juno, you need to reconfigure the project as
described in the next step.</para></listitem>
<listitem><para>Select <filename>Project -&gt; Reconfigure Project</filename>:
This selection reconfigures the project by running
<filename>autogen.sh</filename> in the workspace for your project.
@@ -1193,7 +1167,9 @@ directory.</para></listitem>
<title>Building the Project</title>
<para>
To build the project, select <filename>Project -&gt; Build Project</filename>.
To build the project in Juno, right click on the project in the navigator pane and select
<filename>Build Project</filename>.
If you are not running Juno, select <filename>Project -&gt; Build Project</filename>.
The console should update and you can note the cross-compiler you are using.
</para>
</section>
@@ -1252,7 +1228,7 @@ directory.</para></listitem>
<filename>New Connections</filename> Dialog.</para></listitem>
<listitem><para>Use the drop-down menu now in the <filename>Connection</filename> field and pick
the IP Address you entered.</para></listitem>
<listitem><para>Click <filename>Debug</filename> to bring up a login screen
<listitem><para>Click <filename>Run</filename> to bring up a login screen
and login.</para></listitem>
<listitem><para>Accept the debug perspective.</para></listitem>
</orderedlist>
@@ -1300,7 +1276,7 @@ directory.</para></listitem>
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>
<ulink url='http://lttng.org/documentation'></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>.
For example, typing <filename>/path/to/foo</filename> triggers
@@ -1313,8 +1289,8 @@ directory.</para></listitem>
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>
<listitem><para>Follow the instructions from the
<ulink url='http://wiki.eclipse.org/Linux_Tools_Project/LTTng2/User_Guide'>Linux Tools Projec/LTTng2/User Guide</ulink>
to download and install the <filename>lttng</filename> parser library.
</para></listitem>
<listitem><para>Select <filename>Window -> Open Perspective -> Other</filename>
@@ -1407,7 +1383,7 @@ directory.</para></listitem>
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 to your
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>source directory</ulink>
<link linkend='source-directory'>Source Directory</link>
by defining "SRC_URL" as follows:
<literallayout class='monospaced'>
ftp://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz
@@ -1519,7 +1495,7 @@ directory.</para></listitem>
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-S'>S</ulink></filename> variable.
Below is the default value for the <filename>S</filename> variable as defined in the
<filename>meta/conf/bitbake.conf</filename> configuration file in the
<link linkend='source-directory'>source directory</link>:
<link linkend='source-directory'>Source Directory</link>:
<literallayout class='monospaced'>
S = ${WORKDIR}/${BP}
</literallayout>
@@ -1527,8 +1503,9 @@ directory.</para></listitem>
For example, recipes that fetch their source from Git usually set
<filename>S</filename> to <filename>${WORKDIR}/git</filename>.
<note>
<filename>BP</filename> represents the "Base Package", which is the base package
name and the package version:
The
<ulink url='&YOCTO_DOCS_REF_URL;#var-BP'><filename>BP</filename></ulink>
represents the base recipe name, which consists of the name and version:
<literallayout class='monospaced'>
BP = ${BPN}-${PV}
</literallayout>
@@ -1538,26 +1515,30 @@ directory.</para></listitem>
<para>
The path to the work directory for the recipe
(<ulink url='&YOCTO_DOCS_REF_URL;#var-WORKDIR'><filename>WORKDIR</filename></ulink>) depends
on the package name and the architecture of the target device.
For example, here is the work directory for packages whose targets are not device-dependent:
on the recipe name and the architecture of the target device.
For example, here is the work directory for recipes and resulting packages that are
not device-dependent:
<literallayout class='monospaced'>
${TMPDIR}/work/${PACKAGE_ARCH}-poky-${TARGET_OS}/${PN}-${PV}-${PR}
</literallayout>
Let's look at an example without variables.
Assuming a top-level source directory named <filename>poky</filename>
Assuming a top-level <link linkend='source-directory'>Source Directory</link>
named <filename>poky</filename>
and a default build directory of <filename>poky/build</filename>,
the following is the work directory for the <filename>acl</filename> package:
the following is the work directory for the <filename>acl</filename> recipe that
creates the <filename>acl</filename> package:
<literallayout class='monospaced'>
~/poky/build/tmp/work/i586-poky-linux/acl-2.2.51-r3
</literallayout>
</para>
<para>
If your package is dependent on the target device, the work directory varies slightly:
If your resulting package is dependent on the target device,
the work directory varies slightly:
<literallayout class='monospaced'>
${TMPDIR}/work/${MACHINE}-poky-${TARGET_OS}/${PN}-${PV}-${PR}
</literallayout>
Again, assuming top-level source directory named <filename>poky</filename>
Again, assuming top-level Source Directory named <filename>poky</filename>
and a default build directory of <filename>poky/build</filename>, the
following is the work directory for the <filename>acl</filename> package that is being
built for a MIPS-based device:
@@ -1582,9 +1563,9 @@ directory.</para></listitem>
</note>
<para>
Now that you know where to locate the directory that has the temporary source code, you can use a
Quilt or Git workflow to make your edits, test the changes, and preserve the
changes in the form of patches.
Now that you know where to locate the directory that has the temporary source code,
you can use a Quilt or Git workflow to make your edits, test the changes,
and preserve the changes in the form of patches.
</para>
</section>
@@ -1670,10 +1651,10 @@ directory.</para></listitem>
<literallayout class='monospaced'>
SRC_URI += "file://my_changes.patch"
</literallayout></para></listitem>
<listitem><para><emphasis>Increment the Package Revision Number:</emphasis>
<listitem><para><emphasis>Increment the Recipe Revision Number:</emphasis>
Finally, don't forget to 'bump' the
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PR'>PR</ulink></filename>
value in the same recipe since the resulting packages have changed.</para></listitem>
value in the recipe since the resulting packages have changed.</para></listitem>
</orderedlist>
</para> </section>
@@ -1796,10 +1777,10 @@ directory.</para></listitem>
<literallayout class='monospaced'>
SRC_URI += "file://my_changes.patch"
</literallayout></para></listitem>
<listitem><para><emphasis>Increment the Package Revision Number:</emphasis>
<listitem><para><emphasis>Increment the Recipe Revision Number:</emphasis>
Finally, don't forget to 'bump' the
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PR'>PR</ulink></filename>
value in the same recipe since the resulting packages have changed.</para></listitem>
value in the recipe since the resulting packages have changed.</para></listitem>
</orderedlist>
</para>
</section>
@@ -1883,7 +1864,7 @@ directory.</para></listitem>
or <filename>compile</filename> commands as if they were being run by
the OpenEmbedded build system itself.
As noted earlier, the working directory also automatically changes to the
source directory (<ulink url='&YOCTO_DOCS_REF_URL;#var-S'><filename>S</filename></ulink>).
Source Directory (<ulink url='&YOCTO_DOCS_REF_URL;#var-S'><filename>S</filename></ulink>).
</para>
<para>

View File

@@ -75,12 +75,12 @@
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
See <ulink url='http://autobuilder.yoctoproject.org:8010/'>Welcome to 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
You can tie an incremental build 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.
@@ -170,7 +170,7 @@
<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,
Yocto Plug-in, miscellaneous support, poky, pseudo, installers for cross-development toolchains,
and all released versions of Yocto Project in the form of images or tarballs.
Downloading and extracting these files does not produce a local copy of the
Git repository but rather a snapshot of a particular release or image.</para>
@@ -207,14 +207,15 @@
<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
For an example of an append file in use, see the
"<link linkend='using-bbappend-files'>Using .bbappend Files</link>" section.
</para></listitem>
<listitem><para id='bitbake-term'><emphasis>BitBake:</emphasis>
The task executor and scheduler used by
the OpenEmbedded build system to build images.
For more information on BitBake, see the <ulink url='&BITBAKE_DOCS_URL;'>
BitBake documentation</ulink>.</para></listitem>
For more information on BitBake, see the BitBake documentation
in the <filename>bitbake/doc/manual</filename> directory of the
<link linkend='source-directory'>Source Directory</link>.</para></listitem>
<listitem>
<para id='build-directory'><emphasis>Build Directory:</emphasis>
This term refers to the area used by the OpenEmbedded build system for builds.
@@ -281,16 +282,16 @@
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 OpenEmbedded build system 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.
You can use the OpenEmbedded build system to build a cross-development toolchain
installer that when run installs the toolchain that contains the development tools you
need to cross-compile and test your software.
The Yocto Project ships with images that contain installers for
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 run on specific hardware and for specific
use cases.
Images are the binary output that run on specific hardware or QEMU
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'>Images</ulink>"
chapter in the Yocto Project Reference Manual.</para></listitem>
@@ -302,13 +303,27 @@
<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
<listitem><para id='oe-core'><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 source
directory.</para></listitem>
<listitem><para><emphasis>Package:</emphasis> The packaged output from a baked recipe.
<listitem><para><emphasis>Package:</emphasis> In the context of the Yocto Project,
this term refers to 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>
You bake something by running it through BitBake.</para>
<para>It is worth noting that the term "package" can, in general, have subtle
meanings. For example, the packages refered to in the
"<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>" section are
compiled binaries that when installed add functionality to your Linux
distribution.</para>
<para>Another point worth noting is that historically within the Yocto Project,
recipes were referred to as packages - thus, the existence of several BitBake
variables that are seemingly mis-named,
(e.g. <ulink url='&YOCTO_DOCS_REF_URL;#var-PR'><filename>PR</filename></ulink>,
<ulink url='&YOCTO_DOCS_REF_URL;#var-PRINC'><filename>PRINC</filename></ulink>,
<ulink url='&YOCTO_DOCS_REF_URL;#var-PV'><filename>PV</filename></ulink>, and
<ulink url='&YOCTO_DOCS_REF_URL;#var-PE'><filename>PE</filename></ulink>).
</para></listitem>
<listitem><para id='poky'><emphasis>Poky:</emphasis> The term "poky" can mean several things.
In its most general sence, it is an open-source project that was initially developed
by OpenedHand. With OpenedHand, poky was developed off of the existing OpenEmbedded
@@ -329,7 +344,8 @@
<para id='source-directory'><emphasis>Source Directory:</emphasis>
This term refers to the directory structure created as a result of either downloading
and unpacking a Yocto Project release tarball or creating a local copy of
<filename>poky</filename> Git repository <filename>git://git.yoctoproject.org/poky</filename>.
the <filename>poky</filename> Git repository
<filename>git://git.yoctoproject.org/poky</filename>.
Sometimes you might here the term "poky directory" used to refer to this
directory structure.</para>
@@ -365,7 +381,7 @@
<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>
You do this by using Git tags that are part of the repository.</para>
<para>For more information on concepts around Git repositories, branches, and tags,
see the
@@ -416,8 +432,8 @@
</para>
<para>
When you build an image using Yocto Project, the build process uses a known list of licenses to
ensure compliance.
When you build an image using the Yocto Project, the build process uses a
known list of licenses to ensure compliance.
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
@@ -513,10 +529,9 @@
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>, <filename>denzil</filename> and
<filename>master</filename> branches among
others.
<filename>bernard</filename>,
<filename>edison</filename>, <filename>denzil</filename>, <filename>danny</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
@@ -561,9 +576,8 @@
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.
<filename>&DISTRO_NAME;</filename> branch name is not the same as
cloning and checking out the <filename>master</filename> branch.
Keep reading to see how you create a local snapshot of a Yocto Project Release.
</para>
@@ -579,7 +593,7 @@
</para>
<para>
Some key tags are <filename>laverne-4.0</filename>, <filename>bernard-5.0</filename>,
Some key tags are <filename>bernard-5.0</filename>, <filename>denzil-7.0</filename>,
and <filename>&DISTRO_NAME;-&POKYVERSION;</filename>.
These tags represent Yocto Project releases.
</para>
@@ -661,17 +675,18 @@
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</filename>:</emphasis> Reports
existing local branches and
tells you the 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>
Deletes an existing local branch.
You need to be in a local branch other than the one you are deleting
in order to delete <filename>&lt;branch-name&gt;</filename>.</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>
from which you are basing changes (.e.g. the master branch).</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
@@ -753,6 +768,8 @@
A somewhat formal method exists by which developers commit changes and push them into the
"contrib" area and subsequently request that the maintainer include them into "master"
This process is called “submitting a patch” or “submitting a change.”
For information on submitting patches and changes, see the
"<link linkend='how-to-submit-a-change'>How to Submit a Change</link>" section.
</para>
<para>
@@ -815,13 +832,18 @@
<filename>send-pull-request</filename> that ship with the release to facilitate this
workflow.
You can find these scripts in the local Yocto Project files Git repository in
the <filename>scripts</filename> directory.</para></listitem>
the <filename>scripts</filename> directory.</para>
<para>You can find more information on these scripts in the
"<link linkend='pushing-a-change-upstream'>Using
Scripts to Push a Change Upstream and Request a Pull</link>" section.
</para></listitem>
<listitem><para><emphasis>Patch Workflow:</emphasis> This workflow allows you to notify the
maintainer through an email that you have a change (or patch) you would like considered
for the "master" branch of the Git repository.
To send this type of change you format the patch and then send the email using the Git commands
<filename>git format-patch</filename> and <filename>git send-email</filename>.
You can find information on how to submit later in this chapter.</para></listitem>
You can find information on how to submit changes
later in this chapter.</para></listitem>
</itemizedlist>
</para>
</section>
@@ -853,8 +875,9 @@
a bug.</para></listitem>
<listitem><para>When submitting a new bug, be sure to choose the appropriate
Classification, Product, and Component for which the issue was found.
Defects for Yocto Project fall into one of four classifications: Yocto Projects,
Infrastructure, Poky, and Yocto Metadata Layers.
Defects for Yocto Project fall into one of six classifications: Yocto Project
Components, Infrastructure, Build System &amp; Metadata, Documentation,
QA/Testing, and Runtime.
Each of these Classifications break down into multiple Products and, in some
cases, multiple Components.</para></listitem>
<listitem><para>Use the bug form to choose the correct Hardware and Architecture
@@ -903,7 +926,8 @@
<ulink url='&OE_LISTS_URL;/listinfo/bitbake-devel'>bitbake-devel</ulink> mailing list.</para></listitem>
<listitem><para>For changes to <filename>meta-yocto</filename>, send your patch to the
<ulink url='&YOCTO_LISTS_URL;/listinfo/poky'>poky</ulink> mailing list.</para></listitem>
<listitem><para>For changes to other layers hosted on yoctoproject.org (unless the
<listitem><para>For changes to other layers hosted on
<filename>yoctoproject.org</filename> (unless the
layer's documentation specifies otherwise), tools, and Yocto Project
documentation, use the
<ulink url='&YOCTO_LISTS_URL;/listinfo/yocto'>yocto</ulink> mailing list.</para></listitem>
@@ -967,7 +991,8 @@
should almost always provide a more detailed description of what you did (i.e.
the body of the commit message).
The only exceptions for not providing a detailed description would be if your
change is a simple, self-explanatory change that needs no description.
change is a simple, self-explanatory change that needs no further description
beyond the summary.
Here are the guidelines for composing a commit message:
<itemizedlist>
<listitem><para>Provide a single-line, short summary of the change.
@@ -1028,8 +1053,8 @@
pull requests to the Yocto Project.
These scripts are <filename>create-pull-request</filename> and
<filename>send-pull-request</filename>.
You can find these scripts in the <filename>scripts</filename> directory of the
Yocto Project file structure.</para>
You can find these scripts in the <filename>scripts</filename> directory
within the <link linkend='source-directory'>Source Directory</link>.</para>
<para>Using these scripts correctly formats the requests without introducing any
whitespace or HTML formatting.
The maintainer that receives your patches needs to be able to save and apply them

View File

@@ -32,7 +32,7 @@
<para>
You can use the OpenEmbedded build system, which uses
<ulink url='&BITBAKE_DOCS_URL;'>BitBake</ulink>, to develop complete Linux
BitBake to develop complete Linux
images and associated user-space applications for architectures based on ARM, MIPS, PowerPC,
x86 and x86-64.
While the Yocto Project does not provide a strict testing framework,
@@ -54,7 +54,11 @@
Linux-based host system.
You will have the best results with a recent release of Fedora,
OpenSUSE, Ubuntu, or CentOS as these releases are frequently tested against the Yocto Project
and officially supported.
and officially supported.
For a list of the distributions under validation and their status, see the
<ulink url='&YOCTO_WIKI_URL;/wiki/Distribution_Support'>Distribution
Support</ulink> wiki page.</para>
<para>
You should also have about 100 gigabytes of free disk space for building images.
</para></listitem>
<listitem><para><emphasis>Packages:</emphasis> The OpenEmbedded build system
@@ -119,7 +123,7 @@
If you are going to be making modifications to a supported Yocto Project kernel, you
need to establish local copies of the source.
You can find Git repositories of supported Yocto Project Kernels organized under
"Yocto Project Linux Kernel" in the Yocto Project Source Repositories at
"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 Yocto Project kernel and then
copying that cloned repository.
@@ -127,18 +131,18 @@
For simplicity, it is recommended that you create these structures outside of the
source directory (usually <filename>poky</filename>).</para>
<para>As an example, the following transcript shows how to create the bare clone
of the <filename>linux-yocto-3.2</filename> kernel and then create a copy of
of the <filename>linux-yocto-3.4</filename> kernel and then create a copy of
that clone.
<note>When you have a local Yocto Project 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.2.git</filename>, while the
copy is named <filename>my-linux-yocto-3.2-work</filename>:
<filename>linux-yocto-3.4.git</filename>, while the
copy is named <filename>my-linux-yocto-3.4-work</filename>:
<literallayout class='monospaced'>
$ git clone --bare git://git.yoctoproject.org/linux-yocto-3.2 linux-yocto-3.2.git
Initialized empty Git repository in /home/scottrif/linux-yocto-3.2.git/
$ git clone --bare git://git.yoctoproject.org/linux-yocto-3.4 linux-yocto-3.4.git
Initialized empty Git repository in /home/scottrif/linux-yocto-3.4.git/
remote: Counting objects: 2468027, done.
remote: Compressing objects: 100% (392255/392255), done.
remote: Total 2468027 (delta 2071693), reused 2448773 (delta 2052498)
@@ -147,9 +151,9 @@
</literallayout></para>
<para>Now create a clone of the bare clone just created:
<literallayout class='monospaced'>
$ git clone linux-yocto-3.2.git my-linux-yocto-3.2-work
Initialized empty Git repository in /home/scottrif/my-linux-yocto-3.2-work/.git/
Checking out files: 100% (37619/37619), done.
$ git clone linux-yocto-3.4.git my-linux-yocto-3.4-work
Cloning into 'my-linux-yocto-3.4-work'...
done.
</literallayout></para></listitem>
<listitem id='poky-extras-repo'><para><emphasis>
The <filename>poky-extras</filename> Git Repository</emphasis>:
@@ -169,6 +173,7 @@
repository inside the source directory, 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: 618, done.
@@ -193,7 +198,7 @@
<literallayout class='monospaced'>
meta-&lt;BSP_name&gt;
</literallayout>
where &lt;BSP_name&gt; is the recognized BSP name.
where <filename>&lt;BSP_name&gt;</filename> is the recognized BSP name.
Here are some examples:
<literallayout class='monospaced'>
meta-crownbay
@@ -224,6 +229,7 @@
<filename>meta-intel</filename>
Git repository inside the local <filename>poky</filename> Git repository.
<literallayout class='monospaced'>
$ cd ~/poky
$ git clone git://git.yoctoproject.org/meta-intel.git
Initialized empty Git repository in /home/scottrif/poky/meta-intel/.git/
remote: Counting objects: 3380, done.
@@ -277,8 +283,9 @@
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='&OE_DOCS_URL;/bitbake/html'></ulink>.</para></listitem>
If you want information on BitBake, see the user manual inculded in the
<filename>bitbake/doc/manual</filename> directory of the
<link linkend='source-directory'>Source Directory</link>.</para></listitem>
<listitem><para>Run the image either on the actual hardware or using the QEMU
emulator.</para></listitem>
</orderedlist>
@@ -312,9 +319,9 @@
Regardless of the type of image you are using, you need to download the pre-built kernel
that you will boot in the QEMU emulator and then download and extract the target root
filesystem for your target machines architecture.
You can get architecture-specific binaries and filesystem from
You can get architecture-specific binaries and filesystems from
<ulink url='&YOCTO_MACHINES_DL_URL;'>machines</ulink>.
You can get stand-alone toolchains from
You can get installation scripts for stand-alone toolchains from
<ulink url='&YOCTO_TOOLCHAIN_DL_URL;'>toolchains</ulink>.
Once you have all your files, you set up the environment to emulate the hardware
by sourcing an environment setup script.

View File

@@ -76,13 +76,9 @@
<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"/>
<xi:include href="dev-manual-kernel-appendix.xml"/>
<xi:include href="dev-manual-common-tasks.xml"/>
</book>
<!--

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

View File

@@ -55,7 +55,7 @@
"<ulink url='&YOCTO_DOCS_DEV_URL;#kernel-modification-workflow'>Kernel Modification Workflow</ulink>"
</para></listitem>
<listitem><para>
"<ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-kernel-appendix'>Kernel Modification Example</ulink>"</para></listitem>
"<ulink url='&YOCTO_DOCS_DEV_URL;#patching-the-kernel'>Patching the Kernel</ulink>"</para></listitem>
</itemizedlist>
</para>

View File

@@ -784,9 +784,9 @@
This section overviews the process of creating a BSP based on an
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='&YOCTO_DOCS_DEV_URL;#dev-manual-bsp-appendix'>BSP Development
Example</ulink>" appendix in the Yocto Project Development Manual, or see the
For detailed information on how to create a new BSP, see
the "<ulink url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'>Creating a New BSP Layer Using the yocto-bsp Script</ulink>" section in the
Yocto Project Board Support Package (BSP) Developer's Guide, 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>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

View File

@@ -13,14 +13,16 @@
</question>
<answer>
<para>
The term "Poky" is sometimes used to refer to the build system that the
Yocto Project uses.
The build system used in the Yocto project is referred to as the
OpenEmbedded build system because "Poky" was derived from <ulink
url='&OE_HOME_URL;'>OpenEmbedded</ulink>.
Poky is a stable, smaller subset focused on the mobile environment.
Development in the Yocto Project using Poky is closely tied to OpenEmbedded with
features being merged regularly between the two for mutual benefit.
The term "Poky" refers to the specific reference build system that
the Yocto Project provides.
Poky is based on <ulink url='&YOCTO_DOCS_DEV_URL;#oe-core'>OE-Core</ulink>
and BitBake.
Thus, the generic term used here for the build system is
the "OpenEmbedded build system."
Development in the Yocto Project using Poky is closely tied to OpenEmbedded, with
changes always being merged to OE-Core or BitBake first before being pulled back
into Poky.
This practice benefits both projects immediately.
For a fuller description of the term "Poky", see the
<ulink url='&YOCTO_DOCS_DEV_URL;#poky'>poky</ulink> term in the Yocto Project
Development Manual.
@@ -63,7 +65,7 @@
<qandaentry>
<question>
<para>
How can you claim Poky is stable?
How can you claim Poky / OpenEmbedded-Core is stable?
</para>
</question>
<answer>
@@ -71,11 +73,13 @@
There are three areas that help with stability;
<itemizedlist>
<listitem><para>The Yocto Project team keeps
<ulink url='&YOCTO_DOCS_DEV_URL;#poky'>Poky</ulink> small and focused.
It contains around 650 packages as compared to over 5000 for full
OpenEmbedded.</para></listitem>
<listitem><para>The Yocto Project only supports hardware that the
team has access to for testing.</para></listitem>
<ulink url='&YOCTO_DOCS_DEV_URL;#oe-core'>OE-Core</ulink> small
and focused, containing around 830 recipes as opposed to the thousands
available in other OpenEmbedded community layers.
Keeping it small makes it easy to test and maintain.</para></listitem>
<listitem><para>The Yocto Project team runs manual and automated tests
using a small, fixed set of reference hardware as well as emulated
targets.</para></listitem>
<listitem><para>The Yocto Project uses an an autobuilder,
which provides continuous build and integration tests.</para></listitem>
</itemizedlist>
@@ -91,13 +95,11 @@
</question>
<answer>
<para>
There are two main ways to get a board supported in the Yocto Project;
<itemizedlist>
<listitem><para>Send the Yocto Project team information on the board
and if the team does not have it yet they will consider adding it.</para></listitem>
<listitem><para>Send the Yocto Project team the BitBake recipes if you have them.
</para></listitem>
</itemizedlist>
Support for an additional board is added by creating a BSP layer for it.
For more information on how to create a BSP layer, see the
<ulink url='&YOCTO_DOCS_BSP_URL;'>Yocto Project Board Support Package (BSP) Developer's Guide</ulink>.
</para>
<para>
Usually, if the board is not completely exotic, adding support in
the Yocto Project is fairly straightforward.
</para>
@@ -107,15 +109,15 @@
<qandaentry>
<question>
<para>
Are there any products using the OpenEmbedded build system (poky)?
Are there any products built using the OpenEmbedded build system?
</para>
</question>
<answer>
<para>
The <ulink url='http://vernier.com/labquest/'>Vernier LabQuest</ulink> is using
the OpenEmbedded build system.
The software running on the <ulink url='http://vernier.com/labquest/'>Vernier LabQuest</ulink>
is built using the OpenEmbedded build system.
See the <ulink url='http://www.vernier.com/products/interfaces/labq/'>Vernier LabQuest</ulink>
for more information.
website for more information.
There are a number of pre-production devices using the OpenEmbedded build system
and the Yocto Project team
announces them as soon as they are released.
@@ -307,28 +309,6 @@
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
I'm using Ubuntu Intrepid and am seeing build failures. Whats wrong?
</para>
</question>
<answer>
<para>
In Intrepid, Ubuntu turns on by default the normally optional compile-time security features
and warnings.
There are more details at
<ulink url='https://wiki.ubuntu.com/CompilerFlags'>https://wiki.ubuntu.com/CompilerFlags</ulink>.
You can work around this problem by disabling those options by adding
the following to the <filename>BUILD_CPPFLAGS</filename> variable in the
<filename>conf/bitbake.conf</filename> file.
<literallayout class='monospaced'>
" -Wno-format-security -U_FORTIFY_SOURCE"
</literallayout>
</para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para>
@@ -421,7 +401,7 @@
For example, add the following files to your layer:
<literallayout class='monospaced'>
meta-MACHINE/recipes-bsp/netbase/netbase/MACHINE/interfaces
meta-MACHINE/recipes-bsp/netbase/netbase_4.44.bbappend
meta-MACHINE/recipes-bsp/netbase/netbase_5.0.bbappend
</literallayout>
</para>
</answer>

View File

@@ -87,10 +87,178 @@
<section id='intro-requirements'>
<title>System Requirements</title>
<para>
For Yocto Project system requirements, see the
For general Yocto Project system requirements, see the
<ulink url='&YOCTO_DOCS_QS_URL;#yp-resources'>
What You Need and How You Get It</ulink> section in the Yocto Project Quick Start.
The remainder of this section provides details on system requirements
not covered in the Yocto Project Quick Start.
</para>
<section id='detailed-supported-distros'>
<title>Supported Linux Distributions</title>
<para>
TBD - a list of very specific distros and versions.
The list will be kept up-to-date via a script provided that can
be run prior to a release.
The scripts output will yield the list and it can be copied
into this section.
</para>
</section>
<section id='required-packages-for-the-host-development-system'>
<title>Required Packages for the Host Development System</title>
<para>
The list of packages you need on the host development system can
be large when covering all build scenarios using the Yocto Project.
This section provides required packages by Linux distribution and
further categorized by function.
</para>
<section id='ubuntu-packages'>
<title>Ubuntu</title>
<para>
The following list shows the required packages by function
given a supported Ubuntu Linux distribution:
<itemizedlist>
<listitem><para><emphasis>Essentials:</emphasis>
Packages needed to build an image on a headless
system:
<literallayout class='monospaced'>
$ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL;
</literallayout></para></listitem>
<listitem><para><emphasis>Graphical Extras:</emphasis>
Packages recommended if the host system has graphics support:
<literallayout class='monospaced'>
$ sudo apt-get install libsdl1.2-dev xterm
</literallayout></para></listitem>
<listitem><para><emphasis>Documentation:</emphasis>
Packages needed if you are going to build out the
Yocto Project documentation manuals:
<literallayout class='monospaced'>
$ sudo apt-get install make xsltproc docbook-utils fop
</literallayout></para></listitem>
<listitem><para><emphasis>ADT Installer Extras:</emphasis>
Packages needed if you are going to be using the
<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>:
<literallayout class='monospaced'>
$ sudo apt-get install autoconf automake libtool libglib2.0-dev
</literallayout></para></listitem>
</itemizedlist>
</para>
</section>
<section id='fedora-packages'>
<title>Fedora Packages</title>
<para>
The following list shows the required packages by function
given a supported Fedora Linux distribution:
<itemizedlist>
<listitem><para><emphasis>Essentials:</emphasis>
Packages needed to build an image for a headless
system:
<literallayout class='monospaced'>
$ sudo yum install &FEDORA_HOST_PACKAGES_ESSENTIAL;
</literallayout></para></listitem>
<listitem><para><emphasis>Graphical Extras:</emphasis>
Packages recommended if the host system has graphics support:
<literallayout class='monospaced'>
$ sudo yum install SDL-devel xterm
</literallayout></para></listitem>
<listitem><para><emphasis>Documentation:</emphasis>
Packages needed if you are going to build out the
Yocto Project documentation manuals:
<literallayout class='monospaced'>
$ sudo yum install make docbook-style-dsssl docbook-style-xsl \
docbook-dtds docbook-utils fop libxslt
</literallayout></para></listitem>
<listitem><para><emphasis>ADT Installer Extras:</emphasis>
Packages needed if you are going to be using the
<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>:
<literallayout class='monospaced'>
$ sudo yum install autoconf automake libtool glib2-devel
</literallayout></para></listitem>
</itemizedlist>
</para>
</section>
<section id='opensuse-packages'>
<title>OpenSUSE Packages</title>
<para>
The following list shows the required packages by function
given a supported OpenSUSE Linux distribution:
<itemizedlist>
<listitem><para><emphasis>Essentials:</emphasis>
Packages needed to build an image for a headless
system:
<literallayout class='monospaced'>
$ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL;
</literallayout></para></listitem>
<listitem><para><emphasis>Graphical Extras:</emphasis>
Packages recommended if the host system has graphics support:
<literallayout class='monospaced'>
$ sudo zypper install libSDL-devel xterm
</literallayout></para></listitem>
<listitem><para><emphasis>Documentation:</emphasis>
Packages needed if you are going to build out the
Yocto Project documentation manuals:
<literallayout class='monospaced'>
$ sudo zypper install make fop xsltproc
</literallayout></para></listitem>
<listitem><para><emphasis>ADT Installer Extras:</emphasis>
Packages needed if you are going to be using the
<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>:
<literallayout class='monospaced'>
$ sudo zypper install autoconf automake libtool glib2-devel
</literallayout></para></listitem>
</itemizedlist>
</para>
</section>
<section id='centos-packages'>
<title>CentOS Packages</title>
<para>
The following list shows the required packages by function
given a supported CentOS Linux distribution:
<itemizedlist>
<listitem><para><emphasis>Essentials:</emphasis>
Packages needed to build an image for a headless
system:
<literallayout class='monospaced'>
$ sudo yum -y install &CENTOS_HOST_PACKAGES_ESSENTIAL;
</literallayout></para></listitem>
<listitem><para><emphasis>Graphical Extras:</emphasis>
Packages recommended if the host system has graphics support:
<literallayout class='monospaced'>
$ sudo yum -y install SDL-devel xterm
</literallayout></para></listitem>
<listitem><para><emphasis>Documentation:</emphasis>
Packages needed if you are going to build out the
Yocto Project documentation manuals:
<literallayout class='monospaced'>
$ sudo yum -y install make docbook-style-dsssl docbook-style-xsl \
docbook-dtds docbook-utils fop libxslt
</literallayout></para></listitem>
<listitem><para><emphasis>ADT Installer Extras:</emphasis>
Packages needed if you are going to be using the
<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>:
<literallayout class='monospaced'>
$ sudo yum -y install autoconf automake libtool glib2-devel
</literallayout></para></listitem>
</itemizedlist>
<note>Depending on the CentOS version you are using, other requirements
and dependencies might exist.
For details, you should look at the CentOS sections on the
<ulink url='https://wiki.yoctoproject.org/wiki/Poky/GettingStarted/Dependencies'>Poky/GettingStarted/Dependencies</ulink>
wiki page.</note>
</para>
</section>
</section>
</section>
<section id='intro-getit'>
@@ -103,7 +271,7 @@
<ulink url='&YOCTO_DL_URL;/releases/yocto/'/>.</para></listitem>
<listitem><para><emphasis>Nightly Builds:</emphasis> These releases are available at
<ulink url='http://autobuilder.yoctoproject.org/nightly'/>.
These builds include Yocto Project releases, meta-toolchain tarballs, and
These builds include Yocto Project releases, meta-toolchain tarball installation scripts, and
experimental builds.</para></listitem>
<listitem><para><emphasis>Yocto Project Website:</emphasis> You can find releases
of the Yocto Project and supported BSPs at the

View File

@@ -124,10 +124,10 @@
Once a provider is selected, BitBake resolves all the dependencies for
the target.
In the case of <filename>core-image-sato</filename>, it would lead to
<filename>task-base.bb</filename>,
which in turn leads to packages like <filename>Contacts</filename>,
<filename>Dates</filename> and <filename>BusyBox</filename>.
These packages in turn depend on <filename>eglibc</filename> and the toolchain.
<filename>packagegroup-core-x11-sato</filename>,
which in turn leads to recipes like <filename>matchbox-terminal</filename>,
<filename>pcmanfm</filename> and <filename>gthumb</filename>.
These recipes in turn depend on <filename>eglibc</filename> and the toolchain.
</para>
<para>
@@ -185,8 +185,9 @@
<para>
Dependencies are defined through several variables.
You can find information about variables BitBake uses in the
<ulink url='&BITBAKE_DOCS_URL;'>BitBake manual</ulink>.
You can find information about variables BitBake uses in the BitBake documentation,
which is found in the <filename>bitbake/doc/manual</filename> directory within the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
At a basic level, it is sufficient to know that BitBake uses the
<filename><link linkend='var-DEPENDS'>DEPENDS</link></filename> and
<filename><link linkend='var-RDEPENDS'>RDEPENDS</link></filename> variables when
@@ -274,7 +275,7 @@
<orderedlist>
<listitem><para>Tell BitBake to load what you want from the environment
into the data store.
You can do so through the <filename>BB_ENV_WHITELIST</filename>
You can do so through the <filename>BB_ENV_EXTRAWHITE</filename>
variable.
For example, assume you want to prevent the build system from
accessing your <filename>$HOME/.ccache</filename> directory.
@@ -393,7 +394,9 @@ Options:
Fetchers are usually triggered by entries in
<filename><link linkend='var-SRC_URI'>SRC_URI</link></filename>.
You can find information about the options and formats of entries for specific
fetchers in the <ulink url='&BITBAKE_DOCS_URL;'>BitBake manual</ulink>.
fetchers in the BitBake manual located in the
<filename>bitbake/doc/manual</filename> directory of the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
</para>
<para>

View File

@@ -262,6 +262,28 @@
</para>
</section>
<section id='ref-classes-packagegroup'>
<title>Package Groups - <filename>packagegroup.bbclass</filename></title>
<para>
This class sets default values appropriate for package group recipes (such as
<filename><link linkend='var-PACKAGES'>PACKAGES</link></filename>,
<filename><link linkend='var-PACKAGE_ARCH'>PACKAGE_ARCH</link></filename>,
<filename><link linkend='var-ALLOW_EMPTY'>ALLOW_EMPTY</link></filename>,
and so forth.
It is highly recommended that all package group recipes inherit this class.
</para>
<para>
For information on how to use this class, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#usingpoky-extend-customimage-customtasks'>Customizing Images Using Custom Package Tasks</ulink>"
section in the Yocto Project Development Manual.
</para>
<para>
Previously, this class was named <filename>task.bbclass</filename>.
</para>
</section>
<section id='ref-classes-package'>
<title>Packaging - <filename>package*.bbclass</filename></title>
@@ -602,33 +624,54 @@
<!-- Undocumented classes are:
allarch.bbclass
archive*.bbclass
binconfig.bbclass
blacklist.bbclass
bootimg.bbclass
boot-directdisk.bbclass
bugzilla.bbclass
buildhistory.bbclass
buildstats.bbclass
ccache.inc
ccache.bbclass
chrpath.bbclass
cmake.bbclass
cml1.bbclass
copyleft_compliance.bbclass
core-image.bbclass
cross.bbclass
cross-canadian.bbclass
crosssdk.bbclass
deploy.bbclass
distrodata.bbclass
dummy.bbclass
gconf.bbclass
gettext.bbclass
gnomebase.bbclass
gnome.bbclass
gtk-doc.bbclass
gtk-icon-cache.bbclass
gzipnative.bbclass
icecc.bbclass
image-empty.bbclass
image-live.bbclass
image-vmdk.bbclass
image-mklibs.bbclass
image-prelink.bbclass
image-swab.bbclass
imagetest-dummy.bbclass
imagetest-qemu.bbclass
image_types.bbclass
image_types_uboot.bbclass
insserv.bbclass
kernel-arch.bbclass
kernel-yocto.bbclass
lib_package.bbclass
linux-kernel-base.bbclass
license.bbclass
logging.bbclass
meta.bbclass
metadata_scm.bbclass
mime.bbclass
mirrors.bbclass
multilib*.bbclass
native.bbclass
@@ -636,14 +679,17 @@
oelint.bbclass
own-mirrors.bbclass
packagedata.bbclass
packagehistory.bbclass
packageinfo.bbclass
patch.bbclass
perlnative.bbclass
pkg_distribute.bbclass
pkg_metainfo.bbclass
populate_sdk*.bbclass
prexport.bbclass
primport.bbclass
prserv.bbclass
python-dir.bbclass
pythonnative.bbclass
qemu.bbclass
qmake*.bbclass
qt4*.bbclass
@@ -659,7 +705,6 @@
sstate.bbclass
staging.bbclass
syslinux.bbclass
task.bbclass
terminal.bbclass
tinderclient.bbclass
toolchain-scripts.bbclass

View File

@@ -112,7 +112,7 @@
</section>
<section id='ref-features-image'>
<title>Reference: Images</title>
<title>Images</title>
<para>
The contents of images generated by the OpenEmbedded build system can be controlled by the
@@ -128,30 +128,46 @@
Current list of
<filename>IMAGE_FEATURES</filename> contains the following:
<itemizedlist>
<listitem><para><emphasis>apps-console-core:</emphasis> Core console applications such as
<filename>ssh</filename>, <filename>daemon</filename>, <filename>avahi daemon</filename>,
<filename>portmap</filename> (for mounting NFS shares)</para></listitem>
<listitem><para><emphasis>x11-base:</emphasis> X11 server + minimal desktop</para></listitem>
<listitem><para><emphasis>x11-sato:</emphasis> OpenedHand Sato environment</para></listitem>
<listitem><para><emphasis>apps-x11-core:</emphasis> Core X11 applications such as an
X Terminal, file manager, and file editor</para></listitem>
<listitem><para><emphasis>apps-x11-games:</emphasis> A set of X11 games</para></listitem>
<listitem><para><emphasis>tools-sdk:</emphasis> A full SDK that runs on the device
<listitem><para><emphasis>splash:</emphasis> Enables showing a splash screen during boot.
By default, this screen is provided by <filename>psplash</filename>, which does
allow customization.
If you prefer to use an alternative splash screen package, you can do so by
setting the <filename>SPLASH</filename> variable
to a different package name (or names) within the image recipe or at the distro
configuration level.</para></listitem>
<listitem><para><emphasis>ssh-server-dropbear:</emphasis> Installs the Dropbear minimal
SSH server.
</para></listitem>
<listitem><para><emphasis>tools-debug:</emphasis> Debugging tools such as
<filename>strace</filename> and <filename>gdb</filename>
<listitem><para><emphasis>ssh-server-openssh:</emphasis> Installs the OpenSSH SSH server,
which is more full-featured than Dropbear.
Note that if both the OpenSSH SSH server and the Dropbear minimal SSH server
are present in <filename>IMAGE_FEATURES</filename>, then OpenSSH will take
precedence and Dropbear will not be installed.</para></listitem>
<listitem><para><emphasis>x11:</emphasis> Installs the X server</para></listitem>
<listitem><para><emphasis>x11-base:</emphasis> Installs the X server with a
minimal environment.</para></listitem>
<listitem><para><emphasis>x11-sato:</emphasis> Installs the OpenedHand Sato environment.
</para></listitem>
<listitem><para><emphasis>tools-profile:</emphasis> Profiling tools such as
<listitem><para><emphasis>tools-sdk:</emphasis> Installs a full SDK that runs on the device.
</para></listitem>
<listitem><para><emphasis>tools-debug:</emphasis> Installs debugging tools such as
<filename>strace</filename> and <filename>gdb</filename>.
</para></listitem>
<listitem><para><emphasis>tools-profile:</emphasis> Installs profiling tools such as
<filename>oprofile</filename>, <filename>exmap</filename>, and
<filename>LTTng</filename></para></listitem>
<listitem><para><emphasis>tools-testapps:</emphasis> Device testing tools (e.g.
touchscreen debugging)</para></listitem>
<listitem><para><emphasis>nfs-server:</emphasis> NFS server (exports / over NFS
to everybody)</para></listitem>
<listitem><para><emphasis>dev-pkgs:</emphasis> Development packages (headers and
extra library links) for all packages installed in a given image</para></listitem>
<listitem><para><emphasis>dbg-pkgs:</emphasis> Debug packages for all packages
installed in a given image</para></listitem>
<filename>LTTng</filename>.</para></listitem>
<listitem><para><emphasis>tools-testapps:</emphasis> Installs device testing tools (e.g.
touchscreen debugging).</para></listitem>
<listitem><para><emphasis>nfs-server:</emphasis> Installs an NFS server.</para></listitem>
<listitem><para><emphasis>dev-pkgs:</emphasis> Installs development packages (headers and
extra library links) for all packages installed in a given image.</para></listitem>
<listitem><para><emphasis>staticdev-pkgs:</emphasis> Installs static development
packages (i.e. static libraries containing <filename>*.a</filename> files) for all
packages installed in a given image.</para></listitem>
<listitem><para><emphasis>dbg-pkgs:</emphasis> Installs debug symbol packages for all packages
installed in a given image.</para></listitem>
<listitem><para><emphasis>doc-pkgs:</emphasis> Installs documentation packages for all packages
installed in a given image.</para></listitem>
</itemizedlist>
</para>
</section>

View File

@@ -12,8 +12,8 @@
</para>
<note>
Building an image without GNU Public License Version 3 (GPLv3) components is
only supported for minimal and base images.
Building an image without GNU General Public License Version 3 (GPLv3) components
is only supported for minimal and base images.
Furthermore, if you are going to build an image using non-GPLv3 components,
you must make the following changes in the <filename>local.conf</filename> file
before using the BitBake command to build the minimal or base image:
@@ -40,9 +40,6 @@
<itemizedlist>
<listitem><para><emphasis><filename>core-image-base</filename>:</emphasis>
A console-only image that fully supports the target device hardware.</para></listitem>
<listitem><para><emphasis><filename>core-image-core</filename>:</emphasis>
An X11 image with simple applications such as terminal, editor, and file manager.
</para></listitem>
<listitem><para><emphasis><filename>core-image-minimal</filename>:</emphasis>
A small image just capable of allowing a device to boot.</para></listitem>
<listitem><para><emphasis><filename>core-image-minimal-dev</filename>:</emphasis>
@@ -61,12 +58,14 @@
for the Minimal MTD Utilities, which let the user interact with the
MTD subsystem in the kernel to perform operations on flash devices.
</para></listitem>
<listitem><para><emphasis><filename>core-image-x11</filename>:</emphasis>
A very basic X11 image with a terminal.
</para></listitem>
<listitem><para><emphasis><filename>core-image-basic</filename>:</emphasis>
A foundational basic image without support for X that can be reasonably used for
customization.</para></listitem>
A console-only image with more full-featured Linux system
functionality installed.</para></listitem>
<listitem><para><emphasis><filename>core-image-lsb</filename>:</emphasis>
A <filename>core-image-basic</filename> image suitable for implementations
that conform to Linux Standard Base (LSB).</para></listitem>
An image that conforms to the Linux Standard Base (LSB) specification.</para></listitem>
<listitem><para><emphasis><filename>core-image-lsb-dev</filename>:</emphasis>
A <filename>core-image-lsb</filename> image that is suitable for development work
using the host.
@@ -83,8 +82,8 @@
<listitem><para><emphasis><filename>core-image-sato</filename>:</emphasis>
An image with Sato support, a mobile environment and visual style that works well
with mobile devices.
The image supports X11 with a Sato theme and Pimlico applications and also
contains terminal, editor, and file manager.</para></listitem>
The image supports X11 with a Sato theme and applications such as
a terminal, editor, file manager, media player, and so forth.</para></listitem>
<listitem><para><emphasis><filename>core-image-sato-dev</filename>:</emphasis>
A <filename>core-image-sato</filename> image suitable for development
using the host.

View File

@@ -46,8 +46,9 @@
</para>
<para>
For more information on BitBake, see the BitBake on-line manual at
<ulink url="http://docs.openembedded.org/bitbake/html/"/>.
For more information on BitBake, see the BitBake documentation
inculded in the <filename>bitbake/doc/manual</filename> directory of the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
</para>
</section>

View File

@@ -31,11 +31,11 @@
<link linkend='var-MACHINE'>M</link>
<!-- <link linkend='var-glossary-n'>N</link> -->
<!-- <link linkend='var-glossary-o'>O</link> -->
<link linkend='var-PACKAGE_ARCH'>P</link>
<link linkend='var-P'>P</link>
<!-- <link linkend='var-glossary-q'>Q</link> -->
<link linkend='var-RCONFLICTS'>R</link>
<link linkend='var-S'>S</link>
<link linkend='var-TARGET_ARCH'>T</link>
<link linkend='var-T'>T</link>
<!-- <link linkend='var-glossary-u'>U</link> -->
<!-- <link linkend='var-glossary-v'>V</link> -->
<link linkend='var-WORKDIR'>W</link>
@@ -61,7 +61,7 @@
conjunction with a package name override.
Here is an example:
<literallayout class='monospaced'>
ALLOW_EMPTY_${PN}
ALLOW_EMPTY_${PN} = "1"
</literallayout>
</para>
</glossdef>
@@ -76,9 +76,13 @@
<glossentry id='var-AUTOREV'><glossterm>AUTOREV</glossterm>
<glossdef>
<para>Specifies to use the current (newest) source revision.
This variable is with the <filename><link linkend='var-SRCREV'>SRCREV</link></filename>
variable.</para>
<para>When <filename><link linkend='var-SRCREV'>SRCREV</link></filename>
is set to the value of this variable, it specifies that the latest
source revision in the repository should be used. Here is an example:
<literallayout class='monospaced'>
SRCREV = "${AUTOREV}"
</literallayout>
</para>
</glossdef>
</glossentry>
@@ -89,14 +93,15 @@
<glossentry id='var-B'><glossterm>B</glossterm>
<glossdef>
<para>
The directory in which the OpenEmbedded build system places
generated objects during a recipe's build process.
The <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>build directory</ulink>.
The OpenEmbedded build system places generated objects into the build directory
during a recipe's build process.
By default, this directory is the same as the <link linkend='var-S'><filename>S</filename></link>
directory:
<literallayout class='monospaced'>
B = ${WORKDIR}/${BPN}-{PV}/
</literallayout>
You can separate the source directory (<filename>S</filename>) and the directory pointed to
You can separate the (<filename>S</filename>) directory and the directory pointed to
by the <filename>B</filename> variable.
Most autotools-based recipes support separating these directories.
The build system defaults to using separate directories for <filename>gcc</filename>
@@ -251,18 +256,39 @@
BBLAYERS = " \
/home/scottrif/poky/meta \
/home/scottrif/poky/meta-yocto \
/home/scottrif/poky/meta-yocto-bsp \
/home/scottrif/poky/meta-mykernel \
"
</literallayout>
This example enables three layers, one of which is a custom, user-defined layer
This example enables four layers, one of which is a custom, user-defined layer
named <filename>meta-mykernel</filename>.
</para>
</glossdef>
</glossentry>
<glossentry id='var-BP'><glossterm>BP</glossterm>
<glossdef>
<para>The base recipe name and version but without any special
package name suffix (i.e. <filename>-native</filename>, <filename>lib64-</filename>,
and so forth).
<filename>BP</filename> is comprised of the following:
<literallayout class="monospaced">
${BPN}-${PV}
</literallayout></para>
</glossdef>
</glossentry>
<glossentry id='var-BPN'><glossterm>BPN</glossterm>
<glossdef>
<para>Bare name of package with any suffixes like -cross -native removed.</para>
<para>The bare name of the recipe or package.
This variable is a version of the <link linkend='var-PN'><filename>PN</filename></link> variable
but has common suffixes and prefixes such as "-native", "-cross" and "multilib"
removed.
The exact list of suffixes removed is specified by the
<link linkend='var-SPECIAL_PKGSUFFIX'><filename>SPECIAL_PKGSUFFIX</filename></link> variable.
The exact list of prefixes removed is specified by the
<link linkend='var-MLPREFIX'><filename>MLPREFIX</filename></link> variable.
Prefixes are removed for multilib and nativesdk cases.</para>
</glossdef>
</glossentry>
@@ -307,7 +333,7 @@
<para>
To use the <filename>CONFFILES</filename> variable, provide a package name
override that identifies the package.
override that identifies the resulting package.
Then, provide a space-separated list of files.
Here is an example:
<literallayout class='monospaced'>
@@ -561,12 +587,11 @@
For example, ssh root access has a blank
password. You should remove this feature
before you produce a production image.
There are other application targets too, see
<filename>meta/classes/poky-image.bbclass</filename>
and <filename>meta/packages/tasks/task-poky.bb</filename>
for more details.
</literallayout>
<para>There are other valid features too, see the
<link linkend='ref-features-image'>Images</link>
section for more details.</para>
</glossdef>
</glossentry>
@@ -619,9 +644,9 @@
<para>
To use the <filename>FILES</filename> variable, provide a package name
override that identifies the package.
override that identifies the resulting package.
Then, provide a space-separated list of files or paths that identifies the
files you want included as part of the package.
files you want included as part of the resulting package.
Here is an example:
<literallayout class='monospaced'>
FILES_${PN} += "${bindir}/mydir1/ ${bindir}/mydir2/myfile"
@@ -781,12 +806,13 @@ FILESPATH = "${@base_set_filespath([ "${FILE_DIRNAME}/${PF}", \
<glossentry id='var-IMAGE_FEATURES'><glossterm>IMAGE_FEATURES</glossterm>
<glossdef>
<para>The list of features present in images.
Typically, you configure this variable in image recipes.
Note that you can add extra features to the image by using the
<para>The list of features to include in an image.
Typically, you configure this variable in an image recipe.
Note that you can also add extra features to the image by using the
<filename><link linkend='var-EXTRA_IMAGE_FEATURES'>EXTRA_IMAGE_FEATURES</link></filename> variable.
See the "<link linkend="ref-features-image">Images</link>" chapter for the
list of features present in images built by the OpenEmbedded build system.</para>
See the "<link linkend="ref-features-image">Images</link>" section for the
full list of features that can be included in images built by the
OpenEmbedded build system.</para>
</glossdef>
</glossentry>
@@ -947,23 +973,53 @@ FILESPATH = "${@base_set_filespath([ "${FILE_DIRNAME}/${PF}", \
<glossentry id='var-INC_PR'><glossterm>INC_PR</glossterm>
<glossdef>
<para>Defines the Package revision.
You manually combine values for <filename>INC_PR</filename> into the
<link linkend='var-PR'><filename>PR</filename></link> field of the parent recipe.
When you change this variable, you change the <filename>PR</filename>
value for every person that includes the file.</para>
<para>Helps define the recipe revision for recipes that share
a common <filename>include</filename> file.
You can think of this variable as part of the recipe revision
as set from within an include file.</para>
<para>Suppose, for example, you have a set of recipes that
are used across several projects.
And, within each of those recipes the revision
(its <filename>PR</filename> value) is set accordingly.
In this case, when the revision of those recipes changes
the burden is on you to find all those recipes and
be sure that they get changed to reflect the updated
version of the recipe.
In this scenario, it can get complicated when recipes
used in many places and that provide common functionality
are upgraded to a new revision.</para>
<para>A more efficient way of dealing with this situation is
to set the <filename>INC_PR</filename> variable inside
the <filename>include</filename> files that the recipes
share and then expand the <filename>INC_PR</filename>
variable within the recipes to help
define the recipe revision.
</para>
<para>
The following example shows how to use the <filename>INC_PR</filename> variable
given a common <filename>.inc</filename> file that defines the variable.
Once defined, you can use the variable to set the
<filename>PR</filename> value:
</para>
<literallayout class='monospaced'>
The following provides an example that shows how to use
the <filename>INC_PR</filename> variable
given a common <filename>include</filename> file that
defines the variable.
Once the variable is defined in the
<filename>include</filename> file, you can use the
variable to set the <filename>PR</filename> values in
each recipe.
You will notice that when you set a recipe's
<filename>PR</filename> you can provide more granular
revisioning by appending values to the
<filename>INC_PR</filename> variable:
<literallayout class='monospaced'>
recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2"
recipes-graphics/xorg-font/encodings_1.0.4.bb:PR = "${INC_PR}.1"
recipes-graphics/xorg-font/font-util_1.3.0.bb:PR = "${INC_PR}.0"
recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2"
</literallayout>
</literallayout>
The first line of the example establishes the baseline
revision to be used for all recipes that use the
<filename>include</filename> file.
The remaining lines in the example are from individual
recipes and show how the <filename>PR</filename> value
is set.</para>
</glossdef>
</glossentry>
@@ -1113,7 +1169,7 @@ recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2"
KERNEL_FEATURES="features/netfilter"
# Add sound support to the qemux86 machine
KERNEL_FEATURES_append_qemux86="cfg/sound"
KERNEL_FEATURES_append_qemux86=" cfg/sound"
</literallayout></para>
</glossdef>
</glossentry>
@@ -1311,7 +1367,7 @@ recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2"
The build process depends on these packages being present.
Furthermore, because this is a "machine essential" variable, the list of
packages are essential for the machine to boot.
The impact of this variable affects images based on <filename>task-core-boot</filename>,
The impact of this variable affects images based on <filename>packagegroup-core-boot</filename>,
including the <filename>core-image-minimal</filename> image.
</para>
<para>
@@ -1341,7 +1397,7 @@ recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2"
The build process does not depend on these packages being present.
Furthermore, because this is a "machine essential" variable, the list of
packages are essential for the machine to boot.
The impact of this variable affects images based on <filename>task-core-boot</filename>,
The impact of this variable affects images based on <filename>packagegroup-core-boot</filename>,
including the <filename>core-image-minimal</filename> image.
</para>
<para>
@@ -1388,7 +1444,7 @@ recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2"
Even though these packages are not essential for the machine to boot,
the build process depends on them being present.
The impact of this variable affects all images based on
<filename>task-base</filename>, which does not include the
<filename>packagegroup-base</filename>, which does not include the
<filename>core-image-minimal</filename> or <filename>core-image-basic</filename>
images.
</para>
@@ -1425,7 +1481,7 @@ recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2"
The package being built has no build dependency on the list of packages
with this variable.
The impact of this variable affects only images based on
<filename>task-base</filename>, which does not include the
<filename>packagegroup-base</filename>, which does not include the
<filename>core-image-minimal</filename> or <filename>core-image-basic</filename>
images.
</para>
@@ -1467,6 +1523,21 @@ recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2"
<para>The email address of the distribution maintainer.</para>
</glossdef>
</glossentry>
<glossentry id='var-MLPREFIX'><glossterm>MLPREFIX</glossterm>
<glossdef>
<para>
Specifies a prefix has been added to
<link linkend='var-PN'><filename>PN</filename></link> to create a special version
of a recipe or package, such as a multilib version.
The variable is used in places where the prefix needs to be
added to or removed from a the name (e.g. the
<link linkend='var-BPN'><filename>BPN</filename></link> variable).
<filename>MLPREFIX</filename> gets set when a prefix has been
added to <filename>PN</filename>.
</para>
</glossdef>
</glossentry>
</glossdiv>
<!-- <glossdiv id='var-glossary-n'><title>N</title>-->
@@ -1477,9 +1548,28 @@ recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2"
<glossdiv id='var-glossary-p'><title>P</title>
<glossentry id='var-P'><glossterm>P</glossterm>
<glossdef>
<para>The recipe name and version.
<filename>P</filename> is comprised of the following:
<literallayout class='monospaced'>
${PN}-${PV}
</literallayout></para>
</glossdef>
</glossentry>
<glossentry id='var-PACKAGE_ARCH'><glossterm>PACKAGE_ARCH</glossterm>
<glossdef>
<para>The architecture of the resulting package.</para>
<para>The architecture of the resulting package or packages.</para>
</glossdef>
</glossentry>
<glossentry id='var-PACKAGE_BEFORE_PN'><glossterm>PACKAGE_BEFORE_PN</glossterm>
<glossdef>
<para>Enables easily adding packages to
<filename><link linkend='var-PACKAGES'>PACKAGES</link></filename>
before <filename>${PN}</filename> so that the packages can pick
up files that would normally be included in the default package.</para>
</glossdef>
</glossentry>
@@ -1513,7 +1603,10 @@ recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2"
<glossentry id='var-PACKAGES'><glossterm>PACKAGES</glossterm>
<glossdef>
<para>The list of packages to be created from the recipe.
The default value is "${PN}-dbg ${PN} ${PN}-doc ${PN}-dev".</para>
The default value is the following:
<literallayout class='monospaced'>
${PN}-dbg ${PN}-staticdev ${PN}-dev ${PN}-doc ${PN}-locale ${PACKAGE_BEFORE_PN} ${PN}
</literallayout></para>
</glossdef>
</glossentry>
@@ -1528,30 +1621,78 @@ recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2"
</glossdef>
</glossentry>
<glossentry id='var-PF'><glossterm>PF</glossterm>
<glossdef>
<para>Specifies the recipe or package name and includes all version and revision
numbers (i.e. <filename>eglibc-2.13-r20+svnr15508/</filename> and
<filename>bash-4.2-r1/</filename>).
This variable is comprised of the following:
<literallayout class='monospaced'>
${PN}-${EXTENDPE}${PV}-${PR}
</literallayout></para>
</glossdef>
</glossentry>
<glossentry id='var-PN'><glossterm>PN</glossterm>
<glossdef>
<para>The name of the package.
</para>
<para>This variable can have two separate functions depending on the context: a recipe
name or a resulting package name.</para>
<para><filename>PN</filename> refers to a recipe name in the context of a file used
by the OpenEmbedded build system as input to create a package.
The name is normally extracted from the recipe file name.
For example, if the recipe is named
<filename>expat_2.0.1.bb</filename>, then the default value of <filename>PN</filename>
will be "expat".</para>
<para>
The variable refers to a package name in the context of a file created or produced by the
OpenEmbedded build system.</para>
<para>If applicable, the <filename>PN</filename> variable also contains any special
suffix or prefix.
For example, using <filename>bash</filename> to build packages for the native
machine, <filename>PN</filename> is <filename>bash-native</filename>.
Using <filename>bash</filename> to build packages for the target and for Multilib,
<filename>PN</filename> would be <filename>bash</filename> and
<filename>lib64-bash</filename>, respectively.
</para>
</glossdef>
</glossentry>
<glossentry id='var-PR'><glossterm>PR</glossterm>
<glossdef>
<para>The revision of the package.
<para>The revision of the recipe.
The default value for this variable is "r0".
</para>
</glossdef>
</glossentry>
<glossentry id='var-PRINC'><glossterm>PRINC</glossterm>
<glossdef>
<para>Causes the <filename>PR</filename> variable of
<filename>.bbappend</filename> files to dynamically increment.
This increment minimizes the impact of layer ordering.</para>
<para>In order to ensure multiple <filename>.bbappend</filename> files can co-exist,
<filename>PRINC</filename> should be self referencing.
This variable defaults to 0.</para>
<para>Following is an example that increments <filename>PR</filename> by two:
<literallayout class='monospaced'>
PRINC := "${@int(PRINC) + 2}"
</literallayout>
It is adviseable not to use strings such as ".= '.1'" with the variable because
this usage is very sensitive to layer ordering.
Explicit assignments should be avoided as they cannot adequately represent multiple
<filename>.bbappend</filename> files.</para>
</glossdef>
</glossentry>
<glossentry id='var-PV'><glossterm>PV</glossterm>
<glossdef>
<para>The version of the package.
The version is normally extracted from the recipe name.
<para>The version of the recipe.
The version is normally extracted from the recipe filename.
For example, if the recipe is named
<filename>expat_2.0.1.bb</filename>, then <filename>PV</filename>
will be <filename>2.0.1</filename>.
<filename>expat_2.0.1.bb</filename>, then the default value of <filename>PV</filename>
will be "2.0.1".
<filename>PV</filename> is generally not overridden within
a recipe unless it is building an unstable version from a source code repository
a recipe unless it is building an unstable (i.e. development) version from a source code repository
(e.g. Git or Subversion).
</para>
</glossdef>
@@ -1560,7 +1701,7 @@ recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2"
<glossentry id='var-PE'><glossterm>PE</glossterm>
<glossdef>
<para>
the epoch of the package.
the epoch of the recipe.
The default value is "0".
The field is used to make upgrades possible when the versioning scheme changes in
some backwards incompatible way.
@@ -1575,7 +1716,7 @@ recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2"
determines which recipe should be given preference.
The variable must always be suffixed with the name of the
provided item, and should be set to the
<filename>$PN</filename> of the recipe
<filename>PN</filename> of the recipe
to which you want to give precedence.
Here is an example:
<literallayout class='monospaced'>
@@ -1590,9 +1731,9 @@ recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2"
<para>
If there are multiple versions of recipes available, this
variable determines which recipe should be given preference.
The variable must always be suffixed with the <filename>$PN</filename>
The variable must always be suffixed with the <filename>PN</filename>
for which to select, and should be set to the
<filename>$PV</filename> to which you want to give precedence.
<filename>PV</filename> to which you want to give precedence.
You can use the "<filename>%</filename>" character as a wildcard
to match any number of characters, which can be useful when
specifying versions that contain long revision number that could
@@ -1615,9 +1756,17 @@ recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2"
<glossentry id='var-RCONFLICTS'><glossterm>RCONFLICTS</glossterm>
<glossdef>
<para>The list of packages that conflict with this package.
<para>The list of packages that conflict with a package.
Note that the package will not be installed if the conflicting packages are not
first removed.</para>
<para>
Like all package-controlling variables, you must always use them in
conjunction with a package name override.
Here is an example:
<literallayout class='monospaced'>
RCONFLICTS_${PN} = "another-conflicting-package-name"
</literallayout>
</para>
</glossdef>
</glossentry>
@@ -1744,10 +1893,20 @@ recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2"
</glossdef>
</glossentry>
<glossentry id='var-SDKIMAGE_FEATURES'><glossterm>SDKIMAGE_FEATURES</glossterm>
<glossdef>
<para>Equivalent to
<filename><link linkend='var-IMAGE_FEATURES'>IMAGE_FEATURES</link></filename>.
However, this variable applies to the SDK generated from an image using
<filename>bitbake -c populate_sdk imagename</filename>).
</para>
</glossdef>
</glossentry>
<glossentry id='var-SECTION'><glossterm>SECTION</glossterm>
<glossdef>
<para>The section where package should be put.
Package managers use this variable.</para>
<para>The section in which packages should be categorized.
Package management utilities can make use of this variable.</para>
</glossdef>
</glossentry>
@@ -1784,7 +1943,7 @@ recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2"
<glossdef>
<para>
Specifies the endian byte order of the target system.
The variable is either "le" for little-endian or "be" for big-endian.
The value should be either "le" for little-endian or "be" for big-endian.
</para>
</glossdef>
</glossentry>
@@ -1793,14 +1952,152 @@ recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2"
<glossdef>
<para>
Specifies the number of bits for the target system CPU.
The variable is either "32" or "64".
The value should be either "32" or "64".
</para>
</glossdef>
</glossentry>
<glossentry id='var-SPECIAL_PKGSUFFIX'><glossterm>SPECIAL_PKGSUFFIX</glossterm>
<glossdef>
<para>
A list of prefixes for <link linkend='var-PN'><filename>PN</filename></link> used by the
OpenEmbedded build system to create variants of recipes or packages.
The list specifies the prefixes to strip off during certain circumstances
such as the generation of the <link linkend='var-BPN'><filename>BPN</filename></link> variable.
</para>
</glossdef>
</glossentry>
<glossentry id='var-SRC_URI'><glossterm>SRC_URI</glossterm>
<glossdef>
<para>The list of source files - local or remote.</para>
<para>The list of source files - local or remote.
This variable tells the OpenEmbedded build system which bits to pull
in for the build and how to pull them in.
For example, if the recipe only needs to fetch a tarball from the
internet, the recipe uses a single <filename>SRC_URI</filename> entry.
On the other hand, if the recipe needs to fetch a tarball, apply
two patches, and include a custom file, the recipe would include four
instances of the variable.</para>
<para>The following list explains the available URI protocols:
<itemizedlist>
<listitem><para><emphasis><filename>file://</filename> -</emphasis> Fetches files, which is usually
a file shipped with the metadata, from the local machine.
The path is relative to the
<link linkend='var-FILESPATH'><filename>FILESPATH</filename></link>
variable.
Thus, the build system searches, in order, from the following directories,
which are assumed to be a subdirectories of the directory in which the
recipe file resides:
<itemizedlist>
<listitem><para><emphasis><filename>${PN}</filename> -</emphasis> The recipe name
with any special suffix or prefix, if applicable.
For example, using <filename>bash</filename> to build for the native
machine, <filename>PN</filename> is <filename>bash-native</filename>.
Using <filename>bash</filename> to build for the target and for Multilib,
<filename>PN</filename> would be <filename>bash</filename> and
<filename>lib64-bash</filename>, respectively.
</para></listitem>
<listitem><para><emphasis><filename>${PF}</filename> - </emphasis>
<filename>${PN}-${EXTENDPE}${PV}-${PR}</filename>.
The recipe name including all version and revision numbers
(i.e. <filename>eglibc-2.13-r20+svnr15508/</filename> and
<filename>bash-4.2-r1/</filename>).</para></listitem>
<listitem><para><emphasis><filename>${P}</filename> -</emphasis>
<filename>${PN}-${PV}</filename>.
The recipe name and version (i.e. <filename>bash-4.2</filename>).
</para></listitem>
<listitem><para><emphasis><filename>${BPN}</filename> -</emphasis> The
base recipe name without any special suffix or version numbers.
</para></listitem>
<listitem><para><emphasis><filename>${BP}</filename> -</emphasis>
<filename>${BPN}-${PV}</filename>.
The base recipe name and version but without any special
package name suffix.</para></listitem>
<listitem><para><emphasis>Files -</emphasis> Files beneath the directory in which the recipe
resides.</para></listitem>
<listitem><para><emphasis>Directory -</emphasis> The directory itself in which the recipe
resides.</para></listitem>
</itemizedlist></para></listitem>
<listitem><para><emphasis><filename>bzr://</filename> -</emphasis> Fetches files from a
Bazaar revision control repository.</para></listitem>
<listitem><para><emphasis><filename>git://</filename> -</emphasis> Fetches files from a
Git revision control repository.</para></listitem>
<listitem><para><emphasis><filename>osc://</filename> -</emphasis> Fetches files from
an OSC (OpenSuse Build service) revision control repository.</para></listitem>
<listitem><para><emphasis><filename>repo://</filename> -</emphasis> Fetches files from
a repo (Git) repository.</para></listitem>
<listitem><para><emphasis><filename>svk://</filename> -</emphasis> Fetches files from
an SVK revision control repository.</para></listitem>
<listitem><para><emphasis><filename>http://</filename> -</emphasis> Fetches files from
the Internet using <filename>http</filename>.</para></listitem>
<listitem><para><emphasis><filename>https://</filename> -</emphasis> Fetches files
from the Internet using <filename>https</filename>.</para></listitem>
<listitem><para><emphasis><filename>ftp://</filename> -</emphasis> Fetches files
from the Internet using <filename>ftp</filename>.</para></listitem>
<listitem><para><emphasis><filename>cvs://</filename> -</emphasis> Fetches files from
a CVS revision control repository.</para></listitem>
<listitem><para><emphasis><filename>hg://</filename> -</emphasis> Fetches files from
a Mercurial (<filename>hg</filename>) revision control repository.</para></listitem>
<listitem><para><emphasis><filename>p4://</filename> -</emphasis> Fetches files from
a Perforce (<filename>p4</filename>) revision control repository.</para></listitem>
<listitem><para><emphasis><filename>ssh://</filename> -</emphasis> Fetches files from
a secure shell.</para></listitem>
<listitem><para><emphasis><filename>svn://</filename> -</emphasis> Fetches files from
a Subversion (<filename>svn</filename>) revision control repository.</para></listitem>
</itemizedlist>
</para>
<para>Standard and recipe-specific options for <filename>SRC_URI</filename> exist.
Here are standard options:
<itemizedlist>
<listitem><para><emphasis><filename>apply</filename> -</emphasis> Whether to apply
the patch or not.
The default action is to apply the patch.</para></listitem>
<listitem><para><emphasis><filename>striplevel</filename> -</emphasis> Which
striplevel to use when applying the patch.
The default level is 1.</para></listitem>
</itemizedlist>
</para>
<para>Here are options specific to recipes building code from a revision control system:
<itemizedlist>
<listitem><para><emphasis><filename>mindate</filename> -</emphasis> Only applies
the patch if <link linkend='var-SRCDATE'><filename>SRCDATE</filename></link>
is equal to or greater than <filename>mindate</filename>.</para></listitem>
<listitem><para><emphasis><filename>maxdate</filename> -</emphasis> Only applies
the patch if <link linkend='var-SRCDATE'><filename>SRCDATE</filename></link>
is not later than <filename>mindate</filename>.</para></listitem>
<listitem><para><emphasis><filename>minrev</filename> -</emphasis> Only applies
the patch if <link linkend='var-SRCREV'><filename>SRCREV</filename></link>
is equal to or greater than <filename>minrev</filename>.</para></listitem>
<listitem><para><emphasis><filename>maxrev</filename> -</emphasis> Only applies
the patch if <link linkend='var-SRCREV'><filename>SRCREV</filename></link>
is not later than <filename>maxrev</filename>.</para></listitem>
<listitem><para><emphasis><filename>rev</filename> -</emphasis> Only applies the
patch if <link linkend='var-SRCREV'><filename>SRCREV</filename></link>
is equal to <filename>rev</filename>.</para></listitem>
<listitem><para><emphasis><filename>notrev</filename> -</emphasis> Only applies
the patch if <link linkend='var-SRCREV'><filename>SRCREV</filename></link>
is not equal to <filename>rev</filename>.</para></listitem>
</itemizedlist>
</para>
<para>Here are some additional options worth mentioning:
<itemizedlist>
<listitem><para><emphasis><filename>unpack</filename> -</emphasis> Controls
whether or not to unpack the file if it is an archive.
The default action is to upack the file.</para></listitem>
<listitem><para><emphasis><filename>subdir</filename> -</emphasis> Places the file
(or extracts its contents) into the specified
subdirectory of <link linkend='var-WORKDIR'><filename>WORKDIR</filename></link>.
This option is useful for unusual tarballs or other archives that
don't have their files already in a subdirectory within the archive.
</para></listitem>
<listitem><para><emphasis><filename>name</filename> -</emphasis> Specifies a
name to be used for association with <filename>SRC_URI</filename> checksums
when you have more than one file specified in <filename>SRC_URI</filename>.
</para></listitem>
<listitem><para><emphasis><filename>downloadfilename</filename> -</emphasis> Specifies
the filename used when storing the downloaded file.</para></listitem>
</itemizedlist>
</para>
</glossdef>
</glossentry>
@@ -1872,6 +2169,25 @@ recipes-graphics/xorg-font/xorg-font-common.inc:INC_PR = "r2"
<glossdiv id='var-glossary-t'><title>T</title>
<glossentry id='var-T'><glossterm>T</glossterm>
<glossdef>
<para>This variable points to a directory were Bitbake places temporary
files when building a particular package.
It is typically set as follows:
<literallayout class='monospaced'>
T = ${WORKDIR}/temp
</literallayout>
The <link linkend='var-WORKDIR'><filename>WORKDIR</filename></link>
is the directory into which Bitbake unpacks and builds the package.
The default <filename>bitbake.conf</filename> file sets this variable.</para>
<para>The <filename>T</filename> variable is not to be confused with
the <link linkend='var-TMPDIR'><filename>TMPDIR</filename></link> variable,
which points to the root of the directory tree where Bitbake
places the output of an entire build.
</para>
</glossdef>
</glossentry>
<glossentry id='var-TARGET_ARCH'><glossterm>TARGET_ARCH</glossterm>
<glossdef>
<para>The architecture of the device being built.

View File

@@ -83,8 +83,11 @@
Poky derives from and contributes back to the OpenEmbedded project.</para></listitem>
<listitem><para><emphasis><ulink url='http://developer.berlios.de/projects/bitbake/'>
BitBake</ulink>:</emphasis> The tool used to process metadata.</para></listitem>
<listitem><para><emphasis><ulink url='&BITBAKE_DOCS_URL;'>
BitBake User Manual</ulink>:</emphasis> A comprehensive guide to the BitBake tool.
<listitem><para><emphasis>BitBake User Manual:</emphasis>
A comprehensive guide to the BitBake tool.
You can find the BitBake User Manual in the <filename>bitbake/doc/manual</filename>
directory, which is found in the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
</para></listitem>
<listitem><para><emphasis><ulink url='http://wiki.qemu.org/Index.html'>QEMU</ulink>:
</emphasis> An open source machine emulator and virtualizer.</para></listitem>

View File

@@ -650,6 +650,7 @@
BBLAYERS ?= " \
/home/nitin/prj/poky.git/meta \
/home/nitin/prj/poky.git/meta-yocto \
/home/nitin/prj/poky.git/meta-yocto-bsp \
/home/nitin/prj/meta-x32.git \
"
</literallayout></para></listitem>
@@ -809,7 +810,7 @@
LICENSE_FLAGS = "commercial"
</literallayout>
Here is a slightly more complicated example that contains both an
explicit package name and version (after variable expansion):
explicit recipe name and version (after variable expansion):
<literallayout class='monospaced'>
LICENSE_FLAGS = "license_${PN}_${PV}"
</literallayout>
@@ -830,7 +831,7 @@
<literallayout class='monospaced'>
LICENSE_FLAGS_WHITELIST = "commercial_gst-plugins-ugly"
</literallayout>
Likewise, to additionally enable the package containing
Likewise, to additionally enable the package built from the recipe containing
<filename>LICENSE_FLAGS = "license_${PN}_${PV}"</filename>, and assuming
that the actual recipe name was <filename>emgd_1.10.bb</filename>,
the following string would enable that package as well as

View File

@@ -66,8 +66,8 @@
</para>
<note>
Building an image without GNU Public License Version 3 (GPLv3) components is
only supported for minimal and base images.
Building an image without GNU General Public License Version 3 (GPLv3) components
is only supported for minimal and base images.
See the "<link linkend='ref-images'>Images</link>" chapter for more information.
</note>
</section>
@@ -78,7 +78,7 @@
<para>
When building an image using GPL components, you need to maintain your original
settings and not switch back and forth applying different versions of the GNU
Public License.
General Public License.
If you rebuild using different versions of GPL, dependency errors might occur
due to some components not being rebuilt.
</para>

View File

@@ -1,5 +1,5 @@
<!ENTITY DISTRO "1.3">
<!ENTITY DISTRO_NAME "1.2+snapshot">
<!ENTITY DISTRO_NAME "danny">
<!ENTITY YOCTO_DOC_VERSION "1.3">
<!ENTITY POKYVERSION "8.0">
<!ENTITY YOCTO_POKY "poky-&DISTRO_NAME;-&POKYVERSION;">
@@ -17,7 +17,6 @@
<!ENTITY OE_DOCS_URL "http://docs.openembedded.org">
<!ENTITY OH_HOME_URL "http://o-hand.com">
<!ENTITY BITBAKE_HOME_URL "http://developer.berlios.de/projects/bitbake/">
<!ENTITY BITBAKE_DOCS_URL "http://docs.openembedded.org/bitbake/html/">
<!ENTITY ECLIPSE_MAIN_URL "http://www.eclipse.org/downloads">
<!ENTITY ECLIPSE_DL_URL "http://download.eclipse.org">
<!ENTITY ECLIPSE_DL_PLUGIN_URL "&YOCTO_DL_URL;/releases/eclipse-plugin/&DISTRO;">
@@ -48,3 +47,11 @@
<!ENTITY YOCTO_ADTPATH_DIR "/opt/poky/&DISTRO;">
<!ENTITY YOCTO_POKY_TARBALL "&YOCTO_POKY;.tar.bz2">
<!ENTITY OE_INIT_PATH "&YOCTO_POKY;/oe-init-build-env">
<!ENTITY OE_INIT_FILE "oe-init-build-env">
<!ENTITY UBUNTU_HOST_PACKAGES_ESSENTIAL "awk wget git-core diffstat unzip texinfo build-essential chrpath">
<!ENTITY FEDORA_HOST_PACKAGES_ESSENTIAL "awk make wget tar bzip2 gzip python unzip perl patch diffutils diffstat git
cpp gcc gcc-c++ eglibc-devel texinfo chrpath ccache">
<!ENTITY OPENSUSE_HOST_PACKAGES_ESSENTIAL "python gcc gcc-c++ git chrpath make wget diffstat texinfo python-curses">
<!ENTITY CENTOS_HOST_PACKAGES_ESSENTIAL "gawk make wget tar bzip2 gzip python unzip perl patch diffutils diffstat git
cpp gcc gcc-c++ glibc-devel texinfo chrpath">

View File

@@ -104,11 +104,11 @@
<para>Provides a recent Linux kernel along with a set of system commands and libraries suitable for the embedded environment.</para>
</listitem>
<listitem>
<para>Makes available system components such as X11, Matchbox, GTK+, Pimlico, Clutter,
GuPNP and Qt (among others) so you can create a richer user interface experience on
devices that use displays or have a GUI.
For devices that don't have a GUI or display, you simply would not employ these
components.</para>
<para>Makes available system components such as X11, GTK+, Qt, Clutter, and SDL
(among others) so you can create a rich user experience on devices
that have display hardware.
For devices that don't have a display or where you wish to use alternative UI
frameworks, these components need not be installed.</para>
</listitem>
<listitem>
<para>Creates a focused and stable core compatible with the OpenEmbedded
@@ -211,94 +211,85 @@
<title>The Packages</title>
<para>
Packages and package installation vary depending on your development system.
In general, you need to have root access and then install the required packages.
The next few sections show you how to get set up with the right packages for
Ubuntu, Fedora, openSUSE, and CentOS.
Packages and package installation vary depending on your development system
and on your intent.
For example, if you want to build an image that can run
on QEMU in graphical mode (a minimal, basic build
requirement), then the number of packages is different than if you want to
build an image on a headless system or build out the Yocto Project
documentation set.
Collectively, the number of required packages is large
if you want to be able to cover all cases.
<note>In general, you need to have root access and then install the
required packages.
Thus, the commands in the following section may or may not work
depending on whether or not your Linux distribution has
<filename>sudo</filename> installed.</note>
</para>
<para>
The next few sections list, by supported Linux Distributions, the required
packages needed to build an image that runs on QEMU in graphical mode
(e.g. essential plus graphics support).
</para>
<para>
For lists of required packages for other scenarios, see the
"<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system'>Required Packages for the Host Development System</ulink>"
section in the Yocto Project Reference Manual.
</para>
<section id='ubuntu'>
<title>Ubuntu</title>
<para>
The packages you need for a supported Ubuntu distribution are shown in the following command:
</para>
The essential packages you need for a supported Ubuntu distribution
are shown in the following command:
<literallayout class='monospaced'>
$ sudo apt-get install sed wget subversion git-core coreutils \
unzip texi2html texinfo libsdl1.2-dev docbook-utils fop gawk \
python-pysqlite2 diffstat make gcc build-essential xsltproc \
g++ desktop-file-utils chrpath libgl1-mesa-dev libglu1-mesa-dev \
autoconf automake groff libtool xterm libxml-parser-perl dblatex
$ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL; libsdl1.2-dev xterm
</literallayout>
</para>
</section>
<section id='fedora'>
<title>Fedora</title>
<para>
The packages you need for a supported Fedora distribution are shown in the following
commands:
</para>
The essential packages you need for a supported Fedora distribution
are shown in the following command:
<literallayout class='monospaced'>
$ sudo yum groupinstall "development tools"
$ sudo yum install python m4 make wget curl ftp tar bzip2 gzip \
unzip perl texinfo texi2html diffstat openjade \
docbook-style-dsssl sed docbook-style-xsl docbook-dtds fop libxslt \
docbook-utils sed bc eglibc-devel ccache pcre pcre-devel quilt \
groff linuxdoc-tools patch cmake \
perl-ExtUtils-MakeMaker tcl-devel gettext chrpath ncurses apr \
SDL-devel mesa-libGL-devel mesa-libGLU-devel gnome-doc-utils \
autoconf automake libtool xterm dblatex
$ sudo yum install &FEDORA_HOST_PACKAGES_ESSENTIAL; SDL-devel xterm
</literallayout>
</para>
</section>
<section id='opensuse'>
<title>openSUSE</title>
<para>
The packages you need for a supported openSUSE distribution are shown in the following
command:
</para>
The essential packages you need for a supported openSUSE
distribution are shown in the following command:
<literallayout class='monospaced'>
$ sudo zypper install python gcc gcc-c++ libtool fop \
subversion git chrpath automake make wget xsltproc \
diffstat texinfo freeglut-devel libSDL-devel dblatex \
python-curses
$ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL; libSDL-devel xterm
</literallayout>
</para>
</section>
<section id='centos'>
<title>CentOS</title>
<para>
The packages you need for a supported CentOS distribution are shown in the following
commands:
</para>
The essential packages you need for a supported CentOS
distribution are shown in the following command:
<literallayout class='monospaced'>
$ sudo yum -y groupinstall "development tools"
$ sudo yum -y install tetex gawk sqlite-devel vim-common redhat-lsb xz \
m4 make wget curl ftp tar bzip2 gzip python-devel \
unzip perl texinfo texi2html diffstat openjade zlib-devel \
docbook-style-dsssl sed docbook-style-xsl docbook-dtds \
docbook-utils bc glibc-devel pcre pcre-devel \
groff linuxdoc-tools patch cmake \
tcl-devel gettext ncurses apr \
SDL-devel mesa-libGL-devel mesa-libGLU-devel gnome-doc-utils \
autoconf automake libtool xterm dblatex
$ sudo yum -y install &CENTOS_HOST_PACKAGES_ESSENTIAL; SDL-devel xterm
</literallayout>
<note><para>
Depending on the CentOS version you are using, other requirements and dependencies
might exist.
For details, you should look at the CentOS sections on the
<ulink url='&YOCTO_WIKI_URL;/wiki/Poky/GettingStarted/Dependencies'>Poky/GettingStarted/Dependencies</ulink>
wiki page.
</para></note>
<note>Depending on the CentOS version you are using, other requirements
and dependencies might exist.
For details, you should look at the CentOS sections on the
<ulink url='https://wiki.yoctoproject.org/wiki/Poky/GettingStarted/Dependencies'>Poky/GettingStarted/Dependencies</ulink>
wiki page.</note>
</para>
</section>
</section>
@@ -387,7 +378,8 @@
<literallayout class='monospaced'>
$ wget &YOCTO_POKY_DL_URL;
$ tar xjf &YOCTO_POKY;.tar.bz2
$ source &OE_INIT_PATH; &YOCTO_POKY;-build
$ cd &YOCTO_POKY;
$ source &OE_INIT_FILE;
</literallayout>
</para>
@@ -412,12 +404,15 @@
<listitem><para>The second command extracts the files from the tarball and places
them into a directory named <filename>&YOCTO_POKY;</filename> in the current
directory.</para></listitem>
<listitem><para>The third command runs the Yocto Project environment setup script.
Running this script defines OpenEmbedded build environment settings needed to
<listitem><para>The third and fourth commands change the working directory to the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>source directory</ulink>
and run the Yocto Project environment setup script.
Running this script defines OpenEmbedded build environment settings needed to
complete the build.
The script also creates the
<ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>build directory</ulink>,
which is <filename>&YOCTO_POKY;-build</filename> in this case.
which is <filename>build</filename> in this case and is located in the
source directory.
After the script runs, your current working directory is set
to the build directory.
Later, when the build completes, the build directory contains all the files
@@ -426,7 +421,7 @@
</itemizedlist>
<para>
Take some time to examine your <filename>local.conf</filename> file
in your project's configuration directory.
in your project's configuration directory, which is found in the build directory.
The defaults in that file should work fine.
However, there are some variables of interest at which you might look.
</para>
@@ -526,20 +521,20 @@
<section id='installing-the-toolchain'>
<title>Installing the Toolchain</title>
<para>
You can download a tarball with the pre-built toolchain, which includes the
You can download a tarball installer, which includes the pre-built toolchain, the
<filename>runqemu</filename>
script and support files, from the appropriate directory under
script, and support files from the appropriate directory under
<ulink url='&YOCTO_TOOLCHAIN_DL_URL;'></ulink>.
Toolchains are available for 32-bit and 64-bit development systems from the
<filename>i686</filename> and <filename>x86-64</filename> directories, respectively.
Each type of development system supports five target architectures.
The names of the tarballs are such that a string representing the host system appears
first in the filename and then is immediately followed by a string representing
the target architecture.
The names of the tarball installer scripts are such that a string representing the
host system appears first in the filename and then is immediately followed by a
string representing the target architecture.
</para>
<literallayout class='monospaced'>
poky-eglibc-&lt;<emphasis>host_system</emphasis>&gt;-&lt;<emphasis>arch</emphasis>&gt;-toolchain-gmae-&lt;<emphasis>release</emphasis>&gt;.tar.bz2
poky-eglibc-&lt;<emphasis>host_system</emphasis>&gt;-&lt;<emphasis>arch</emphasis>&gt;-toolchain-gmae-&lt;<emphasis>release</emphasis>&gt;.sh
Where:
&lt;<emphasis>host_system</emphasis>&gt; is a string representing your development system:
@@ -552,26 +547,38 @@
</literallayout>
<para>
For example, the following toolchain tarball is for a 64-bit development
For example, the following toolchain installer is for a 64-bit development
host system and a 32-bit target architecture:
</para>
<literallayout class='monospaced'>
poky-eglibc-x86_64-i586-toolchain-gmae-&DISTRO;.tar.bz2
poky-eglibc-x86_64-i586-toolchain-gmae-&DISTRO;.sh
</literallayout>
<para>
The toolchain tarballs are self-contained and must be installed into <filename>/opt/poky</filename>.
The following commands show how you install the toolchain tarball given a 64-bit development
host system and a 32-bit target architecture.
The example assumes the toolchain tarball is located in <filename>~/toolchains/</filename>.
You must have your working directory set to root before unpacking the tarball:
Toolchains are self-contained and by default are installed into <filename>/opt/poky</filename>.
However, when you run the toolchain installer, you can choose an installation directory.
</para>
<para>
The following command shows how to run the installer given a toolchain tarball
for a 64-bit development host system and a 32-bit target architecture.
You must change the permissions on the toolchain
installer script so that it is executable.
</para>
<para>
The example assumes the toolchain installer is located in <filename>~/Downloads/</filename>.
<note>
If you do not have write permissions for the directory into which you are installing
the toolchain, the toolchain installer notifies you and exits.
Be sure you have write permissions in the directory and run the installer again.
</note>
</para>
<para>
<literallayout class='monospaced'>
$ cd /
$ sudo tar -xvjf ~/toolchains/poky-eglibc-x86_64-i586-toolchain-gmae-&DISTRO;.tar.bz2
$ ~/Downloads/poky-eglibc-x86_64-i586-toolchain-gmae-&DISTRO;.sh
</literallayout>
</para>
@@ -724,7 +731,7 @@
pages.
</para>
</footnote>
gives you a very fast description of how to use the Yocto Project to build images
gives you a minimal description of how to use the Yocto Project to build images
for a BeagleBoard xM starting from scratch.
The steps were performed on a 64-bit Ubuntu 10.04 system.
</para>
@@ -766,16 +773,18 @@
<title>Initializing the Build Environment</title>
<para>
From the parent directory of local source directory, initialize your environment
and provide a meaningful
From the parent directory your
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>source directory</ulink>,
initialize your environment and provide a meaningful
<ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>build directory</ulink>
name:
<literallayout class='monospaced'>
$ source poky/oe-init-build-env mybuilds
$ source poky/&OE_INIT_FILE; mybuilds
</literallayout>
At this point, the <filename>mybuilds</filename> directory has been created for you
and it is now your current working directory.
If you don't provide your own directory name it defaults to <filename>build</filename>.
If you don't provide your own directory name it defaults to <filename>build</filename>,
which is inside the source directory.
</para>
</section>
@@ -840,7 +849,7 @@
$ bitbake -c fetchall core-image-minimal
</literallayout>
This variation guarantees that you have all the sources for that BitBake target
should you to disconnect from the net and want to do the build later offline.
should you disconnect from the net and want to do the build later offline.
</para></listitem>
<listitem><para>Specify to continue the build even if BitBake encounters an error.
By default, BitBake aborts the build when it encounters an error.

View File

@@ -13,7 +13,8 @@
#
# You must also provide a Linux kernel configuration. The most direct
# method is to copy your .config to files/defconfig in your layer,
# in the same directory as the bbappend.
# in the same directory as the bbappend and add file://defconfig to
# your SRC_URI.
#
# To use the yocto kernel tooling to generate a BSP configuration
# using modular configuration fragments, see the yocto-bsp and

View File

@@ -29,7 +29,7 @@ EXTRA_IMAGECMD_jffs2 = "-lnp "
SERIAL_CONSOLE = "115200 ttyO2"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_VERSION_linux-yocto ?= "3.0%"
PREFERRED_VERSION_linux-yocto ?= "3.4%"
KERNEL_IMAGETYPE = "uImage"

View File

@@ -3,7 +3,7 @@
TARGET_FPU = ""
require conf/machine/include/tune-ppc603e.inc
require conf/machine/include/tune-ppce300c3.inc
KERNEL_IMAGETYPE = "uImage"

View File

@@ -19,6 +19,7 @@ XSERVER ?= "xserver-xorg \
xf86-video-fbdev"
SERIAL_CONSOLE = "115200 ttyS0"
USE_VT ?= "0"
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"

View File

@@ -3,13 +3,12 @@ KBRANCH_routerstationpro = "standard/routerstationpro"
KBRANCH_mpc8315e-rdb = "standard/fsl-mpc8315e-rdb"
KBRANCH_beagleboard = "standard/beagleboard"
SRCREV_machine_atom-pc ?= "0985844fa6235422c67ef269952fa4e765f252f9"
SRCREV_machine_routerstationpro ?= "a2907c57acfb8fa71095a3ce5b20994ff859dbc5"
SRCREV_machine_mpc8315e-rdb ?= "363a6f7e0c95aabec779a7ea3474662d191b935c"
SRCREV_machine_beagleboard ?= "0985844fa6235422c67ef269952fa4e765f252f9"
SRCREV_machine_atom-pc ?= "449f7f520350700858f21a5554b81cc8ad23267d"
SRCREV_machine_routerstationpro ?= "27e8b8dabfed786aaaafd2f7104c141597830089"
SRCREV_machine_mpc8315e-rdb ?= "524ce8107febcfd88717f54d50d36ca7c6e6e437"
SRCREV_machine_beagleboard ?= "449f7f520350700858f21a5554b81cc8ad23267d"
COMPATIBLE_MACHINE_mpc8315e-rdb = "mpc8315e-rdb"
COMPATIBLE_MACHINE_routerstationpro = "routerstationpro"
# COMPATIBLE_MACHINE_beagleboard = "beagleboard"
COMPATIBLE_MACHINE_beagleboard = "beagleboard"
COMPATIBLE_MACHINE_atom-pc = "atom-pc"

View File

@@ -0,0 +1,16 @@
python check_bblayers_conf_append() {
if current_lconf != lconf_version:
if current_lconf == 5:
index, meta_yocto_line = find_line('meta-yocto\s*\\\\\\n', lines)
if meta_yocto_line:
lines.insert(index + 1, meta_yocto_line.replace('meta-yocto',
'meta-yocto-bsp'))
else:
sys.exit()
index, line = find_line('LCONF_VERSION', lines)
current_lconf += 1
lines[index] = 'LCONF_VERSION = "%d"\n' % current_lconf
with open(bblayers_fn, "w") as f:
f.write(''.join(lines))
}

View File

@@ -13,8 +13,11 @@ DISTRO_PN_ALIAS_pn-aaina = "Intel"
DISTRO_PN_ALIAS_pn-abiword-embedded = "Fedora=abiword Ubuntu=abiword"
DISTRO_PN_ALIAS_pn-adt-installer = "Intel"
DISTRO_PN_ALIAS_pn-alsa-state = "OE-Core"
DISTRO_PN_ALIAS_pn-anjuta-remote-run = "OpenedHand"
DISTRO_PN_ALIAS_pn-augeas = "Ubuntu=libaugeas0 Debian=libaugeas0"
DISTRO_PN_ALIAS_pn-avahi-ui = "Ubuntu=avahi-discover Debian=avahi-discover"
DISTRO_PN_ALIAS_pn-babeltrace = "OSPDT"
DISTRO_PN_ALIAS_pn-bdwgc = "OSPDT"
DISTRO_PN_ALIAS_pn-bigreqsproto = "Meego=xorg-x11-proto-bigreqsproto"
DISTRO_PN_ALIAS_pn-blktool = "Debian=blktool Mandriva=blktool"
DISTRO_PN_ALIAS_pn-bluez4= "Fedora=bluez Ubuntu=bluez Debian=bluez-utils Opensuse=bluez"
@@ -22,6 +25,7 @@ DISTRO_PN_ALIAS_pn-bluez4="Meego=bluz Fedora=bluz Ubuntu=bluz OpenSuSE=bluz Mand
DISTRO_PN_ALIAS_pn-bluez-dtl1-workaround = "OE-Core"
DISTRO_PN_ALIAS_pn-btrfs-tools = "Debian=btrfs-tools Fedora=btrfs-progs"
DISTRO_PN_ALIAS_pn-builder = "OE-Core"
DISTRO_PN_ALIAS_pn-build-appliance-image = "OSPDT"
DISTRO_PN_ALIAS_pn-calibrateproto = "OSPDT upstream=http://cgit.freedesktop.org/xorg/lib/libXCalibrate/"
DISTRO_PN_ALIAS_pn-calibrateproto = "OSPDT upstream=http://cgit.freedesktop.org/xorg/proto/calibrateproto"
DISTRO_PN_ALIAS_pn-cdrtools = "OpenSUSE=cdrtools OSPDT"
@@ -30,8 +34,9 @@ DISTRO_PN_ALIAS_pn-claws-plugin-maildir = "Fedora=claws-mail-plugins OpenSuSE=cl
DISTRO_PN_ALIAS_pn-claws-plugin-mailmbox = "Fedora=claws-mail-plugins OpenSuSE=claws-mail-extra-plugins Debian=claws-mail-extra-plugins"
DISTRO_PN_ALIAS_pn-claws-plugin-rssyl = "Fedora=claws-mail-plugins OpenSuSE=claws-mail-extra-plugins Debian=claws-mail-extra-plugins"
DISTRO_PN_ALIAS_pn-clipboard-manager = "OpenedHand"
DISTRO_PN_ALIAS_pn-clutter-1.8 = "Fedora=clutter OpenSuse=clutter Ubuntu=clutter-1.0 Mandriva=clutter Debian=clutter"
DISTRO_PN_ALIAS_pn-clutter = "Fedora=clutter OpenSuse=clutter Ubuntu=clutter-1.0 Mandriva=clutter Debian=clutter"
DISTRO_PN_ALIAS_pn-clutter-1.8 = "Fedora=clutter OpenSuse=clutter Ubuntu=clutter-1.0 Mandriva=clutter Debian=clutter"
DISTRO_PN_ALIAS_pn-clutter-box2d = "Meego=clutter-box2d"
DISTRO_PN_ALIAS_pn-clutter-gst-1.8 = "Fedora=clutter-gst Debian=libclutter-gst"
DISTRO_PN_ALIAS_pn-clutter-gtk-1.8 = "Fedora=clutter-gtk OpenSuSE=clutter-gtk Ubuntu=clutter-gtk-0.10 Mandriva=clutter-gtk Debian=clutter-gtk"
DISTRO_PN_ALIAS_pn-cogl = "Fedora=cogl OpenSuse=cogl Ubuntu=cogl Mandriva=cogl Debian=cogl"
@@ -64,7 +69,7 @@ DISTRO_PN_ALIAS_pn-core-image-sato-sdk-directdisk = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-sato-sdk-live = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-sato-sdk = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-sdk = "OE-Core"
DISTRO_PN_ALIAS_pn-core-x11 = "OE-Core"
DISTRO_PN_ALIAS_pn-core-image-x11 = "OE-Core"
DISTRO_PN_ALIAS_pn-cross-localedef = "OSPDT"
DISTRO_PN_ALIAS_pn-cwautomacros= "OSPDT upstream=http://cwautomacros.berlios.de/"
DISTRO_PN_ALIAS_pn-damageproto = "Meego=xorg-x11-proto-damageproto"
@@ -72,9 +77,9 @@ DISTRO_PN_ALIAS_pn-db = "Debian=db5.1 Ubuntu=db5.1"
DISTRO_PN_ALIAS_pn-dbus-wait = "OpenedHand"
DISTRO_PN_ALIAS_pn-directfb-examples = "Debian=directfb Fedora=directfb"
DISTRO_PN_ALIAS_pn-distcc = "Debian=distcc Fedora=distcc"
DISTRO_PN_ALIAS_pn-distcc-config = "OpenedHand"
DISTRO_PN_ALIAS_pn-dmxproto = "Meego=xorg-x11-proto-dmxproto Ubuntu=x11proto-dmx Debian=x11proto-dmx"
DISTRO_PN_ALIAS_pn-docbook-dsssl-stylesheet = "Fedora=docbook-style-dsssl Ubuntu=docbook-dsssl"
DISTRO_PN_ALIAS_pn-docbook-dsssl-stylesheet-native = "Fedora=docbook-style-dsssl Ubuntu=docbook-dsssl"
DISTRO_PN_ALIAS_pn-docbook-dsssl-stylesheets = "Fedora=docbook-style-dsssl Ubuntu=docbook-dsssl"
DISTRO_PN_ALIAS_pn-docbook-sgml-dtd-3.1 = "Fedora=docbook-dtds Mandriva=docbook-dtd31-sgml"
DISTRO_PN_ALIAS_pn-docbook-sgml-dtd-4.1 = "Fedora=docbook-dtds Mandriva=docbook-dtd41-sgml"
DISTRO_PN_ALIAS_pn-docbook-sgml-dtd-4.5 = "Fedora=docbook-dtds Mandriva=docbook-dtd42-sgml"
@@ -84,7 +89,8 @@ DISTRO_PN_ALIAS_pn-dtc = "Fedora=dtc Ubuntu=dtc"
DISTRO_PN_ALIAS_pn-dtc-native = "Fedora=dtc Ubuntu=dtc"
DISTRO_PN_ALIAS_pn-eds-tools = "OpenedHand"
DISTRO_PN_ALIAS_pn-eee-acpi-scripts = "Debian=eeepc-acpi-scripts Ubuntu=eeepc-acpi-scripts"
DISTRO_PN_ALIAS_pn-eglibc-locale-nativesdk = "OE-Core"
DISTRO_PN_ALIAS_pn-eglibc = "OE-Core"
DISTRO_PN_ALIAS_pn-eglibc-initial = "OE-Core"
DISTRO_PN_ALIAS_pn-eglibc-locale = "OE-Core"
DISTRO_PN_ALIAS_pn-emgd-driver-bin = "Intel"
DISTRO_PN_ALIAS_pn-encodings = "Ubuntu=xfonts-encodings Mandriva=x11-font-encodings Debian=xfonts-encodings"
@@ -111,9 +117,11 @@ DISTRO_PN_ALIAS_pn-gcc-runtime = "Ubuntu=gcc Fedora=gcc"
DISTRO_PN_ALIAS_pn-gconf-dbus = "Meego=GConf-dbus"
DISTRO_PN_ALIAS_pn-gdk-pixbuf-csource-native = "Debian=libgdk-pixbuf2.0-0 Fedora=gdk-pixbuf2"
DISTRO_PN_ALIAS_pn-gdk-pixbuf = "Debian=libgdk-pixbuf2.0 Fedora=gdk-pixbuf"
DISTRO_PN_ALIAS_pn-gettext-minimal-native = "Debian=gettext Fedora=gettext"
DISTRO_PN_ALIAS_pn-glib-2.0 = "Meego=glib2 Fedora=glib2 OpenSuSE=glib2 Ubuntu=glib2.0 Mandriva=glib2.0 Debian=glib2.0"
DISTRO_PN_ALIAS_pn-glproto = "Meego=xorg-x11-proto-glproto"
DISTRO_PN_ALIAS_pn-gnu-config = "OpenedHand"
DISTRO_PN_ALIAS_pn-grub-efi-i586 = "Ubuntu=grub Fedora=grub"
DISTRO_PN_ALIAS_pn-gst-ffmpeg = "Mandriva=gstreamer0.10-ffmpeg Debian=gstreamer0.10-ffmpeg"
DISTRO_PN_ALIAS_pn-gst-fluendo-mp3 = "Debian=gstreamer0.10-fluendo-mp3 Ubuntu=gstreamer0.10-fluendo-mp3"
DISTRO_PN_ALIAS_pn-gst-fluendo-mpegdemux = "Ubuntu=gstreamer0.10-fluendo-mpegdemux Debian=gstreamer0.10-fluendo-mpegdemux"
@@ -124,6 +132,7 @@ DISTRO_PN_ALIAS_pn-gst-plugins-bad = "Fedora=gstreamer-plugins-bad-free OpenSuSE
DISTRO_PN_ALIAS_pn-gst-plugins-base = "Meego=gst-plugins-base Fedora=gstreamer-plugins-base OpenSuSE=gstreamer-plugins-base Ubuntu=gst-plugins-base0.10 Mandriva=gstreamer0.10-plugins-base Debian=gst-plugins-base0.10"
DISTRO_PN_ALIAS_pn-gst-plugins-good = "Meego=gst-plugins-good Fedora=gstreamer-plugins-good OpenSuSE=gstreamer-plugins-good Ubuntu=gst-plugins-good0.10 Mandriva=gstreamer0.10-plugins-good Debian=gst-plugins-good0.10"
DISTRO_PN_ALIAS_pn-gst-plugins-ugly = "OpenSuSE=gstreamer-plugins-ugly Mandriva=gstreamer0.10-plugins-ugly Debian=gst-plugins-ugly0.10"
DISTRO_PN_ALIAS_pn-gtk-doc-stub = "Fedora=gtk-doc Ubuntu=gtk-doc"
DISTRO_PN_ALIAS_pn-gtk-engines = "Fedora=gtk2-engines OpenSuSE=gtk2-engines Ubuntu=gtk2-engines Mandriva=gtk-engines2 Debian=gtk2-engines"
DISTRO_PN_ALIAS_pn-gtkhtml2 = "Debian=libgtkhtml2-0 Fedora=gtkhtml2"
DISTRO_PN_ALIAS_pn-gtk+ = "Meego=gtk2 Fedora=gtk2 OpenSuSE=gtk2 Ubuntu=gtk+2.0 Mandriva=gtk+2.0 Debian=gtk+2.0"
@@ -136,6 +145,7 @@ DISTRO_PN_ALIAS_pn-imake = "Mandriva=xutils Ubuntu=xutils"
DISTRO_PN_ALIAS_pn-initramfs-boot = "OE-Core"
DISTRO_PN_ALIAS_pn-initramfs-live-boot = "OE-Core"
DISTRO_PN_ALIAS_pn-initramfs-live-install = "OE-Core"
DISTRO_PN_ALIAS_pn-initramfs-live-install-efi = "OE-Core"
DISTRO_PN_ALIAS_pn-inputproto = "Meego=xorg-x11-proto-inputproto"
DISTRO_PN_ALIAS_pn-iproute2 = "OSPDT"
DISTRO_PN_ALIAS_pn-jpeg="OpenSuSE=libjpeg Ubuntu=libjpeg62"
@@ -183,7 +193,6 @@ DISTRO_PN_ALIAS_pn-liburcu = "Fedora=userspace-rcu Ubuntu=liburcu0"
DISTRO_PN_ALIAS_pn-libusb-compat = "OSPDT"
DISTRO_PN_ALIAS_pn-libx11 = "Debian=libx11-6 Fedora=libX11 Ubuntu=libx11-6 OpenSuSE=xorg-x11-libX11"
DISTRO_PN_ALIAS_pn-libx11-diet = "Debian=libx11-6 Fedora=libX11 Ubuntu=libx11-6 OpenSuSE=xorg-x11-libX11"
DISTRO_PN_ALIAS_pn-libx11-trim = "Debian=libx11-6 Fedora=libX11 Ubuntu=libx11-6 OpenSuSE=xorg-x11-libX11"
DISTRO_PN_ALIAS_pn-libxcalibrate = "OSPDT upstream=http://cgit.freedesktop.org/xorg/lib/libXCalibrate/"
DISTRO_PN_ALIAS_pn-libxfontcache = "Mandriva=libxfontcache Debian=libxfontcache"
DISTRO_PN_ALIAS_pn-libxft = "Mandriva=libxft Debian=libxft2 Ubuntu=libxft2"
@@ -198,11 +207,17 @@ DISTRO_PN_ALIAS_pn-linux-libc-headers = "Debian=linux-kernel-headers Ubuntu=linu
DISTRO_PN_ALIAS_pn-linux-libc-headers-yocto = "Debian=linux-kernel-headers Ubuntu=linux-kernel-headers"
DISTRO_PN_ALIAS_pn-linux-yocto = "Debian=linux-base Ubuntu=linux"
DISTRO_PN_ALIAS_pn-linux-yocto-rt = "Debian=linux-base Ubuntu=linux"
DISTRO_PN_ALIAS_pn-linux-yocto-tiny = "OSPDT"
DISTRO_PN_ALIAS_pn-lsbinitscripts = "Windriver"
DISTRO_PN_ALIAS_pn-lsbsetup = "Windriver"
DISTRO_PN_ALIAS_pn-lsbtest = "Windriver"
DISTRO_PN_ALIAS_pn-ltp = "Ubuntu=ltp"
DISTRO_PN_ALIAS_pn-lttng-control = "OSPDT upstream=http://lttng.org/"
DISTRO_PN_ALIAS_pn-lttng-modules = "OSPDT upstream=http://lttng.org/"
DISTRO_PN_ALIAS_pn-lttng-tools = "OSPDT upstream=http://lttng.org/"
DISTRO_PN_ALIAS_pn-lttng-ust = "OSPDT upstream=http://lttng.org/"
DISTRO_PN_ALIAS_pn-lttng-viewer = "OSPDT upstream=http://lttng.org/"
DISTRO_PN_ALIAS_pn-lttng2-ust = "OSPDT upstream=http://lttng.org/"
DISTRO_PN_ALIAS_pn-makedepend = "Mandriva=makedepend Ubuntu=xutils-dev"
DISTRO_PN_ALIAS_pn-makedevs = "OE-Core"
DISTRO_PN_ALIAS_pn-matchbox-config-gtk = "OpenedHand"
@@ -223,14 +238,14 @@ DISTRO_PN_ALIAS_pn-matchbox-wm = "OpenedHand"
DISTRO_PN_ALIAS_pn-menu-cache = "OSPDT"
DISTRO_PN_ALIAS_pn-mesa-dri = "Fedora=mesa Ubuntu=libgl1-mesa-dri"
DISTRO_PN_ALIAS_pn-mesa-dri-glsl-native = "Fedora=mesa Ubuntu=libgl1-mesa-dri"
DISTRO_PN_ALIAS_pn-mesa-xlib = "Fedora=mesa Ubuntu=libgl1-mesa-swx11"
DISTRO_PN_ALIAS_pn-meta-environment-i586 = "OE-Core"
DISTRO_PN_ALIAS_pn-meta-ide-support = 'OE-Core'
DISTRO_PN_ALIAS_pn-meta-ide-support = "OE-Core"
DISTRO_PN_ALIAS_pn-meta-toolchain-gmae = "OE-Core"
DISTRO_PN_ALIAS_pn-meta-toolchain = "OE-Core"
DISTRO_PN_ALIAS_pn-meta-toolchain-qte = "OE-Core"
DISTRO_PN_ALIAS_pn-meta-toolchain-sdk = "OE-Core"
DISTRO_PN_ALIAS_pn-mkfontdir = "Mandriva=mkfontdir Ubuntu=xfonts-utils Fedora=xorg-x11-font-utils"
DISTRO_PN_ALIAS_pn-meta-toolchain-sdk = "OE-Core"
DISTRO_PN_ALIAS_pn-mini-x-session = "OSPDT"
DISTRO_PN_ALIAS_pn-mkfontscale = "Mandriva=mkfontscale Ubuntu=xfonts-utils Fedora=xorg-x11-font-utils"
DISTRO_PN_ALIAS_pn-mktemp = "Mandriva=mktemp Fedora=mktemp"
DISTRO_PN_ALIAS_pn-moblin-proto = "OE-Core"
@@ -239,20 +254,53 @@ DISTRO_PN_ALIAS_pn-modutils-initscripts = "OE-Core"
DISTRO_PN_ALIAS_pn-msynctool = "OpenSuse=msynctool Mandriva=msynctool"
DISTRO_PN_ALIAS_pn-n450-audio = "Intel"
DISTRO_PN_ALIAS_pn-network-suspend-scripts = "OE-Core"
DISTRO_PN_ALIAS_pn-nfs-export-root = "OpenedHand"
DISTRO_PN_ALIAS_pn-ocf-linux = "OSPDT"
DISTRO_PN_ALIAS_pn-ofono = "Debian=ofono Ubuntu=ofono"
DISTRO_PN_ALIAS_pn-oh-puzzles = "OpenedHand"
DISTRO_PN_ALIAS_pn-opkg-collateral = "OE-Core"
DISTRO_PN_ALIAS_pn-opkg-config-base = "OE-Core"
DISTRO_PN_ALIAS_pn-opkg-nogpg-native = "OE-Core"
DISTRO_PN_ALIAS_pn-opkg-nogpg-nativesdk = "OE-Core"
DISTRO_PN_ALIAS_pn-opkg-nogpg = "OE-Core"
DISTRO_PN_ALIAS_pn-opkg_nogpg = "OSPDT upstream=http://svn.openmoko.org/trunk/src/tar"
DISTRO_PN_ALIAS_pn-opkg-nogpg = "OSPDT upstream=http://svn.openmoko.org/trunk/src/tar"
DISTRO_PN_ALIAS_pn-opkg = "OSPDT upstream=http://svn.openmoko.org/trunk/src/tar"
DISTRO_PN_ALIAS_pn-opkg-utils = "OSPDT upstream=http://svn.openmoko.org/trunk/src/target/opkg/"
DISTRO_PN_ALIAS_pn-oprofileui = "Fedora=oprofileui Ubuntu=oprofile-gui Debian=oprofile-gui"
DISTRO_PN_ALIAS_pn-oprofileui-server = "Fedora=oprofileui Ubuntu=oprofile-gui Debian=oprofile-gui"
DISTRO_PN_ALIAS_pn-orinoco-conf = "OE-Core"
DISTRO_PN_ALIAS_pn-owl-video = "OpenedHand"
DISTRO_PN_ALIAS_pn-package-index = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-base = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-basic = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-boot = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-clutter = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-console = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-device-devel = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-gtk-directfb = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-lsb = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-nfs = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-qt = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-qt4e = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-sdk-gmae = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-sdk = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-ssh-dropbear = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-ssh-openssh = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-standalone-gmae-sdk-target = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-standalone-sdk-target = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-tools-debug = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-tools = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-tools-profile = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-tools-testapps = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-x11-mini = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-x11 = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-x11-base = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-x11-sato = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-x11-xserver = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-cross-canadian-i586 = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-qt4e = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-qte-toolchain-host = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-qte-toolchain-target = "Intel"
DISTRO_PN_ALIAS_pn-packagegroup-sdk-host = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-self-hosted = "OE-Core"
DISTRO_PN_ALIAS_pn-pointercal = "OE-Core"
DISTRO_PN_ALIAS_pn-poky-feed-config-opkg = "OE-Core"
DISTRO_PN_ALIAS_pn-pong-clock = "OpenedHand"
@@ -273,6 +321,7 @@ DISTRO_PN_ALIAS_pn-python-pygtk = "Debian=python-gtk2 Fedora=pygtk2 OpenSuSE=pyt
DISTRO_PN_ALIAS_pn-python-pyrex = "Mandriva=python-pyrex Ubuntu=python-pyrex"
DISTRO_PN_ALIAS_pn-python-scons = "Fedora=scons OpenSuSE=scons Ubuntu=scons Mandriva=scons Debian=scons"
DISTRO_PN_ALIAS_pn-python-ZSI = "OE-Core"
DISTRO_PN_ALIAS_pn-qemu-helper = "OpenedHand"
DISTRO_PN_ALIAS_pn-qemu-config = "OpenedHand"
DISTRO_PN_ALIAS_pn-qemugl = "OpenedHand"
DISTRO_PN_ALIAS_pn-qemu-helper-native = "OpenedHand"
@@ -283,7 +332,7 @@ DISTRO_PN_ALIAS_pn-qt4-embedded = "OSPDT"
DISTRO_PN_ALIAS_pn-qt4-graphics-system = "OE-Core"
DISTRO_PN_ALIAS_pn-qt4-native = "Fedora=qt4 Debian=qt4-dev-tools"
DISTRO_PN_ALIAS_pn-qt4-native = "Mandriva=libqt4-devel Ubuntu=libqt4-dev"
DISTRO_PN_ALIAS_pn-qt4-tools-nativesdk = "Mandriva=libqt4-devel Ubuntu=libqt4-dev"
DISTRO_PN_ALIAS_pn-qt4-tools = "Mandriva=libqt4-devel Ubuntu=libqt4-dev"
DISTRO_PN_ALIAS_pn-qt4-x11-free = "Ubuntu=qt-x11-free Debian=qt-x11-free"
DISTRO_PN_ALIAS_pn-qt-demo-init = "OE-Core"
DISTRO_PN_ALIAS_pn-qt-mobility-embedded = "Ubuntu=qtmobility-dev Debian=qtmobility-dev"
@@ -291,6 +340,7 @@ DISTRO_PN_ALIAS_pn-qt-mobility-x11 = "Ubuntu=qtmobility-dev Debian=qtmobility-de
DISTRO_PN_ALIAS_pn-quicky = "OSPDT"
DISTRO_PN_ALIAS_pn-randrproto = "Meego=xorg-x11-proto-randrproto"
DISTRO_PN_ALIAS_pn-recordproto = "Meego=xorg-x11-proto-recordproto"
DISTRO_PN_ALIAS_pn-remake = "Mandriva=remake Debian=remake"
DISTRO_PN_ALIAS_pn-renderproto = "Meego=xorg-x11-proto-renderproto"
DISTRO_PN_ALIAS_pn-resourceproto = "Meego=xorg-x11-proto-resourceproto"
DISTRO_PN_ALIAS_pn-rgb = "Fedora=xorg-X11-server-utils Debian=x11-xserver-utils"
@@ -306,6 +356,7 @@ DISTRO_PN_ALIAS_pn-sgmlspl = "Debian=sgmlspl Ubuntu=sgmlspl"
DISTRO_PN_ALIAS_pn-shadow-securetty = "Ubuntu=shadow Fedora=shadow"
DISTRO_PN_ALIAS_pn-shadow-sysroot = "Ubuntu=shadow Fedora=shadow"
DISTRO_PN_ALIAS_pn-shasum-native = "OE-Core"
DISTRO_PN_ALIAS_pn-shutdown-desktop = "OpenedHand"
DISTRO_PN_ALIAS_pn-signgp-native = "OE-Core"
DISTRO_PN_ALIAS_pn-stat = "Debian=coreutils Fedora=coreutils"
DISTRO_PN_ALIAS_pn-swabber-native = "OE-Core"
@@ -313,41 +364,14 @@ DISTRO_PN_ALIAS_pn-systemtap-uprobes = "Ubuntu=systemtap Debian=systemtap"
DISTRO_PN_ALIAS_pn-sysvinit-inittab = "OE-Core"
DISTRO_PN_ALIAS_pn-table = "Intel"
DISTRO_PN_ALIAS_pn-tar-replacement-native = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-base = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-basic = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-boot = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-clutter = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-console = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-gtk-directfb = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-lsb = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-nfs = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-qt = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-sdk-gmae = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-sdk = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-ssh-dropbear = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-ssh-openssh = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-standalone-gmae-sdk-target = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-standalone-sdk-target = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-tools-debug = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-tools = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-tools-profile = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-tools-testapps = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-x11-mini = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-x11 = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-core-x11-sato = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-cross-canadian-i586 = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-qt4e = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-qte-toolchain-host-nativesdk = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-qte-toolchain-host-natives = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-qte-toolchain-target = "Intel"
DISTRO_PN_ALIAS_pn-packagegroup-sdk-host = "OE-Core"
DISTRO_PN_ALIAS_pn-packagegroup-self-hosted = "OE-Core"
DISTRO_PN_ALIAS_pn-tcf-agent = "Windriver upstream=http://www.eclipse.org/dsdp/tm/"
DISTRO_PN_ALIAS_pn-telepathy-python = "Debian=telepathy-python Ubuntu=telepathy-python"
DISTRO_PN_ALIAS_pn-tiny-init = "OSPDT"
DISTRO_PN_ALIAS_pn-tinylogin = "Debian=busybox Ubuntu=busybox Mandriva=busybox"
DISTRO_PN_ALIAS_pn-trace-cmd = "Mandriva=trace-cmd Ubuntu=trace-cmd"
DISTRO_PN_ALIAS_pn-trapproto = "Meego=xorg-x11-proto-trapproto"
DISTRO_PN_ALIAS_pn-tremor = "OSPDT upstream=http://www.xiph.org/vorbis/"
DISTRO_PN_ALIAS_pn-tslib = "Debian=tslib Ubuntu=tslib"
DISTRO_PN_ALIAS_pn-ttf-bitstream-vera = "Debian=ttf-bitstream-vera Ubuntu=ttf-bitstream-vera"
DISTRO_PN_ALIAS_pn-tzcode = "OSPDT"
DISTRO_PN_ALIAS_pn-ubootchart = "OSPDT upstream=http://code.google.com/p/ubootchart"
@@ -363,14 +387,17 @@ DISTRO_PN_ALIAS_pn-util-macros = "Meego=xorg-x11-util-macros Fedora=xorg-x11-uti
DISTRO_PN_ALIAS_pn-v86d = "Debian=v86d Ubuntu=v86d"
DISTRO_PN_ALIAS_pn-videoproto = "Meego=xorg-x11-proto-videoproto"
DISTRO_PN_ALIAS_pn-watchdog = "Debian=watchdog Ubuntu=watchdog Mandriva=watchdog"
DISTRO_PN_ALIAS_pn-webkit-gtk = "Fedora=webkitgtk"
DISTRO_PN_ALIAS_pn-webkit-gtk = "Fedora=webkitgtk Ubuntu=libwebkit"
DISTRO_PN_ALIAS_pn-web = "OpenedHand"
DISTRO_PN_ALIAS_pn-web-webkit = "OpenedHand"
DISTRO_PN_ALIAS_pn-which = "Mandriva=which Fedora=which"
DISTRO_PN_ALIAS_pn-wpa-supplicant = "Meego=wpa_supplicant Fedora=wpa_supplicant OpenSuSE=wpa_supplicant Ubuntu=wpasupplicant Mandriva=wpa_supplicant Debian=wpasupplicant"
DISTRO_PN_ALIAS_pn-x11-common = "OE-Core"
DISTRO_PN_ALIAS_pn-x11perf = "Fedora=xorg-x11-apps Ubuntu=x11-apps"
DISTRO_PN_ALIAS_pn-x11vnc = "Fedora=x11vnc Ubuntu=x11vnc"
DISTRO_PN_ALIAS_pn-xcb-util-wm = "Debian=xcb-util Fedora=xcb-util"
DISTRO_PN_ALIAS_pn-xcb-util-image = "Debian=xcb-util Fedora=xcb-util"
DISTRO_PN_ALIAS_pn-xcb-util-keysyms = "Debian=xcb-util Fedora=xcb-util"
DISTRO_PN_ALIAS_pn-xcmiscproto = "Meego=xorg-x11-proto-xcmiscproto"
DISTRO_PN_ALIAS_pn-xcursor-transparent-theme = "OpenedHand"
DISTRO_PN_ALIAS_pn-xdpyinfo = "Fedora=xorg-x11-utils Ubuntu=x11-utils"
@@ -409,7 +436,6 @@ DISTRO_PN_ALIAS_pn-xserver-xf86-config = "OE-Core"
DISTRO_PN_ALIAS_pn-xserver-xf86-dri-lite = "Fedora=xorg-x11-server Ubuntu=xserver-xorg"
DISTRO_PN_ALIAS_pn-xserver-xf86-lite = "Fedora=xorg-x11-server Ubuntu=xserver-xorg"
DISTRO_PN_ALIAS_pn-xserver-xorg = "Fedora=xorg-x11-server Ubuntu=xserver-xorg"
DISTRO_PN_ALIAS_pn-xserver-xorg-lite = "Fedora=xorg-x11-server Ubuntu=xserver-xorg"
DISTRO_PN_ALIAS_pn-xset = "Fedora=xorg-x11-server-utils Ubuntu=x11-xserver-utils Debian=x11-xserver-utils Opensuse=xorg-x11"
DISTRO_PN_ALIAS_pn-xtscal = "OSPDT upstream=http://gpe.linuxtogo.org/download/source/"
DISTRO_PN_ALIAS_pn-xvideo-tests = "OpenedHand"

View File

@@ -358,7 +358,6 @@ RECIPE_MAINTAINER_pn-libuser = "Valentin Popa <valentin.popa@intel.com>"
RECIPE_MAINTAINER_pn-libvorbis = "Cristian Iorga <cristian.iorga@intel.com>"
RECIPE_MAINTAINER_pn-libx11 = "Valentin Popa <valentin.popa@intel.com>"
RECIPE_MAINTAINER_pn-libx11-diet = "Kai Kang <kai.kang@windriver.com>"
RECIPE_MAINTAINER_pn-libx11-trim = "Valentin Popa <valentin.popa@intel.com>"
RECIPE_MAINTAINER_pn-libxau = "Valentin Popa <valentin.popa@intel.com>"
RECIPE_MAINTAINER_pn-libxaw = "Valentin Popa <valentin.popa@intel.com>"
RECIPE_MAINTAINER_pn-libxcalibrate = "Valentin Popa <valentin.popa@intel.com>"
@@ -449,7 +448,6 @@ RECIPE_MAINTAINER_pn-mdadm = "Laurentiu Palcu <laurentiu.palcu@intel.com>"
RECIPE_MAINTAINER_pn-menu-cache = "Valentin Popa <valentin.popa@intel.com>"
RECIPE_MAINTAINER_pn-mesa-dri = "Valentin Popa <valentin.popa@intel.com>"
RECIPE_MAINTAINER_pn-mesa-dri-glsl-native = "Valentin Popa <valentin.popa@intel.com>"
RECIPE_MAINTAINER_pn-mesa-xlib = "Valentin Popa <valentin.popa@intel.com>"
RECIPE_MAINTAINER_pn-meta-ide-support = "Saul Wold <sgw@linux.intel.com>"
RECIPE_MAINTAINER_pn-metacity = "Valentin Popa <valentin.popa@intel.com>"
RECIPE_MAINTAINER_pn-mingetty = "Kai Kang <kai.kang@windriver.com>"
@@ -722,7 +720,6 @@ RECIPE_MAINTAINER_pn-xrestop = "Laurentiu Palcu <laurentiu.palcu@intel.com>"
RECIPE_MAINTAINER_pn-xserver-nodm-init = "Laurentiu Palcu <laurentiu.palcu@intel.com>"
RECIPE_MAINTAINER_pn-xserver-xf86-config = "Laurentiu Palcu <laurentiu.palcu@intel.com>"
RECIPE_MAINTAINER_pn-xserver-xorg = "Laurentiu Palcu <laurentiu.palcu@intel.com>"
RECIPE_MAINTAINER_pn-xserver-xorg-lite = "Kai Kang <kai.kang@windriver.com>"
RECIPE_MAINTAINER_pn-xset = "Laurentiu Palcu <laurentiu.palcu@intel.com>"
RECIPE_MAINTAINER_pn-xtrans = "Laurentiu Palcu <laurentiu.palcu@intel.com>"
RECIPE_MAINTAINER_pn-xtscal = "Laurentiu Palcu <laurentiu.palcu@intel.com>"

View File

@@ -210,7 +210,6 @@ RECIPE_COLOR_pn-liburcu = "yellow"
RECIPE_COLOR_pn-libusb1 = "yellow"
RECIPE_COLOR_pn-libuser = "yellow"
RECIPE_COLOR_pn-libx11 = "yellow"
RECIPE_COLOR_pn-libx11-trim = "yellow"
RECIPE_COLOR_pn-libxau = "yellow"
RECIPE_COLOR_pn-libxaw = "red"
RECIPE_COLOR_pn-libxcalibrate = "yellow"

File diff suppressed because it is too large Load Diff

View File

@@ -37,7 +37,7 @@ DISTRO = "poky-tiny"
# Distro config is evaluated after the machine config, so we have to explicitly
# set the kernel provider to override a machine config.
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-tiny"
PREFERRED_VERSION_linux-yocto-tiny = "3.2%"
PREFERRED_VERSION_linux-yocto-tiny = "3.4%"
# We can use packagegroup-core-boot, but in the future we may need a new packagegroup-core-tiny
#POKY_DEFAULT_EXTRA_RDEPENDS += "packagegroup-core-boot"
@@ -63,6 +63,7 @@ ASSUME_PROVIDED += "pkgconfig$"
# Reconfigure eglibc for a smaller installation
# Comment out any of the lines below to disable them in the build
DISTRO_FEATURES_LIBC_TINY = "libc-libm libc-crypt"
DISTRO_FEATURES_LIBC_TINY_append_x86-64 = " libc-libm-big"
# Required for "who"
DISTRO_FEATURES_LIBC_MINIMAL = "libc-utmp libc-getlogin"

View File

@@ -1,8 +1,8 @@
DISTRO = "poky"
DISTRO_NAME = "Yocto (Built by Poky 7.0)"
DISTRO_VERSION = "1.2+snapshot-${DATE}"
DISTRO_NAME = "Poky 8.0 (Yocto Project 1.3 Reference Distro)"
DISTRO_VERSION = "1.3"
SDK_VENDOR = "-pokysdk"
SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}"
SDK_VERSION := "${DISTRO_VERSION}"
MAINTAINER = "Poky <poky@yoctoproject.org>"
@@ -62,25 +62,33 @@ https://.*/.* http://downloads.yoctoproject.org/mirror/sources/ \n"
# The CONNECTIVITY_CHECK_URI's are used to test whether we can succesfully
# fetch from the network (and warn you if not). To disable the test set
# the variable to be empty.
CONNECTIVITY_CHECK_URIS ?= "git://git.yoctoproject.org/yocto-firewall-test;protocol=git;rev=HEAD \
https://eula-downloads.yoctoproject.org/index.php \
http://bugzilla.yoctoproject.org/report.cgi"
# Git example url: git://git.yoctoproject.org/yocto-firewall-test;protocol=git;rev=HEAD
CONNECTIVITY_CHECK_URIS ?= " \
https://eula-downloads.yoctoproject.org/index.php \
http://bugzilla.yoctoproject.org/report.cgi"
SANITY_TESTED_DISTROS ?= " \
Yocto (Built by Poky 7.0) 1.2 \n \
Yocto (Built by Poky 8.0) 1.3 \n \
Poky 7.0 (Yocto Project 1.2 Reference Distro) 1.2 \n \
Poky 8.0 (Yocto Project 1.3 Reference Distro) 1.3 \n \
Ubuntu 10.04.4 LTS \n \
Ubuntu 11.10 \n \
Ubuntu 12.04 LTS \n \
Ubuntu 12.04.1 LTS \n \
Fedora release 15 (Lovelock) \n \
Ubuntu 12.10 \n \
Fedora release 16 (Verne) \n \
Fedora release 17 (Beefy Miracle) \n \
Fedora release 18 (Spherical Cow) \n \
CentOS release 5.6 (Final) \n \
CentOS release 5.7 (Final) \n \
CentOS release 6.2 (Final) \n \
Debian GNU/Linux 6.0.4 (squeeze) \n \
CentOS release 5.8 (Final) \n \
CentOS release 6.3 (Final) \n \
Debian GNU/Linux 6.0.6 (squeeze) \n \
openSUSE 11.4 \n \
openSUSE 12.1 \n \
openSUSE 12.2 \n \
"
# Default hash policy for distro
@@ -93,6 +101,10 @@ BB_SIGNATURE_HANDLER ?= 'OEBasicHash'
#
OELAYOUT_ABI = "8"
WARN_QA = "unsafe-references-in-binaries unsafe-references-in-scripts"
# add poky sanity bbclass
INHERIT += "poky-sanity"
#WARN_QA = "unsafe-references-in-binaries unsafe-references-in-scripts"
WARN_QA = ""
ERROR_QA = "dev-so debug-deps dev-deps debug-files arch la2 pkgconfig la perms useless-rpaths rpaths staticdev ldflags"

View File

@@ -141,7 +141,7 @@ PACKAGE_CLASSES ?= "package_rpm"
# (useful if you want to develop against libs in the image)
# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
# "tools-debug" - add debugging tools (gdb, strace)
# "tools-profile" - add profiling tools (oprofile, exmap, lttng valgrind (x86 only))
# "tools-profile" - add profiling tools (oprofile, exmap, lttng, valgrind)
# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
# "debug-tweaks" - make an image suitable for development
# e.g. ssh root access has a blank password

View File

@@ -89,92 +89,105 @@ oe_runconf () {
AUTOTOOLS_AUXDIR ?= "${S}"
autotools_do_configure() {
case ${PN} in
autoconf*)
;;
automake*)
;;
*)
# WARNING: gross hack follows:
# An autotools built package generally needs these scripts, however only
# automake or libtoolize actually install the current versions of them.
# This is a problem in builds that do not use libtool or automake, in the case
# where we -need- the latest version of these scripts. e.g. running a build
# for a package whose autotools are old, on an x86_64 machine, which the old
# config.sub does not support. Work around this by installing them manually
# regardless.
( for ac in `find ${S} -name configure.in -o -name configure.ac`; do
rm -f `dirname $ac`/configure
done )
if [ -e ${S}/configure.in -o -e ${S}/configure.ac ]; then
olddir=`pwd`
cd ${S}
# Remove any previous copy of the m4 macros
rm -rf ${B}/aclocal-copy/
if [ x"${acpaths}" = xdefault ]; then
acpaths=
for i in `find ${S} -maxdepth 2 -name \*.m4|grep -v 'aclocal.m4'| \
grep -v 'acinclude.m4' | sed -e 's,\(.*/\).*$,\1,'|sort -u`; do
acpaths="$acpaths -I $i"
done
else
acpaths="${acpaths}"
fi
AUTOV=`automake --version |head -n 1 |sed "s/.* //;s/\.[0-9]\+$//"`
automake --version
echo "AUTOV is $AUTOV"
if [ -d ${STAGING_DATADIR_NATIVE}/aclocal-$AUTOV ]; then
acpaths="$acpaths -I${STAGING_DATADIR_NATIVE}/aclocal-$AUTOV"
fi
# The aclocal directory could get modified by other processes
# uninstalling data from the sysroot. See Yocto #861 for details.
# We avoid this by taking a copy here and then files cannot disappear.
if [ -d ${STAGING_DATADIR}/aclocal ]; then
# for scratch build this directory can be empty
# so avoid cp's no files to copy error
cp-noerror ${STAGING_DATADIR}/aclocal ${B}/aclocal-copy/
acpaths="$acpaths -I ${B}/aclocal-copy/"
fi
# autoreconf is too shy to overwrite aclocal.m4 if it doesn't look
# like it was auto-generated. Work around this by blowing it away
# by hand, unless the package specifically asked not to run aclocal.
if ! echo ${EXTRA_AUTORECONF} | grep -q "aclocal"; then
rm -f aclocal.m4
fi
if [ -e configure.in ]; then
CONFIGURE_AC=configure.in
else
CONFIGURE_AC=configure.ac
fi
if ! echo ${EXTRA_OECONF} | grep -q "\-\-disable-nls"; then
if grep "^[[:space:]]*AM_GLIB_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then
if grep "sed.*POTFILES" $CONFIGURE_AC >/dev/null; then
: do nothing -- we still have an old unmodified configure.ac
else
bbnote Executing glib-gettextize --force --copy
echo "no" | glib-gettextize --force --copy
fi
else if grep "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then
# We'd call gettextize here if it wasn't so broken...
cp ${STAGING_DATADIR}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/
if [ -d ${S}/po/ -a ! -e ${S}/po/Makefile.in.in ]; then
cp ${STAGING_DATADIR}/gettext/po/Makefile.in.in ${S}/po/
fi
fi
fi
fi
mkdir -p m4
if grep "^[[:space:]]*[AI][CT]_PROG_INTLTOOL" $CONFIGURE_AC >/dev/null; then
bbnote Executing intltoolize --copy --force --automake
intltoolize --copy --force --automake
fi
bbnote Executing autoreconf --verbose --install --force ${EXTRA_AUTORECONF} $acpaths
autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || bbfatal "autoreconf execution failed."
cd $olddir
CONFIGURESTAMPFILE = "${WORKDIR}/configure.sstate"
autotools_preconfigure() {
if [ -n "${CONFIGURESTAMPFILE}" -a -e "${CONFIGURESTAMPFILE}" ]; then
if [ "`cat ${CONFIGURESTAMPFILE}`" != "${BB_TASKHASH}" -a "${S}" != "${B}" ]; then
echo "Previously configured separate build directory detected, cleaning ${B}"
rm -rf ${B}
mkdir ${B}
fi
;;
esac
fi
}
autotools_postconfigure(){
if [ -n "${CONFIGURESTAMPFILE}" ]; then
echo ${BB_TASKHASH} > ${CONFIGURESTAMPFILE}
fi
}
do_configure[prefuncs] += "autotools_preconfigure"
do_configure[postfuncs] += "autotools_postconfigure"
autotools_do_configure() {
# WARNING: gross hack follows:
# An autotools built package generally needs these scripts, however only
# automake or libtoolize actually install the current versions of them.
# This is a problem in builds that do not use libtool or automake, in the case
# where we -need- the latest version of these scripts. e.g. running a build
# for a package whose autotools are old, on an x86_64 machine, which the old
# config.sub does not support. Work around this by installing them manually
# regardless.
( for ac in `find ${S} -name configure.in -o -name configure.ac`; do
rm -f `dirname $ac`/configure
done )
if [ -e ${S}/configure.in -o -e ${S}/configure.ac ]; then
olddir=`pwd`
cd ${S}
# Remove any previous copy of the m4 macros
rm -rf ${B}/aclocal-copy/
if [ x"${acpaths}" = xdefault ]; then
acpaths=
for i in `find ${S} -maxdepth 2 -name \*.m4|grep -v 'aclocal.m4'| \
grep -v 'acinclude.m4' | sed -e 's,\(.*/\).*$,\1,'|sort -u`; do
acpaths="$acpaths -I $i"
done
else
acpaths="${acpaths}"
fi
AUTOV=`automake --version |head -n 1 |sed "s/.* //;s/\.[0-9]\+$//"`
automake --version
echo "AUTOV is $AUTOV"
if [ -d ${STAGING_DATADIR_NATIVE}/aclocal-$AUTOV ]; then
acpaths="$acpaths -I${STAGING_DATADIR_NATIVE}/aclocal-$AUTOV"
fi
# The aclocal directory could get modified by other processes
# uninstalling data from the sysroot. See Yocto #861 for details.
# We avoid this by taking a copy here and then files cannot disappear.
if [ -d ${STAGING_DATADIR}/aclocal ]; then
# for scratch build this directory can be empty
# so avoid cp's no files to copy error
cp-noerror ${STAGING_DATADIR}/aclocal ${B}/aclocal-copy/
acpaths="$acpaths -I ${B}/aclocal-copy/"
fi
# autoreconf is too shy to overwrite aclocal.m4 if it doesn't look
# like it was auto-generated. Work around this by blowing it away
# by hand, unless the package specifically asked not to run aclocal.
if ! echo ${EXTRA_AUTORECONF} | grep -q "aclocal"; then
rm -f aclocal.m4
fi
if [ -e configure.in ]; then
CONFIGURE_AC=configure.in
else
CONFIGURE_AC=configure.ac
fi
if ! echo ${EXTRA_OECONF} | grep -q "\-\-disable-nls"; then
if grep "^[[:space:]]*AM_GLIB_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then
if grep "sed.*POTFILES" $CONFIGURE_AC >/dev/null; then
: do nothing -- we still have an old unmodified configure.ac
else
bbnote Executing glib-gettextize --force --copy
echo "no" | glib-gettextize --force --copy
fi
else if grep "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then
# We'd call gettextize here if it wasn't so broken...
cp ${STAGING_DATADIR}/gettext/config.rpath ${AUTOTOOLS_AUXDIR}/
if [ -d ${S}/po/ -a ! -e ${S}/po/Makefile.in.in ]; then
cp ${STAGING_DATADIR}/gettext/po/Makefile.in.in ${S}/po/
fi
fi
fi
fi
mkdir -p m4
if grep "^[[:space:]]*[AI][CT]_PROG_INTLTOOL" $CONFIGURE_AC >/dev/null; then
bbnote Executing intltoolize --copy --force --automake
intltoolize --copy --force --automake
fi
bbnote Executing autoreconf --verbose --install --force ${EXTRA_AUTORECONF} $acpaths
autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || bbfatal "autoreconf execution failed."
cd $olddir
fi
if [ -e ${S}/configure ]; then
oe_runconf
else

View File

@@ -0,0 +1,36 @@
#
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# Common variable and task for the binary package recipe.
# Basic principle:
# * The files have been unpacked to ${S} by base.bbclass
# * Skip do_configure and do_compile
# * Use do_install to install the files to ${D}
#
# Note:
# The "subdir" parameter in the SRC_URI is useful when the input package
# is rpm, ipk, deb and so on, for example:
#
# SRC_URI = "http://foo.com/foo-1.0-r1.i586.rpm;subdir=foo-1.0"
#
# Then the files would be unpacked to ${WORKDIR}/foo-1.0, otherwise
# they would be in ${WORKDIR}.
#
# Skip the unwanted steps
do_configure[noexec] = "1"
do_compile[noexec] = "1"
# Install the files to ${D}
bin_package_do_install () {
# Do it carefully
[ -d "${S}" ] || exit 1
cd ${S} || exit 1
tar --no-same-owner --exclude='./patches' --exclude='./.pc' -cpf - . \
| tar --no-same-owner -xpf - -C ${D}
}
FILES_${PN} = "/"
EXPORT_FUNCTIONS do_install

Some files were not shown because too many files have changed in this diff Show More