Compare commits

..

434 Commits

Author SHA1 Message Date
Richard Purdie
4d8ab87d25 build-appliance: Update SRCREV
(From OE-Core rev: 821037700ae61fff6a63d4cdb68559c5fcc96fde)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 18:09:12 +01:00
Richard Purdie
8bf8fe09f9 poky: Update to 1.5 release version
(From meta-yocto rev: 3e2cde70c10393e8358a42841bc2acce19fc65a6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 18:04:16 +01:00
Richard Purdie
3059b09223 bitbake: bitbake: Update to version 1.20.0
(Bitbake rev: 2666865a27cedbffc82800b4cab1d6cff5a0222e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 18:04:16 +01:00
Saul Wold
28af70d975 wget: remove po.m4 patch
The po.m4 file is deleted by the more recent autotools.bbclass
autotools_do_configure code which handles gettext. There is therefore
no point in patching the file anymore.

(From OE-Core rev: 986c660cdb34e23a9c72f219db9363a6b4e4b7ec)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 17:57:04 +01:00
Saul Wold
68db43e279 texi2html: remove po.m4 patch
The po.m4 file is deleted by the more recent autotools.bbclass
autotools_do_configure code which handles gettext. There is therefore
no point in patching the file anymore.

(From OE-Core rev: c3265281c3ab0979ec2753eb7580c39b005d5fa9)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 17:57:04 +01:00
Roy Li
495d05ce7d ptest-runner: compatibile with busybox
Do not use pushd, busybox does not support it if system only has busybox;
Replace find command with ls to avoid some busybox's find unsupported options;

(From OE-Core rev: 1f059654bc81e55896c96c7c8e32e09f8925a761)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 17:57:04 +01:00
Muhammad Shakeel
bd5c5f012c systemd: fix ptest support
Currently do_install_ptest_base is failing because it cannot find
'test' directory in build dir, ${B}. 'test' directory is present in source
dir, ${S}. Same is true for build-aux/test-driver and test/sys.tar.xz.

Also this fixes:
QA Issue: systemd: Files/directories were installed but not shipped
  /usr/lib/udev
  /usr/lib/udev/rules.d

(From OE-Core rev: bec8a29fb27ccdada0839d0bdd67ae22179a94e8)

Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 17:57:04 +01:00
Roy Li
a2a544d62c perl: do not use pushd
pushd is not available when system is using dash as default shell

(From OE-Core rev: ec7e738845f72888b0016340d7da636e5ec46a1b)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 17:57:03 +01:00
Paul Eggleton
02af823c00 grub: don't patch generated configure to fix do_patch re-execution
If do_patch re-executes, patching the configure script will fail because
it will have been regenerated during do_configure. We're patching
configure.ac so we don't need to patch configure anyway.

(From OE-Core rev: ae98a95577ba9c8a6a0d9a78d4cea33a92adff35)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 17:57:03 +01:00
Paul Eggleton
f79b21a57b scripts/runqemu: write temp file into correct location
We want the temporary file to be written in /tmp not the current
directory.

(From OE-Core rev: fcb40c11998030eb5fce89ce5a9ca567870aafa9)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 17:57:03 +01:00
Belen Barros Pena
ebdc88aafd documentation.conf: update contents
Documentation.conf is used in WebHob to display
information strings about the collected variables.

This patch brings the file up-to-date with latest
information available from the manual.

(From OE-Core rev: b9743c7b130bda3e50cdba4cf260232f1c24abcd)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 17:57:03 +01:00
Saul Wold
e0a351b913 sysvinit: don't use useradd
It causes shadow to be used in core-image-minimal and increase the
size by 1.5M.  We will add the shutdown user to group via base-passwd
which we depend upon instead.

[YOCTO #5230]

(From OE-Core rev: e33e4c30a4fa5b98903d6a46cdcc5bca9cf50848)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 17:24:14 +01:00
Saul Wold
5f9ee672a0 base-passwd: add shutdown group
Since using useradd in sysvinit causes core-image-minimal to
gain shadow utilites instead of using busybox, we add the
shutdown group directly.

[YOCTO #5230]

(From OE-Core rev: 47ebf756efeb88727459165e00c16671854e19a9)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 17:24:14 +01:00
Richard Purdie
139e887c9a shadow: Turn shadow-native into a BBCLASSEXTEND
(From OE-Core rev: 44fafdb5eca1fc8766bf649bc78e770e1d18979d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 17:24:14 +01:00
Richard Purdie
9bed1a3e52 shadow: Move common code to shadow.inc
(From OE-Core rev: ec64632d312a099c7c544af63b25e2defde0038e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 17:24:14 +01:00
Joe Slater
1146eeb5b7 webkit-gtk: limit ld memory requirement
Add --no-keep-memory to LDFLAGS.

(From OE-Core rev: 223ee6bb7447dd64e9c407415675261cc1fdb6f4)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 17:24:14 +01:00
Darren Hart
1917544d2f init-install-efi.sh: Remove unnecessary udev rules file to avoid errors
Fixes [YOCTO #5233]

Modeled after Chen Qi's fix to [YOCTO #3924] from oe-core commit:
6b6db7b4fb7aa17b8e29076decc830149b9d35bc
init-install.sh: remove unnecessary udev rules file to avoid error messages

/etc/udev/scripts/mount.sh is removed by init-install-efi.sh, but the
udev rules file which specifies the invocation of this script is not
removed, thus causing the error message during a live install:

/etc/udev/scripts/mount.sh: No such file or directory

The /etc/udev/rules/automount.rules no longer works once the mount.sh
script is removed. Remove it to avoid the error message.

(From OE-Core rev: 1f5a2b616d902b1158e348bf8c33b6d36e21cadc)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Cc: mihaix.lindner@linux.intel.com
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 17:24:14 +01:00
Darren Hart
e42fefe717 init-install-efi.sh: Fix root= specification
Fixes [YOCTO #5237]

The current grub.cfg manipulation depends on an existing root=
parameter. If this doesn't exist, the correct root= parameter will not
be added.

Instead, remove any existing root= parameters and add the correct one
explicitly.

(From OE-Core rev: 14b124122c1b7d10b9a3a96fe4617c6fc1c661c5)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Cc: mihaix.lindner@linux.intel.com
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 17:24:14 +01:00
Laurentiu Palcu
cbc12aac86 package_deb, apt.conf: fix apt failure in do_rootfs()
The changes in this commit, dc5f6c3898,
moved apt config directory from native SYSROOT to WORKDIR.
Unfortunately, Dir::Etc in apt.conf was not changed accordingly and
sources.list file could not be found during do_rootfs().

This commit fixes this issue.

[YOCTO #5241]

(From OE-Core rev: 65a2a1e1d0b0e3dcc34d47f46185f24d753b53dd)

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>
2013-09-24 17:24:14 +01:00
Saul Wold
729033237b elfutils: remove configure bits from patch
That is a generated file and patching it might fail, the patch already patches configure.ac
which will have the configure file regenerated.

(From OE-Core rev: daa56093de3a518b79480c90ec5124a79189bf7b)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 17:24:13 +01:00
David Nyström
a60c6b3bdc libpam: Avoid host contamination issue w. libprelude
Since we dont use prelude in OE, we just disable autodetection of
prelude in the libpam configuration.

Seems like an old bug:
http://lists.openembedded.org/pipermail/openembedded-devel/2012-March/083804.html

(From OE-Core rev: 9096c6a46cf2467c90873c235b4533faf97d6175)

Signed-off-by: David Nyström <david.nystrom@enea.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 17:24:13 +01:00
David Nyström
ad311a1931 makedevs: add nativesdk to BBCLASSEXTEND
This is a first in a series of patches to add items
to the nativesdk toolchain tarball.
Many of which are Yocto specific and needed to create a
rootfs with pre and post install hooks successfully run,
using only the toolchain tarball.

End goal is to create a sandbox where _users_ can customize a rootfs from a
package feed with their package manager of choice.

(From OE-Core rev: e70019bcdce83ae2a202338518f8725775abaa32)

Signed-off-by: David Nyström <david.nystrom@enea.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 17:24:13 +01:00
Richard Purdie
49e754aca3 autoconf: Add fix for sh verses bash issues
Libtool scripts were finding bash was /bin/sh and then using bashisms which
then got into sstate and used on machines where /bin/sh might be dash.

This changes things to search for bash first since its preferred. We then hardcode
bash into the scripts which is more correct.

This does mean we have a dependency on bash but many of our scripts have
that anyway.

(From OE-Core rev: 367a19aaf31bcf997f10d045e7954cc800189052)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 17:24:13 +01:00
Ross Burton
dd4b362193 qemu: don't claim support for IrDA and PCMCIA
QEMU machines don't have virtual IrDA or PCMCIA hardware, so don't claim to
support them.

(From OE-Core rev: 694ca965eea971077e135cda4e54fa1cb0243233)

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>
2013-09-24 17:24:13 +01:00
Lukas Bulwahn
44d74f6ca4 boost: set up PACKAGECONFIG for boost-python library
Until now, the comment in the boost.inc file suggested to enable
the boost-python library by uncommenting some lines in that file.
Using the new PACKAGECONFIG feature, boost-python can now be added
optionally without need to modify the file or copying those lines
into a bbappend file.
Furthermore, we obtain the python version by inheriting python-dir
instead of fixing the python version in this file.

This commit is motivated by the need in the meta-ros layer, as
discussed in the issue #145 of the meta-ros issue tracker [1].

[1] https://github.com/bmwcarit/meta-ros/pull/145

(From OE-Core rev: 7568bfdd114597956a1da68746f207ec7f93a48d)

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 17:24:13 +01:00
Bruce Ashfield
f9c1ac34b6 kern-tools: fix multi patch application without headers
Updating the kern-tools SRCREV to import the following change:

    kgit-s2q: always update ORIG_HEAD after applying changes

    In situations where git am fails to apply patches, and git apply is used,
    we must update ORIG_HEAD as well as HEAD. This is required, since if the
    next patch in the queue also fails git am application, it will reset to
    ORIG_HEAD before using git apply. If we haven't updated ORIG_HEAD, we'll
    end up warping back to the top of the branch each time.

This problem can only be seen in very specific situations, in particular if
a generated BSP branches from qemuppc, and has a series of non git "am able"
patches. We fail, since all of the qemuppc patches are not applied due to
the branch head constantly being reset.

(From OE-Core rev: 5126ac0aeb3154d31769dc20a46b6b1a6b2e3d9b)

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>
2013-09-24 17:24:12 +01:00
Robert Yang
c68888f762 telepathy-mission-control: do_compile failed (race issue)
There might be an error when parallel build:

[snip]
Traceback (most recent call last):
  File "/path/to/tools/glib-gtypes-generator.py", line 304, in <module>
    GTypesGenerator(dom, argv[1], argv[2])()
  File "/path/to/tools/glib-gtypes-generator.py", line 295, in __call__
    file_set_contents(self.output + '.h', ''.join(self.header))
  File "/path/to/tools/libtpcodegen.py", line 42, in file_set_contents
    os.rename(filename + '.tmp', filename)
OSError: [Errno 2] No such file or directory
[snip]

This is a race issue, the _gen/gtypes.h and _gen/gtypes-body.h may
write(remove/rename) _gen/gtypes.tmp at the same time, then there would
be the error.

There was a similar bug in telepathy-glib which was already fixed, we use the
similar patch to fix it here.

[YOCTO #5184]

(From OE-Core rev: b0f81f460cf96798d79d72da7a3246c321caf654)

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>
2013-09-24 17:24:12 +01:00
Paul Eggleton
a897186059 libav: make X11 dependencies dependent on DISTRO_FEATURES
This enables building libav when x11 is not in DISTRO_FEATURES.

(From OE-Core rev: 9b7131e855293064e044cd79259eb350a14f319b)

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>
2013-09-24 17:24:12 +01:00
Stefan Stanacar
95455bc3e2 classes/testimage: add informational messages about tests and do some cleanup/formatting
Adds info about tests run even if they passed (in case of errors log will
be printed anyway). Also some style change for qemu object.

(From OE-Core rev: 4adcf960be9c7477e314788d42b80753c2aaf572)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 17:24:12 +01:00
Chen Qi
80203494aa image.bbclass: uninstall package only if it's already installed
Remove a package from rootfs only if it's already installed. Also,
if a package is uninstalled, remove it from installed_pkgs.txt.

[YOCTO #5169]

(From OE-Core rev: b86dc63bc87763119fce8286f37f44361da824d0)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 17:24:12 +01:00
Roy Li
8c5f345497 sstate.bbclass: ignore the tar failure.
sstate_package creates hardlink from sysroot to SSTATE_BUILDDIR, and
sstate_create_package stores SSTATE_BUILDDIR into a archive file by
tar, these two task can be run simultaneously for different packages,
and make a hardlink for a file will lead to the change of the links
number of file, and if tar is reading this file, it will fail with exit
code 1, and report "file changed as we read it":

    DEBUG: Executing shell function sstate_create_package
    tar: x86_64-linux/usr/share/aclocal/xorg-macros.m4: file changed as we read it

4b3e353a5[sstate.bbclass: fix parallel building issue] tries to use the
tar parameter --ignore-failed-read to fix, but it does not work, and
tar parameter --warning=no-file-changed can close the warning, but can
not change the exit code. so close shell immediate exit, only fail
if tar returns not 1 and 0.

Exit codes of tar:
    http://www.gnu.org/software/tar/manual/html_section/Synopsis.html

(From OE-Core rev: fad604b719e00b03e09da5fdb485e72332275b4a)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 17:24:12 +01:00
Tom Zanussi
0fc8317c63 yocto-bsp: add 3.10/remove 3.8 kernel from templates
For Yocto 1.5, 3.10 is the preferred kernel and 3.8 is obsolete.

This also removes any mention of emgd from the templates - we want to
discourage users from using it - it will be obsolete soon in any case.

Fixes [YOCTO #5107]

(From meta-yocto rev: 4dd4bf6ac2dcc7652ec8f807df02298546bdb41b)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-24 12:01:47 +01:00
Paul Eggleton
bf6b0d95db glib-2.0: fix broken python script header on machines using buildtools
With buildtools (which contains Python) installed on a build machine,
glib-2.0's gtester-report script was ending up with the full path to
the installed python binary in the shebang, which when rpm packaging
was used led to this being added as a per-file dependency by rpmdeps for
the libglib-2.0-utils package in which it ends up. This of course broke
do_rootfs when the package was included in the rootfs and had been
restored from sstate from another machine, as happened on the Yocto
Project autobuilder.

We were already trying to sed this script apparently only for the
shebang (since it appears that there are no other paths in the script)
so let's just sed the shebang properly; it also seems sensible to do
this for native as well instead of explicitly trying to exclude that
case.

Fixes [YOCTO #5205].

(From OE-Core rev: 1d16e8035dda062041394b1e51839a9a7d077cf5)

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>
2013-09-22 12:23:35 +01:00
Paul Eggleton
954e34917d avahi: bump INC_PR to avoid do_configure failure in existing workdir
When we split S and B for avahi in OE-Core commit
6112a07f4e9865f7ae0e5a953669c1adf789f9f0, files left over in the workdir
from a previous build seem to break re-execution of do_configure. Bump
PR to give a fresh workdir and avoid this problem.

(From OE-Core rev: bdcddb4fa7ceb3408d687d4c39b0f631d3b31f96)

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>
2013-09-22 12:23:35 +01:00
Scott Rifenbark
bd46e2a0fc dev-manual: Updated Git repo path for eclipse plugins.
(From yocto-docs rev: 333b0dd4ed0956a3b094fdfdfe2158e6b47bac9b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:50 +01:00
Scott Rifenbark
b9bb27800f ref-manual: New variable descriptions to support QEMU image tests
Added variable descriptions for TEST_SUITES and
TEST_QEMUBOOT_TIMEOUT.

(From yocto-docs rev: 8ca24bbb5388040a4aa5b70bac9babf1805bbb6e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:49 +01:00
Scott Rifenbark
06cddebe6d ref-manual: Added a new entry for the testimage.bbclass.
(From yocto-docs rev: 05db9912f837d79c7da3411586248dcc78172985)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:49 +01:00
Scott Rifenbark
35ec4d2a93 dev-manual: New section on running QEMU tests.
Added a new section called "Running and Writing Tests for a
QEMU Image" to the "Common Tasks" chapter.  This information is
based on Stefan Stanacar's wiki page information.  The section
provides the same information as the wiki sans the log files.

(From yocto-docs rev: ca2294821e34bbcd0afe7dd27421e8c6a828d700)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:49 +01:00
Scott Rifenbark
395486f638 dev-manual: First pass changes to support Kepler Eclipse
First pass at changes to support Eclipse Kepler 4.3 release.

(From yocto-docs rev: 265bc3f4ae3442b2fd0490d0f4558c7a584cb31c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:49 +01:00
Scott Rifenbark
66e5feb315 poky.ent: Added a new variable for Kepler
Added a new variable called ECLIPSE_KEPLER_URL to point to the
kepler Eclipse plug-in download area.

(From yocto-docs rev: 4873518bc941e7c39bfe8aa95014818013a0d32b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:49 +01:00
Scott Rifenbark
f3455db084 dev-manual: Misc formatting and setup for Kepler support
I went through the "Working Within Eclipse" section and set up
structure to add in the Kepler support and drop the Indigo
support.  Along the way, I formatted the entire section to
hit within the 40-character limit exclusive of the links,
which always overrun.

(From yocto-docs rev: 762291589382f7ef71e77f8c92dae2371f3ae6e7)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:49 +01:00
Scott Rifenbark
9fbaa9b9ec dev-manual, profile-manual: changed "plugin" to "plug-in"
Changed all these occurrances throughout the manual set so
they are consistent.  The only ones left are now in pathnames
or UI things where they need to stay that way.

(From yocto-docs rev: 1b77f34b7b6983f7d7e680cd9fd6a714c00ba8f8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:48 +01:00
Scott Rifenbark
d3bf6bd677 ref-manual: Added versioning to some R* variables
Fixes [YOCTO #4987]

Added some versioning operators to the RCONFLICTS, RREPLACES,
and RRECOMMENDS variables.  I am using the same base text to
get this information across.  Because it is a referenced
glossary, the duplication is acceptable.

(From yocto-docs rev: 47613f962c945e06710ba2e14e0eb5f1f11d0336)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:48 +01:00
Scott Rifenbark
6084246825 ref-manual, yocto-project-qs: Explanations for Git tarballs
Fixes [YOCTO #5035]

By default, the DL_DIR does not get files from Git repositories
that are suitable for mirroring.  There is a work-around by
using the BB_GENERATE_MIRROR_TARBALLS variable, which, when
set, causes the build system to generate tarballs for the
Git repositories and place them in the DL_DIR.

To address this, I added a new variable description for the
BB_GENERATE_MIRROR_TARBALLS varible, updated the DL_DIR
variable to indicate that "out-of-the-box" the YP puts suitable
mirror files into the DL_DIR for everthing except Git
repositories.

Some other sections were updated where discussion revolved around
pulling down source files.  The QS had a spot where the
BB_GENERATE_MIRROR_TARBALLS variable was actually used in an
example.  And, the expanded discussion on the BitBake process
had a couple spots that deserved a mention.

(From yocto-docs rev: 1539ff13222449ba60bfaaaac4fe1e8a795b0039)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:48 +01:00
Scott Rifenbark
3fa6a307c3 ref-manual: New BB_GENERATE_MIRROR_TARBALLS variable.
Fixes [YOCTO #5035]

Added a new glossary entry for BB_GENERATE_MIRROR_TARBALLS
and updated the DL_DIR entry to note the ability to get these
tarballs into DL_DIR.  Cross-referenced the new variable
from DL_DIR as well.

(From yocto-docs rev: 361000877f2a13b13154e437a6c28839fa58cd5e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:48 +01:00
Scott Rifenbark
d7f340a0e9 ref-manual: fixed alphabetical order for glossary entries.
Several glossary entries were not in the correct alphabeitical
order.

(From yocto-docs rev: 0b2559cca79a74043e73fd14eba330025e84f30a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:48 +01:00
Scott Rifenbark
2effece91b ref-manual, mega-manual: Updates to the SDK Generation section
Fixes [YOCTO #2808]

I updated the figure to not call out the SDK environment setup
script as it is part of the .sh file.  The figure was placed
in the "figures" directory of the ref-manual and the
mega-manual.

Also, I removed the duplicated variable descriptions and referenced
these descriptions in the "Application Development SDK" section,
which is further down in the manual.  The descriptions have more
to do with where output is placed.

(From yocto-docs rev: 256bb1447b571299b57c657bf030d5b4f033fb5f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:48 +01:00
Scott Rifenbark
26354c2715 ref-manual, mega-manual: Updates to "Image Generation"
Fixes [YOCTO #2808]

Updated the figure and placed it in the folders area for both
the ref-manual and mega-manual.  I had to add the
DEPLOY_DIR_IMAGE variable and create a new machine-specific
directory below deploy.  The text had to be adjusted to reflect
this change as well.

Also, created a new variable entry for DEPLOY_DIR_IMAGE for
the glossary of the ref-manual.

(From yocto-docs rev: 50a68810f854b32fa5dba477eafa8fd1eebbd7a4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:48 +01:00
Scott Rifenbark
33ed042d4f ref-manual: Updated the RDEPENDS variable to include syntax
Fixes [YOCTO #4987]

This variable supports some boolean operators that we are not
showing for supporting versioned dependencies.  I added the
explanation for them.  There will be other variables affected
later once we settle on the changes here.

(From yocto-docs rev: e5c1e66d670c708012bd5ab51aa94f87426f57e2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:47 +01:00
Scott Rifenbark
9cef06f693 ref-manual: Update to the image generation section.
Fixes [YOCTO #2808]

Applied some Eggleton review edits to the image generation section.
Minor tweaks and a cross-reference to the read-only root
filesystem section in the dev-manual.

(From yocto-docs rev: e41a08872e398d10c452bb5e1f1e6af41a525ab2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:47 +01:00
Scott Rifenbark
5cdf8a6363 ref-manual: Updated *_POSTPROCESS_COMMAND variables
Fixes [YOCTO #2808]

Applied some review comments to the ROOTFS_POSTPROCESS_COMMAND
and IMAGE_POSTPROCESS_COMMAND variable descriptions in the
glossary.  Review comments from Paul Eggleton.

(From yocto-docs rev: 9a9a0e04261d2f2e470e49b89bb9e2c6bc56d736)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:47 +01:00
Scott Rifenbark
35bd82a78f ref-manual: New section on SDK generation
Fixes [YOCTO #2808]

New section on the deeper look at SDK generation.  This is a first
draft.

(From yocto-docs rev: 54438f1a9dac847d2d03ca1cb9a2b00de9369dbe)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:47 +01:00
Scott Rifenbark
43c10b90ad ref-manual, mega-manual, Makefile: New figure added for sdk
Fixes [YOCTO #2808]

Added a new figure to support the expanded section on SDK
generation.  Figure added to "figures" directory for both
the ref-manual and the mega-manual.  Updated Makefile to
include the figure in the TARBALL variable for both the
manuals.

(From yocto-docs rev: 41f78fddfd871fdd4c1c963b98093567d4b4d230)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:47 +01:00
Scott Rifenbark
f5686c9f42 adt-manual: Updated location for toolball install scripts.
This now has the release_number as part of the name.

(From yocto-docs rev: e91b2a553e6f1e5ca007535d926af6df449ed20c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:47 +01:00
Scott Rifenbark
110e8039c7 yocto-project-qs: Update to how toolchain installer scripts are named.
(From yocto-docs rev: 4ff62bebbcfec2e83aff7b7b92e4b51c375127c3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:46 +01:00
Scott Rifenbark
34c46b33a0 ref-manual, mega-manual: Updated the image generation figure
Fixes [YOCTO #2808]

Had to update the figure.

(From yocto-docs rev: 9b9b168bee84d32da0838da7940cb1ae7d780bee)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:46 +01:00
Scott Rifenbark
80c66fd7ce ref-manual, mega-manual: Updates to the Image Generation section
Fixes [YOCTO #2808]

Applied review comments to the section from Paul Eggleton.  I
updated the figure and the text areas.

(From yocto-docs rev: a89b126861e8ee2f43a89afb0a16e56659270fee)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:46 +01:00
Scott Rifenbark
070ab36053 ref-manual: Updated IMAGE_CLASSES variable description.
Fixes [YOCTO #2808]

Applied review comments from Paul.

(From yocto-docs rev: 9d653ddae0355a69009c174325acee27bc869c6b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:46 +01:00
Scott Rifenbark
fde7349e25 ref-manual: Updated the IMAGE_ROOTFS variable description.
Fixes [YOCTO #2808]

Applied review edits from Paul.

(From yocto-docs rev: d32dad2e1a8dc4daff8df413e9284832a686bd95)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:46 +01:00
Scott Rifenbark
44cc19d2ed ref-manual: Updated the IMAGE_POSTPROCESS_COMMAND variable description.
Fixes [YOCTO #2808]

Applied review comments from Paul.

(From yocto-docs rev: bfc873d4be57c1158b72fb9ee7564f8895175a0b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:45 +01:00
Scott Rifenbark
597aceb920 ref-manual: Updated the ROOTFS_POSTPROCESS_COMMAND variable description.
Fixes [YOCTO #2808]

Review comments from Paul.

(From yocto-docs rev: d8ab45eb0533ccbcc9ec34105b5fe4163122bc4a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:44 +01:00
Scott Rifenbark
7b0c340926 Makefile: Updated ssh push string.
(From yocto-docs rev: 0871329d11ddb3626ede0aa334180e75badabc39)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:44 +01:00
Scott Rifenbark
25bea918aa ref-manual: Edits to the "Image Generation" section
Fixes [YOCTO #2808]

Did a self-edit here to try and straighten out how I am mapping
the variables to the actual figure.

(From yocto-docs rev: 82e94d8a8221bbf2eb5feb19a6642907b4ff490b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:44 +01:00
Scott Rifenbark
72c73e67ca ref-manual, mega-manual: Revised the image generation figure
Fixes [YOCTO #2808]

Moved some variables around to make better sense of how I
think it works.

(From yocto-docs rev: 2f40edbb792d56808482fdc3a1bf3d3457673546)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:44 +01:00
Scott Rifenbark
b577e74096 ref-manual: First draft of the "Image Generation" section
Fixes [YOCTO #2808]

Added the first draft of the expanded explanation for generating
an image.

(From yocto-docs rev: 72e4db25d89cad62e1cd9ee1d638af374ec1bfc0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:44 +01:00
Scott Rifenbark
da7a072aa0 dev-manual, ref-manual, Makefile: Added image generation figure
Fixes [YOCTO #2808]

Created the figure for the BitBake-resident image generation
discussion.  Figure added to the Makefile so it is included
in the TARBALLS for ref-manual and mega-manual.

(From yocto-docs rev: 607c88dcf060a804475b2f4b9cf22f2d8172a61d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:44 +01:00
Scott Rifenbark
673b28f6db ref-manual, mega-manual: Updated figure for source fetching
Fixes [YOCTO #2808]

The Build Directory should be inside the BB blue box here and
not outside of it.  Adjusted the figure, which resides in
the figures directory of both the ref-manual and the
mega-manual.  Also had to widen the image footprint to make
it readable.

(From yocto-docs rev: b4ff9292cf629894fda6ad4a29fbdaad85f43cd0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:44 +01:00
Scott Rifenbark
caa29e693c ref-manual: Fixed "fsroot" typo to "rootfs".
(From yocto-docs rev: deaf9eec735a860c5b0e57799d2d269722bf179d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:43 +01:00
Scott Rifenbark
b1d7cfa5ee ref-manual: Added variable description for IMAGE_POSTPROCESS_COMMAND.
(From yocto-docs rev: 2bbb5c84fd4def09d14b908614598c9e40c8f2c4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:43 +01:00
Scott Rifenbark
718fac69ed ref-manual: Added variable description for ROOTFS_POSTPROCESS_COMMAND.
(From yocto-docs rev: ad003d9f28d50ce66dc717f7a67710c868a3b892)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:43 +01:00
Scott Rifenbark
dc09cfecf2 ref-manual: Added variable description for IMAGE_ROOTFS.
(From yocto-docs rev: e6c744018f28996ca2b6f1cde4bc36465762e5de)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:43 +01:00
Scott Rifenbark
aef132662e ref-manual: Fixed IMAGE_FSTYPES to specify formats instead of format.
(From yocto-docs rev: 8a2723547477331a8187cea6e37801b291cb7777)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:43 +01:00
Scott Rifenbark
599209eca2 ref-manual: Added three new variable descriptions to the glossary
PATCHRESOLVE
IMAGE_CLASSES
USER_CLASSES

(From yocto-docs rev: 369a2d92b69fa68be7dfa989d1148f694b84661a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:43 +01:00
Scott Rifenbark
053ee260a8 ref-manual: Updated the PATCHTOOL variable description.
The tool has only three utilities the user can pick from.
The previous description implied unlimited tools.

(From yocto-docs rev: aa9b1c7db1bb52fd903886dc4c47368ebb926905)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:43 +01:00
Scott Rifenbark
6294f174d9 dev-manual: Updated the "Best Practices" section.
Fixes [YOCTO #5037]

Applied some review changes from Martin.

(From yocto-docs rev: e87a65a9b198bccb7f2716bbbbc9194c53d1a79a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:42 +01:00
Scott Rifenbark
6bf4106edd kernel-dev: Updated the in-tree metadata section
Fixes [YOCTO #5065]

I added a blurb at the end of the section that talks about in-tree
metadata.  The blurb addresses situations where the user has changed
the metadata but not updated the corresponding SRCREV variables
in the kernel receipe.

(From yocto-docs rev: 5d3dc0e6ebc40b937c3f3ef397e2c94e7cb3b69b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:42 +01:00
Scott Rifenbark
e3ed36e882 documentation: Updated poky.ent to have the YP 1.5 code name
The variable for the release name is now set to "dora".

(From yocto-docs rev: e3cc48ceb5b196940f94bb6a333769a427ac7817)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:42 +01:00
Scott Rifenbark
dcefb7cccf dev-manual: Added new section on "Best Practices"
Fixes [YOCTO #5037]

The information to fix this bug was very similar to some
"best practices" and "recommendations" information that was
currently buried in a section that described how to create a
layer.  So, since the new information for this bug fix increased
the amount of information significantly, I have pulled out the
existing "recommendations" and "best practices" information and
combined it with this new information and placed it in its
own section dedicated to just that.  The information still
resides in the main section that introduces and discusses
layers and their creation.

This is a first draft of the section.  It is under review.

(From yocto-docs rev: 066de04511afb0641278f3fda4e97718b3ed5c47)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:42 +01:00
Scott Rifenbark
b1b9f43ca4 dev-manual: Updated "Toaster" section to be API-only.
Fixes [YOCTO #4730]

The web interface for Toaster was cut from the 1.5 release.
I have commented out the existing section and replaced it with
a short introductory section for the API only.

(From yocto-docs rev: 7864e6d9958a9e582f5035f28afb063ef584396a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:20:42 +01:00
Paul Eggleton
4e7dde77de conf/local.conf.sample: update for new testimage class
(From meta-yocto rev: 052882dd6e769064d561edf143fd2d178efb7ebd)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:46 +01:00
Ross Burton
bead255721 bblayers.conf.sample: use ##OEROOT## instead of ##COREBASE##
The variable ##COREBASE## has been deprecated, so use ##OEROOT## instead.

(From meta-yocto rev: d687a08f2dbadfffece77e24e46cb1e197fefc8b)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:45 +01:00
Ross Burton
19ad80c0a6 distro: remove anjuta-remote-run from distro_alias and maintainers
(From meta-yocto rev: dfaf60b1dfd7db3a9168f7c41ab5c4fb63752f15)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:45 +01:00
Richard Purdie
d4b9713ec6 bitbake: tests/data: Whitespace in key names is a really bad idea
The parser never has supported it, the datastore API did happen to work
but whitespace in key names is a really bad idea and not something I think we
should encourage or support.

Fix test case failures after excplitly ignoring it for variable expansion
purposes.

(Bitbake rev: a2074ddaba6f53962d6caf34dbd27bdbc259935b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:45 +01:00
Richard Purdie
d9955a14fa bitbake: data_smart: Variable references don't contain newlines, spaces or tabs
The code is happily trying to expand variable names containing newlines,
spaces and tabs which are illegal characters in variable names. This
patch stops it doing this. This will change dependency checksums
since some rather weird dependencies were being attempted to be expanded.

(Bitbake rev: 37e13b852b33d98fa40f49dc1e815b3bbe912ff0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:45 +01:00
Cristiana Voicu
3c41bea907 bitbake: hob: populate "Save image" dialog when saving changes to a custom image recipe
If my build starts from a YP standard image recipe, the 'Save image
recipe' dialog should be empty.

If my build starts from a custom image recipe, the 'Save image recipe'
dialog should populate the 'Name' and 'Description' fields with the values
set for the custom image recipe.

[YOCTO #5004]
(Bitbake rev: 10757c529fe0b4b9a39740d269831347a3aab4a0)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:45 +01:00
Richard Purdie
d28b1816e9 bitbake: bin/bitbake: Improve --help text
The --help text was rather inconsistent in style and plain incorrect in places,
using confusing terminology in others. I guess most people know what the options
do and don't read this but its confusing to new users.

This updates it to use the terms recipe and task consistently, remove
the references to stage, bbread and generally try and make the output
more useful.

[YOCTO #4856]

(Bitbake rev: 516311946c7bd14c84947dc44c3bb0563e5a9667)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:45 +01:00
Richard Purdie
35a1d37ac8 bitbake: build: Add BB_TASK_NICE_LEVEL to task code
On Linux its not possible for processes to regain a previous nice level after
it has changed. Its therefore not possible to have a core low priority and
then raise the priorities of individual tasks.

This variable allows us to do something like:

BB_TASK_NICE_LEVEL = "5"
BB_TASK_NICE_LEVEL_task-testimage = "0"

to give priority to specific tasks which the BB_NICE_LEVEL functionality
doesn't give us the option of.

(Bitbake rev: 94d82997220c6cfc7028f76719df028ba8254a5c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:44 +01:00
Alexandru DAMIAN
ace48c2866 bitbake: bitbake: runqueue: add task hash to Queue events
Adding the sstate-related hash for all runqueue and
scenequeue tasks, as it's needed in the WebHob data.

(Bitbake rev: b6e2ce1cf7a0ede890f08fabf536a556dc4263c5)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:44 +01:00
Alexandru DAMIAN
24ae636fde bitbake: bitbake: event: adding generic event for metadata usage
Adding the generic bb.event.MetadataEvent that is
targeted specifically at metadata usage. This is
needed in order to let the metadata code send and receive
events during asynchrous execution without having
to define each event specifically in Bitbake.

Metadata code should subscribe to and fire the MetadataEvent
in order to communicate asynchronously, and identify
the object using event.type field, and parse the
data in the event.data field.

Knotty UI will ignore these event by default.

This deprecates RequestPackageInfo/PackageInfo, and that
event pair will be removed in the future.

(Bitbake rev: ae1ea51aaab73e010d1c3db39df058bebebc11dd)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:44 +01:00
Alexandru DAMIAN
a05d474e5a bitbake: bitbake: cooker, command: add a command to return global data
Adding the 'getAllKeysWithFlags' read-only command that will
return a dump of the global data state, together with specified
flags for each key. The flag list is passed in as the first
parameter to the command.

This will be used by UI clients to get the build configuration.

(Bitbake rev: 3e094da513e1220319288806cb76ddf804772afd)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:44 +01:00
Alexandru DAMIAN
0c51d610e1 bitbake: bitbake: cooker: get extra information from recipe cache
The loaded cache modules may add extra attributes to
the recipecache, that will be populated by the cache
classes required by the UI. These attributes
will be used by the UI to display relevant information.

Adds cachefields cache class field to specify
for each cache class which attributes will be set
in the recipecache.

Adds code to automatically expand depends tree with the
fields exported by the extra cache class.

Fixes a cache field name in the HOB UI.

(Bitbake rev: 47c171005fb3803d936e65fcd4436c643883ae16)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:44 +01:00
Alexandru DAMIAN
5ee82d4048 bitbake: bitbake: build, runqueue: adds info to the *runQueue* events
This patch adds task identifying information for all
runQueue and sceneQueue events, and for bb.build.Task* events.
This will allow matching event to specific tasks in the UI
handlers processing these events.

Adds RunQueueData functions to get the task name and task
file for usage with the runQueue* events.

Adds taskfile and taskname properties to bb.build.TaskBase.

Adds taskfile and taskname properties to the *runQueue* events

(Bitbake rev: b4a5e4be50d871a80dbe0993117d73f5ad82e38f)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:44 +01:00
Alexandru DAMIAN
f7621f47d8 bitbake: bitbake: cooker,runqueue: send the task dependency tree
Adding a CookerFeature that allows UIs to enable
receving a dependency tree once the task data has been
computed and the runQueue is ready to start.

This will allow the clients to display dependency
data in an efficient manner, and not recompute the runqueue
specifically to get the dependency data.

(Bitbake rev: 75466a53b6eece5173a9bfe483414148e4c06517)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:43 +01:00
Alexandru DAMIAN
ba83eb315d bitbake: bitbake: cooker,xmlrpc,servers: implement CookerFeatures
Implementing feature set selection that allows a client
to enable specific features in the server at connection time.

Only enabling of features is supported, as there is
no way to safely remove data loaded into the cooker.
Once enabled, a feature will remain enabled for the
life of the cooker.

Client-server connection now supports specifying the feature
set required by the client. This is implemented in the Process
server using a managed proxy list, so the server cooker
will now load dynamically needed features based on what client
connects to it.

In the XMLRPC server the feature set is requested by
using a parameter for registerUIHandler function.
This allows observer-only clients to also specify features
for the server.

The server code configuration now is completly separated
from the client code. All hardcoding of client knowledge is
removed from the server.

The extra_caches is removed as the client can now specify
the caches it needs using the feature. The UI modules
now need to specify the desired featureSet. HOB is modified
to conform to the featureSet specification.

The only feature available is CookerFeatures.HOB_EXTRA_CACHES
which forces loading the bb.cache_extra:HobRecipeInfo class.

(Bitbake rev: 98e594837aab89ea042cfa9f3740d20a661b14e2)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:43 +01:00
Richard Purdie
87e86d4fd3 gcc-target: Fix libatomic dependency tracking issues
The --enable-dependency-tracking option was added to workaround build
issues in libatomic. This fixes that build problem properly and removes
the flag since the dependency tracking code appears to be full of races
which are much deeper and harder to fix.

As per the automake manual, dependency tracking is only useful and worth
the build performance cost if you are doing more than one compile of the same
source code which in most cases we are not so this is a good thing anyway.

(From OE-Core rev: a3b665a80abed4c0659925e1cceb1568af023711)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:43 +01:00
Richard Purdie
c2d5fa9289 gzipnative: Ensure dependencies apply to do_unpack and do_populate_lic
| DEBUG: Executing python function sstate_task_postfunc| DEBUG: Staging files from /srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-x32/build/build/tmp/work/qemux86_64-poky-linux-gnux32/core-image-minimal/1.0-r0/license-destdir to /srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-x32/build/build/tmp/deploy/licenses| NOTE: Using umask 002 (not 22) for sstate packaging| DEBUG: Preparing tree /srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-x32/build/build/tmp/work/qemux86_64-poky-linux-gnux32/core-image-minimal/1.0-r0/license-destdir for packaging at /srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-x32/build/build/tmp/work/qemux86_64-poky-linux-gnux32/core-image-minimal/1.0-r0/sstate-build-populate-lic/license-destdir| NOTE: Removing hardcoded paths from sstate package: 'find /srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-x32/build/build/tmp/work/qemux86_64-poky-linux-gnux32/core-image-minimal/1.0-r0/sstate-build
 -populate-lic/ \( -name "*.la" -o -name "*-config" -o -name "*_config" \) -type f | xargs grep -l -e '/srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-x32/build/build/tmp/sysroots/qemux86-64' | tee /srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-x32/build/build/tmp/work/qemux86_64-poky-linux-gnux32/core-image-minimal/1.0-r0/sstate-build-populate-lic/fixmepath | xargs --no-run-if-empty sed -i -e 's:/srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-x32/build/build/tmp/sysroots/qemux86-64:FIXMESTAGINGDIRHOST:g''
| DEBUG: Executing shell function sstate_create_package
| gzip: /lib64/libz.so.1: version `ZLIB_1.2.5.1' not found (required by gzip)
| tar: Child returned status 1
| tar: Error is not recoverable: exiting now
| WARNING: /srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-x32/build/build/tmp/work/qemux86_64-poky-linux-gnux32/core-image-minimal/1.0-r0/temp/run.sstate_create_package.20384:1 exit 2 from
|   tar --ignore-failed-read -czf $TFILE license-destdir
| DEBUG: Python function sstate_task_postfunc finished
| ERROR: Function failed: sstate_create_package (log file is located at /srv/home/pokybuild/yocto-autobuilder-new/yocto-slave/nightly-x32/build/build/tmp/work/qemux86_64-poky-linux-gnux32/core-image-minimal/1.0-r0/temp/log.do_populate_lic.20384)
NOTE: recipe core-image-minimal-1.0-r0: task do_populate_lic: Failed

Imagine:

pigz-native is used from sstate.
zlib-native is getting rebuilt.

pigz-native has some special handling to ensure its not used until the
system is ready. This is through a class and installing into a subdir of
PATH which only gets added in when we believe its available. We use
pigz-native in the image generation code and its in DEPENDS.

DEPENDS are guaranteed available for do_configure. do_populate_lic can
run before do_configure so the DEPENDS isn't met and I think this is our
corner case.I suspect ways of fixing this are to either:

a) force do_populate_lic after do_configure everywhere
b) statically link pigz-native
c) add in an explicit dependency to gzipnative.bbclass forcing
do_populate_lic after do_configure. If do_unpack handled a tar file in
an image, it would also be at risk of course.

Looking at each, a) is overkill and our dependency tree is nasty enough
already. b) sounds nice but is also risky since what happens if the gzip
binary is half copied when we run it. Our hardlink copying should deal
with that but I'm still nervous. This leaves us with c) so we could do:

do_unpack[depends] += "gzip-native:do_populate_sysroot"

The reproducer is:

bitbake pigz-native
bitbake zlib-native -c clean
bitbake core-image-minimal -c populate_lic --no-setscene -f

however your system needs to have an old version of zlib on it which
pigz-native can't run against. The line above fixes it.

(From OE-Core rev: 16cb83d13bdb7e1abc88c18ec224efcd9ceef4f6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:43 +01:00
Richard Purdie
f427614108 btrfs-tools: Fix parallel make issue
btrfs-tools was failing occasionally due to version.h being missing. This
fixes the problems, thanks to several people on #yocto for helping out
why my lack of make knowledge of old fashioned suffix rules :)

(From OE-Core rev: 7be8010186889cece97829025d97d94f21c1f2e5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:43 +01:00
Otavio Salvador
5262ea16a6 uboot-config.bbclass: Handle UBOOT_MACHINE setting
The class now consolidate the handle of UBOOT_MACHINE and UBOOT_CONFIG
variables and handle possible mistakes done by user when using these
variables.

(From OE-Core rev: 87d9b585b2784bec04e9e244dc52c6e929484fd0)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:42 +01:00
Otavio Salvador
14c6a82c84 u-boot, u-boot-fw-utils, u-boot-fw-utils-cross: Use uboot-config class
The U-Boot configuration has been consolidates into a single class to
avoid code duplication. This is now done by uboot-config class, so we
now use it.

(From OE-Core rev: d0bc7a53b1e61283fb155b4dcb67bc2ab3b1d7f0)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:42 +01:00
Otavio Salvador
19174b0796 uboot-config.bbclass: Use an annonymous python function
The processing needs to happen per recipe and thus it ought to use
annonymous python function instead to be triggered at event.

(From OE-Core rev: 75bde3ee02262cb3c6b91279ca277e3e5324ee5e)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:42 +01:00
Ross Burton
8f650f2e2c oprofileui-server: use two digit initscript sequene
initscript sequence numbers are 00-99, so using 999 resulted in systemd warning
that it couldn't find "9oprofileui-server".

(From OE-Core rev: dac7dd70eb7a55ada5fdfc224aba5bac7c49f63f)

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>
2013-09-22 12:19:42 +01:00
Ross Burton
fc91e068cc libpam: only use pam_systemd.so if systemd is enabled
So that sysvinit images don't warn on every login only add it to common-session
if systemd is a DISTRO_FEATURE.

[ YOCTO #3805 ]

(From OE-Core rev: 3ccb0855a7a6b147e5025855c6376747ba72986a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:42 +01:00
Ross Burton
42095866ec x11vnc: respect zeroconf DISTRO_FEATURE to enable Avahi support
There's a standard way of announcing VNC services over mDNS that x11vnc
supports, so respect the feature and enable/disable it.

Also re-order the statements and drop the redundant PR.

(From OE-Core rev: e5443a0b5a70bf054cbeb6ff1fd6b5ef9d2347f8)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:42 +01:00
Randy MacLeod
139b44be7a pseudo: force NO32LIB to true for nativesdk
The exported SDK only needs simulated root privileges for specific
tasks, such as the user-mode NFS server or rootfs extraction, and
oe-core does not support multilib builds in the generated SDK, so
it is neither necessary nor possible to build a 32-bit libpseudo.so
for a 64-bit SDK.

[YOCTO #5135]

(From OE-Core rev: 908b179b798704db74c886ec4c70c0942b09cb00)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:42 +01:00
Laurentiu Palcu
405be52d26 runqemu: set qemuarm memory size back to 128MB
The following commit, 6ccd4d6, increased the RAM size for qemu machines
to 256MB due to some smart sanity tests failing on autobuilder because
more memory was needed.

Unfortunately this leads to various, potentially dangerous, issues like
the one observed during sudoku-savant project compilation:

collect: relinking
collect2: error: '_ZNK6sudoku5ClearINS_6SquareEEclERS1_' was assigned to
'board.rpo', but was not defined during recompilation, or vice versa
board.o:(.rodata+0x8): undefined reference to
`sudoku::Clear<sudoku::Square>::operator()(sudoku::Square&) const'
board.o:(.rodata+0x20): undefined reference to
`sudoku::Clear<sudoku::Sequence>::operator()(sudoku::Sequence&) const'
board.o:(.rodata+0x34): undefined reference to `typeinfo for
sudoku::Action<sudoku::Sequence>'
...AND THE LIST CONTINUES...
collect2: error: ld returned 1 exit status
make: *** [sudoku-savant] Error 1

After some tests, I found that the maximum amount of memory needed for
sudoku to compile properly is 146MB(!?!).

My attempts to create a simpler test case (using templates), in order to
replicate and isolate the issue failed. All the tests compiled just
fine.

So, my guess is that this problem is certainly memory related but the
cause might be hidden in any of the following: qemu versatile hw model,
in the kernel or, highly unlikely but not impossible, the toolchain
itself. The reason I don't really think the cause is in the toolchain is
the fact that the compilation completes just fine for 128MB on qemuarm but
also on other qemu machines (with 256MB of memory).

Since this issue might need lots of time to have a proper fix, I'll revert back
to using 128MB for qemuarm for the time being.

[YOCTO #5133]

(From OE-Core rev: 06605bd6ddd4d6a788e1a107dcf15dde1027c094)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:41 +01:00
Paul Eggleton
d652987612 classes/imagetest-qemu: remove old image testing class
This has now been superseded by testimage.

(From OE-Core rev: d469c92394a1a95ae7a45b8b80dc4c2918e0e9a6)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:41 +01:00
Paul Eggleton
595321a626 classes/sanity: test for DISPLAY being set with testimage class
Update the sanity test for DISPLAY being set to handle the new testimage
class rather than the old imagetest-qemu class.

(From OE-Core rev: d1297c2c3ae71de0e9e5cab36e582f5df8666391)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:34 +01:00
Paul Eggleton
a3558bfb99 classes/testimage-auto: add class to allow automatically running image tests
Setting TEST_IMAGE = "1" alone will now automatically run tests on the
image immediately after the image is built instead of having to add
INHERIT += "testimage" and run bitbake -c testimage <image> manually
(but that will still work). This restores functionality that was
present in the older imagetest-qemu class with IMAGETEST.

(From OE-Core rev: 72269a8fbec35c39af30fbabb1fa9ca7c5ee8d69)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:34 +01:00
Paul Eggleton
eba2428060 classes/testimage: remove odd characters in comments
(From OE-Core rev: 5d46c3df578f44597d8ce70add423e0c15982705)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:34 +01:00
Jackie Huang
ed81641386 findutils_4.2.31: backport fixes for doc build errors
[YOCTO #5212]

(From OE-Core rev: cb41aff1ac343b4fa8b4c9d43cc38652f7593ee6)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:34 +01:00
Jackie Huang
10c85f54e5 libunistring: remove the test to convert euc-jp in configure
Remove the test "Test against HP-UX 11.11 bug:
No converter from EUC-JP to UTF-8 is provided"
since we don't support HP-UX and if the euc-jp is not
installed on the host, libunistring will be built without
iconv support and will cause guild-native configure fail.

(From OE-Core rev: 0470bd7a9658d3d8aa10e9d081f42b61b9b7a6f4)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:33 +01:00
Roy Li
8ce33c4bcc pciutils: remove pcimodules
pcimodules can not work due to no modules.pcimap file, and has been
replaced by "lspci -k", so we can remove it.

Update lib-build-fix.patch since remove pcimodules-pciutils.diff.

[YOCTO# 5210]

(From OE-Core rev: 57bec61b05c0fea42f988dd52942c7d5ce8833fd)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:33 +01:00
Stefan Stanacar
ad77d10386 lib/oeqa/runtime: cleanup and improve output readability for some tests
- move everything in the same test. setUp/tearDown aren't quite
the right thing here, everything it's part of the same test. (and
it get's confusing when ssh fails)

ldd:
   - change test name and add output to error message

vnc:
   - remove unnecessary check as there is no point in doing
both ps and netstat. Also improve error output a bit.

(From OE-Core rev: 2f91bb438cfcdd0a40daed5902b6e98fc0aee67f)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:33 +01:00
Stefan Stanacar
f3ab2fc731 lib/oeqa/utils: sshcontrol: log how long the last command take
It might be useful for debugging to have in the ssh log
the number of seconds a command has run.

(From OE-Core rev: 48b9e45b9716130b015ae2ab7398d6aa243933dc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:33 +01:00
Eric Bénard
cb2496c607 qt-mobility: fix build without X11
else we get :
arm-oe-linux-gnueabi-g++  -march=armv7-a -mthumb-interwork -mfloat-abi=softfp -mfpu=neon .../...
ibQtSystemInfoE.so.1 -o libQtSystemInfoE.so.1.2.0 .../... -lblkid -ludev -lX11 -lXrandr -lQtDBusE -lQtXmlE -lQtGuiE -lEGL -lQtNetworkE -lQtCoreE -lpthread
.../build/tmp-defaultsetup-eglibc-eglibc/sysroots/x86_64-linux/usr/libexec/armv7a-vfp-neon-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.8.1/ld: cannot find -lXrandr
make[2]: *** [../../lib/libQtSystemInfoE.so.1.2.0] Error 1

(From OE-Core rev: 21857f0842501b0c72c77e5fb290aec85b1c28ff)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:33 +01:00
Ross Burton
77ae0d905a wipe-sysroot: delete pkgdata stamps
The pkgdata stamps now need to be wiped away if the sysroot is destroyed.

(From OE-Core rev: e6ef8399cd8e97b9cd59855e11f1792445f0e65b)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:32 +01:00
Ross Burton
06965e88e6 insane: don't abort if workdir is not TMPDIR/work
The BASE_WORKDIR variable can be used instead of enforcing WORKDIR being
TMPDIR/work (and aborting the build if it isn't).

(From OE-Core rev: 176a36ace1624f3bbe498307aeabbd7935de14e6)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:32 +01:00
Ross Burton
fa0fd37f8e bitbake.conf: define WORKDIR in terms of BASE_WORKDIR
To make it easier to move WORKDIR, define it using the new variable
BASE_WORKDIR, which is the root of the work directory.

(From OE-Core rev: 1eee097f2e29b9d6934711c0b1d32e59e9542f53)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:32 +01:00
Martin Jansa
7a3d2fbcdf gcc-4.8: temporary disable thumb
* temporary work around for build issue on armv4t:
  | cp/decl.o: In function `bad_specifiers':
  | gcc-4.8.0-r0/gcc-4.8.0/gcc/cp/decl.c:7171:(.text.unlikely+0x24): relocation truncated to fit: R_ARM_THM_CALL against symbol `error(char const*, ...)' defined in .glue_7 section in linker stubs
  | gcc-4.8.0-r0/gcc-4.8.0/gcc/cp/decl.c:7173:(.text.unlikely+0x32): relocation truncated to fit: R_ARM_THM_CALL against symbol `error(char const*, ...)' defined in .glue_7 section in linker stubs
  | gcc-4.8.0-r0/gcc-4.8.0/gcc/cp/decl.c:7176:(.text.unlikely+0x3e): relocation truncated to fit: R_ARM_THM_CALL against symbol `error(char const*, ...)' defined in .glue_7 section in linker stubs
  | gcc-4.8.0-r0/gcc-4.8.0/gcc/cp/decl.c:7180:(.text.unlikely+0x4c): relocation truncated to fit: R_ARM_THM_CALL against symbol `error(char const*, ...)' defined in .glue_7 section in linker stubs
  | gcc-4.8.0-r0/gcc-4.8.0/gcc/cp/decl.c:7182:(.text.unlikely+0x5a): relocation truncated to fit: R_ARM_THM_CALL against symbol `error(char const*, ...)' defined in .glue_7 section in linker stubs
  | gcc-4.8.0-r0/gcc-4.8.0/gcc/cp/decl.c:7185:(.text.unlikely+0x66): relocation truncated to fit: R_ARM_THM_CALL against symbol `error(char const*, ...)' defined in .glue_7 section in linker stubs
  | gcc-4.8.0-r0/gcc-4.8.0/gcc/cp/decl.c:7189:(.text.unlikely+0x74): relocation truncated to fit: R_ARM_THM_CALL against symbol `error(char const*, ...)' defined in .glue_7 section in linker stubs
  | gcc-4.8.0-r0/gcc-4.8.0/gcc/cp/decl.c:7191:(.text.unlikely+0x82): relocation truncated to fit: R_ARM_THM_CALL against symbol `error(char const*, ...)' defined in .glue_7 section in linker stubs
  | gcc-4.8.0-r0/gcc-4.8.0/gcc/cp/decl.c:7194:(.text.unlikely+0x8e): relocation truncated to fit: R_ARM_THM_CALL against symbol `error(char const*, ...)' defined in .glue_7 section in linker stubs
  | gcc-4.8.0-r0/gcc-4.8.0/gcc/cp/decl.c:7198:(.text.unlikely+0x9c): relocation truncated to fit: R_ARM_THM_CALL against symbol `error(char const*, ...)' defined in .glue_7 section in linker stubs
  | gcc-4.8.0-r0/gcc-4.8.0/gcc/cp/decl.c:7200:(.text.unlikely+0xaa): additional relocation overflows omitted from the output
  | collect2: error: ld returned 1 exit status
  | make[2]: *** [cc1plus] Error 1

(From OE-Core rev: 148c7e990831ed708f7fb064ec8f05657a323850)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:32 +01:00
Otavio Salvador
b3c750e29c core-image-x11: Ensure x11 distro feature is enabled
(From OE-Core rev: 4cdf1601e0c5e46988f84a5abc38a201bbefec62)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-22 12:19:31 +01:00
Richard Purdie
853bc53cd5 qemu: Fix broken patch
(From OE-Core rev: 9934141d5df9d334f7f7f76e1990234af8a25a63)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-18 21:56:28 +01:00
Bruce Ashfield
4ed858bc76 linux-yocto/3.10: fix long perf compile times
perf's builtin-sched.c triggers extremly long build times on some
architectures due to gcc 4.7+ var-tracking functionality.

To fix this, we can cherry pick the 3.12 commit:

  f36f83f94 [perf sched: Move struct perf_sched definition out of cmd_sched()]

With this change build times are reduced from 15 to 20 minutes for qemuarm to:

  real    2m19.940s
  user    1m35.438s
  sys     0m11.165s

For kernel's that are not carrying this patch, the following can be added
to the perf recipe to also fix the issue:

    +++ b/meta/recipes-kernel/perf/perf.bb
    @@ -68,6 +68,7 @@ EXTRA_OEMAKE = \
		    CC="${CC}" \
		    AR="${AR}" \
		    perfexecdir=${libexecdir} \
    +               EXTRA_CFLAGS="-fno-var-tracking" \
		    NO_GTK2=1 ${TUI_DEFINES} NO_DWARF=1 ${SCRIPTING_DEFINES} \

(From OE-Core rev: 82ad5305381c2f541ef051a8fc28243cd91776fe)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-18 19:49:41 +01:00
Bruce Ashfield
2ad268ff8e linux-yocto/3.10: mips configuration changes
Updating the 3.10 SRCREV to import the following MIPS configuration changes

   4f689aa meta: remove ftrace/ftrace-disable feature
   3058d81 mips: have the mips BSPs disable function tracing instead of ftrace
   935f43f meta: add ftrace/ftrace-function-tracer-disable feature
   0d72a03 mti-malta64: Default to support o32 and n32 userspace binaries

The first three changes improve the ftrace disabling fragments, to allow tracepoints
and ftrace to be enabled, while only disabling dynamic ftrace. This allows tools
that required tracepoints (like lttng) to be built against MIPS.

The mti-malta64 change adds n32 and o32 support to the default configuration to
support a broader range of userspace binaries.

[YOCTO #5215]

(From OE-Core rev: b2cadab5c7a5d3f772c34c04b759823ed6a122bf)

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>
2013-09-18 19:49:41 +01:00
Bruce Ashfield
6942108fdb linux-yocto/3.8: add haswell-wc board config and branch
Bumping the meta branch SRCREV to import the following board support:

  meta: add haswell-wc bsp for Intel Haswell Platform (Walnut Canyon CRB) scc and config files

Signed-off-by Ong Boon Leong <boon.leong.ong@intel.com>
(From OE-Core rev: fcca6317543e8be0bd2da1f45ac99448c24b4e48)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-18 19:49:41 +01:00
Otavio Salvador
99b4173245 perf: Add LDFLAGS to allow build of old kernels without patching
The LDFLAGS is required or some old kernels fails due missing
symbols and this is preferred than requiring patches to every old
supported kernel.

Fixes [YOCTO: #5221]

(From OE-Core rev: 0eccbf2016e89e6f1c3796f138b02a508d2edbcf)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-18 17:54:42 +01:00
Ross Burton
4a224d31c8 qemurunner: disable grabs in automated testing
Use the new QEMU_DONT_GRAB environment variable to disable grabs,
finally/hopefully solving the random hangs that the autobuilder has been hitting
for a while.

[ YOCTO #5131 ]

(From OE-Core rev: 32f9575a565f350649264c11eceba8311584b0fd)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-18 17:52:04 +01:00
Ross Burton
dd2b2f93a9 qemu: add option to disable X grabs
When the mouse pointer enters the qemu window it takes a pointer grab. This
doesn't sound too dangerous at first but it turns out that SDL will infinitely
busy-loop if it can't get the grab (e.g. if the screen is locked) and the
average autobuilder setup's X server will have locked the screen a few minutes
after boot.

The result is that on many autobuilders apparently random qemu instances (the
top-most one under the pointer) will hang during boot.

To resolve this add an option (via an environment variable) to never attempt a
grab.  The default behaviour remains to grab so that everyone else doesn't see
any change.

(From OE-Core rev: a60b1ebbb8f81245f3ccf25b3f9d63677de75b85)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-18 17:52:04 +01:00
Otavio Salvador
63cd03b80c u-boot-fw-utils: Skip package if UBOOT_MACHINE is unset
The UBOOT_MACHINE variable needs to be set so the firmware utils can
know about some configuration settings which are board dependent. This
patch ensures the package is skipped in case UBOOT_MACHINE is unset
thus avoid its build in 'bitbake world' builds for incompatible
machines.

Fixes [YOCTO: #5223]

(From OE-Core rev: d9abcc0a2a691ca60cc1cb2f48f1748b0de73ac8)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-18 14:18:08 +01:00
Richard Purdie
f1ff3c2fdc bitbake: data_smart: Fix variable reference issues
The change to use the expansion cache in VariableParse was incorrect as
it was adding in references it shouldn't have been. This patch corrects
the codepaths and ensures the references are correct.

The cache version is bumped since the previous bug could have leave
to invalid checksum calculations and a clean cache is therefore desireable.

The impact of the bug was that sstate was not getting reused when it should
and some tasks were also being rerun when they should not have been.

(Bitbake rev: 8a42d082315bd6ce091d006bf83476db257fa48b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-18 13:27:30 +01:00
Richard Purdie
eaf06bc284 bitbake: cooker: return a copy checkPackages
The syntax used for checkPackages implies a copy is returned but it
did not do so. Make it so.

This is fixes universe builds where error messaages were being shown
but there should have only been warnings.

[YOCTO #5222]

(Bitbake rev: 97db2a0792d605f27d434bc6a4acce52857deee1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-18 08:41:55 +01:00
Scott Rifenbark
825cfeb2e6 bitbake: usermanual.xml: Two new sections added to BitBake "Description"
1. Added a new section "Appending and Prepending (override style
   syntax)".  This section shows how the append and prepend operators
   work using the override style syntax.

2. Added a new section "Removing (override style syntax)".  This
   section describes the new "_remove" operator.

(Bitbake rev: 6983afab0ce8d82d102142636d5a570f7d86a844)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 22:27:56 +01:00
Otavio Salvador
e624d737b7 perf: Ensure we use CFLAGS and LDFLAGS settings from kernel build system
The kernel build system does the right thing here and we should stop
overriding it. This code has been added based on a change from
'meta-metro' layer, revision 9d698004137c1a888d40d6a4808d94afa22387e7,
without any information about what problem it fixes so I am reverting
it.

Using the CFLAGS and LDFLAGS makes it impossible for kernel build
system to append to it, thus making the build fail in various ways as:

|     CC /.../perf/1.0-r8/perf-1.0/perf.o
| In file included from builtin.h:4:0,
|                  from perf.c:9:
| util/util.h:74:24: fatal error: lk/debugfs.h: No such file or directory
|  #include <lk/debugfs.h>
|                         ^
| compilation terminated.

The unset is done in do_compile and do_install otherwise it /rebuild/
perf as it detects the compiler options has change.

(From OE-Core rev: 2e90f8846db0f3ed99a175befff9ec67fe12bc4e)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 20:53:56 +01:00
Paul Eggleton
1db33e3c4d cmake-native: fix dependencies
When building cmake for native, we don't use the system libraries and
thus cmake builds its own internal version of libarchive; this requires
zlib, bzip2, and e2fsprogs. We can add to DEPENDS for the two former
libraries and patch out the latter.

(From OE-Core rev: fe6ca47a256b775e1aa5750b9dd31e27230cf781)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 20:53:20 +01:00
Ross Burton
442be3ef60 mesa: add virtual/mesa provider
As there are two alternative mesa recipes (mesa and mesa-gl), there needs to be
a virtual provider that recipes that explicitly need Mesa (such as xserver-xorg)
can depend on.

(From OE-Core rev: 4a407568472d3c87cd2ce11baf199568249640b6)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 20:48:09 +01:00
Hans Beckerus
ac191eb964 libtool: fix resolve of lt_sysroot
This patch updates libtool.m4 (and its output) to resolve a problem
with variable 'lt_sysroot' not being properly updated if the option
'--with[-libtool]-sysroot' is not provided when running the 'configure'
script for a package.

According to the help text ouput from 'configure':
--with-libtool-sysroot=DIR Search for dependent libraries within DIR
                        (or the compiler's sysrooot if not specified).

Due to mixed up cases in a switch statement, when checking if the option
was specified or not, wrong actions were taken resulting in an incorrect
sysroot and failures to properly locate e.g. .la files when using the
populated SDK toolchain.

For current upstream status see:
http://lists.gnu.org/archive/html/bug-libtool/2013-09/msg00005.html

(From OE-Core rev: f5cf7e1a5c85fb320faa9cbeef24f491706b4c1d)

Signed-off-by: Hans Beckerus <hans.beckerus at gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 19:34:56 +01:00
Ross Burton
da470776f9 avahi: fix and enable out-of-tree builds
(From OE-Core rev: 6112a07f4e9865f7ae0e5a953669c1adf789f9f0)

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>
2013-09-17 19:34:56 +01:00
Robert Yang
37cb3e3aa4 python-smartpm: truncate the filename to meet NAME_MAX
There is a "File name too long" error when len(TMPDIR) = 410, this is
because the function getLocalPath() converts the filepath into the
filename, so there would be the error when len(filename)
> NAME_MAX, truncate the filename to meet NAME_MAX will fix the problem.

[YOCTO #5201]

(From OE-Core rev: 9f0427edee6bf62d3fe7cdceb07f59a5776c8c4f)

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>
2013-09-17 19:34:56 +01:00
Anders Darander
9a4169a465 u-boot-fw-utils: reinstate target recipe for fw_printenv
The latest upgrade changed u-boot-fw-utils to u-boot-fw-utils-cross, which
removed the on-target fw_printenv (and fw_setenv).

Re-create the updated version of the u-boot-fw-utils recipe.

U-Boot does try to strip the fw_printenv binary by default now. To avoid
this, without patching the Makefile, we add HOSTSTRIP=true to EXTRA_OEMAKE.

The new U-Boot do also require us to configure the build for a specific
machine, thus we change the package arch.§

(From OE-Core rev: 83cb07047658e2e2b2d721e1b01553d4df3d8636)

Signed-off-by: Anders Darander <anders@chargestorm.se>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 19:34:56 +01:00
Saul Wold
14fee32867 oeqa/runtime/smart: Increase timeout to 1500 test
(From OE-Core rev: a99edb5552839fd50326dd3aa4ee2f36f6026882)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 19:34:55 +01:00
Ross Burton
eae5f4bdac weston: change mesa dependency to virtual/mesa
(From OE-Core rev: 65667415ecc8abdf1f15a48c5520ed78140afb60)

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>
2013-09-17 19:34:55 +01:00
Ross Burton
ab9e266ab9 xserver-xorg: change mesa dependency to virtual/mesa
(From OE-Core rev: 57197949a980e8578cb5d758feb0e595e1f721e4)

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>
2013-09-17 19:34:55 +01:00
Ross Burton
015cb13a67 mesa-gl: add GL-only Mesa recipe
Some machines have hardware-specific GL drivers that do EGL and GLES (many ARM
boards).  Others have their own EGL/GLES drivers and provide a Mesa DRI driver
(EMGD).  Previously adding Mesa, for software GL/GLX rendering in the first case
and hardware GLX in the second, involved bbappends and changing Mesa to be
machine-specific.

By adding a just-GL Mesa the machine definition can combine it with the hardware
drivers cleanly.

(From OE-Core rev: f5a3a4bc33109181c741a2e66c13d0b45566e8fa)

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>
2013-09-17 19:34:55 +01:00
Robert Yang
7303b67d33 linux-libc-headers: do_install: fix "Argument list too long" error
There would be an "Argument list too long" error when the TMPDIR is in a
deep dir, for example, when "len(readlink -f TMPDIR) >= 350 (our
supported value is 410)". Use "$(foreach ,,$(shell echo))" to fix it.

There was already a patch which tried to fix this issue, so squash the
current change into the previous one as Bruce suggested.

[YOCTO #5138]

(From OE-Core rev: 4e10c45d7c61ac1ccf8b53ef525ca03d3d458bba)

Signed-off-by: Robert Yang <liezhi.yang@windriver.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>
2013-09-17 19:34:55 +01:00
Hongxu Jia
8dd7ab3a78 util-linux: move su to /bin for lsb command check test
In busybox, util-linux and shadow, su has been moved to /usr/bin/,
but lsb cmdchk needs su in /bin.

Move su to /bin could fix this issue.

[YOCTO#5175]

(From OE-Core rev: ba84662bd9fb7575e68c87449e986535a2216b30)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 19:34:55 +01:00
Hongxu Jia
a71761e6e6 shadow: move su to /bin for lsb command check test
In busybox, util-linux and shadow, su has been moved to /usr/bin/,
but lsb cmdchk needs su in /bin.

Move su to /bin could fix this issue.

[YOCTO#5175]

(From OE-Core rev: 464d274e45bb94d9990577d85aa5ad02eb5da99c)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 19:34:55 +01:00
Hongxu Jia
44c65db250 busybox: move su to /bin for lsb command check test
In busybox, util-linux and shadow, su has been moved to /usr/bin/,
but lsb cmdchk needs su in /bin.

Move su to /bin could fix this issue.

[YOCTO#5175]

(From OE-Core rev: daff19fe6f0490dc7036602e8b0ca40a23b55556)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 19:34:54 +01:00
Richard Purdie
bb939628ec bitbake: Revert "bb.fatal: Raise a BBHandledException instead of exiting"
Sanity test failures are no longer fatal with this change so whilst
its the right idea, the code paths need more work.

This reverts commit a50017ba71250e1710a6425b60ac7e3f03d88295.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 19:16:10 +01:00
Ming Liu
3091150590 openssh: use volatiles for managing /var/run/sshd
It fixes the following failure:
"fatal: Missing privilege separation directory: /var/run/sshd"

when sshd is started through xinetd.

(From OE-Core rev: a343c32891aa46a7f7d5f0cc6d1266a387900dad)

Signed-off-by: Ming Liu <ming.liu@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:35:19 +01:00
Ross Burton
242ad61580 Revert "initrdscripts: look for new systemd-udevd location"
systemd-udevd is back in /lib, so revert this change.

This reverts commit 27bb516be4.

(From OE-Core rev: 3f6324a86cb8c1c253af06a1033ac71fa61c58d3)

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>
2013-09-17 14:35:19 +01:00
Ross Burton
5eae2d57b4 imake: remove
Remove both imake and the associated xorg-cf-files, as nothing has used imake to
build for a long time.

(From OE-Core rev: aa6d9296e7c7e5b96d868d9c17d639b4f33ca18e)

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>
2013-09-17 14:35:19 +01:00
Ross Burton
9470f687d9 transfig-native: remove, nothing depends on it
(From OE-Core rev: 3ba57642ceca73c601e4297e1b2abd8a4ccd671b)

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>
2013-09-17 14:35:18 +01:00
Chen Qi
bf413add98 rpm: fix typo in PACKAGECONFIG
Fix typo, change PACAKGECONFIG to PACKAGECONFIG.

(From OE-Core rev: 77363d06121ceec264e06165ddda7b829c963301)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:35:18 +01:00
Hongxu Jia
e3cacf17e8 python: fix failures of LSB python-runtime tests
It has been fixed in:
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=e261c1760d8a660c13cd00039a4812d51f47f3df

But there is a typo in:
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=78ac027f2ac6c6663fff7080eabbd3d09c1241bb
It missed to remove an extra "--with-wctype-functions" in EXTRA_OECONF

[YOCTO #5154]

(From OE-Core rev: 4672b10ff9b6fcbfc446cabc4323387be21053cb)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:35:18 +01:00
Li Zhijian
7d6094489c kbd: Allow resizecons on x86_64
(From OE-Core rev: cec49d5083f749d9886207e88648ddd4c12fbc87)

Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:35:18 +01:00
Li Zhijian
0af5853de2 kbd: Fix coding sytle
(From OE-Core rev: 2ababaf74255e7ad43cc951f2f2bc569ef955837)

Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:35:18 +01:00
Hongxu Jia
63ae37f924 LSB 4.1 Library Check: fix unable to find library libqt-mt.so.3
The libqt-mt is tested by lsb-dist-checker and lsb-test-desktop,
and it locates in meta-qt3 layer.
So if meta-qt3 is not added, there should be a warning to call
attention; if added, it will add libqt-mt to RDEPENDS.

[YOCTO #5153]

(From OE-Core rev: f646f96015b408f4c6d56998f08178a69ed9f2a6)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:35:18 +01:00
Jason Wessel
85a5a2c3b2 cdrtools-native: Update from 3.00 to 3.01a17
The update is needed to support generation of EFI boot images that
work with optical media.  Specifically the "-eltorito-platform efi"
capability for mkisofs is needed.

[YOCTO #4100]

(From OE-Core rev: aaa85b0706197423786dfeae386dbb402ee15684)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:35:18 +01:00
Jason Wessel
c78c1f9c92 bootimage.bbclass: Move fat image creation into a function
In order to call the fat image creation multiple times it needs to be
in its own function.  A future commit will make use of the new
function to additionally create EFI image files for use with an ISO.

[YOCTO #4100]
[YOCTO #1913]

(From OE-Core rev: 6d5181dc68766f42416a41f4988e8400d37fd7fa)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:35:17 +01:00
Robert Yang
238e9b54e2 coreutils: set acpaths to avoid "Argument list too long" error
There would be an error when the TMPDIR is long/deep, for example when
len(TMPDIR) = 350 while our supported longest value is 410:

[snip]
aclocal: error: cannot open xxx
autoreconf: aclocal failed with exit status: 1
ERROR: autoreconf execution failed.
[snip]

Let aclocal use the relative path for the m4 file rather than the
absolute would fix the problem.

Another fix is that we can modify autotools.bbclass to let it use the
relative path rather than the absolute, but I don't think that we have
to do that based on the following 2 thoughts:

* The coreutils is the only recipe which has this issue as far as we
  know when len(TMPDIR) <= 410, because it has the most amount of m4
  files (more than 400 ones).

* That would impact all the recipes which use autotools.bbclass, and we
  are not sure about the side effect, for example, it would break the
  build there is a sub-configure.

[YOCTO #2766]

(From OE-Core rev: 22ac874512c2c1213aae8e1644bd59050b37a63c)

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
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>
2013-09-17 14:35:17 +01:00
Randy MacLeod
2ac9925ceb vala: add bison-native depends for vala-native
vala-native builds were working because most systems have
bison installed on the host. Add an explicit dependency on
bison-native since bison isn't a sanity checked host tool.

(From OE-Core rev: 4bcc087290661544dd5f6466d2d6ab74488f34ec)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:35:17 +01:00
Nitin A Kamble
b925c752c0 udev: avoid autosuspend of USB input devices
Some of the external USB devices has internal USB hub, which
make them look like "fixed" rather than "removable". And USB
autosuspend does not work with some of these devices resulting
in inoperable pointing device.

Now the code detect these false "fixed" devices by looking at their
parents.  If any of their parent is "removable", then USB autosuspend
is not enabled for that device, which keeps the pointing device
functional.

Fixes bug:
[YOCTO #5166]

(From OE-Core rev: d74a0ecdbc85a482cab6e7eae8dcb48185d44d84)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@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>
2013-09-17 14:35:17 +01:00
Richard Purdie
9592f311b0 linux-libc-headers: Fix comment typo spotted by Mark Hatle
(From OE-Core rev: 27e7162840482c7790480be5f52c7651d5b71794)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:35:17 +01:00
Ross Burton
1b7f829de7 webkit-gtk: remove compile-three-times hack
Remove the hack to handle Make 3.82 which ran make three times, as we sanity
check Make and refuse to build with the broken release.

(From OE-Core rev: dccd55eaeaee123238372c02c34d476d68816232)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:35:17 +01:00
Jukka Rissanen
42ef04b364 connman: Try to figure out NFS root interface if using DHCP
The commit c734873022 missed the case
where the NFS is using DHCP.

[YOCTO #5176]

(From OE-Core rev: 29be8e79a200d33555d2887578975e33b8417795)

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:35:17 +01:00
Ross Burton
06078af4ca libxml2: remove patch for CVE-2012-2871
This CVE patch is actually against Chromium as they ship an internal fork of
libxml2 and breaks ABI.  The real issue has been resolved in libxslt 1.1.27, and
we're shipping 1.1.28.

(From OE-Core rev: e6c60252ab4ba6842f63c6b8a519a85f2ff238fb)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:35:17 +01:00
Richard Purdie
1bf8d83d5a utils: Update bb.which reference and other syntax cleanup
* bb.which -> bb.utiis.which()
* Use modern form of datastore access
* Use True, not 1
* Drop pointless imports

(From OE-Core rev: 106a4f5b41e5bdeabe588b9ba362f3693b1a9989)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:35:16 +01:00
Richard Purdie
641a80d760 autotools: Remove .la files if rebuilding non out of tree software
(From OE-Core rev: bcf83bb604906361db98003127b90c422e822322)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:35:16 +01:00
Elizabeth Flanagan
912e8d5672 meta-yocto/layer.conf: Bump LAYERVERSION_yocto
Commit 5992830145 fixes the autobuilder needing to rename
qemux86-64 to qemux86_64 however in order to maintain autobuilder
compatibility with prior releases we need to bump LAYERVERSION.

(From meta-yocto rev: f08147b082017ff3f6eb812afb9c1e3704214de4)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:11:05 +01:00
Richard Purdie
d96c512db1 bitbake: bb.fatal: Raise a BBHandledException instead of exiting
With new bitbake UIs having the cooker exit at 'random' points
in the codebase is problematic. This patch raises an exception
which matches the siutation instead.

(Bitbake rev: a50017ba71250e1710a6425b60ac7e3f03d88295)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:11:05 +01:00
Richard Purdie
d15652d78c bitbake: data: Optimise flag exclusion list handling
Move the variable lookup to the outer loop for performance, replacing
a now unneeded parameter (after the previous changes).

(Bitbake rev: 8a59a8707cecbde257fca169775ce8ff7709928b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:11:05 +01:00
Richard Purdie
9a32eca022 bitbake: data: Optimise flag lookup in build_dependencies
When looking up flag variable dependencies, large chunks of the function
aren't needed. Optimise the function flow accordingly for speed.

(Bitbake rev: 1bf3aee698ad35f6815ea2c75471a96511a29d55)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:11:05 +01:00
Richard Purdie
d7e7b991ce bitbake: data: Optimise build_dependencies a little
Instead of multiple calls to getVarFlag, make one call to getVarFlags, only expanding
the flags that need to be expanded. This improves performance.

(Bitbake rev: eba1e9545cc933820d40de96f023b2307b3c4d0b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:11:04 +01:00
Richard Purdie
d6ac67f9af bitbake: data_smart: Cache the fact a variable accesses another even if its unset
If a variable references another but it isn't set at present, the
reference wasn't stored. It really should be marked as a reference
and the higher level dependency code can handle as appropriate.

(Bitbake rev: b05b748b2153c941b95cd36fb22aaafc4dbf3791)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:11:04 +01:00
Richard Purdie
385bd4410d bitbake: data_smart: Allow flags to use the expand cache
(Bitbake rev: a0122ab80df21597291ff32ff7fbaa4de0347a6f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:11:04 +01:00
Richard Purdie
a61519f3fb bitbake: data_smart: Allow expansion of flags in getVarFlags
Allow a list of flags to expand to be passed into getVarFlags. This
is useful within bitbake itself to optimise performance of the
dependency generation code.

(Bitbake rev: a3ae7efdf750fc5bb9ff5a75defbcfdab1912dbe)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:11:04 +01:00
Alexandru DAMIAN
0902850e97 bitbake: data_smart: Add explict None checks
Simple if xxx checks end up calling len(xxx). We're interested in the specific case
of None which means we can break out the iterator much earlier after the first
item. This adds in the specific tests for None in what is a hot path in the
data store code which gives small performance gains.

(Bitbake rev: a4d81e44a7cd3dafb0bf12f7cac5ff511db18e60)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:11:04 +01:00
Richard Purdie
66c9c01b2b bitbake: data: Cache an list of export variables
Compute a cache of the list of potential export variables so
that we don't have to compute the list from scratch.

(Bitbake rev: f41f46f7eaa6889edeb3a4e4ddedc07084686c60)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:11:04 +01:00
Richard Purdie
36b4fcde7a bitbake: data: Use direct iteration, not keys()
Profiling shows the creation of keys() has overhead and we're better using
an iterator rather than the memory associated with the huge list of keys
when iterating the whoe datastore. We minimise the number of times
we do this to twice only per recipe.

(Bitbake rev: e63448d9ee331b0f45fb9a0197d0dbee49eb2fa0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:11:04 +01:00
Richard Purdie
f78db82e1a bitbake: data_smart: use the expand_cache in VariableParse
When in VariableParse, use the expand_cache if possible rather than looking
up data. Ultimately it would come from the same place but this short cuts
a heavily used code block for speed improvements.

(Bitbake rev: f682b8b83d21d576160bac8dc57c4c989b4dc555)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:11:03 +01:00
Richard Purdie
43f1867e32 bitbake: data_smart: Improve variable expansion regexp
Debugging showed the variable expansion regexp was catching python
expressions (starting with @). Since these are caught by their own
dedicated regexp, stop matching these for the plain variable expansion
for small performance improvements.

(Bitbake rev: c630d564285f55f9db10c18269bd310df797430e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:11:03 +01:00
Richard Purdie
c971868360 bitbake: siggen: Use lookup cache exclusively
All the values we need are already guaranteed to be in the lookupcache
so rather than fetch variables again, just use the cache. This gives a
small performance improvement and simplifies the code.

(Bitbake rev: 8ffaba61da7f195d7c3b64dce35b6a56272aecae)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:11:03 +01:00
Richard Purdie
43c670accc bitbake: data: Be explicit in data_db check
The if statement current causes the size of parent to be calcuated which
is like a len() operation on a datastore. Since we're only interested
whether the value is none, checking explictly for this gives a
small performance gain.

(Bitbake rev: 43a245bde318545ea75ca4ce7894395c1cf9b32a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:11:03 +01:00
Richard Purdie
602bb695cf bitbake: cooker: Allow profiling of the parser in profile mode
(Bitbake rev: f8a6e4caed4dc3dcf207aecc4ea5f438027da8be)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:11:03 +01:00
Alexandru DAMIAN
eb4854f903 bitbake: cooker: Avoid duplication for taskdata creation
Clean-up to avoid duplication and promote code reuse to factor
taskdata creation into a common function.

[RP: minor tweaks]

(Bitbake rev: 468c221449290c4f196e87f7d8e23fcd7db86135)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:11:03 +01:00
Alexandru DAMIAN
a828c89822 bitbake: runqueue: add runQueueTaskSkipped event
Adding a runQueueTaskSkipped to notify that the tasks that are not
run either because they are set-scened or they don't need an update
(timestamp was ok).

(Bitbake rev: cf4a0c7aa82090876ae652b611acfab3ce2688f7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-17 14:11:02 +01:00
Richard Purdie
1181e69119 bitbake: build: Add logfile to add TaskBase events
We add the path to the logfile for all Task events except TaskInvalid
so that we can trace back the logfile locations at some future point.

TaskInvalid doesn't ever have a logfile.

(Bitbake rev: 8344d84c609446f59f9619cc7ca0d693b7e2bbd6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-16 13:12:34 +01:00
Bruce Ashfield
5fca4d286e linux-yocto/3.10: genericx86 meta data factoring
Updating the 3.10 meta branch to import the following commits from Darren
Hart:

   285f93b meta/common-pc-64: Add USB 3.0 support
   75072e4 meta/common-pc*: Refactor common-pc-64 to reuse common-pc drivers
   da06bde meta/common-pc: Split out CPU and Drivers config fragments
   5f55e40 meta/common-pc: Cleanup common-pc.cfg and common-pc-gfx.cfg
   0a3f784 meta/common-pc: Add common Wifi drivers
   f4b9f5e meta/common-pc: Add common Realtek and Atheros Ethernet drivers
   4d9d3eb meta/common-pc: Build Ethernet and Wifi drivers as modules
   13141ee meta/common-pc: Refactor Ethernet and Wifi options

These are in support of a new genericx86 multi-target BSP.

(From OE-Core rev: 1ab0813c819d3b785178faa458486efa6992c636)

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>
2013-09-14 08:36:26 +01:00
Stefan Seefeld
366bd119bd lttng: Enable ptest support.
(From OE-Core rev: d0d184045e8034ddbc77549e681f187e12ab1d08)

Signed-off-by: Stefan Seefeld <stefan_seefeld@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:29:42 +01:00
Roy.Li
f8ccabac55 systemd: add ptest
(From OE-Core rev: dc3ac3d406bd6152eaa195e90b95bcdb0ac31121)

Signed-off-by: Roy.Li <rongqing.li@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:29:42 +01:00
Chen Qi
97f1c03d98 sysvinit: remove unused files
The 'need' and 'provide' files are there for simpleinit compatability,
according to the comments in these two files.

However, we don't use simpleinit and there's even no simpleinit recipe
in OE. Besides, these two files are not installed.

This patch removes these two unused files.

(From OE-Core rev: 05ac5627208c98007cd4c7aed9d76f179cd974a9)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:29:42 +01:00
Chen Qi
e909857be0 sysvinit: fix indentation
Fix indentation in SRC_URI to conform to the indentation convention in OE.

(From OE-Core rev: e05e7016fac7c665a23865dce18b816e01dbd51e)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:29:42 +01:00
João Henrique Ferreira de Freitas
707da95b4a boot-directdisk: Allow for EFI-only boot direct disk images
Condition building PCBIOS legacy images on MACHINE_FEATURES containing "pcbios"
    or not containing "efi". This ensures existing BSPs will continue to get the
    old PCBIOS legacy-only images. New BSPs can add "efi", "pcbios", or both. The
    images created likewise support one or the other or both.

(From OE-Core rev: c58aceee7dc243467dd87f07ccc61859f8d945e6)

Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:29:42 +01:00
Khem Raj
a6974f2a70 elfutils-native: Fix build on distros with gcc 4.8
The patch redhat-portability.diff causes this issue
so lets revert the portion which was using %a instead of %m
thats recommended anyway, redhat patch seems to be targetting
old compilers.

(From OE-Core rev: c1cbc57eb80d2cab9a80d5e5aa65419f40eefb15)

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>
2013-09-14 08:29:42 +01:00
Khem Raj
1875fb796f eglibc_2.18.bb: Fix IFUNC support for ARM REL relocations
This should fix the case where neon code is emitted for machines
which dont have neon unit in the chip

[YOCTO# 5161]

(From OE-Core rev: 516e6f065a1bed0d95ffd1c8a4d8e135d834af94)

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>
2013-09-14 08:29:42 +01:00
Ross Burton
99875e2e1a xf86-video-vmware: disable VMWGFX
Our Mesa doesn't yet ship the XA Gallium state tracker that the VMWGFX
sub-driver needs, so just disable vmwgfx.

Also remove a spurious xvmc dependency.

(From OE-Core rev: a6f84a0317997c3f49e136381f8d2f2f5cadd292)

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>
2013-09-14 08:29:42 +01:00
Roy.Li
019dafd930 systemd: link runlevel from systemctl
using update-alternatives to link runlevel from systemctl, as on Fedora 18

(From OE-Core rev: 8909b3b71b2ac792ae092b8f0a6c2ade28f6b73b)

Signed-off-by: Roy.Li <rongqing.li@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:29:41 +01:00
Stefan Stanacar
576a19ed6c scripts/contrib/build-perf-test.sh: record size in kb and remove extra spaces
(From OE-Core rev: 8c2b5948d41d753982242cd86a1498ab4f1bb317)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:29:41 +01:00
Muhammad Shakeel
5fb63f685c apmd: Add systemd support
-Remove dependency on meta-systemd

(From OE-Core rev: 9e963fe587dda3ce77707194fc5dd029188c76d8)

Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:29:41 +01:00
Muhammad Shakeel
27bb9d0a90 oprofileui-server: Add systemd support
-Remove dependency on meta-systemd

(From OE-Core rev: 177bf318bcd3dd2bfb3bec094b1f5ccac7bdd9ac)

Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:29:41 +01:00
Hongxu Jia
34e875e7ec LSB Command Check: fix install_initd and remove_initd not found
The install_initd and remove_initd are linked to /sbin/chkconfig for lsb
core test, but chkconfig has been moved from /sbin to /usr/sbin in order
to fix QA warning about unsafe references in binaries.
(In commit e486242db8)

Let install_initd and remove_initd link to /usr/sbin/chkconfig could fix
this issue.

[YOCTO #5152]

(From OE-Core rev: 789c4c13c5095a2865d1ee1b242141b5b076bed5)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:21:01 +01:00
Ross Burton
58324d8c09 anjuta-remote-run: remove
This is from the Anjuta integration which was removed many years ago.

(From OE-Core rev: db488bf8130dba2ad8771b0634e3c5de452f23f2)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:21:01 +01:00
Laurentiu Palcu
3e31a50b66 adt-installer: fix opkg repo name
I mistakenly named the allarch opkg repo the same as nativesdk one...

This patch fixes it.

[YOCTO #5181]

(From OE-Core rev: 98f39b0ae4ed45194a165de3913f27745481cb7a)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:21:00 +01:00
Richard Purdie
babbf7a46a linux-libc-headers: Add big warning about antisocial behaviour
I'm getting concerned with the number of people forking this recipe
and not understanding what they're doing. I'm therefore proposing
adding in a suitable warning to people thinking of copying it.

(From OE-Core rev: c27ac156bcaf3193d52f456480947b0cfaef3c72)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:21:00 +01:00
Stefan Stanacar
214bb6828e lib/oeqa/runtime: timeout increases
Increase the timeout for smart commands as under load for qemumips
it's still to small. Also give ping more time fixing a potential
timeout for sato systemd.

(From OE-Core rev: daa3ad5807f6fc0d15b9310937d07a16edac6d22)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:21:00 +01:00
Richard Purdie
8ebe7be3d9 bitbake.conf/package: Collapse PKGDATA_DIR into a single machine specific directory
Currently we have a hierarchy of pkgdata directories and the code has to put together
a search path and look through each in turn until it finds the data it needs.

This has lead to a number of hardcoded paths and file globing which
is unpredictable and undesirable. Worse, certain tricks that should be
easy like a GL specific package architecture become problematic with the
curretn search paths.

With the modern sstate code, we can do better and construct a single pkgdata
directory for each machine in just the same way as we do for the sysroot. This
is already tried and well tested. With such a single directory, all the code that
iterated through multiple pkgdata directories and simply be removed and give
a significant simplification of the code. Even existing build directories adapt
to the change well since the package contents doesn't change, just the location
they're installed to and the stamp for them.

The only complication is the we need a different shlibs directory for each
multilib. These are only used by package.bbclass and the simple fix is to
add MLPREFIX to the shlib directory name. This means the multilib packages will
repackage and the sstate checksum will change but an existing build directory
will adapt to the changes safely.

It is close to release however I believe the benefits this patch give us
are worth consideration for inclusion and give us more options for dealing
with problems like the GL one. It also sets the ground work well for
shlibs improvements in 1.6.

(From OE-Core rev: 1b8e4abd2d9c0901d38d89d0f944fe1ffd019379)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:21:00 +01:00
Richard Purdie
af5b3f3510 layer.conf: Version bump for DEPLOY_DIR layout change
Increase the version to signify the layout change of the images
in the deploy directory.

(From OE-Core rev: 4246e7dd59800a1d6c6d02c00f4e86eeac020767)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:21:00 +01:00
Paul Eggleton
6670be71f7 bitbake.conf: include machine name in DEPLOY_DIR_IMAGE
This allows a clean seperation between image outputs from different
machines, and makes it possible to have convenience symlinks to make
the output ready to deploy.

This did require some surgery in runqemu; if explicit paths to the image
and kernel are not supplied then DEPLOY_DIR_IMAGE needs to be determined
from bitbake or set in the environment. However the script does try to
avoid requiring it unless it really is needed. Corresponding changes
were made in the automated testing code as well.

Based on an RFC patch by Koen Kooi <koen@dominion.thruhere.net>

(From OE-Core rev: 7e90261aec61f79680b5eaeaf5b18c7b795412a4)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:21:00 +01:00
Robert Yang
ee7ccda0ec icu-native: do_install: Segmentation fault
There was a "Segmentation fault" error when build icu-native when the
TMPDIR is in a deep directory (for example, when len(readlink -f $TMPDIR
== 410)), use LARGE_BUFFER_MAX_SIZE for cmd rather than
SMALL_BUFFER_MAX_SIZE would fix the problem, this should be a misplay
because other cmd uses LARGE_BUFFER_MAX_SIZE.

[YOCTO #5171]

(From OE-Core rev: ebfdddc23ff78231a819c62c8ffcced9633aa08b)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:21:00 +01:00
Robert Yang
0c11a7740b perf: source should be ready after do_unpack
In perf.bb:

S = "${STAGING_KERNEL_DIR}"

So the source should be ready after the do_unpack, and we need this:

do_unpack[depends] += "virtual/kernel:do_populate_sysroot"

Otherwise, maybe no source after do_unpack.

[YOCTO #5168]

(From OE-Core rev: 01d3b15518b981199120b3b9c6923678244aefdc)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:21:00 +01:00
Peter Kjellerstedt
4137f9a996 bb-matrix-plot: Use interpolation for sparse data
If not every combination of BB_NUMBER_THREADS and PARALLEL_MAKE have
been tested by bb-matrix.sh, e.g., by using BB_RANGE="04 08 10 12 16"
and PM_RANGE="04 08 10 12 16", then the graph that gnuplot generates by
default looks very jagged due to the missing data points. By using
splines to interpolate the missing data the graph looks a lot better.

This should not change graphs where all data points are available in any
way, only improve sparse graphs.

(From OE-Core rev: 9642c1314da64c70254f6b012aa73ef37bbaa33f)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:21:00 +01:00
Richard Purdie
493e8b46fd bitbake.conf: Stop providing ${P} and ${PF} by default
For a long time we've provided PN-PV and PN-PV-PR by tweaking PROVIDES. This looks
nice at first glance however it turns out to be a bit problematic. Taking make as an
example where there are two versions, 3.81 and 3.82, what should "bitbake make-3.81" do?

Currently it builds make-3.81 and make-3.82 and breaks in interesting ways. Is that
a bitbake bug? Well, it certainly shouldn't try and run the build. Why is it building
3.82 though? Its due to finding a dependency on "make-dev" and then trying to figure
out what provides it? The answer is "make" and the default version of "make" is 3.82.

So arguably, finding "make-3.81" should infer PREFERRED_VERSION_make = "3.81". Doing
so resolved the above problem since now "make" resolves to "make-3.81".

So what about if we have Recipe A:
DEPENDS = "make-3.81"
and Recipe B:
DEPENDS = "make-3.82"

That is clearly an error, easy. So finally what about if we have Recipe A:
DEPENDS = "make-3.81"
and Recipe B:
DEPENDS = "make"

The first recipe infers the PREFERRED_VERSION_make = "3.81" and then forces that
version on everything else. Is that desired? Probably not in most cases, at least not
silently.

As mitigation, we could print a WARNING about this happening. The final part of the problem
is that we can ony figure this out within bitbake itself. That means we'd have to teach bitbake
about the PN-PV format of PROVIDES which is breaking the separation between bitbake and the
metadata. We can't win :(.

Nobody that I know of is using or relying on this functionality so perhaps we should
just remove it instead which is what this patch does. Opinions?

(From OE-Core rev: a87c205bb6cefd5e1a41b8e7ef02b5bfa380e3b6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:20:59 +01:00
Peter Kjellerstedt
643252f889 bb-matrix: Clean before, rather than after, building
This makes sure the the first build starts from a clean state. Otherwise
one could have the first build affected by any leftover state from
a previous build.

This also leaves a working state behind after the final build.

(From OE-Core rev: f8f86ac88aa1bba99ba28762cfbd97d3721da7d9)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:20:59 +01:00
Roy.Li
0acde33c75 sstate.bbclass: fix parallel building issue
sstate_package creates hardlink from sysroot to SSTATE_BUILDDIR, then
sstate_create_package will store SSTATE_BUILDDIR into a archive file by
tar, but once other packages install the same file into sysroot, the
creating the archive file will fail with below error:

    DEBUG: Executing shell function sstate_create_package
    tar: x86_64-linux/usr/share/aclocal/xorg-macros.m4: file changed as we read it

This kind of error is harmless, use --ignore-failed-read to ignore it.
The error in tar occurs when the timestamp of the file changes and this
can happen when the number of symlinks change. The file will be included
in the archive.

[YOCTO #5122]

(From OE-Core rev: 4b3e353a532c7b68b0bb86df4a2fcc44f8bb3ef2)

Signed-off-by: Roy.Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:20:59 +01:00
Richard Purdie
ca1b5ddb86 bitbake: cooker: updateCache should rause exceptions, not sys.exit
Exiting from the server is antisocial, instead we should raise an exception. This
will correctly fail the current command and reset the server state. We use
the handled exception since for these conditions to occur, something was
already displayed to the user.

(Bitbake rev: dacc94bcace85a2e95aee2dccd8e680c59e4545f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:20:38 +01:00
Richard Purdie
926b60f6e4 bitbake: knotty: Cleanup error/interruption handling
Only display a CommandFailed ERROR: message if there is an error to display.

Only display an errors summary if we actually displayed errors.

(Bitbake rev: 568ea00acd226d48e725bb01d4f8c410ed1eaa61)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:20:38 +01:00
Richard Purdie
ef7e3882a9 bitbake: command: Treat empty messages as failures, not CommandCompleted
Empty messages should trigger CommandFailed, not CommandCompleted as
otherwise the exit code will be incorrect.

(Bitbake rev: 70a8ead31f9ffc987d9c6db61a926f7a9af8f8b1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:20:38 +01:00
Richard Purdie
0519d1ae13 bitbake: cooker/command: Add finishcommand to reset cooker state
After running a command on the server, it needs to reset to the initial
state. This ensures that subsequent clients start from a known state
and notice any configuration changes.

Ultimately we may want to do more than this buts a good start and better
than nothing.

(Bitbake rev: dd15648fc2654b8d7c3e00ea7ab3dbf04f24f24b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:20:38 +01:00
Richard Purdie
7663a52061 bitbake: cooker: Rename confusing 'stop' state to 'forceshutdown'
The shutdown state causes the server to finish what its doing, stop was
them meant to completely stop it. It doesn't mean the server is stopped
though. Renaming the current stop event for forceshutdown gives more
meaning to what it actually does. The stopped namespace then becomes
available to indicate a completely stopped server.

(Bitbake rev: 12e9d33bfae5294e3870dfd1202f63383ad05e92)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:20:38 +01:00
Richard Purdie
2174a51ee8 bitbake: cooker: Clean up init/reset configuration code
Currently the cooker event data isn't rebuilt upon reset and the cache
configuration cannot be changed after init. These are both bad things
and this patch refactors the init/reset code so that it is possible
to reconfigure the server.

(Bitbake rev: 1193b8d76fcb6cb87e9ec135a2514370d7dd90ac)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:20:38 +01:00
Richard Purdie
fe1258d478 bitbake: cooker: Drop obsolete worker test
This call only ever happens in cooker context now so we can drop the
nasty worker check from here.

(Bitbake rev: bc0b30199a8e3624c5b9914430adbcc7c6bd4497)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-14 08:20:37 +01:00
Alexandru DAMIAN
a392877e57 bitbake: bitbake: xmlrpc: delete unused code BitBakeUIEventServer
BitBakeUIEventServer is an unused class that pushes UI
events over a separate thread.

The current version of XMLRPC server works just fine with
the classic UI event handlers, so this class is not needed.

(Bitbake rev: 8e8e17631d790271b1be747c4b45059ec38ab606)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-13 17:45:22 +01:00
Richard Purdie
dd36930f3f bitbake: data_smart: Account for changes in append/prepend/remove in the config hash
bitbake wasn't reparsing when _remove items were added to its configuration
and equally, appends/prepends were also being badly tracked. This
change enrures these variables are accounted for in the configuration
hash.

[YOCTO #5172]

(Bitbake rev: 62914f9208ef2427a34daa523af857f4027900eb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 17:03:17 +01:00
Scott Rifenbark
89ca97371d ref-manual: Added information for OEROOT and build environment
Fixes [YOCTO #4980]

Added a new glossary entry for OEROOT.

Added significant information to the local.conf and bblayers.conf
reference sections to describe how the root build directory is
derived.

Also, some unrelated formatting to the DL_DIR variable description
was mixed in here because I forgot to commit that separatey and it
lives in the same variables.xml file.

(From yocto-docs rev: c397a31f5b0d3f6257657119a4e81b4fbdc3800c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:12 +01:00
Scott Rifenbark
3c4f2a6118 ref-manual, mega-manual: Updated source input figure
Fixes [YOCTO #2808]

I tweaked the SCM box in the figure so that the connection to
real SCMs is better.  This was causing confusion.

(From yocto-docs rev: f4080315ab6b57068ab2fbb948c52f731d1ea5dd)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:11 +01:00
Scott Rifenbark
c375134c6a dev-manual: Updated wording to be more professional for broken build.
(From yocto-docs rev: 133b40d224740c23573ae473d5a2938ae069158a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:11 +01:00
Ross Burton
775fbab597 dev-manual: Update to bblayers.conf example
The variable ##COREBASE## has been deprecated, so use
 ##OEROOT## instead.

(From yocto-docs rev: 4520a2e41bf229481bd959e494e5bde84bbcfc51)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:11 +01:00
Darren Hart
91b9202de9 dev-manual, ref-manual: replaced "atom-pc" with "genericx86"
Update the manuals to reflect the recent replacement of atom-pc with
genericx86.

(From yocto-docs rev: 8f77006d74b77000f56b64581cb5f6474f53a4f1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:11 +01:00
Scott Rifenbark
743106f392 ref-manual: Re-ordered some P* variables in the glossary.
Some things were not in alphabetical order.

(From yocto-docs rev: e7d96d5eecaa74d680a4495a21f86a7776852c48)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:11 +01:00
Scott Rifenbark
de62377415 dev-manual: Added new section on how to exclude a package
Fixes [YOCTO #4079]

The changes here address the documentation component of this
bug.  There is now a new section in the dev-manual in the
"Working With Packages" section that describes and introduces
the three variables the user can use to control this feature:
BAD_RECOMMENDATIONS, NO_RECOMMENDATIONS, and PACKAGE_EXCLUDE.

(From yocto-docs rev: a7e2097c43955db99ec068068d4291fc4e1deaf8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:10 +01:00
Scott Rifenbark
0ca3c5f540 ref-manual: Updated the screen help for bitbake command.
(From yocto-docs rev: fc48174c0cc851ab6ace5a8f41ba7d291b1cbb0a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:10 +01:00
Scott Rifenbark
a266619317 documentation: Added the memory-resident BitBake feature
The main changes are captured in a new section devoted to the
oe-init-build-env-memres script within the ref-structure.xml
file and in the variables.xml file in a BBSERVER variable entry
in the glossary.

All other changes were necessary to integrate the new functionality
into areas where running the setup script are discussed.  Before
this feature, there was a single setup script (oe-init-build-env).
Consequently, wordings and such were designed exclusively for this
single method.  With the introduction of a second possible method
to initialize the build environment, tweaks to many sections were
needed.  Beside the wording tweaks, appropriate cross-referencing
was also needed.

All these changes cover the integration of the new feature.

Reported-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(From yocto-docs rev: c55c9a53c9b4cd1e06e6e81e32d56f9bbf5fe98c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:10 +01:00
Scott Rifenbark
cc2626727c ref-manual: Re-ordered some B* variables to be in alphabetical order.
(From yocto-docs rev: 75e170bb84d263a514e79c02c8628ef44290a5b2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:10 +01:00
Scott Rifenbark
2fe0213997 ref-manual, mega-manual: Updates to config and package splitting figs
Fixes [YOCTO #2808]

Found some errors in how I was labeling the various directories
created in the Build Directory upon image configuration.  I corrected
the labeling by editing these two figures.

(From yocto-docs rev: 4a08ad8bda0617e18b9998b794267f743e445eaa)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:10 +01:00
Scott Rifenbark
973fd9b7b1 ref-manual, mega-manual: Updated two figures
Fixes [YOCTO #2808]

Updated the images and SDK figures so the outside box would be
red as that is what it is in the general figure.

(From yocto-docs rev: 8f43a328c68bdb96e6b7cc1086400c8e3493d3b7)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:10 +01:00
Scott Rifenbark
fdc1ad2936 ref-manual, mega-manual: Edits to figures
Fixes [YOCTO #2808]

I made some small cosmetic corrections to two figures in the
expanded look at YP process chapter.

(From yocto-docs rev: 50950f7ae6ea87cde1a9228837aa15985c88b579)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:09 +01:00
Scott Rifenbark
cc265bf535 ref-manual: Created new "Closer Look" chapter
Fixes [YOCTO #2808]

I extracted the section that takes a closer look at the YP
development process into its own chapter.  Feedback during the
review indicated that this information should not be buried as
it was in a section but rather pulled higher out for visibility.

So, The changes create a new chapter three that is dedicated to
this topic.

(From yocto-docs rev: 32c66976b6b84787d14d6174dab843862a0d184b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:09 +01:00
Scott Rifenbark
7b70da93bc ref-manual: Re-ordered flow for detailed process sections.
Fixes [YOCTO #2808]

Based on feedback from Dave Stewart, I have rearranged the sub-
section flow of the topics to match that of an actual build.
This meant moving the BitBake section higher up in the order.

(From yocto-docs rev: 3e62dd70dab596c3a55815c1ad3f1578a9f3400f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:09 +01:00
Scott Rifenbark
b359e9a981 ref-manual, mega-manual: Updates to process figures
Fixes [YOCTO #2808]

Updated several figures to get rid of shadows and gradients in the
colors.  This completes the work on getting the figures to all be
consistent.

(From yocto-docs rev: 9e59810ed4772cd75ffe1604b66afe16e9cf9c67)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:09 +01:00
Scott Rifenbark
78e209d346 ref-manual, mega-manual: Updated package-feeds diagram
Fixes [YOCTO #2808]

Modified the BitBake box to have a "spatula" form to be like
the BitBake box in the more general diagram.

(From yocto-docs rev: f42867929336c807977a584fba42613cbca44dfc)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:08 +01:00
Scott Rifenbark
6a18edd8e2 ref-manual, mega-manual: Updated the analysis figure.
Fixes [YOCTO #2808]

Updated the analysis-for-package-splitting.png figure so that
the BitBake box has the "spatula" form used in the regular
overview picture.

(From yocto-docs rev: 4ef43f3a4f96b867ab0985aa70996abe4c2caf75)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:08 +01:00
Scott Rifenbark
661c27d2c7 ref-manual, mega-manual: Updated the configuration figure
Fixes [YOCTO #2808]

Updated the configuration-compile-autoreconf.png figure so that
the general shape of the BitBake box represents the "spatula"
form used in the general overview figure.

(From yocto-docs rev: b4c81b94a3ced5645a92076022abc4a3938be5b3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:08 +01:00
Scott Rifenbark
8cb2038c70 ref-manual, mega-manual: Updated the patching figure
Fixes [YOCTO #	2808]

Updated the figure for patching so that it uses the "spatula"
type BitBake shape rather than a square box.

(From yocto-docs rev: 61c2bdc1a0d6f33d18f5fef1b0640213b899ec63)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:08 +01:00
Scott Rifenbark
ddb29c561c ref-manual, mega-manual: Updated the source fetching figure
Fixes [YOCTO #2808]

Updated the figure to use the "spatula" type version of the
general BitBake box.  Also had to adjust the width a bit to
get the figure to display correctly.

(From yocto-docs rev: 3049e20eb215b00e61dabed9c124fa8ebc6c946b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:07 +01:00
Scott Rifenbark
27b499841a ref-manual, mega-manual: Updated ADK figure
I modified the sdg.png figure that shows detail for SDK
generation by creating a spatula-like shape for the general
BitBake box.

(From yocto-docs rev: 597d121e8286d51be73f87594d2f99354621c112)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:06 +01:00
Scott Rifenbark
4cf514fb34 yocto-project-qs: Added Creative Commons distribution blurb.
The QS did not have this legal blurg.  I have added it in.

(From yocto-docs rev: a007c4176b64db6ebbfaf4723c7842603a49ed76)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:05 +01:00
Scott Rifenbark
6a0c6eac99 ref-manual: edits to BAD_ and NO_RECOMMENDATIONS
Some review edits based on Paul's review.

(From yocto-docs rev: d6ff6399cb02b045a7a35a2c87d5f62a25612c3b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:05 +01:00
Scott Rifenbark
69daf50cde ref-manual: Variable adds and edits for package exclusion changes
Fixes [YOCTO #4079]

I have added variable descriptions for NO_RECOMMENDATIONS and
PACKAGE_EXCLUDE.  I updated the BAD_RECOMMENDATIONS and the
RRECOMMENDS variables.

(From yocto-docs rev: 3b5b44d3db9e723cd9836ddbd4177c2ab2e1d663)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:05 +01:00
Scott Rifenbark
d3a849fdb4 ref-manual: Updated DEPENDS and RDEPENDS variable descriptions.
I have added more information to both these variables to help
explain their use better.  Based on email from Paul Eggleton.
Each entry now features a simple example.

(From yocto-docs rev: 1ec67c639f15259ac67d5591d1d7a23522b0a822)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:05 +01:00
Scott Rifenbark
4265649931 ref-manual: Added section on linux kernel image names using PE
Fixes [YOCTO #5089]

In the "Migration" section for going from 1.3 to 1.4, I have
added a new section to describe how the value of PE is now in
the generated Linux kernel image filename.

(From yocto-docs rev: 8ff3d263d2374ab3745e5264c3747e36674e7484)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:05 +01:00
Scott Rifenbark
db678a124d ref-manual: Updated the PE variable description.
I changed the description to note that the PE variable is unset
by default.

(From yocto-docs rev: fe3655121e2796e50b8b3372df06cdf8341a2202)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 16:50:05 +01:00
Richard Purdie
bd76847d86 libnewt-python: Don't write a whiptail package
The whiptail package is written by the libnewt recipe so for the python version
we need to ensure its not in PACKAGES.

(From OE-Core rev: b26157a8b575aa7b5c96ffe782fc23ec0920311c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 08:23:42 +01:00
Richard Purdie
01db559abd populate_sdk_rpm: Only remove trailing whitespace, not all whitespace
(From OE-Core rev: 06cb4deba6e4df4ffe3015602d5997b26d28778b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-12 08:23:41 +01:00
Maxin B. John
566ca1e476 beagleboard: update the dts location
Update the dts path for beagleboard

(From meta-yocto rev: e29387d71a4c532431669f317ea518f99b1dd786)

Signed-off-by: Maxin B. John <maxin.john@enea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-11 23:35:45 +01:00
Ross Burton
cdc3549c9c weston: as weston-launch depends on PAM, control it with a PACKAGECONFIG
(From OE-Core rev: fb430271da67d7ec98c285a3420b00db737cae55)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-11 23:35:45 +01:00
Ross Burton
1b25cf710e clutter: fix compilation when building without X11 backend
If Clutter is building the Wayland backend but not the X11 backend, the Cogl
support doesn't get enabled so the Wayland backend (which uses it) fails to
compile.

Backport a fix from upstream to fix this situation.

(From OE-Core rev: 6df36a004210901acceff4a201d0f910d99eccfe)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-11 23:35:44 +01:00
Ross Burton
4540f6f6cb x11vnc: add dependencies for xrandr/xfixes/xdamage/xtst
Inspired by a patch by Martin Jansa but with these libraries required, as a VNC
server without them is suboptimal.  Don't add an option for Xinerama as our X
server always disables it.

(From OE-Core rev: 4bca0b8adcac6eebc4466a2eea03de3493bf1cc4)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-11 23:35:44 +01:00
Richard Purdie
4496e34aaf populate_sdk_rpm: Ensure empty strings aren't passed to attemponly rpm code
If empty strings are passed to the rpm attemptonly code, it breaks. This
ensures we don't do that.

(From OE-Core rev: 6a0d5a3158608364f6baa11fe9ab7fa1f8e251ab)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-11 23:31:01 +01:00
Ross Burton
46597b5457 xf86-video-vmware: respect opengl DISTRO_FEATURE
Conditionalise the GL dependencies on the opengl DISTRO_FEATURE so this driver
can build without the opengl feature active, as the configure script will
enable/disable the GL sub-driver depending on the presence of these libraries.

This is an interim patch to fix the autobuilder, a more complete patch heading
upstream to make the GL sub-driver deterministic will follow.

(From OE-Core rev: 66b7c59442cc494179418995292c57bab56fada3)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-11 23:31:00 +01:00
Saul Wold
8f9db772dc bluez4/5: Add EXCLUDE_FROM_WORLD = 1
We can't build both recipes in the world build as there is a collision of package name
and PR values. Specificly the libasound-module-bluez which is the same in both goes
backwards from r5 (bluez4) -> r0 (bluez5) and the subpackage_metadata check fails:

ERROR: Recipe lib32-bluez5 is trying to change PR from 'r0' to 'r5'. This will cause do_package_write_* failures since the incorrect data will be used and they will be unable to find the right workdir.

[YOCTO #5165]

(From OE-Core rev: 3653500c7e5d365ddc2868d985c6001d40123672)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-11 23:31:00 +01:00
Ross Burton
33e8896a46 xf86-video-intel: disable DRI2 tests if no DRI2 is available
Somehow this slipped past the initial testing and can cause build errors in
non-GL distros.

(From OE-Core rev: 975412f446066215a94be78a7f7e1db9e28ebbbf)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-11 23:31:00 +01:00
Ross Burton
3f0525d8ce xf86-video-vesa: change depends to refect reality
This recipe appears to have been a copy-and-paste from -intel, because it has
dependencies and configure options that xf86-video-vesa just doesn't have, such
as virtual/libgl and XVMC.

(From OE-Core rev: 4995acafc139107c2323da69eca718009384efe4)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-11 23:31:00 +01:00
Ross Burton
d43975861b ia32-base: only depend on GL if opengl DISTRO_FEATURE enabled
As Mesa refuses to compile if the "opengl" DISTRO_FEATURE isn't enabled,
mesa-driver-i9xx and the GLX X module have to be conditional in the ia32 machine
defintion too.

(From OE-Core rev: 8b5c07e6c3b492f56ce9c5f99a732793403d6b36)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-11 23:31:00 +01:00
Stefan Stanacar
01135ee6f2 lib/oeqa/runtime: smart: limit channel add to useful ones
Don't add inappropiate channels on the target.
This happens when building two different machines in the
same dir and then running the tests for each machine.

(From OE-Core rev: 9e4e475b598f6b9bd2b653c72a1c1d5bd5c0b8c9)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-11 23:31:00 +01:00
Stefan Stanacar
83b90e54be classes/package_rpm: remove unsed outdir variable
Not only outdir had the wrong value, it wasn't used actually used in that function.

(From OE-Core rev: 5db4b53e5d969a6da314904fa2335462947c97ea)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-11 23:31:00 +01:00
Ross Burton
40232ed397 yocto-bsp: conditionalise mesa-swrast on opengl in templates
As per the similar commit in oe-core on the qemu machines, the templates should
respect the opengl DISTRO_FEATURE when adding mesa-driver-swrast to new qemu
machines.

(From meta-yocto rev: 8d42ea2b2566913642c759e48ffe1f5f5166c510)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-11 12:29:06 +01:00
Roy Li
775bc290fb ptest-runner: trivial fixes and refine
1. ptest files may be installed under /usr/lib64/ for 64bit filesystem
or under /usr/lib/ for 64bit multilib filesystem, so we should check both
directories

2. If a soft link is linking to a directory under the same directory, we
only run once.

[YOCTO #5125]
[YOCTO #5126]

(From OE-Core rev: 51c43e08b388ed15520c66977bbb49df18e5f124)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-11 11:07:59 +01:00
Ting Liu
4c92281f03 libcroco: disable Bsymbolic if it is not supported on some hosts
When trying to build on my Centos 5.5 machine, got below error:
| checking for gtkdoc-mkpdf... no
| checking whether to build gtk-doc documentation... no
| checking for CROCO... yes
| checking if gcc supports "-Wl,-Bsymbolic-functions" flag...
| configure: error: -Bsymbolic requested but not supported by ld. Use --disable-Bsymbolic to disable
| Configure failed. The contents of all config.log files follows to aid debugging
|
| configure: exit 1
| ERROR: oe_runconf failed

Set --enable-Bsymbolic=auto to disable it when it is not suppported.

(From OE-Core rev: e7c691b33573b3309752d6eb397486c2c8620adb)

Signed-off-by: Ting Liu <b28495@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-11 11:06:58 +01:00
Mark Hatle
4b2d9acda8 python-smartpm: Add an attempt install mode
[ YOCTO #3723 ]

Add a mode to smart that will allow an installation to continue, instead of
failure in the case that one or more items is uninstallable.

Uninstallable packages are simply ignored, and no error is generated.

(From OE-Core rev: bdf07b1698d228dc7ff555199a269b1ff8ceca19)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-11 11:06:11 +01:00
Richard Purdie
19c3c6dff3 bitbake: utils: Fix BB_PRESERVE_ENV
BB_PRESERVE_ENV wasn't working since data.inheritFromOS wasn't getting a
correct list of keys to import into the data store. This fixes
things so it does add all environment variables into the data store
when BB_PRESERVE_ENV is used.

(Bitbake rev: 843e9339c5ee3c99657a40a0e2c7dbd777b6ef06)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-11 11:05:05 +01:00
Richard Purdie
3e7d6697ba uclibc: Add missing DEPENDS on kern-tools-native
This is needed for the kconfig handling and the merge-config.sh script.

(From OE-Core rev: 1c34b0e871e475a90e27d338469ba31f322d5300)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-11 11:05:05 +01:00
Richard Purdie
bd3164b9e6 image/populate_sdk: Ensure symlinks in target sysroot are relative
In the target sysroot of an SDK we can have target system absolute links
which don't make sense. This adds a script which fixes them up to become relative
paths instead.

[YOCTO #5020]

(From OE-Core rev: 57d6bdcad55c119e9ab8089d23d462436a0e4440)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-11 11:05:05 +01:00
Ross Burton
e7f3fee059 qemu: only depend on mesa-driver-swrast if opengl is enabled
As Mesa refuses to compile if the "opengl" DISTRO_FEATURE isn't enabled,
mesa-driver-swrast has to be conditional in the QEMU machine defintions too.

(From OE-Core rev: 9951e1da6a755f9a46d3a595aa4c2f975aee8f46)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-11 11:05:05 +01:00
Chen Qi
4c3f8d2063 init-live.sh: distinguish between a read-only image and a read-write image
The iso and hddimg share a common concept of 'live image', and they
use the same initramfs and thus the same init. However, that init
script in initramfs made a wrong assumption that the rootfs image
was read-only by itself. This is apparently not true for hddimg.

To make things work as expected, this init script should at least
distinguish between a read-only rootfs image and a read-write one.

This patch adds this ability to the init script. After this change,
the init script would be able to check whether the rootfs image is
read-only or not. If the rootfs image is read-write, the image will
be mounted and then booted directly. No union mounts will be attempted
in this case.

[YOCTO #5164]

(From OE-Core rev: 29f869b68a9017502f75915784a924f0fe9d4be1)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-11 11:05:05 +01:00
Kai Kang
b990585d38 midori: excluded from mips64 temporarily
Exclude midori from mips64 temporarily. Becuase midori depends on
webkit-gtk which could not build for mips64 with 64bits userspace now.

[YOCTO #5141]

(From OE-Core rev: 1b0602b5933b3ee8e4ae36d447bf881308528a47)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-11 11:05:05 +01:00
Saul Wold
6b4f7e4b26 systemd.bbclass: get the correct /lib directory
By using os.path.dirname(systemd_unitdir) we get the correct /lib directory instead of
dealing with possibly multilib directories.  This address a QA Error for shipped/not
installed /lib with multilib and x32.

(From OE-Core rev: 5b451a46550ba62e2fbfe5dbe50723b34a4fd527)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 23:15:16 +01:00
Muhammad Shakeel
8dedc082ba systemd: Remove base_libdir if installed only for systemd_unitdir
If a recipe installs systemd_unitdir and it is a non-systemd build than
systemd.bbclass deletes systemd_unitdir (/lib/systemd/) but not
base_libdir (/lib). In this case if base_libdir is empty than following
QA Issue is reported.

ERROR: QA Issue: openssh: Files/directories were installed but not shipped
  /lib

If base_libdir was installed due to systemd_unitdir installation than for
non-systemd build it should also be removed.

(From OE-Core rev: c700cb21c189e23a78f0efaaf763259c8cfefa4d)

Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 23:15:16 +01:00
Muhammad Shakeel
703104c278 nfs-utils: Add systemd support
- Remove dependency on meta-systemd

(From OE-Core rev: 644394c074c359505fcd750356fb4db58b939729)

Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 23:15:15 +01:00
Muhammad Shakeel
06ecd689ae rpcbind: Add systemd support
- Remove dependency on meta-systemd

(From OE-Core rev: 3ecb5e21b3b4f05f2d527264c3574fdc37984a77)

Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 23:15:15 +01:00
Muhammad Shakeel
1661f5c90a lighttpd: Add systemd support
- Remove dependency on meta-systemd

(From OE-Core rev: 36e3d63abaeafc5d2e671bad45b599c159ed10ab)

Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 23:15:15 +01:00
Muhammad Shakeel
c6d25fbd3f openssh: Add systemd support
-Remove dependency on meta-systemd

(From OE-Core rev: 6e6445d487c033913a29763f8e3a7a339d5b612d)

Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 23:15:15 +01:00
Ross Burton
42742e39d4 avahi: use correct names in SYSTEMD_SERVICE_* variables
Don't hard-code full package names in SYSTEMD_SERVICE_*, because in multilib
they'll be changed.

[ YOCTO #4803 ]

(From OE-Core rev: 013cc8b6397c29e8f0d7adf63d8e06caab778da2)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 23:03:07 +01:00
Maxin B. John
a572d8ad9e dbus-ptest: fix populate_sdk error
When we enable "ptest", populate_sdk fails with the following error:
 # bitbake core-image-minimal -c populate_sdk
 ..
 Collected errors:
  * satisfy_dependencies_for: Cannot satisfy the following dependencies
    for dbus-ptest-dev:
  *    dbus-ptest (= 1.6.10-r0) *
  * opkg_install_cmd: Cannot install package dbus-ptest-dev.

Disable that dependency.

(From OE-Core rev: a59b7341d136bf8ee4a22c2968ca95dc17be3947)

Signed-off-by: Maxin B. John <maxin.john@enea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 23:03:07 +01:00
Ming Liu
879ad0532c initscripts: filter out empty lines from volatiles in check_requirements()
So far the rules of check_requirements() is too strict to lead mismatch
when empty lines exist in volatiles.

(From OE-Core rev: 71ab9ee58b0ba5e3f5cbf403d1b8fb79fc7f5ed1)

Signed-off-by: Ming Liu <ming.liu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 23:00:50 +01:00
Roy Li
f7d1286fe8 btrfs-tools: fix a parallel build issue
(From OE-Core rev: 637e0484ea4e7a39ac4d9c407c585201e6be1bc0)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 23:00:50 +01:00
Bruce Ashfield
a5973acca3 meta-yocto-bsp: bump reference BSPs to v3.10.11
Bumping to the 3.10.11 -stable release. Of note in this update is
the timer_list fix, which broke ssh access in the previous 3.10
series of updates:

    timer_list: correct the iterator for timer_list

    commit 84a78a6504f5c5394a8e558702e5b54131f01d14 upstream.

With this, we can revert the two temporary fixes for timer lists.
ssh access has been directly tested after this update.

(From meta-yocto rev: 0237c97dde39a3b9355f7be9a9e8eab901d6f511)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 22:58:33 +01:00
Chen Qi
96eff4c25d mount.sh: automount cdrom device even if no ID_FS_TYPE available
This script was modified to check whether $ID_FS_TYPE is empty before
automount, however, for cdrom devices on qemu, the ID_FS_TYPE is not
set, yet the device should be mounted. Otherwise, when booting an iso
image with runqemu, the boot process hangs at 'waiting for removable
media'.

This patch fixes this problem by first checking whether the block device
is a cdrom.

[YOCTO #4487]

(From OE-Core rev: 2df21a3b27543df912a3ce05bef2415fae13cb7c)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 22:58:33 +01:00
Saul Wold
82914e5dfb gstreamer-plugins: Change anonymous python structure
This change ensures that the SRC_URI is set before base.bbclass code is called. This will
also ensure that the xz-native depends is set correct.

[YOCTO #5127]

(From OE-Core rev: 787335494dc0a3f93d9bf5a6cf1b603c8675df66)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 22:58:33 +01:00
Saul Wold
5f2748e492 cmake.bbclass: ensure CMAKE_SYSTEM_NAME is correct
Using TARGET_OS can add the ABIEXTENSION so ensure that is is removed for the Linux
TARGET_OS, we might have other TARGET_OSes so don't hard code CMAKE_SYSTEM_NAME

[YOCTO #5145]

(From OE-Core rev: 7d8b700242b1b32c6b6d0735b497701800f54fc4)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 22:58:33 +01:00
Laurentiu Palcu
5992830145 adt-installer: allow installation of other machines
Currently, adt-installer allows only the installation of qemu target
sysroots.

The changes in this patch do the following:
 * add a new setting in adt-installer.conf (YOCTOADT_TARGET_MACHINE) for
   each target architecture. For example, for arm we can choose to use a
   qemuarm sysroot or a beagleboard sysroot. By default, only the qemu
   target sysroots are selected (current behavior);
 * change adt_installer scripts to allow installing the correct
   meta-environment package for the selected machine;
 * remove some left-over commented lines;
 * use packagegroup-cross-canadian-${MACHINE} when installing the cross
   canadian packages instead of doing it separately for each package;
 * change the opkg config files in order to be able to find the
   packagegroup package, which is allarch;

[YOCTO #4783]

(From OE-Core rev: 02085d410bf734e833d45293f4d5b06bb9536a60)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 22:58:33 +01:00
Laurentiu Palcu
32090b6ea0 meta-toolchain-qt: include the proper cross-canadian package
packagegroup-cross-canadian package name was changed to contain MACHINE.
Make the necessary changes here too.

[YOCTO #4783]

(From OE-Core rev: 8f8cd338faf63f665c2214f0110b712736f8ed5d)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 22:58:33 +01:00
Laurentiu Palcu
9d3d1a2da2 populate_sdk_base.bbclass: select the proper cross-canadian package
Since packagegroup-cross-canadian package name has MACHINE in it, make
the necessary changes here.

[YOCTO #4783]

(From OE-Core rev: 23531590d40acde2775b7c3b90682edc501d68f4)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 22:58:33 +01:00
Laurentiu Palcu
5d125f514f packagegroup-cross-canadian: change package name to include MACHINE
Since meta-environment package name was changed to contain MACHINE,
change packagegroup-cross-canadian package name too, in order to be able
to select the proper environment files for a certain machine.

Also, remove the RPROVIDES since adt-installer doesn't really need it.

[YOCTO #4783]

(From OE-Core rev: d713447dc2fab8900f47c542cfbbb76bad19a7e2)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 22:58:33 +01:00
Laurentiu Palcu
bd0fc8e892 meta-environment: change package name to include MACHINE
Currently, the package name contains just the TRANSLATED_TARGET_ARCH.
When compiling the toolchain for two machines, belonging to the same
architecture (for example: qemuarm and beagleboard), this package gets
overwritten and adt-installer repo will contain just one
meta-environment package... This leads to situations like installing the
toolchain for qemuarm and end up with meta-environment package with
beagleboard cpu options.

[YOCTO #4783]

(From OE-Core rev: 09a2b158818e2ec3c3e3b53b6d14fd3527c32c99)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 22:58:33 +01:00
Bruce Ashfield
74f148ce8c linux-yocto/3.10: bump kver to 3.10.11
Bumping to the 3.10.11 -stable release. Of note in this update is
the timer_list fix, which broke ssh access in the previous 3.10
series of updates:

    timer_list: correct the iterator for timer_list

    commit 84a78a6504f5c5394a8e558702e5b54131f01d14 upstream.

With this, we can revert the two temporary fixes for timer lists.
ssh access has been directly tested after this update.

(From OE-Core rev: 659528f0f99cec94991ec96fa124c4497237e9f8)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 22:58:32 +01:00
Otavio Salvador
4acfbb1bb0 u-boot, u-boot-fw-utils-cross, u-boot-mkimage: Upgrade to 2013.07
This upgrades the U-Boot based recipes for 2013.07 release.

This removes the 2011.03, 2011.06 and 2013.01.01 versions so we keep a
single one in core. The following recipes has been upgraded:

 - u-boot (remove old versions)
 - u-boot-mkimage (remove old versions)
 - u-boot-fw-utils -> u-boot-fw-utils-cross (renamed and reworked)

The u-boot-fw-utils-cross recipe has been reworked as it uses the
UBOOT_MACHINE to find default environment for use so it is indeed a
cross binary and not a native one.

(From OE-Core rev: c5fff5748e0aaf7e135fdd464c2104b1d3cbfd5a)

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>
2013-09-10 16:02:23 +01:00
Khem Raj
aae576c60b systemd: Fix build with multilib
rpm macros should be independent of libdir
Fixes errors seen when multilib is turned on
it shows up since then libdir != usr/lib

(From OE-Core rev: 6126c6e4b9c40c222519914c8fe0a51f9eee8d41)

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>
2013-09-10 16:02:23 +01:00
Alexandru DAMIAN
2044668a41 bitbake: bitbake: runqueue: add sceneQueueTaskCompleted event
Adding an event to be fired when a scene task is completed.
It is analogous to the run task completed event, and has
been missing for some reason.

(Bitbake rev: 73b8f4d3fbeaf1b330a66d76012d0a5cef8dbe2d)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 15:57:20 +01:00
Ross Burton
a284f6c285 systemd: update patch header and comments
(From OE-Core rev: 856f74db0f56e4885af625665f8d85841f198e8d)

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>
2013-09-10 15:57:20 +01:00
Ross Burton
1492f43a04 xf86-video-intel: allow builds without opengl, add more options
Allow builds without the opengl DISTRO_FEATURE by disabling DRI.

Also add new options for UXA (not default upstream, requires DRI) and udev
(enabled by default)

Finally remove a few obsolete dependencies.

(From OE-Core rev: bb9c01bd627cae9c037811c943ad38eebb2f8b25)

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>
2013-09-10 15:57:20 +01:00
Ross Burton
0f34041f00 mesa: use distro_features_check to abort build without opengl feature
Stop mesa from building on distributions without the "opengl" DISTRO_FEATURE.

(From OE-Core rev: 05bacb69a3b0f3bbd9dd608855456c32b4007fde)

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>
2013-09-10 15:57:20 +01:00
Tudor Florea
00b17ad18e kmod: avoid parallel-tests
Avoid parallel-tests for kmod as it remove
buildtest-TESTS and runtest-TESTS targets required by ptest.

(From OE-Core rev: e1a3ff7d455889e4c6b899227e8ca1919a443b22)

Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 15:57:20 +01:00
Paul Woegerer
fec8c28f45 lttng-modules: Update to version 2.3.0
(From OE-Core rev: df6943c29c0d31a78b0b2954dfe8ee6b97cefffe)

Signed-off-by: Paul Woegerer <paul_woegerer@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 15:57:19 +01:00
Paul Woegerer
e4d69254ac lttng-tools: Update to version 2.3.0
(From OE-Core rev: 09dd0be9bb6d8a300700de71658abcdeb21713db)

Signed-off-by: Paul Woegerer <paul_woegerer@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 15:57:19 +01:00
Paul Woegerer
341c085561 lttng-ust: Update to version 2.3.0
(From OE-Core rev: a7e60e7f3b8443106a767cee40954fa893905e07)

Signed-off-by: Paul Woegerer <paul_woegerer@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 15:57:19 +01:00
Chen Qi
8d82eae8fd ptest.bbclass: add cleandirs flag to do_install_ptest_base
The do_install_ptest_base task should have cleandirs flag, just like
the do_install task. The ${D}${PTEST_PATH} directory should be cleaned,
Otherwise, there would be similar errors like below if the
do_install_ptest_base task is rerun.

    ln: failed to create symbolic link `xxx': File exists

[YOCTO #5129]

(From OE-Core rev: 25885d3b4f679c33a514d858bc20b0e21aa63721)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 15:57:19 +01:00
Chen Qi
8905f7715d ptest.bbclass: fix error on ubuntu host
The do_install_ptest_base function uses 'type -t' command to check
whether do_install_ptest is a function and acts correspondingly.

However, the 'type' command is a shell builtin and its behavior is
not all the same across Linux distros. On ubuntu, if we use #!/bin/sh
as the interpreter for the scripts, as in the case of our intermediate
scripts, the '-t' option for the 'type' command is not supported. So
the check always fails and the do_install_ptest function, even if defined,
is not run.

The same problem also applies to the do_configure_ptest_base and the
do_compile_ptest_base functions.

This patch fixes this problem by avoiding using the 'type' builtin command.

[YOCTO #5128]

(From OE-Core rev: d5a4f031b460437e9501e4e65194ce94d3641130)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-10 15:57:19 +01:00
Saul Wold
0ca5d1fb38 yocto-bsp: remove apm as a default MACHINE_FEATURE
APM is not only obsolete, but also requires a kernel config enabled, which is not enabled by default

[YOCTO #5121]

(From meta-yocto rev: e25c43661f27b27e61aa7fae868237c1c60e3e25)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-09 16:28:47 +01:00
Saul Wold
b04b6f96fd beagelboard.inc: remove apm as a MACHINE_FEATURE
APM is not only obsolete, but also requires a kernel config enabled, which is not enabled by default

[YOCTO #5121]

(From meta-yocto rev: 91e6d33135cc48aaf20a6138c050c6989af1f13a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-09 16:28:47 +01:00
Robert Yang
87771db34c bitbake: runqueue.py: check whether multiple versions of the same PN are due to be built
There would be an race issue if we:

$ bitbake make-3.81 make-3.82

This because they are being built at the same time which would cause
unexpected problems, for example:

[snip]
ERROR: Package already staged (/path/to/tmp/sstate-control/manifest-qemux86-make.populate-sysroot)?!
ERROR: Function failed: sstate_task_postfunc
[snip]

Or there would be python's strack trace such as:

[snip]
 *** 0004:    mfile = open(manifest)
     0005:    entries = mfile.readlines()
     0006:    mfile.close()
     0007:
     0008:    for entry in entries:
Exception: IOError: [Errno 2] No such file or directory: xxx
[snip]

[YOCTO #5094]

We can quit earlier to avoid this kind of issue when two versions of the same PN
are going to be built since this isn't supported.

(Bitbake rev: ab377c00c33a2d296bfda1b0b6c2a62b29d1004f)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-09 16:28:46 +01:00
Robert Yang
0583714a57 bitbake: providers.py: enhance the runtime debug degbug messgae
The runtime provider debug message is the same as the build time debug
message, make them different would be better.

[YOCTO #5067]

(Bitbake rev: 92b624cbc2711d3d859994099fb63918dfd0031a)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-09 16:28:46 +01:00
Saul Wold
5c5a3bf19c qemu.inc: remove apm as a MACHINE_FEATURE
APM is not only obsolete, but requires a kernel config enabled and is meaningless for QEMU VM

[YOCTO #5121]

(From OE-Core rev: b0f8c47b1e808421f03308527beb8bde15644acd)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-09 16:28:46 +01:00
Richard Purdie
2ab1bf27f7 bitbake: prserv: Ensure data is committed
In exclusive mode, we need to complete the transaction for writes to make
it to the database. Therefore add sync calls to ensure this happens.

Autocommit mode is significantly (100 times) slower so caching the
data is of significant benefit.

(Bitbake rev: 4e55f7821786a59c2cd7dbd8bfa2a22f5f196e99)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-08 10:51:56 +01:00
Richard Purdie
31709ed0af cmake: set system name correctly
For unknown reasons, the cmake class is using SDK_OS as the
target system OS. This makes no sense but only shows up as a problem
when you try a different SDK OS. Fix it to use TARGET_OS which is
the correct thing to do. For the vast majority of users this will
make no difference.

(From OE-Core rev: 57be84259f0885865c85d7bac350979430b956b5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-08 10:51:56 +01:00
Khem Raj
6bf6708138 package.bbclass: skip already-stripped QA test if asked for
Some packages like grub have already stripped binaries e.g.

ERROR: QA Issue: File '/boot/grub/kernel.img' from grub was already
stripped, this will prevent future debugging!
ERROR: QA run found fatal errors. Please consider fixing them.

We would like to have a possibility to skip it using something like

INSANE_SKIP_${PN} = "already-stripped"

This adds the logic to do so

it acts at PN level and not at package level. so something like

INSANE_SKIP_${PN}-misc = "already-stripped" wont work.

(From OE-Core rev: 765982f4c050d9cd3eb608d630312da482c737c7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:56:27 +01:00
Richard Purdie
5ddec10f16 ghostscript: Add missing dependency to resolve parallel make issue
(From OE-Core rev: a24027321b99dffd79b1f0c009ce89f0be7cc384)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:56:27 +01:00
Bruce Ashfield
6d7062adbc meta-yocto-bsp: update h/w reference boards SRCREVs
Updating the machine SRCREVs for the hardware reference boards to the
latest 3.10.10 and ssh fixes.

(From meta-yocto rev: 2aa6cc9d64fc22a8d0f02c5cf97440b634ba5e36)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:53:46 +01:00
Liming Wang
6727d1d380 beagleboard: upgrade the kernel to 3.10.x
In 3.10.x linux kernel, uImage can't be compiled by default. But zImage
has been supported by the latest u-boot, so use zImage as the default kernel
image file. In u-boot command, use "bootz", instead of "bootm", to boot the kernel.

And add device tree files to support dtb in latest kernel.

(From meta-yocto rev: ff6b4ae23ccd14cefdb94c561160fbdc8344793d)

Signed-off-by: Liming Wang <liming.wang@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:53:46 +01:00
Kevin Hao
8102de6a8c mpc8315e-rdb: update to the 3.10 kernel
Update the mpc8315e-rdb to the latest available yocto kernel.
Build and boot test on mpc8315e-rdb board with core-image-sato.

(From meta-yocto rev: 67088a41b1f2222ffceba40928ebce87b9bff180)

Signed-off-by: Kevin Hao <kexin.hao@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:53:46 +01:00
Darren Hart
310f89aee4 genericx86: Create a genericx86-common.inc base for the x86 BSPs
The genericx86 and genericx86-64 machines share a great deal in common
in terms of machine features, required packages, etc. Use a common
include file to simplify changes to both machine definitions and avoid
accidental omissions.

Replace the hard-coded XSERVER assignment with the XSERVER_IA32*
defines from ia32-base.inc.

(From meta-yocto rev: c70ee30da060173f51e8dba72069052ecff389b5)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Cc: Ross Burton <ross.burton@intel.com>
Cc: yunguo.wei@windriver.com
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:18:34 +01:00
Otavio Salvador
82ddcb1ef5 uboot-config.bbclass: Allow choose of U-Boot config for machine
Some machines provide several possible configurations and until now
there was no easy way for user to override the default setting.

This class provides a system similar to PACKAGECONFIG but for
U-Boot. The format is:

UBOOT_CONFIG ??= <default>
UBOOT_CONFIG[foo] = "config,images"

There are two possible parameters:

 - config: it is used to set UBOOT_MACHINE
 - images: it is used to append onto IMAGE_FSTYPES

Below there's an usage example:

,----[ i.MX6Q SABRE AUTO based example ]
| UBOOT_CONFIG ??= "sd"
| UBOOT_CONFIG[sd] = "mx6qsabreauto_config,sdcard"
| UBOOT_CONFIG[eimnor] = "mx6qsabreauto_eimnor_config"
| UBOOT_CONFIG[nand] = "mx6qsabreauto_nand_config,ubifs"
| UBOOT_CONFIG[spinor] = "mx6qsabreauto_spinor_config"
`----

User can, from local.conf or environment, use UBOOT_CONFIG=nand and
override the default setting, as:

,----[ Override example from command line ]
| MACHINE=imx6qsabreauto UBOOT_CONFIG=nand bitbake core-image-base
`----

(From OE-Core rev: 5dba521611d644357cf0a98d2e30dcf41777c6ef)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:15:57 +01:00
Darren Hart
e296958ab2 linux-firmware: Update SRCREV, pull in iwlwifi-7260 support
Fixes [YOCTO #5110]

Add support for the iwlwifi 7260 adapters. This creates a new package
and includes support in the default linux-firmware (everything) package.

Update the iwlwifi and radeon license checksums. Extensions to the
copyright date ranges were the only change to the LICENSE files.

(From OE-Core rev: bf4044ab8f9ef3be087996a559c54eeded1fb0c8)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Cc: yunguo.wei@windriver.com
Cc: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:04:53 +01:00
Bruce Ashfield
7bcec4aad1 kern-tools: support no author patches
Updating the kern-toosl SRCREV to pick up the following fix:

    previous versions of the kern-tools supported the ability to import a bare
    patch, with no From: Subject: or other identifying fields that are typically
    in a full commit.

    The same type of commit with kgit-s2q will prompt for a author ID, just
    as git-quilt-import does. In build system environment that leads to an
    infinite loop and the commit is never pushed.

    To fix this issue, we add an interactive flag (-i), that when passed the
    prompt based behaviour is used. When it isn't passed (the default), the following
    name and email will be used for the git author:

       GIT_AUTHOR_NAME="invalid_git config"
       GIT_AUTHOR_EMAIL="<unknown@unknown>"

    And a bare/incomplete header patch will be applied.

[YOCTO #5100]

(From OE-Core rev: cb0d8f8b9c59b351d11eef9c4951c4ce5601acb8)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:04:53 +01:00
Bruce Ashfield
baba8cff48 kernel-yocto: improve error checking on non-git repos
While non-git kernel repos are not the preferred format for a kernel upstream,
they are supported. Depending on the creator of the archive the expanded
source directory name varies. If the recipe for the kernel doesn't properly
set S to the right value, a cryptic git error message is produced. We can
detect the situation and offer some advice on how to fix the issue.

A second check is also added in this commit for archive based kernel repos
which won't have a SRCREV to validate. If we have no SRCREV or SRCREV is
INVALID, we can exit the branch validation step immediately. This saves yet
another cryptic git error message and simplifies a custom tgz based recipe.

(From OE-Core rev: 0ebf67e8b4f7aaf259d7abac4af645070d846ec8)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:04:53 +01:00
Bruce Ashfield
fbd629745f linux-yocto/3.10: update meta SRCREV for beagleboard config changes
Updating the beagleboard configuration to match the 3.10 kernel changes.
With this, the beagle* boards boot out of the box, with no additional
changes required.

Simarpreet Singh <simar@linux.com>
(From OE-Core rev: 410a4db2faec084a0e918dfce9fcb6c54d2aeaaf)

Signed-off-by: Liming Wang <liming.wang@windriver.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:04:52 +01:00
Mihai Prica
ea8494350f bluez5: Rename tests package to testtools
Bluez5 ships some tools that can be used to test its
functionality.

The installation can be tested using "make check" and
this should be included in a ptest package.

[YB #5028]

(From OE-Core rev: 8c3cbaf3fa5eafa55f209100211bd5c124b8cfaa)

Signed-off-by: Mihai Prica <mihai.prica@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:04:52 +01:00
Mihai Prica
9d33660972 bluez5: Install the bluetooth library
Bluez5 doesn't install libbluetooth by default. This is required
by connman, ofono or other packages.

(From OE-Core rev: bf7415366646db7661795620fa1ab2e78b12d947)

Signed-off-by: Mihai Prica <mihai.prica@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:04:52 +01:00
Ross Burton
76e8678c2f systemd: split out systemd-binfmt as a separate package
If binfmt_misc was compiled as a module but isn't installed then systemd-binfmt
will put an automounter on /proc/sys/fs/binfmt_misc and when it attempts to
automount (e.g. when df is called) it can't find support for the filesystem, and
throws an error.

As binfmt_misc isn't commonly used, split this helper into it's own package, add
a dependency on kernel-module-binfmt-misc, and ensure the service gets started
when it's installed.

[ YOCTO #4863 ]

(From OE-Core rev: d42f7fc333495dc35227a6d1027492ab70f29b23)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:04:51 +01:00
Richard Purdie
9b84fc7cc2 lib/oeqa/qemurunner: Use a timeout in select() call
A 0 value to select.select() immediately returns with no timeout. This was
pegging the cpu at 100% for the python process which was bad and may be
contributing to some of the timeout problems.

Profile from -P of a core-image-minimal before:

    97526792 function calls (97525652 primitive calls) in 45.189 seconds

and after:

       50204 function calls (49064 primitive calls) in 17.318 seconds

Saving 97.5 million function calls has to be good :)

(From OE-Core rev: c0551436974d179df23418567f18a082830380f6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:04:51 +01:00
Otavio Salvador
457e584e32 core-image-weston: Ensure wayland distro feature is enabled
(From OE-Core rev: 753be24f0bd63520b6840d1a68500f5bb38f086d)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:04:51 +01:00
Otavio Salvador
3dcff8c741 core-image-directfb: Use 'distro_features_check' class
(From OE-Core rev: 151c69a2f9f66bdd943f2db4d0b733c3d5091f4e)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:04:51 +01:00
Jonathan Liu
9f19820b82 resolvconf: specify configuration for systemd-tmpfiles --update
Running systemd-tmpfiles --update without specifying a configuration
file results in all tmpfiles.d configuration files being processed.

/usr/lib/tmpfiles.d/systemd.conf creates /run/nologin on boot to
prevent non-root users from logging in while the system is booting.
If systemd-tmpfiles --update is run after the system has started,
it will still create /run/nologin which would prevent non-root users
from logging in with the message "System is booting up.".

(From OE-Core rev: 24f9280c35001ff6c1d5a263fab41ae21a8056f3)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:04:50 +01:00
Stefan Stanacar
41d1c2d630 lib/oeqa/runtime: add basic scanelf test
This uses scanelf from the pax-utils package and scans the binaries in PATH
for TEXTREL and RPATH information. For a sato image with pax-utils installed
it shows no output (which is good).

(From OE-Core rev: 629099ad66f5fa2814e5f7908b426149e8978e43)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:04:50 +01:00
Peter A. Bigot
1f6bd737d9 linux-firmware: package Marvell SD8787 firmware
Also split out Marvell license as separate package.

(From OE-Core rev: 64fbea5625488adc0dcccf2cf3c09880b9554a52)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:04:50 +01:00
Peter A. Bigot
9ebf8fb37d linux-firmware: correct name of Marvell license file
Follow upstream in changing the name of the license file for Marvell
firmware:

  commit 2e79e60b7e4771427327ed508fa27b90d841afcb
  Author: Bing Zhao <bzhao@marvell.com>
  Date:   Fri Jan 7 16:06:56 2011 -0800

    linux-firmware: use single license file for Marvell firmwares

    Libertas and mwl8k firmware images are under the same license.

    Signed-off-by: Bing Zhao <bzhao@marvell.com>
    Signed-off-by: Brian Cavagnolo <brian@cozybit.com>
    Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>

  :000000 100644 0000000... 3224e1b... A  LICENCE.Marvell
  :100644 000000 1fd8766... 0000000... D  LICENCE.libertas
  :100644 000000 3224e1b... 0000000... D  LICENCE.mwl8k
  :100644 100644 d0740ce... 35b82c8... M  WHENCE

(From OE-Core rev: 0947e1fd559ce3dbce3705d1f3267860f04e3348)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:04:49 +01:00
Richard Purdie
5963d24ec5 devshell: Don't corrupt the fakeroot variables
The devshell anonymous python fragment overwrites variables in the
datastore with their expanded versions. If this runs before the code
in allarch.bbclass which changes TARGET_OS, we can end up with different
directories in the fakeroot environment variables, some expanded with
the original TARGET_OS value.

The devshell code only needs to run before the task itself so we change
to trigger it to run at task execution time only using a flag.

[YOCTO #4795]

(From OE-Core rev: 56baf177cdf074929a090cc66a8b89d346a5d79c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:04:49 +01:00
Laurentiu Palcu
75a14923da run-postinsts: move script execution from S98 to S99 in rcS.d
Apparently, when opkg/dpkg and run-postinsts are installed in the same
time, opkg/dpkg postinstall overwrites the run-postinsts link in rcS.d.
This will make run-postinsts script useless and the delayed postinstalls
will not be run.

This issue happens only when 'package-management' is disabled and, in
the same time, dpkg/opkg ends up in the image: either pulled by some
dependency or manually installed.

With this patch, both opkg/dpkg and run-postinsts scripts will run but
the former will silently fail because the package metadata is removed from
the image since 'pacakge-management' is disabled.

[YOCTO #4484]

(From OE-Core rev: 882da38f226acc40c041155218549edad461b7d7)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:04:49 +01:00
Jukka Rissanen
c734873022 connman: Ignore the NFS root network interface in init script
The connman init.d script tried to ignore all the network interfaces
if NFS root is configured. We should only ignore the interface
that is used by NFS root.

[YOCTO #4587]

(From OE-Core rev: 1838671b832015ae28c8c101e8b20afbbf4b3c98)

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:04:49 +01:00
Mark Hatle
12223c038c package_rpm.bbclass: Fix no_recommendations and package_exclude
When the code was refactored to address review comments, the wrong version
was sent to the community.  Replace the $1 with ${target_rootfs}

Fix identified by: Yue Tao <yue.tao@windriver.com>

(From OE-Core rev: a04f4fe8db425f0ea87a67b5c72d61816b8d53e2)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:04:48 +01:00
Thomas Fitzsimmons
f24dda3de9 useradd: Handle users from a package being used in others
If there is a package A (TUNE_PKGARCH) which is depended upon by B which
is MACHINE_ARCH and you build B for machine X, then Y, the user isn't
present in the sysroot for machine Y since the useradd code is never
triggered.

The change ensures the code does get triggered and the user is present.

[YOCTO 4739]

(From OE-Core rev: 5871337da49f8cd1eaf53f7cd0aacc026dc7bcdb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:04:48 +01:00
Jason Wessel
0fa12e4466 kernel.bbclass, image.bbclass: Implement kernel INITRAMFS dependency and bundling
This patch aims to fix the following two cases for the INITRAMFS generation.
  1) Allow an image recipe to specify a paired INITRAMFS recipe such
     as core-image-minimal-initramfs.  This allows building a base
     image which always generates the needed initramfs image in one step
  2) Allow building a single binary which contains a kernel and
     the initramfs.

A key requirement of the initramfs is to be able to add kernel
modules.  The current implementation of the INITRAMFS_IMAGE variable
has a circular dependency when using kernel modules in the initramfs
image.bb file that is caused by kernel.bbclass trying to build the
initramfs before the kernel's do_install rule.

The solution for this problem is to have the kernel's
do_bundle_initramfs_image task depend on the do_rootfs from the
INITRAMFS_IMAGE and not some intermediate point.  The image.bbclass
will also sets up dependencies to make the initramfs creation task run
last.

The code to bundle the kernel and initramfs together has been added.
At a high level, all it is doing is invoking a second compilation of
the kernel but changing the value of CONFIG_INITRAMFS_SOURCE to point
to the generated initramfs from the image recipe.

[YOCTO #4072]

(From OE-Core rev: 609d5a9ab9e58bb1c2bcc2145399fbc8b701b85a)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Acked-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>
2013-09-06 23:04:47 +01:00
Richard Purdie
95d413d03f gcc-runtime: Add packaging for libgfortran (and also tweak others)
Add packaging for libgfortran and libquadmath as well as tweak the packaging
for libmudflap since it was broken.

(From OE-Core rev: 8a726d14a345ef35c6d8d8e369bf3691cee879bf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:03:56 +01:00
Richard Purdie
835b5c1504 local.conf.sample.extended: Add an example of how to enable fortran
Add an example of how to enable FORTRAN from local.conf. Make
it clear this is not officially supported.

[YOCTO #5091]

(From OE-Core rev: 8e971a457427ad3999ff3cf4c9be3c141d6bb7be)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:03:53 +01:00
Mihai Lindner
faed110e66 oeqa/runtime/scp: replace dd call
Use a file object to generate a our test file instead of calling `dd`;
removes dd's output from testimage.log, keeps unittest output clean.
Also remove unused imports.

(From OE-Core rev: 6ac48ffbab29a37b0eada533191878aeae3c91f0)

Signed-off-by: Mihai Lindner <mihaix.lindner@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:03:23 +01:00
Mihai Lindner
fbb3e5e11f oeqa/utils/sshcontrol: tweak ssh options
Add ssh_options to be used, the same, by ssh and scp:
Decrease LogLevel to ERROR, to suppress warnings (e.g. ssh host
verifications, two warnings in case of having openssh with hpn patches);
We no longer presume that the first line is a warning.

(From OE-Core rev: 1f18d04eec03e586134b6d77ca1c6151c22353dd)

Signed-off-by: Mihai Lindner <mihaix.lindner@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:03:23 +01:00
Mihai Lindner
f6fed84380 oeqa/oetest: oeRuntimeTest: enable long messages
Set longMessage to True for all tests derived from oeRuntimeTest, in
order to have somewhat info on assertions with cryptic or no messages.

(From OE-Core rev: e5196ebd6c652431a3b80cdc9f60b752401314f4)

Signed-off-by: Mihai Lindner <mihaix.lindner@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:03:23 +01:00
Peter A. Bigot
c33bf220de chkconfig: remove linuxstdbase symlinks
These links were moved to the lsb package because lsbsetup was to be
removed.  Subsequently an earlier patch that moved them to chkconfig was
also merged.  This results in duplicate installations that generate a
warning when building core-image-lsb under DISTRO=poky-lsb which enables the
linuxstdbase feature.

(From OE-Core rev: 77a0b904e18688ecf81a35544f3a5d6ba0aa61a8)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:03:23 +01:00
Lukas Bulwahn
06dc3a9712 boost: adding serialization to BOOST_LIBS
Since its initial commit from the classic OpenEmbedded repository
in 43e94412c4, serialization was
commented out, reportedly due to some issue with powerpc in the
boost version 1.36. In the classic OpenEmbedded repository,
serialization has been added again since version 1.4x.

The commit removes the outdated comment and adds serialization to
the BOOST_LIBS after testing `bitbake boost` and bitbaking some
applications using boost from the meta-ros layer for qemuppc.

(From OE-Core rev: a193d868a0c01a2998adb3e6eec9fc2748cca888)

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:03:22 +01:00
Ross Burton
78296aad82 eglinfo: add recipes for x11 and fb backends
eglinfo is a small utility for printing out information about EGL as well
as about its client APIs, OpenGL / OpenGLES 1.x / OpenGLES 2.x / OpenVG.

Recipe originally by Carlos Rafael Giani <dv@pseudoterminal.org>.

(From OE-Core rev: a8835cc014d761bf18a420b48c7c61cdfeded552)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:03:22 +01:00
Ross Burton
e4556e5a7b waf.bbclass: add waf build system class
Add a new build system class for waf.

(From OE-Core rev: 2b148b9e73f05af33ed1437358fa5322cf364651)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:03:22 +01:00
Chen Qi
43510e5c77 sysklogd: lower the ALTERNATIVE_PRIORITY in case of systemd
The sysklogd package hasn't got systemd support yet. So in case of
a systemd based system, the commands and corresponding configuration
files should have a lower priority than that of the busybox's syslogd
and klogd utilities. These two utilities from busybox have internal
systemd support if CONFIG_FEATURE_SYSTEMD is enabled. And that config
item is enabled by default.

[YOCTO #5066]

(From OE-Core rev: 45d18a1b6bcdc56d252b289d0d304b26799943b0)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:03:21 +01:00
Chen Qi
101662d357 busybox-syslog: add configuration file /etc/syslog.conf
By default, busybox has CONFIG_FEATURE_SYSLOGD_CFG enabled, but it
doesn't ship a configuration file.

This patch adds a configuration file (/etc/syslog.conf) to the
busybox-syslog package. This configuration file mainly serves as a
placeholder now.

The advantages of this change are:
1. Make the users aware of the fact that the /etc/syslog.conf file
   will actually be parsed by busybox's syslogd utility. And configuring
   that file will change the logging behaviour.
2. In a systemd based system, this file will prevent the same configuration
   file provided by the sysklogd package from messing things up.

[YOCTO #5066]

(From OE-Core rev: b7f6688f0700a1575037362af7a8ca94dccce471)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:03:21 +01:00
Bian Naimeng
18dfcc5139 acpid: print message if rule directory is inexist
acpid: print message if rule directory is inexist

If rule directory is inexist, the acpid initscript will exit with success,
but the daemon will be not running.
Print message in this case to tell user that the daemon is not running.

(From OE-Core rev: 66a5d15cecdf4bd267dbae5f771ebf3768232481)

Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:03:21 +01:00
Bian Naimeng
f438140029 acpid: install events directory at default.
acpid: install events directory at default.

If rule directory "${sysconfdir}/acpi/events" is inexist,
the acpid initscript will exit with success, but the daemon will be not running.

(From OE-Core rev: 8a1c6e465a562b4653f4fb4af3a3845775785485)

Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:03:21 +01:00
Roy.Li
71d7751ade irda-utils: add init.d/irattach status command for LSB compliance
(From OE-Core rev: 1155b59ddc9c705039fed16bf70fcc182e551a9c)

Signed-off-by: Roy.Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:03:20 +01:00
Roy.Li
e0d66651c5 distcc: add init.d/distcc status command for LSB compliance
(From OE-Core rev: ab9694411840a9a78e9b6bbd24ef497be9f042b9)

Signed-off-by: Roy.Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:03:20 +01:00
Peter A. Bigot
eb34e8d8ce pseudo: fix memory leak and missed privilege drop
qemu.bbclass adds PSEUDO_UNLOAD=1 in qemu_run_binary to avoid reference to
pseudo functions that may not exist in the target environment.  This patch
detects the addition of that variable within the environment to which the
call applies, even if not present in the parent environment.

As a side effect it fixes a memory leak.

[YOCTO #4843]

(From OE-Core rev: 9ea32ef507c914f906b3dcc0bb29813a4e0dacba)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 23:03:20 +01:00
Christopher Larson
3dccd57360 bitbake: contrib/vim: merge changes from vim-bitbake repo
commit 00ca441614695b4261d8d4f31b7ef0e3e3784282
Merge: 8cc367d bb88c0f
Author: Christopher Larson <kergoth@gmail.com>
Date:   Thu Aug 22 16:42:42 2013 -0700

    Merge pull request #6 from staticshock/multi-line-strings

    Remove "keepend" and "excludenl" directives

commit bb88c0fd4ad2b7b9c8c4c73def2b3cb20c473ac3
Author: Anton Backer <olegov@gmail.com>
Date:   Sat Jul 13 01:24:15 2013 -0400

    Remove "keepend" and "excludenl" directives

    It looks like these were never actually used correctly, and were doing
    more harm than good. "keepend" on bbString, for instance, prevented
    proper nesting of ${@python} in strings. Similarly, a balanced pair of
    { } braces inside a shell function would force the function to terminate
    early if the closing brace was on its own line.

    So far I've seen absolutely no negative consequences from removing
    these, but a bunch of positive consequences.

    Fixes #1

commit 8cc367d01f4c699be5fcc072de59e6f2f14a138b
Merge: c58628c eec6b7f
Author: Christopher Larson <kergoth@gmail.com>
Date:   Thu Aug 22 09:46:46 2013 -0700

    Merge pull request #4 from staticshock/function-names

    Parse function names with nested vars

commit c58628ca517cd25985361fc0d27863521cc28a5d
Merge: dfb0f7c a890982
Author: Christopher Larson <kergoth@gmail.com>
Date:   Thu Aug 22 09:43:40 2013 -0700

    Merge pull request #5 from yoyko/master

    syntax: python expansion (${@...}) inside shell functions

commit a890982b7c33a6e363b12d6cb69e22b4bbc0f317
Author: Jozef Šiška <yoyo@ksp.sk>
Date:   Thu Aug 22 13:20:45 2013 +0200

    syntax: python expansion (${@...}) inside shell functions

    Signed-off-by: Jozef Šiška <jsiska@nuvotechnologies.com>

commit eec6b7f6f0472787929f424968f9a0d78ac4af08
Author: Anton Backer <olegov@gmail.com>
Date:   Fri Jul 12 22:16:01 2013 -0400

    Parse function names with nested vars

    For instance, pkg_postinst_${PN}

    Fixes #3

commit dfb0f7c0d51556448cba79b474b8c19b9cded9af
Author: Christopher Larson <chris_larson@mentor.com>
Date:   Fri Jun 1 18:57:13 2012 -0400

    syntax: add ?= flag def

    Signed-off-by: Christopher Larson <chris_larson@mentor.com>

commit 589a62a00709ca822a42327e7086008aba2d9933
Author: Christopher Larson <kergoth@gmail.com>
Date:   Fri Dec 9 22:25:47 2011 -0700

    ftplugin: set commentstring

    Signed-off-by: Christopher Larson <kergoth@gmail.com>

commit 7ffc80b3fb4ddf68cc5a69bdc63ab03d70c44f87
Author: Chris Larson <chris_larson@mentor.com>
Date:   Thu Jun 2 15:27:48 2011 -0700

    Handle +=/=+ for flags

    Signed-off-by: Chris Larson <chris_larson@mentor.com>

(Bitbake rev: f5f479bbe9b74622cd54c8d6ba8786661a3ae3e6)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 22:31:33 +01:00
Richard Purdie
b093b6c524 bitbake: knotty: Reduce refresh of footer
When displaying larger number of events the client can get caught up in displaying
the footer, then immediately overwriting it. To avoid this, wait for pauses
in the event stream before displaying the footer to give a slightly more
friendly feel to the UI.

(Bitbake rev: 5d706c7cd6ee8d83b67ff18312d4c8119bea8878)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 22:31:33 +01:00
Peter Kjellerstedt
373e209605 bitbake: bitbake: Ensure ${DATE} and ${TIME} are consistent
Due to the worker split the ${DATE} and ${TIME} variables could end up
with different values for different workers.

E.g., a task like do_rootfs that is run within a fakeroot environment
had a slightly different view of the time than another task that was not
fakerooted which made it impossible to correctly refer to the image
generated by do_rootfs from the other task.

(Bitbake rev: 756cc69ebf8bfe8455d0c90f288dd51be2499773)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 22:31:33 +01:00
Cristiana Voicu
c8957a4fbe bitbake: hob: remove custom image from the images list when not needed
Selected custom image recipes should be cleared from the combo the moment
you change your selection. The idea is to always perform the selection of
those images in the same way (i.e through the "Select from my image
recipes" option).

[YOCTO #5001]
(Bitbake rev: 94483ee5ae9f4051bccd660c4718c36564e17161)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 22:31:33 +01:00
Cristiana Voicu
b501b832eb bitbake: hob: limit the description size when a custom image is saved
[YOCTO #5003]
(Bitbake rev: 9aec9ee41d4d893325d9bf92b8a53f2e68e4973d)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 22:31:32 +01:00
Khem Raj
da29dcce83 bitbake: newbb.vim: Use 'git config' instead of git-config
Newer versions of git do not have the '-' concatenated command

(Bitbake rev: 7adb05978b917e624016bae1700db23bd280b41a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 22:31:32 +01:00
Richard Purdie
e92b2dbfcd bitbake: data_smart: Move getVar expand cache handing to fix _remove operations
DISTRO_FEATURES_remove = "opengl" wasn't working as expected. The reason
turned out the be the indirect reference to opengl and the fact _remove was
operating on unexpanded data.

This patch rearranges some code to ensure we operate on expanded data
by moving the expand cache handing into getVarFlags instead of getVar.

(Bitbake rev: 181899bd9665f74f8d1b22d2453616ad30d26d9e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-06 22:31:32 +01:00
Bruce Ashfield
ed3ef0823f qemumips: fix keyboard entry in graphical boots
qemumips* (aka mti-malta32/64) still need to revert the following in
3.10:

   "Input: i8042-io - fix up region handling on MIPS" (commit 197a1e96)

It was understood that this was no longer necessary, but X based boots
still suffer the issue.

(From OE-Core rev: 57483db524cdf7c42af48bbaee163f5396294ac0)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-05 16:27:54 +01:00
Bruce Ashfield
cec4879eda linux-yocto/3.10: update to v3.10.10
Updating the BSP SRCREVs for the 3.10.10 korg -stable release.

(From OE-Core rev: 9171dc4bb56109d65eeb1d1a434b6e311c89b173)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-05 16:27:54 +01:00
Bruce Ashfield
19904ae51b linux-yocto/3.10: fix YAFFS2 build issues
The 3.10 yaffs2 refresh caused several build errors. One due the single kernel
version support being incomplete, and two others due to core kernel changes
creating incompatbilies with the yaffs2 code.

The following three commits fix the issues.

  b76f445 yaffs2: disable procfs support
  ecfe5ed yaffs2: convert to kuid_t and kgid_t
  fa8efc9 yaffs2: restore multi-kernel version functionality

bumping the SRCREVs for all BSPs to import the fix.

(From OE-Core rev: 5799df791043bd77c0f31e6068ab99e21d6ad25e)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-05 16:27:53 +01:00
Cristiana Voicu
f41b7a7d4d bitbake: hob: remove PACKAGE_INSTALL variable setting from hob
Before saving the packages for a custom images in a .bb file,
the packages were saved in bitbake memory. Now all the variables
are saved in conf file, so saving PACKAGE_INSTALL is not needed anymore.
Moved were LINGUAS_INSTALL is set, because both conditions are for testing
if a custom image is saved.

[YOCTO #5101]
(Bitbake rev: 8757f962b92e7668f40d2d8bd9e762b152f91f7b)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-04 14:18:49 +01:00
Paul Eggleton
e63c577573 bitbake: bitbake-worker: ensure BUILDNAME is available during execution
BUILDNAME is set from cooker by default, so since the worker split it
will not be set when executing functions. In OpenEmbedded this results
in /etc/version (which is populated from BUILDNAME) not having any
content. Pass this variable value through to the worker explicitly to
fix the issue.

Fixes [YOCTO #4818].

(Bitbake rev: 92940b0427d9b2b3f95e27c230ec1e36638a34bc)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-04 14:18:49 +01:00
Mihai Prica
12d003a800 scripts/runqemu: Fix MACHINE regex
When runqemu tries to determine the MACHINE variable from a
kernel or vmdk filename that doesn't contain any known machine
name, the variable gets set to the filename. It should remain
unset and cause an error.

[YOCTO #2890]

(From OE-Core rev: 22c0668d9e0a22c095d78bab7b45ef4f803dd0d1)

Signed-off-by: Mihai Prica <mihai.prica@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-04 14:17:29 +01:00
Robert Yang
7d8038dfc6 glib-2.0: fix a host contamination issue
We will see the following warning by accident:

$ bitbake nativesdk-glib-2.0

WARNING: QA Issue: nativesdk-glib-2.0-dbg: found library in wrong location:
/opt/poky/0.5.5/sysroots/x86_64-pokysdk-linux/usr/share/gdb/auto-load/opt/
poky/0.5.5/sysroots/x86_64-pokysdk-linux/usr/lib/libglib-2.0.so.0.3600.4-gdb.py

There are two '/opt/poky/0.5.5/sysroots' in the path when the warning
comes, this is what we need since glib-2.0 has done this intentionally
in its configure and Makefile.

This is because the configure script uses the:
ABS_GLIB_RUNTIME_LIBDIR = "readlink -f $libdir/$with_runtime_libdir`"
to figure out the abs dir, so if
/opt/poky/0.5.5/sysroots/x86_64-pokysdk-linux/usr/lib/ exists , there
would be warning, otherwise no warning.

We can change the "readlink -f" to "readlink -m" to fix the host
contamination issue.

Another fix could be:
ABS_GLIB_RUNTIME_LIBDIR =""

But this is much more like a workaround.

[YOCTO #5099]

(From OE-Core rev: 3e660ec01cc62c57b379b151e43c7952e97a1c2b)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-04 14:15:58 +01:00
Richard Purdie
93e7970979 bitbake.conf: Add SDKPKGSUFFIX to hash whitelist
The gcc recipes reference this however we account for it in the work
directory paths and we don't want recipes depending on the value changing.
This avoids unecessary rebuilds when switching SDKs.

(From OE-Core rev: 6cdcc543ce8f532a4f66246114241b43821a111e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-04 14:15:57 +01:00
Richard Purdie
6d41d0dab7 package.bbclass: Fix darwin shlib handling
shlibs dependency calculations on darwin we not functioning correctly, we
need to process the filename without the complete path. If we don't,
"." characters in the path cause problems.

(From OE-Core rev: 07e697d651178a84007123181fca38e4d98ae0e9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-04 14:15:57 +01:00
Olof Johansson
990deb3b89 flex: Only use create_wrapper for native and nativesdk
The create_wrapper functions of utils.bbclass cause implicit
dependencies on bash, which may not be suitable for deployment on
target. Besides, the wrapper doesn't seem to be necessary on target.

(From OE-Core rev: 2ca72d35e839a0fa24d33bf75343f187792f4e2c)

Signed-off-by: Olof Johansson <olofjn@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-04 14:15:57 +01:00
Liming Wang
f1c74a3383 mpc8315e-rdb: Set PREFFERED_VERSION to 2013.07
Now the latest u-boot, v2013.07, works well on the board. So set
PREFERRED_VERSION to use the latest u-boot.

(From meta-yocto rev: 4369347fb8247c5a2e56941047b369e000ac1341)

Signed-off-by: Liming Wang <liming.wang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-04 11:00:14 +01:00
Liming Wang
3aa68fd901 beagleboard: upgrade u-boot to the latest version
Now the latest version of u-boot is 2013.07 and it depends on
its own MLO, instead of x-load, as the Second Program Loader. So remove
x-load and use u-boot's MLO.

And also replace u-boot.bin with u-boot.img as the u-boot image file.

(From meta-yocto rev: 468326eca78f1fc16f83d2a1fc06a66fae2e6ba1)

Signed-off-by: Liming Wang <liming.wang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-04 11:00:14 +01:00
Stefan Stanacar
e3bc93c2eb lib/oeqa/runtime: smart: serve repo on host ip only and increase timeout
Don't start the http server on 0.0.0.0, listen on host ip (end of tap interface) only.
Also use the timeout option (default is 300s for ssh commands) for all the commands
run in this module (mostly because smart update timeouts on mips).

(From OE-Core rev: 8c272641ef3e8410f331ca4133d28dea8f36e4f4)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-03 19:57:38 +01:00
Paul Eggleton
8318816e27 poky.conf: add version-going-backwards to ERROR_QA
This restores this check after it was disabled by recent poky rev
560dac6e7d. This check is already in
ERROR_QA in the default value set in OE-Core.

Fixes [YOCTO #5088].

(From meta-yocto rev: 9b0aef0651a76b0587d52bd3022cc64786ff1f7b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-03 17:04:32 +01:00
Ross Burton
755f7d9afa pulseaudio: disable GTK+ by default
PulseAudio's GTK+ support is limited to a test case and automatic icon name
population for applications.  This is too limited to enforce GTK+ 3 on all
builds, so disable it by default.

(From OE-Core rev: 619e63946fef32995363981aab288fc669e8ac04)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-02 18:04:59 +01:00
Richard Purdie
18fbaab697 elfutils: Drop do_autoreconf patches
The do-autoreconf patches only change generated files. We run autoreconf ourselves
so we don't need these patches. Worse, they cause failures since the do_patch
task can't rerun after configure since the files change and the patch is no longer
clean.

Drop the patches since we don't need them.

(From OE-Core rev: 37e9a01d38892e8a6fd225854e5b8cc332a5f2ea)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-02 18:02:59 +01:00
Paul Eggleton
6ccd4d6a9d runqemu: set memory size to 256M for most qemu machines
Set memory size to 256M for qemuarm, qemux86, qemux86-64, qemumips,
qemumips64, and qemuppc.

This allows the smart automated tests to run on machines with a GUI
environment (such as Sato) running at the same time, for which 128M is
too limiting. Setting this in runqemu allows users manually using
runqemu to avoid the same out-of-memory issues under similar conditions
using smart, on-target compilation or other uses.

Fixes [YOCTO #5045].

(From OE-Core rev: fe5dfdece98692f8fa731c8d11c907a272266ea5)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-02 18:02:59 +01:00
Ross Burton
212f512e46 wipe-sysroot: fix removals
The previous changes were totally broken as quoting globs doesn't work.  Remove
the quotes so the rm commands actually delete the stamps.

(From OE-Core rev: 5eca43debd7fbc861d41f4e260b37282915bd053)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-02 18:02:59 +01:00
Cristiana Voicu
1b814498b6 bitbake: bitbake/cooker: fix some calls of cookerdata.findConfigFile method
Cookerdata.findconfigFile method has a new parameter. Changed some calls.

(Bitbake rev: dce0f9d4afe0986e2dd0146944fc4ac9dde275e4)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-02 12:26:20 +01:00
Richard Purdie
c7994f83ba bitbake: runqueue: Fix scenequeue to pass file descriptors, not a float
This was missed off in a previous patch.

(Bitbake rev: ad7664edd40fa46e6f6fec2144403e3b6fc3a639)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-02 09:16:24 +01:00
Richard Purdie
5894ac1f38 sanity: Don't make assumptions about cwd
When using the recently fixed out of build directory bitbake invocations, I was
puzzled why bitbake seemed to be pausing. The reason was due to running the sanity
tests each and every time. This was due to current working directory assumptions
within the sanity test code. Fix this to use TOPDIR.

(From OE-Core rev: 1cdc1b37b840bda961258cf2bfb2f75331bdb310)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-01 16:25:15 +01:00
Richard Purdie
554c892ccf meta: Don't use deprecated bitbake API
These have been deprecated for a long time, convert the remaining
references to the correct modules and prepare for removal of the
compatibility support from bitbake.

(From OE-Core rev: 6a39835af2b2b3c7797fe05479341d71a3f3aaf6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-01 15:51:42 +01:00
Alexandru DAMIAN
6d9e3a1938 bitbake: server/xmlrpc: stop server on client exit
If the server only expects a single client to connect (i.e.
no bind parameter set, so there is no way for the
clients to get the server port), stop the server after
the first client exits.

(Bitbake rev: eb6bae56f62082bf147045311154cbae4bca0f4c)

Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-01 15:51:11 +01:00
Richard Purdie
c7b3429032 bitbake: prserv/serv: Settle on two threads for optimal performance
Using the threading mixin class resulted in large amounts of memory
being used by the PR server for no good reason. Using a receiver thread
and a thread to do the actual database operations on a single connection
gives the same performance with a much saner memory overhead so
switch to this.

(Bitbake rev: e08455d5f3b8e96765942b9c3b9767c30650557d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-01 15:51:11 +01:00
Richard Purdie
6e15fee9ee bitbake: build: Fix profile file names
Using the basename of the .bb file is not unique, for example xxx-native
and xxx can overwrite each other. If this happens whilst running, you can
get odd backtraces as one file is parsed as another tries to write out
new data.

Avoid issues by using PN for the output filename instead.

(Bitbake rev: c9534f8e59d44b885334607ed90a3be2e492ec69)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-01 15:51:11 +01:00
Richard Purdie
bd023ef9c0 bitbake: serv/db: Don't use BEGIN/COMMIT
Since we don't support using multiple servers on the same database file,
don't use the BEGIN/COMMIT syntax and allow writes to the database
to work ~100 times faster with no transaction locking.

(Bitbake rev: 42144a54979658f93fbbb43f7e271c1fff4d88ff)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-01 15:51:11 +01:00
Richard Purdie
883813deae bitbake: serv/db: Take an excluside lock on the database
We only support one server using the database at a time so take an exclusive
lock and avoid later lock overhead.

(Bitbake rev: e3e39be6f2d063858c92971ce8ccd89c95d4f26d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-01 15:51:11 +01:00
Richard Purdie
3e5abff7da bitbake: serv/db: Fix looping upon database locked issues
If the database is locked we will get an immediate error indicating so,
there is no retry timeout. The looping code is therefore useless, the loop
count is near instantly exceeded.

Using a time based retry means we can wait a sensible time, then gracefully
exit.

(Bitbake rev: 9f9e6d87007ea87e62495705464f4232c996a165)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-01 15:51:11 +01:00
Richard Purdie
b306d7d9a4 bitbake: server/process, server/xmlrpc, runqueue: Use select.select() on fds, not time.sleep()
The existing backend server implementations were inefficient since they
were sleeping for the full length of the timeouts rather than being woken when
there was data ready for them. It was assumed they would wake and perhaps did
when we forked processes directory but that is no longer the case.

This updates both the process and xmlrpc backends to wait using select(). This
does mean we need to pass the file descriptors to wait on from the internals
who know which these file descriptors are but this is a logical improvement.

Tests of a pathaolgical load on the process server of ~420 rapid tasks
executed on a server with BB_NUMBER_THREAD=48  went from a wall clock
measurement of the overall command execution time of 75s to a much more
reasonable 24s.

(Bitbake rev: 9bee497960889d9baa0a4284d79a384b18a8e826)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-01 15:51:10 +01:00
Scott Rifenbark
d63e6a925a ref-manual: Edits to figures
I updated several figures to implement some of Dave Stewart's
review feedback for the expanded section on the build process.

(From yocto-docs rev: abd78cd6eaad8173ef8f9b3376c323875e5c4542)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 18:14:13 +01:00
Scott Rifenbark
2ad4f5de79 ref-manual: Minor edit.
Removed the bit about the bold text representing a layer.
I changed the figure so I am not following that convention.

(From yocto-docs rev: 119b64be029e15e5c588a5e6c8dd9e0ac1a79c8c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 18:14:13 +01:00
Scott Rifenbark
987f91e16c ref-manual, mega-manual: Edits for expanded packaging description
Fixes [YOCTO #2808]

Applied review comments to the package splitting section in the
section that digs deeper into the build process.  This involved
updating the figure that resides in both "figures" directories
of the ref-manual and the mega-manual. Also updated supporting
text throughout the section per Paul's comments.

(From yocto-docs rev: 34e3610d0c6912530f678e9f1fa4587aaaf9fc70)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 18:14:13 +01:00
Scott Rifenbark
2abfe0cc3d ref-manual: New variables descriptions for PKGDATA_DIR and PKGDESTWORK
(From yocto-docs rev: a5c3663f6fa6e8f98a7626b99b5ad9ca2058670b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 18:14:12 +01:00
Stefan Stanacar
efff0d5504 lib/oeqa/runtime: ping: fix ping false fail
We run the ping test as soon as we reach the login prompt.
But sometimes (seen in sato systemd) we end up with link down/link up stuff like:

    qemux86-64 login: IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
    e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
    IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

The logic behind ping -w 30 -c 1 was to wait at most 30 seconds
for at least one reply,  but there is a catch: reply doesn't seems
to be echo reply but any reply (non-reply means loss not network error)
ping's man page:
    -w deadline
              Specify  a  timeout, in seconds, before ping exits regardless of
              how many packets have been sent or received. In this  case  ping
              does  not  stop after count packet are sent, it waits either for
              deadline expire or until count probes are answered or  for  some
              error notification from network.

Just when the link up/link down happens ping returns:
    From 192.168.7.1 icmp_seq=1 Destination Host Unreachable
    --- 192.168.7.2 ping statistics ---
    1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms

and exits sooner than the 30 seconds timeout.

This patch should do what was originally intended (wait at most
30 seconds for at least one reply).

(From OE-Core rev: 56d144fd22d37189e49cdf3032afb00f0be469c6)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 18:08:05 +01:00
Saul Wold
36fcb616b0 python: Backport 2 CVE from upstream
These are back ports of 2 patches from upstream to address
CVE-2011-4944
CVE-2013-4238

(From OE-Core rev: 4606eab53e8eff57d6369ea20a5ea63916ea3ea7)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 18:06:32 +01:00
Saul Wold
116441d6dc perl: Backport 2 CVE Patches
These patches are backported from upstream since it might be risky to update right now
They address the following CVEs

CVE-2012-6329
CVE-2013-1667

(From OE-Core rev: b6c286c447e50fe499f03b64c6be80ac18504265)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 18:06:32 +01:00
Roy.Li
25b8cc8409 btrfs-tools: Add dependency on lzo acl e2fsprogs
Add dependency on lzo acl e2fsprogs to fix the below building failure
1. commit b268a417259b9[add lzo compression support to restore] needs lzo
	cmds-restore.c:30:25: fatal error: lzo/lzoconf.h: No such file or directory

2. btrfs-tools includes <sys/acl.h> which is provided by acl
	btrfs-convert.c:32:21: fatal error: sys/acl.h: No such file or directory

3. btrfs-tools always needs e2fsprogs
	btrfs-convert.c:44:28: fatal error: ext2fs/ext2_fs.h: No such file or directory

(From OE-Core rev: 51bb56a19f03e341a0b46199dddbbc3e9b209904)

Signed-off-by: Roy.Li <rongqing.li@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 18:06:32 +01:00
Jonathan Liu
55d0fcaaa4 systemd: use /bin/mkdir instead of host mkdir path
(From OE-Core rev: 9ee883f2f9f36f6d5cca56ac5f179468dfa5b686)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 18:06:32 +01:00
Chunrong Guo
03325fe9c5 gcc-4.8: fix ICE of cross-compile for PowerPC e500v2 targets
* http://gcc.gnu.org/bugzilla//show_bug.cgi?id=57717#c7

  * fix the segfault issue of dd on e500v2 targets
    Since double-float is disabled for e500v2 targets build due to ICE of gcc-4.8.1,
    accordingly %Ld format of sprintf is disabled.
    Address Bug 4910 - [p1022ds]urandom: segmentation fault

(From OE-Core rev: a4fefac26d91bc56d5d28e1c9973a189d2509d45)

Signed-off-by: Chunrong Guo <B40290@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 18:06:32 +01:00
Roy.Li
ada4bcc960 libsamplerate0: add PACKAGECONFIG for fftw
fftw is autodetected from sysroot, add PACKAGECONFIG to make it deterministic

(From OE-Core rev: 5e00319ea942764ed2e7d6bc8c74e5d48166231b)

Signed-off-by: Roy.Li <rongqing.li@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 18:06:31 +01:00
Jonathan Liu
09d1761670 mesa: add missing elfutils dependency for r600 PACKAGECONFIG
Fixes the following configure error:
configure:23490: error: radeonsi and r600g require libelf when using LLVM

(From OE-Core rev: 43e7f168c84128b5d48bbfde9d6c07f2fb656b00)

Signed-off-by: Jonathan Liu <net147@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 18:06:31 +01:00
Peter A. Bigot
2163807010 bluez4: fix network Connect parameter validation
The incorrect validation prevents connection to the NAP service on another
device.

(From OE-Core rev: 895a0840e82ddfd05c4441b7f8f358e27e6cb38a)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 18:06:31 +01:00
Jackie Huang
4e7e54246b multilib.bbclass: Expand the WHITELISTs with multilib prefix
fix the following failures:
ERROR: Nothing PROVIDES 'virtual/lib32-i586-pokymllib32-linux-compilerlibs'
ERROR: Nothing RPROVIDES 'lib32-update-alternatives-cworth'

(From OE-Core rev: a27d5b08d438861309827aecb731c29218679730)

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>
2013-08-30 18:06:31 +01:00
Peter A. Bigot
118d74e28c oe-setup-rpmrepo: add native sysroot so nativepython can be found by env
This avoids the following new behavior resulting from the create_wrapper
fixes:

  llc[11]$ ../poky/scripts/oe-setup-rpmrepo
  /usr/bin/env: nativepython: No such file or directory

(From OE-Core rev: ce37ef05c14ba28773823d1f14f629c37c76d827)

Signed-off-by: Peter A. Bigot <pab@pabigot.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 18:06:31 +01:00
Richard Purdie
4b2906d972 recipes: Ensure that we only apply poky changes when poky is selected
(From meta-yocto rev: 5bd26f2d294f10d9119c6b81d0b368198ee96ed9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 17:56:18 +01:00
Richard Purdie
5fd04b0258 bitbake: prserv: Allow 'table is locked' matching for retry loop
Try and avoid errors like "ERROR: database table is locked: PRMAIN_nohist"
by retrying if we see the string "is locked".

(Bitbake rev: 1a175b51f80d13f747b653d29e9c0d2201b5109c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 17:53:26 +01:00
Richard Purdie
cb939416b7 bitbake: server/xmlrpc: Increase timeout to 60s
This is a better value that the earlier infinite timeout yet still
allows for servers with high loads. It does mean the bitbake process
can hang at exit for the timeout period but that should never happen
and only happened for me in some test cases which wouldn't happen
in normal use.

(Bitbake rev: ab8d926b9bc27c58011e7db9327e031ac76ba34b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 17:42:39 +01:00
Richard Purdie
4322948564 bitbake: cookerdata: Allow bblayers.conf to be found using BBPATH
It should be possible to run a build anywhere on the filesystem and have
bitbake find the correct build directory if its set somehow. The BBPATH
variable makes perfect sense for this usage. Therefore use any available
value of BBPATH to search for conf/bblayers.conf before walking the parent
directory structure.

This restores the option of being able to run bitbake from anywhere if
the user has set things up to operate in that environment.

(Bitbake rev: e86336b3fe245bc97fe74c9b9d6a21d38a536fb7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 17:42:39 +01:00
Richard Purdie
c7a389729a bitbake: cookerdata: Set TOPDIR when using bblayers.conf
By definition, bblayers.conf is at the top of the build tree. We'd like
to support running bitbake anywhere within that build tree but TOPDIR
gets set to wherever cwd is. Change the code to reset TOPDIR
to the top of the build directory.

This shouldn't break anything but does make the system more usable.

(Bitbake rev: b266db27de0bba19a418e4d42e870649136b116b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 17:42:39 +01:00
Richard Purdie
156baf84e7 web-webkit: Drop, we have midori now
This was never a particularly useful browser and is a dead codebase, retire
it and suggest midori instead.

[YOCTO #2318]

(From OE-Core rev: 3883d2cb03fb79fa39a7d85505c79784a996f178)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 17:27:08 +01:00
Chen Qi
b2a0e3ad91 runqemu-ifdown: clean up the remaining iptables rules
The iptables rules for the tap interface are added by runqemu-ifup
everytime we use runqemu to start a qemu target. But it's not cleaned
up when runqemu exits.

This patch cleans up the remaining iptables rules for the tap interface
in runqemu-ifdown.

[YOCTO #5047]

(From OE-Core rev: ef38a0aed35357d035ca587162158cd2f55b958f)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 16:23:47 +01:00
Chen Qi
5bffc4ff4d runqemu-internal: provide more info if a preconfigured tap is used
We should provide the user more information if a preconfigured tap
is used. This is because the user might have manually set up the tap
interface to be used by other qemu binaries.

So at a minimum, we should let the user know how to make runqemu skip
that tap interface.

[YOCTO #5047]

(From OE-Core rev: ec08d92641cc51c567cc3745937b1839d3faa095)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 16:23:47 +01:00
Chen Qi
a78bf1ce7b runqemu-internal: don't bring down preconfigured tap interface
runqemu-ifup and runqemu-ifdown should be pairs. If we're using a
preconfigured tap interface, the runqemu-ifdown should not be invoked
to bring it down.

(From OE-Core rev: f60f215f74b5fe5a43943c9d3ccdbe0fa06b7828)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 16:23:47 +01:00
Stefan Stanacar
8f32af94c0 lib/oeqa/runtime: syslog: fix test for logger in case of systemd
Recently syslog behaviour changed for systemd images (log
it's in a buffer not in /var/log/messages), account
for the new stuff.

(From OE-Core rev: 32576c4cc1621fa3013eac66c7caaa1e1fd14995)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 16:23:47 +01:00
Hongxu Jia
926a117486 list-packageconfig-flags.py: fix searching bitbake module failed
Run list-packageconfig-flags.py on wrlinux's platform in which
the oe-core layer and bitbake layer in different directories:
----
../layers/oe-core/scripts/contrib/list-packageconfig-flags.py
Traceback (most recent call last):
  File "../layers/oe-core/scripts/contrib/list-packageconfig-flags.py", line 28, in <module>
    import bb.cache
ImportError: No module named bb.cache
----

The script import bb module from bitbake lib dir, the previous
lib dir was hardcode and only worked on poky but not for others.

In this situation, look for bitbake/bin dir in PATH could fix this issue.

[YOCTO #5060]

(From OE-Core rev: 9e749c430f97b1a30cdf0c13dacd2a985ef7b433)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 16:23:47 +01:00
Christopher Larson
1370927687 gtk+3: pull forward the gtk+2 hardcoded libtool patch
Without this, it tries to run ./libtool, not the sys-prefixed libtool, which
fails, resulting in dynamic modules being disabled, which in turn results in
compiling the immodules directly into the gtk+3 library.

I tried switching it to using $LIBTOOL rather than hardcoding the path, as
LT_INIT sets LIBTOOL, but it didn't work, I didn't have time to dig further,
and this gets the job done for now.

(From OE-Core rev: f74e456772fc80c2333fbdf57c629a18412375e8)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 16:23:47 +01:00
Christopher Larson
7034d50765 gtk+3: only set GTKIMMODULES_PACKAGES if we have immodules
(From OE-Core rev: 9191c8b08ea25641d228acc83f2d4ad6a14333fe)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 16:23:47 +01:00
Stefan Stanacar
249dc825a0 lib/oeqa/utils: qemurunner: fix when runqemu errors out
When qemu doesn't start or runqemu errors out
(some wrong option passed or sudo needs a password for setting tap) we
want to display the output but oe-core commit 9de7fe11967576f4a8b24e653c6b9a02e5f6d85b/
poky commit 51588936d4
changed the kill method and broke this code, so let's fix it.

(From OE-Core rev: 923d4bd548911caa0b419c10905895af1e8e7026)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 16:23:47 +01:00
Tom Zanussi
8a90c8bdd4 lttng-ust: Update to version 2.2.1
Update lttng-ust to version 2.2.1 to correspond to the LTTng 2.2
"Cuda" - Tracer toolchain stable release.

This also removes all the local lttng-ust patches, which are now
upstream.

(From OE-Core rev: 3f856556972617560b24cc86bfab027bed83bd49)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 16:23:47 +01:00
Tom Zanussi
4c138aa83a lttng-tools: Update to version 2.2.3
Update lttng-tools to version 2.2.3 to correspond to the LTTng 2.2
"Cuda" - Tracer toolchain stable release.

(From OE-Core rev: 303abf7f2d8e79e8d14ce5b9aff287347aae43be)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 16:23:46 +01:00
Andrea Adami
8e85362158 util-linux: package mkfs.cramfs and fsck.cramfs
The recipe builds the two utils which are unpackaged.

(From OE-Core rev: a8212a5170940b9ba9ca7a594b65939b06aac86c)

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 16:23:46 +01:00
Andrea Adami
7be46d903b image_types.bbclass: use mkfs.cramfs instead of makecramfs
The former is provided by util-linux and the latter is
now to be removed for meta-filesystems.

This allows to generate cramfs images whithout extra layers.

(From OE-Core rev: 451546a9d2f675ac331f72f4e66317685d931aba)

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 16:23:46 +01:00
Chen Qi
abfe9af9e5 busybox: configure system user id to range from 100 to 999
Previously, the range was 0 to 0. This made it impossible to use
busybox's adduser utility to add a system user. The following error
would appear.

      adduser: no uids left

This patch fixes this problem by giving it a reasonable range.

(From OE-Core rev: c4555007d04ccacbc192827b70a97f9a48500a22)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 16:23:46 +01:00
Saul Wold
e38285f8f1 packagegroup-self-hosted: Add missing python code
These are in the Toolchain list, so they should also be installed on the build appliance

[YOCTO #5061]

(From OE-Core rev: 82374feece5c576f9950bad6861b1e00c6b30d84)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 16:23:46 +01:00
Cristian Iorga
9c0131d5bc build-appliance-image: upgrade to commit 5745e45b18
Improvements to poky gets in this way
reflected in Build Appliance.

Notable improvements/fixes to bitbake.
New hardware targets.

(From OE-Core rev: ced23e66ad3c255fdccfba24301c99cb60832cff)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 16:23:46 +01:00
Jackie Huang
88c5e10d62 remove the unnecessary protocol parameters
It's not necessary to specify the protocol parameter when it's the
default protocol for the fetcher, e.g. the default protocol for
git fetcher it git, "protocol=git" isn't needed.

(From OE-Core rev: a2bab241c64428d5109c3c5ac5de4463fbad70c5)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 16:23:46 +01:00
Mihai Prica
5c0e6cfdd9 builder: register html links and files with Midori
HTML files and links will open in a tab in Midori.

[YOCTO #3506]

(From OE-Core rev: 1177aee9a6761a6a46a6213f7c4d35827ea54022)

Signed-off-by: Mihai Prica <mihai.prica@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 16:23:44 +01:00
Mihai Prica
4f6358f444 packagegroup-self-hosted: integrate midori
Integrate the Midori web browser in Build Appliance. This will allow the
users to get help and file a bug from Hob in Build Appliance.

[YOCTO #3506]

(From OE-Core rev: 18109cf0c71cbd3b77bcf133996774abe4bbccae)

Signed-off-by: Mihai Prica <mihai.prica@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 16:23:44 +01:00
Stefan Stanacar
c52981c9bc lib/oeqa: move skeletoninit.py where it belongs
OE-core commit fcc59cbcdb1550489d372edf9f465efa7165245f /
poky commit 748ddc39e5 added a new test, but
in the wrong location.
I took the patch from Alex's branch but renamed it from meta/lib/oeqa/runtime/skeleton.py to meta/lib/oeqa/skeletoninit.py before sending. This was
unintentional, it should have been under meta/lib/oeqa/runtime.

(From OE-Core rev: f12c346ef48cb44be2e356e4cf4f28d015c3f507)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 16:23:44 +01:00
Zhang Xiao
c03106dfbe libnfsidmap: Add and modify idmapd.conf
add configuration file to make rpc.idmapd to not report below error:
	rpc.idmapd: Skipping configuration file "/etc/idmapd.conf": No such file or directory
	rpc.idmapd: Could not find group "nobody"

(From OE-Core rev: 6ecd6fb730f473fb90cefd7d0b431d5b8d2c05f7)

Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com>
Signed-off-by: Roy.Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 16:23:44 +01:00
Paul Eggleton
3095ee5154 busybox: set default log buffer size to 64 at compile time
This provides a more reasonable log buffer size to avoid losing earlier
events, and 64K is not a problem for modern systems. When the buffer is
used on sysvinit-based systems, which it isn't by default, 64K is already
the runtime default size unless /etc/syslog-startup.conf is modified or
deleted, so this only really affects systems using systemd. This
completely removes the need for the busybox bbappend in meta-oe.

(From OE-Core rev: 6d6a3f805b0fad6f904afb52dc12bfb543e3eec5)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 16:23:43 +01:00
615 changed files with 9198 additions and 8240 deletions

View File

@@ -41,7 +41,7 @@ from bb import ui
from bb import server
from bb import cookerdata
__version__ = "1.19.1"
__version__ = "1.20.0"
logger = logging.getLogger("BitBake")
# Python multiprocessing requires /dev/shm
@@ -75,18 +75,6 @@ def get_ui(config):
sys.exit("FATAL: Invalid user interface '%s' specified.\n"
"Valid interfaces: depexp, goggle, ncurses, hob, knotty [default]." % interface)
def gather_extra_cache_data():
extra = []
interfaces = ['depexp', 'goggle', 'ncurses', 'hob', 'knotty']
for i in interfaces:
try:
ui = __import__("bb.ui." + i, fromlist = [i])
if hasattr(ui, "extraCaches"):
extra = extra + ui.extraCaches
del ui
except:
pass
return extra
# Display bitbake/OE warnings via the BitBake.Warnings logger, ignoring others"""
warnlog = logging.getLogger("BitBake.Warnings")
@@ -112,59 +100,58 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters):
def parseCommandLine(self):
parser = optparse.OptionParser(
version = "BitBake Build Tool Core version %s, %%prog version %s" % (bb.__version__, __version__),
usage = """%prog [options] [package ...]
usage = """%prog [options] [recipename/target ...]
Executes the specified task (default is 'build') for a given set of BitBake files.
It expects that BBFILES is defined, which is a space separated list of files to
be executed. BBFILES does support wildcards.
Default BBFILES are the .bb files in the current directory.""")
Executes the specified task (default is 'build') for a given set of target recipes (.bb files).
It is assumed there is a conf/bblayers.conf available in cwd or in BBPATH which
will provide the layer, BBFILES and other configuration information.""")
parser.add_option("-b", "--buildfile", help = "execute the task against this .bb file, rather than a package from BBFILES. Does not handle any dependencies.",
parser.add_option("-b", "--buildfile", help = "Execute tasks from a specific .bb recipe directly. WARNING: Does not handle any dependencies from other recipes.",
action = "store", dest = "buildfile", default = None)
parser.add_option("-k", "--continue", help = "continue as much as possible after an error. While the target that failed, and those that depend on it, cannot be remade, the other dependencies of these targets can be processed all the same.",
parser.add_option("-k", "--continue", help = "Continue as much as possible after an error. While the target that failed and anything depending on it cannot be built, as much as possible will be built before stopping.",
action = "store_false", dest = "abort", default = True)
parser.add_option("-a", "--tryaltconfigs", help = "continue with builds by trying to use alternative providers where possible.",
parser.add_option("-a", "--tryaltconfigs", help = "Continue with builds by trying to use alternative providers where possible.",
action = "store_true", dest = "tryaltconfigs", default = False)
parser.add_option("-f", "--force", help = "force run of specified cmd, regardless of stamp status",
parser.add_option("-f", "--force", help = "Force the specified targets/task to run (invalidating any existing stamp file).",
action = "store_true", dest = "force", default = False)
parser.add_option("-c", "--cmd", help = "Specify task to execute. Note that this only executes the specified task for the providee and the packages it depends on, i.e. 'compile' does not implicitly call stage for the dependencies (IOW: use only if you know what you are doing). Depending on the base.bbclass a listtasks tasks is defined and will show available tasks",
parser.add_option("-c", "--cmd", help = "Specify the task to execute. The exact options available depend on the metadata. Some examples might be 'compile' or 'populate_sysroot' or 'listtasks' may give a list of the tasks available.",
action = "store", dest = "cmd")
parser.add_option("-C", "--clear-stamp", help = "Invalidate the stamp for the specified cmd such as 'compile' and run the default task for the specified target(s)",
parser.add_option("-C", "--clear-stamp", help = "Invalidate the stamp for the specified task such as 'compile' and then run the default task for the specified target(s).",
action = "store", dest = "invalidate_stamp")
parser.add_option("-r", "--read", help = "read the specified file before bitbake.conf",
parser.add_option("-r", "--read", help = "Read the specified file before bitbake.conf.",
action = "append", dest = "prefile", default = [])
parser.add_option("-R", "--postread", help = "read the specified file after bitbake.conf",
parser.add_option("-R", "--postread", help = "Read the specified file after bitbake.conf.",
action = "append", dest = "postfile", default = [])
parser.add_option("-v", "--verbose", help = "output more chit-chat to the terminal",
parser.add_option("-v", "--verbose", help = "Output more log message data to the terminal.",
action = "store_true", dest = "verbose", default = False)
parser.add_option("-D", "--debug", help = "Increase the debug level. You can specify this more than once.",
action = "count", dest="debug", default = 0)
parser.add_option("-n", "--dry-run", help = "don't execute, just go through the motions",
parser.add_option("-n", "--dry-run", help = "Don't execute, just go through the motions.",
action = "store_true", dest = "dry_run", default = False)
parser.add_option("-S", "--dump-signatures", help = "don't execute, just dump out the signature construction information",
parser.add_option("-S", "--dump-signatures", help = "Don't execute, just dump out the signature construction information.",
action = "store_true", dest = "dump_signatures", default = False)
parser.add_option("-p", "--parse-only", help = "quit after parsing the BB files (developers only)",
parser.add_option("-p", "--parse-only", help = "Quit after parsing the BB recipes.",
action = "store_true", dest = "parse_only", default = False)
parser.add_option("-s", "--show-versions", help = "show current and preferred versions of all recipes",
parser.add_option("-s", "--show-versions", help = "Show current and preferred versions of all recipes.",
action = "store_true", dest = "show_versions", default = False)
parser.add_option("-e", "--environment", help = "show the global or per-package environment (this is what used to be bbread)",
parser.add_option("-e", "--environment", help = "Show the global or per-package environment complete with information about where variables were set/changed.",
action = "store_true", dest = "show_environment", default = False)
parser.add_option("-g", "--graphviz", help = "emit the dependency trees of the specified packages in the dot syntax, and the pn-buildlist to show the build list",
parser.add_option("-g", "--graphviz", help = "Save dependency tree information for the specified targets in the dot syntax.",
action = "store_true", dest = "dot_graph", default = False)
parser.add_option("-I", "--ignore-deps", help = """Assume these dependencies don't exist and are already provided (equivalent to ASSUME_PROVIDED). Useful to make dependency graphs more appealing""",
@@ -173,34 +160,34 @@ class BitBakeConfigParameters(cookerdata.ConfigParameters):
parser.add_option("-l", "--log-domains", help = """Show debug logging for the specified logging domains""",
action = "append", dest = "debug_domains", default = [])
parser.add_option("-P", "--profile", help = "profile the command and print a report",
parser.add_option("-P", "--profile", help = "Profile the command and save reports.",
action = "store_true", dest = "profile", default = False)
parser.add_option("-u", "--ui", help = "userinterface to use",
parser.add_option("-u", "--ui", help = "The user interface to use (e.g. knotty, hob, depexp).",
action = "store", dest = "ui")
parser.add_option("-t", "--servertype", help = "Choose which server to use, process or xmlrpc",
parser.add_option("-t", "--servertype", help = "Choose which server to use, process or xmlrpc.",
action = "store", dest = "servertype")
parser.add_option("", "--revisions-changed", help = "Set the exit code depending on whether upstream floating revisions have changed or not",
parser.add_option("", "--revisions-changed", help = "Set the exit code depending on whether upstream floating revisions have changed or not.",
action = "store_true", dest = "revisions_changed", default = False)
parser.add_option("", "--server-only", help = "Run bitbake without UI, the frontend can connect with bitbake server itself",
parser.add_option("", "--server-only", help = "Run bitbake without a UI, only starting a server (cooker) process.",
action = "store_true", dest = "server_only", default = False)
parser.add_option("-B", "--bind", help = "The name/address for the bitbake server to bind to",
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",
parser.add_option("", "--no-setscene", help = "Do not run any setscene tasks. sstate will be ignored and everything needed, built.",
action = "store_true", dest = "nosetscene", default = False)
parser.add_option("", "--remote-server", help = "Connect to the specified server",
parser.add_option("", "--remote-server", help = "Connect to the specified server.",
action = "store", dest = "remote_server", default = False)
parser.add_option("-m", "--kill-server", help = "Terminate the remote server",
parser.add_option("-m", "--kill-server", help = "Terminate the remote server.",
action = "store_true", dest = "kill_server", default = False)
parser.add_option("", "--observe-only", help = "Connect to a server as an observing-only client",
parser.add_option("", "--observe-only", help = "Connect to a server as an observing-only client.",
action = "store_true", dest = "observe_only", default = False)
options, targets = parser.parse_args(sys.argv)
@@ -302,25 +289,22 @@ def main():
# Clear away any spurious environment variables while we stoke up the cooker
cleanedvars = bb.utils.clean_environment()
# Collect all the caches we need
if configParams.server_only:
configuration.extra_caches = gather_extra_cache_data()
else:
configuration.extra_caches = getattr(ui_module, "extraCaches", [])
if not configParams.remote_server:
# we start a server with a given configuration
server = start_server(servermodule, configParams, configuration)
else:
# we start a stub server that is actually a XMLRPClient to
# we start a stub server that is actually a XMLRPClient that connects to a real server
server = servermodule.BitBakeXMLRPCClient(configParams.observe_only)
server.saveConnectionDetails(configParams.remote_server)
logger.removeHandler(handler)
if not configParams.server_only:
# Collect the feature set for the UI
featureset = getattr(ui_module, "featureSet", [])
# Setup a connection to the server (cooker)
server_connection = server.establishConnection()
server_connection = server.establishConnection(featureset)
# Restore the environment in case the UI needs it
for k in cleanedvars:

View File

@@ -147,6 +147,9 @@ def fork_off_task(cfg, data, workerdata, fn, task, taskname, appends, quieterror
os.umask(umask)
data.setVar("BB_WORKERCONTEXT", "1")
data.setVar("BUILDNAME", workerdata["buildname"])
data.setVar("DATE", workerdata["date"])
data.setVar("TIME", workerdata["time"])
bb.parse.siggen.set_taskdata(workerdata["hashes"], workerdata["hash_deps"], workerdata["sigchecksums"])
ret = 0
try:

View File

@@ -14,7 +14,7 @@ endif
au BufNewFile,BufRead *.{bb,bbappend,bbclass} set filetype=bitbake
" .inc
au BufNewFile,BufRead *.inc set filetype=bitbake
au BufNewFile,BufRead *.inc set filetype=bitbake
" .conf
au BufNewFile,BufRead *.conf

View File

@@ -1 +1,2 @@
set sts=4 sw=4 et
set cms=#%s

View File

@@ -15,7 +15,7 @@ if &compatible || v:version < 600
endif
fun! <SID>GetUserName()
let l:user_name = system("git-config --get user.name")
let l:user_name = system("git config --get user.name")
if v:shell_error
return "Unknow User"
else
@@ -23,7 +23,7 @@ fun! <SID>GetUserName()
endfun
fun! <SID>GetUserEmail()
let l:user_email = system("git-config --get user.email")
let l:user_email = system("git config --get user.email")
if v:shell_error
return "unknow@user.org"
else

View File

@@ -44,8 +44,8 @@ syn match bbArrayBrackets "[\[\]]" contained
" BitBake strings
syn match bbContinue "\\$"
syn region bbString matchgroup=bbQuote start=+"+ skip=+\\$+ excludenl end=+"+ contained keepend contains=bbTodo,bbContinue,bbVarDeref,bbVarPyValue,@Spell
syn region bbString matchgroup=bbQuote start=+'+ skip=+\\$+ excludenl end=+'+ contained keepend contains=bbTodo,bbContinue,bbVarDeref,bbVarPyValue,@Spell
syn region bbString matchgroup=bbQuote start=+"+ skip=+\\$+ end=+"+ contained contains=bbTodo,bbContinue,bbVarDeref,bbVarPyValue,@Spell
syn region bbString matchgroup=bbQuote start=+'+ skip=+\\$+ end=+'+ contained contains=bbTodo,bbContinue,bbVarDeref,bbVarPyValue,@Spell
" Vars definition
syn match bbExport "^export" nextgroup=bbIdentifier skipwhite
@@ -55,11 +55,11 @@ syn match bbVarDeref "${[a-zA-Z0-9\-_\.\/\+]\+}" contained
syn match bbVarEq "\(:=\|+=\|=+\|\.=\|=\.\|?=\|??=\|=\)" contained nextgroup=bbVarValue
syn match bbVarDef "^\(export\s*\)\?\([a-zA-Z0-9\-_\.\/\+]\+\(_[${}a-zA-Z0-9\-_\.\/\+]\+\)\?\)\s*\(:=\|+=\|=+\|\.=\|=\.\|?=\|??=\|=\)\@=" contains=bbExportFlag,bbIdentifier,bbVarDeref nextgroup=bbVarEq
syn match bbVarValue ".*$" contained contains=bbString,bbVarDeref,bbVarPyValue
syn region bbVarPyValue start=+${@+ skip=+\\$+ excludenl end=+}+ contained contains=@python
syn region bbVarPyValue start=+${@+ skip=+\\$+ end=+}+ contained contains=@python
" Vars metadata flags
syn match bbVarFlagDef "^\([a-zA-Z0-9\-_\.]\+\)\(\[[a-zA-Z0-9\-_\.]\+\]\)\@=" contains=bbIdentifier nextgroup=bbVarFlagFlag
syn region bbVarFlagFlag matchgroup=bbArrayBrackets start="\[" end="\]\s*\(=\)\@=" keepend excludenl contained contains=bbIdentifier nextgroup=bbVarEq
syn region bbVarFlagFlag matchgroup=bbArrayBrackets start="\[" end="\]\s*\(=\|+=\|=+\|?=\)\@=" contained contains=bbIdentifier nextgroup=bbVarEq
" Includes and requires
syn keyword bbInclude inherit include require contained
@@ -83,13 +83,16 @@ if exists("b:current_syntax")
unlet b:current_syntax
endif
syn keyword bbShFakeRootFlag fakeroot contained
syn match bbShFuncDef "^\(fakeroot\s*\)\?\([0-9A-Za-z_-]\+\)\(python\)\@<!\(\s*()\s*\)\({\)\@=" contains=bbShFakeRootFlag,bbFunction,bbDelimiter nextgroup=bbShFuncRegion skipwhite
syn region bbShFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" keepend contained contains=@shell
syn match bbShFuncDef "^\(fakeroot\s*\)\?\([0-9A-Za-z_${}-]\+\)\(python\)\@<!\(\s*()\s*\)\({\)\@=" contains=bbShFakeRootFlag,bbFunction,bbVarDeref,bbDelimiter nextgroup=bbShFuncRegion skipwhite
syn region bbShFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" contained contains=@shell
" Python value inside shell functions
syn region shDeref start=+${@+ skip=+\\$+ excludenl end=+}+ contained contains=@python
" BitBake python metadata
syn keyword bbPyFlag python contained
syn match bbPyFuncDef "^\(python\s\+\)\([0-9A-Za-z_-]\+\)\?\(\s*()\s*\)\({\)\@=" contains=bbPyFlag,bbFunction,bbDelimiter nextgroup=bbPyFuncRegion skipwhite
syn region bbPyFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" keepend contained contains=@python
syn match bbPyFuncDef "^\(python\s\+\)\([0-9A-Za-z_${}-]\+\)\?\(\s*()\s*\)\({\)\@=" contains=bbPyFlag,bbFunction,bbVarDeref,bbDelimiter nextgroup=bbPyFuncRegion skipwhite
syn region bbPyFuncRegion matchgroup=bbDelimiter start="{\s*$" end="^}\s*$" contained contains=@python
" BitBake 'def'd python functions
syn keyword bbPyDef def contained

View File

@@ -137,6 +137,24 @@ share common metadata between many packages.</para></listitem>
<para>In this example, <varname>B</varname> is now <literal>bvaladditionaldata</literal> and <varname>C</varname> is <literal>testcval</literal>. In contrast to the above appending and prepending operators, no additional space
will be introduced.</para>
</section>
<section>
<title>Appending and Prepending (override style syntax)</title>
<para><screen><varname>B</varname> = "bval"
<varname>B_append</varname> = " additional data"
<varname>C</varname> = "cval"
<varname>C_prepend</varname> = "additional data "</screen></para>
<para>This example results in <varname>B</varname> becoming <literal>bval additional data</literal>
and <varname>C</varname> becoming <literal>additional data cval</literal>. Note the spaces in the append.
Unlike the += operator, additional space is not automatically added. You must take steps to add space
yourself.</para>
</section>
<section>
<title>Removing (override style syntax)</title>
<para><screen><varname>FOO</varname> = "123 456 789 123456 123 456 123 456"
<varname>FOO_remove</varname> = "123"
<varname>FOO_remove</varname> = "456"</screen></para>
<para>In this example, <varname>FOO</varname> is now <literal>789 123456</literal>.</para>
</section>
<section>
<title>Conditional metadata set</title>
<para>OVERRIDES is a <quote>:</quote> separated variable containing each item you want to satisfy conditions. So, if you have a variable which is conditional on <quote>arm</quote>, and <quote>arm</quote> is in OVERRIDES, then the <quote>arm</quote> specific version of the variable is used rather than the non-conditional version. Example:</para>
@@ -536,7 +554,7 @@ options:
<example>
<title>Generating dependency graphs</title>
<para>BitBake is able to generate dependency graphs using the dot syntax. These graphs can be converted
to images using the <application>dot</application> application from <ulink url="http://www.graphviz.org">Graphviz</ulink>.
to images using the <application>dot</application> application from <ulink url="http://www.graphviz.org">Graphviz</ulink>.
Two files will be written into the current working directory, <emphasis>depends.dot</emphasis> containing dependency information at the package level and <emphasis>task-depends.dot</emphasis> containing a breakdown of the dependencies at the task level. To stop depending on common depends, one can use the <prompt>-I depend</prompt> to omit these from the graph. This can lead to more readable graphs. This way, <varname>DEPENDS</varname> from inherited classes such as base.bbclass can be removed from the graph.</para>
<screen><prompt>$ </prompt>bitbake -g blah</screen>
<screen><prompt>$ </prompt>bitbake -g -I virtual/whatever -I bloom blah</screen>

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.19.1"
__version__ = "1.20.0"
import sys
if sys.version_info < (2, 7, 3):

View File

@@ -69,9 +69,12 @@ class FuncFailed(Exception):
class TaskBase(event.Event):
"""Base class for task events"""
def __init__(self, t, d ):
def __init__(self, t, logfile, d):
self._task = t
self._package = d.getVar("PF", True)
self.taskfile = d.getVar("FILE", True)
self.taskname = self._task
self.logfile = logfile
event.Event.__init__(self)
self._message = "recipe %s: task %s: %s" % (d.getVar("PF", True), t, self.getDisplayName())
@@ -96,16 +99,11 @@ class TaskFailed(TaskBase):
"""Task execution failed"""
def __init__(self, task, logfile, metadata, errprinted = False):
self.logfile = logfile
self.errprinted = errprinted
super(TaskFailed, self).__init__(task, metadata)
super(TaskFailed, self).__init__(task, logfile, metadata)
class TaskFailedSilent(TaskBase):
"""Task execution failed (silently)"""
def __init__(self, task, logfile, metadata):
self.logfile = logfile
super(TaskFailedSilent, self).__init__(task, metadata)
def getDisplayName(self):
# Don't need to tell the user it was silent
return "Failed"
@@ -113,7 +111,7 @@ class TaskFailedSilent(TaskBase):
class TaskInvalid(TaskBase):
def __init__(self, task, metadata):
super(TaskInvalid, self).__init__(task, metadata)
super(TaskInvalid, self).__init__(task, None, metadata)
self._message = "No such task '%s'" % task
@@ -348,6 +346,14 @@ def _exec_task(fn, task, d, quieterr):
if not tempdir:
bb.fatal("T variable not set, unable to build")
# Change nice level if we're asked to
nice = localdata.getVar("BB_TASK_NICE_LEVEL", True)
if nice:
curnice = os.nice(0)
nice = int(nice) - curnice
newnice = os.nice(nice)
logger.debug(1, "Renice to %s " % newnice)
bb.utils.mkdirhier(tempdir)
# Determine the logfile to generate
@@ -416,7 +422,7 @@ def _exec_task(fn, task, d, quieterr):
localdata.setVar('BB_LOGFILE', logfn)
localdata.setVar('BB_RUNTASK', task)
event.fire(TaskStarted(task, localdata), localdata)
event.fire(TaskStarted(task, logfn, localdata), localdata)
try:
for func in (prefuncs or '').split():
exec_func(func, localdata)
@@ -453,7 +459,7 @@ def _exec_task(fn, task, d, quieterr):
logger.debug(2, "Zero size logfn %s, removing", logfn)
bb.utils.remove(logfn)
bb.utils.remove(loglink)
event.fire(TaskSucceeded(task, localdata), localdata)
event.fire(TaskSucceeded(task, logfn, localdata), localdata)
if not localdata.getVarFlag(task, 'nostamp') and not localdata.getVarFlag(task, 'selfstamp'):
make_stamp(task, localdata)
@@ -467,7 +473,7 @@ def exec_task(fn, task, d, profile = False):
quieterr = True
if profile:
profname = "profile-%s.log" % (os.path.basename(fn) + "-" + task)
profname = "profile-%s.log" % (d.getVar("PN", True) + "-" + task)
try:
import cProfile as profile
except:

View File

@@ -43,7 +43,7 @@ except ImportError:
logger.info("Importing cPickle failed. "
"Falling back to a very slow implementation.")
__cache_version__ = "146"
__cache_version__ = "147"
def getCacheFile(path, filename, data_hash):
return os.path.join(path, filename + "." + data_hash)

View File

@@ -35,6 +35,12 @@ class HobRecipeInfo(RecipeInfoCommon):
# such as (bb_cache.dat, bb_extracache_hob.dat)
cachefile = "bb_extracache_" + classname +".dat"
# override this member with the list of extra cache fields
# that this class will provide
cachefields = ['summary', 'license', 'section',
'description', 'homepage', 'bugtracker',
'prevision', 'files_info']
def __init__(self, filename, metadata):
self.summary = self.getvar('SUMMARY', metadata)

View File

@@ -117,14 +117,14 @@ class Command:
return False
def finishAsyncCommand(self, msg=None, code=None):
if msg:
if msg or msg == "":
bb.event.fire(CommandFailed(msg), self.cooker.event_data)
elif code:
bb.event.fire(CommandExit(code), self.cooker.event_data)
else:
bb.event.fire(CommandCompleted(), self.cooker.event_data)
self.currentAsyncCommand = None
self.cooker.finishcommand()
class CommandsSync:
"""
@@ -137,13 +137,22 @@ class CommandsSync:
"""
Trigger cooker 'shutdown' mode
"""
command.cooker.shutdown()
command.cooker.shutdown(False)
def stateStop(self, command, params):
def stateForceShutdown(self, command, params):
"""
Stop the cooker
"""
command.cooker.stop()
command.cooker.shutdown(True)
def getAllKeysWithFlags(self, command, params):
"""
Returns a dump of the global state. Call with
variable flags to be retrieved as params.
"""
flaglist = params[0]
return command.cooker.getAllKeysWithFlags(flaglist)
getAllKeysWithFlags.readonly = True
def getVariable(self, command, params):
"""

View File

@@ -61,7 +61,7 @@ class CollectionError(bb.BBHandledException):
"""
class state:
initial, parsing, running, shutdown, stop = range(5)
initial, parsing, running, shutdown, forceshutdown, stopped = range(6)
class SkippedPackage:
@@ -79,6 +79,29 @@ class SkippedPackage:
elif reason:
self.skipreason = reason
class CookerFeatures(object):
_feature_list = [HOB_EXTRA_CACHES, SEND_DEPENDS_TREE] = range(2)
def __init__(self):
self._features=set()
def setFeature(self, f):
# validate we got a request for a feature we support
if f not in CookerFeatures._feature_list:
return
self._features.add(f)
def __contains__(self, f):
return f in self._features
def __iter__(self):
return self._features.__iter__()
def next(self):
return self._features.next()
#============================================================================#
# BBCooker
#============================================================================#
@@ -90,25 +113,10 @@ class BBCooker:
def __init__(self, configuration):
self.recipecache = None
self.skiplist = {}
self.featureset = CookerFeatures()
self.configuration = configuration
self.caches_array = []
caches_name_array = ['bb.cache:CoreRecipeInfo'] + configuration.extra_caches
# At least CoreRecipeInfo will be loaded, so caches_array will never be empty!
# This is the entry point, no further check needed!
for var in caches_name_array:
try:
module_name, cache_name = var.split(':')
module = __import__(module_name, fromlist=(cache_name,))
self.caches_array.append(getattr(module, cache_name))
except ImportError as exc:
logger.critical("Unable to import extra RecipeInfo '%s' from '%s': %s" % (cache_name, module_name, exc))
sys.exit("FATAL: Failed to import extra cache class '%s'." % cache_name)
self.data = None
self.loadConfigurationData()
# Take a lock so only one copy of bitbake can run against a given build
@@ -118,13 +126,6 @@ class BBCooker:
if not self.lock:
bb.fatal("Only one copy of bitbake should be run against a build directory")
#
# Special updated configuration we use for firing events
#
self.event_data = bb.data.createCopy(self.data)
bb.data.update_data(self.event_data)
bb.parse.init_parser(self.event_data)
# TOSTOP must not be set or our children will hang when they output
fd = sys.stdout.fileno()
if os.isatty(fd):
@@ -141,11 +142,30 @@ class BBCooker:
self.parser = None
def initConfigurationData(self):
worker = False
if not self.configuration.server_register_idlecallback:
worker = True
self.databuilder = bb.cookerdata.CookerDataBuilder(self.configuration, worker)
self.state = state.initial
self.caches_array = []
all_extra_cache_names = []
# We hardcode all known cache types in a single place, here.
if CookerFeatures.HOB_EXTRA_CACHES in self.featureset:
all_extra_cache_names.append("bb.cache_extra:HobRecipeInfo")
caches_name_array = ['bb.cache:CoreRecipeInfo'] + all_extra_cache_names
# At least CoreRecipeInfo will be loaded, so caches_array will never be empty!
# This is the entry point, no further check needed!
for var in caches_name_array:
try:
module_name, cache_name = var.split(':')
module = __import__(module_name, fromlist=(cache_name,))
self.caches_array.append(getattr(module, cache_name))
except ImportError as exc:
logger.critical("Unable to import extra RecipeInfo '%s' from '%s': %s" % (cache_name, module_name, exc))
sys.exit("FATAL: Failed to import extra cache class '%s'." % cache_name)
self.databuilder = bb.cookerdata.CookerDataBuilder(self.configuration, False)
self.data = self.databuilder.data
def enableDataTracking(self):
@@ -162,6 +182,13 @@ class BBCooker:
self.data = self.databuilder.data
self.data_hash = self.databuilder.data_hash
#
# Special updated configuration we use for firing events
#
self.event_data = bb.data.createCopy(self.data)
bb.data.update_data(self.event_data)
bb.parse.init_parser(self.event_data)
def modifyConfigurationVar(self, var, val, default_file, op):
if op == "append":
self.appendConfigurationVar(var, val, default_file)
@@ -170,7 +197,7 @@ class BBCooker:
def appendConfigurationVar(self, var, val, default_file):
#add append var operation to the end of default_file
default_file = bb.cookerdata.findConfigFile(default_file)
default_file = bb.cookerdata.findConfigFile(default_file, self.data)
with open(default_file, 'r') as f:
contents = f.readlines()
@@ -252,7 +279,7 @@ class BBCooker:
self.data.varhistory.del_var_history(var)
#add var to the end of default_file
default_file = bb.cookerdata.findConfigFile(default_file)
default_file = bb.cookerdata.findConfigFile(default_file, self.data)
with open(default_file, 'r') as f:
contents = f.readlines()
@@ -348,13 +375,7 @@ class BBCooker:
if pkgs_to_build[0] in set(ignore.split()):
bb.fatal("%s is in ASSUME_PROVIDED" % pkgs_to_build[0])
localdata = data.createCopy(self.data)
bb.data.update_data(localdata)
bb.data.expandKeys(localdata)
taskdata = bb.taskdata.TaskData(self.configuration.abort)
taskdata.add_provider(localdata, self.recipecache, pkgs_to_build[0])
taskdata.add_unresolved(localdata, self.recipecache)
taskdata, runlist, pkgs_to_build = self.buildTaskData(pkgs_to_build, None, self.configuration.abort)
targetid = taskdata.getbuild_id(pkgs_to_build[0])
fnid = taskdata.build_targets[targetid][0]
@@ -386,34 +407,44 @@ class BBCooker:
if data.getVarFlag( e, 'python', envdata ):
logger.plain("\npython %s () {\n%s}\n", e, data.getVar(e, envdata, 1))
def prepareTreeData(self, pkgs_to_build, task):
def buildTaskData(self, pkgs_to_build, task, abort):
"""
Prepare a runqueue and taskdata object for iteration over pkgs_to_build
"""
bb.event.fire(bb.event.TreeDataPreparationStarted(), self.data)
# If we are told to do the None task then query the default task
if (task == None):
# A task of None means use the default task
if task is None:
task = self.configuration.cmd
pkgs_to_build = self.checkPackages(pkgs_to_build)
fulltargetlist = self.checkPackages(pkgs_to_build)
localdata = data.createCopy(self.data)
bb.data.update_data(localdata)
bb.data.expandKeys(localdata)
taskdata = bb.taskdata.TaskData(abort, skiplist=self.skiplist)
current = 0
runlist = []
for k in fulltargetlist:
taskdata.add_provider(localdata, self.recipecache, k)
current += 1
runlist.append([k, "do_%s" % task])
bb.event.fire(bb.event.TreeDataPreparationProgress(current, len(fulltargetlist)), self.data)
taskdata.add_unresolved(localdata, self.recipecache)
bb.event.fire(bb.event.TreeDataPreparationCompleted(len(fulltargetlist)), self.data)
return taskdata, runlist, fulltargetlist
def prepareTreeData(self, pkgs_to_build, task):
"""
Prepare a runqueue and taskdata object for iteration over pkgs_to_build
"""
# We set abort to False here to prevent unbuildable targets raising
# an exception when we're just generating data
taskdata = bb.taskdata.TaskData(False, skiplist=self.skiplist)
taskdata, runlist, pkgs_to_build = self.buildTaskData(pkgs_to_build, task, False)
runlist = []
current = 0
for k in pkgs_to_build:
taskdata.add_provider(localdata, self.recipecache, k)
runlist.append([k, "do_%s" % task])
current += 1
bb.event.fire(bb.event.TreeDataPreparationProgress(current, len(pkgs_to_build)), self.data)
taskdata.add_unresolved(localdata, self.recipecache)
bb.event.fire(bb.event.TreeDataPreparationCompleted(len(pkgs_to_build)), self.data)
return runlist, taskdata
######## WARNING : this function requires cache_extra to be enabled ########
@@ -426,7 +457,10 @@ class BBCooker:
runlist, taskdata = self.prepareTreeData(pkgs_to_build, task)
rq = bb.runqueue.RunQueue(self, self.data, self.recipecache, taskdata, runlist)
rq.rqdata.prepare()
return self.buildDependTree(rq, taskdata)
def buildDependTree(self, rq, taskdata):
seen_fnids = []
depend_tree = {}
depend_tree["depends"] = {}
@@ -447,6 +481,19 @@ class BBCooker:
depend_tree["pn"][pn] = {}
depend_tree["pn"][pn]["filename"] = fn
depend_tree["pn"][pn]["version"] = version
# if we have extra caches, list all attributes they bring in
extra_info = []
for cache_class in self.caches_array:
if type(cache_class) is type and issubclass(cache_class, bb.cache.RecipeInfoCommon) and hasattr(cache_class, 'cachefields'):
cachefields = getattr(cache_class, 'cachefields', [])
extra_info = extra_info + cachefields
# for all attributes stored, add them to the dependency tree
for ei in extra_info:
depend_tree["pn"][pn][ei] = vars(self.recipecache)[ei][fn]
for dep in rq.rqdata.runq_depends[task]:
depfn = taskdata.fn_index[rq.rqdata.runq_fnid[dep]]
deppn = self.recipecache.pkg_fn[depfn]
@@ -509,35 +556,30 @@ class BBCooker:
depend_tree["rdepends-pkg"] = {}
depend_tree["rrecs-pkg"] = {}
# if we have extra caches, list all attributes they bring in
extra_info = []
for cache_class in self.caches_array:
if type(cache_class) is type and issubclass(cache_class, bb.cache.RecipeInfoCommon) and hasattr(cache_class, 'cachefields'):
cachefields = getattr(cache_class, 'cachefields', [])
extra_info = extra_info + cachefields
for task in xrange(len(tasks_fnid)):
fnid = tasks_fnid[task]
fn = taskdata.fn_index[fnid]
pn = self.recipecache.pkg_fn[fn]
version = "%s:%s-%s" % self.recipecache.pkg_pepvpr[fn]
summary = self.recipecache.summary[fn]
lic = self.recipecache.license[fn]
section = self.recipecache.section[fn]
description = self.recipecache.description[fn]
homepage = self.recipecache.homepage[fn]
bugtracker = self.recipecache.bugtracker[fn]
files_info = self.recipecache.files_info[fn]
rdepends = self.recipecache.rundeps[fn]
rrecs = self.recipecache.runrecs[fn]
prevision = self.recipecache.prevision[fn]
inherits = self.recipecache.inherits.get(fn, None)
if pn not in depend_tree["pn"]:
depend_tree["pn"][pn] = {}
depend_tree["pn"][pn]["filename"] = fn
version = "%s:%s-%s" % self.recipecache.pkg_pepvpr[fn]
depend_tree["pn"][pn]["version"] = version
depend_tree["pn"][pn]["summary"] = summary
depend_tree["pn"][pn]["license"] = lic
depend_tree["pn"][pn]["section"] = section
depend_tree["pn"][pn]["description"] = description
depend_tree["pn"][pn]["inherits"] = inherits
depend_tree["pn"][pn]["homepage"] = homepage
depend_tree["pn"][pn]["bugtracker"] = bugtracker
depend_tree["pn"][pn]["files_info"] = files_info
depend_tree["pn"][pn]["revision"] = prevision
rdepends = self.recipecache.rundeps[fn]
rrecs = self.recipecache.runrecs[fn]
depend_tree["pn"][pn]["inherits"] = self.recipecache.inherits.get(fn, None)
# for all extra attributes stored, add them to the dependency tree
for ei in extra_info:
depend_tree["pn"][pn][ei] = vars(self.recipecache)[ei][fn]
if fnid not in seen_fnids:
seen_fnids.append(fnid)
@@ -697,7 +739,7 @@ class BBCooker:
Find the location on disk of configfile and if it exists and was parsed by BitBake
emit the ConfigFilePathFound event with the path to the file.
"""
path = bb.cookerdata.findConfigFile(configfile)
path = bb.cookerdata.findConfigFile(configfile, self.data)
if not path:
return
@@ -1047,7 +1089,7 @@ class BBCooker:
def buildFileIdle(server, rq, abort):
if abort or self.state == state.stop:
if abort or self.state == state.forceshutdown:
rq.finish_runqueue(True)
elif self.state == state.shutdown:
rq.finish_runqueue(False)
@@ -1076,15 +1118,8 @@ class BBCooker:
Attempt to build the targets specified
"""
# If we are told to do the NULL task then query the default task
if (task == None):
task = self.configuration.cmd
universe = ('universe' in targets)
targets = self.checkPackages(targets)
def buildTargetsIdle(server, rq, abort):
if abort or self.state == state.stop:
if abort or self.state == state.forceshutdown:
rq.finish_runqueue(True)
elif self.state == state.shutdown:
rq.finish_runqueue(False)
@@ -1108,27 +1143,32 @@ class BBCooker:
self.buildSetVars()
taskdata, runlist, fulltargetlist = self.buildTaskData(targets, task, self.configuration.abort)
buildname = self.data.getVar("BUILDNAME")
bb.event.fire(bb.event.BuildStarted(buildname, targets), self.data)
localdata = data.createCopy(self.data)
bb.data.update_data(localdata)
bb.data.expandKeys(localdata)
taskdata = bb.taskdata.TaskData(self.configuration.abort, skiplist=self.skiplist)
runlist = []
for k in targets:
taskdata.add_provider(localdata, self.recipecache, k)
runlist.append([k, "do_%s" % task])
taskdata.add_unresolved(localdata, self.recipecache)
bb.event.fire(bb.event.BuildStarted(buildname, fulltargetlist), self.data)
rq = bb.runqueue.RunQueue(self, self.data, self.recipecache, taskdata, runlist)
if universe:
if 'universe' in targets:
rq.rqdata.warn_multi_bb = True
self.configuration.server_register_idlecallback(buildTargetsIdle, rq)
def getAllKeysWithFlags(self, flaglist):
dump = {}
for k in self.data.keys():
try:
v = self.data.getVar(k, True)
if not k.startswith("__") and not isinstance(v, bb.data_smart.DataSmart):
dump[k] = { 'v' : v }
for d in flaglist:
dump[k][d] = self.data.getVarFlag(k, d)
except Exception as e:
print(e)
return dump
def generateNewImage(self, image, base_image, package_queue, timestamp, description):
'''
Create a new image with a "require"/"inherit" base_image statement
@@ -1173,9 +1213,9 @@ class BBCooker:
if self.state == state.running:
return
if self.state in (state.shutdown, state.stop):
if self.state in (state.shutdown, state.forceshutdown):
self.parser.shutdown(clean=False, force = True)
sys.exit(1)
raise bb.BBHandledException()
if self.state != state.parsing:
self.parseConfiguration ()
@@ -1197,7 +1237,7 @@ class BBCooker:
if not self.parser.parse_next():
collectlog.debug(1, "parsing complete")
if self.parser.error:
sys.exit(1)
raise bb.BBHandledException()
self.show_appends_with_no_recipes()
self.handlePrefProviders()
self.recipecache.bbfile_priority = self.collection.collection_priorities(self.recipecache.pkg_fn)
@@ -1208,6 +1248,9 @@ class BBCooker:
def checkPackages(self, pkgs_to_build):
# Return a copy, don't modify the original
pkgs_to_build = pkgs_to_build[:]
if len(pkgs_to_build) == 0:
raise NothingToBuild
@@ -1243,18 +1286,19 @@ class BBCooker:
prserv.serv.auto_shutdown(self.data)
bb.event.fire(CookerExit(), self.event_data)
def shutdown(self):
self.state = state.shutdown
def shutdown(self, force = False):
if force:
self.state = state.forceshutdown
else:
self.state = state.shutdown
def stop(self):
self.state = state.stop
def finishcommand(self):
self.state = state.initial
def initialize(self):
self.state = state.initial
self.initConfigurationData()
def reset(self):
self.state = state.initial
self.loadConfigurationData()
def server_main(cooker, func, *args):
@@ -1482,7 +1526,7 @@ class Feeder(multiprocessing.Process):
continue
class Parser(multiprocessing.Process):
def __init__(self, jobs, results, quit, init):
def __init__(self, jobs, results, quit, init, profile):
self.jobs = jobs
self.results = results
self.quit = quit
@@ -1490,8 +1534,28 @@ class Parser(multiprocessing.Process):
multiprocessing.Process.__init__(self)
self.context = bb.utils.get_context().copy()
self.handlers = bb.event.get_class_handlers().copy()
self.profile = profile
def run(self):
if not self.profile:
self.realrun()
return
try:
import cProfile as profile
except:
import profile
prof = profile.Profile()
try:
profile.Profile.runcall(prof, self.realrun)
finally:
logfile = "profile-parse-%s.log" % multiprocessing.current_process().name
prof.dump_stats(logfile)
bb.utils.process_profilelog(logfile)
print("Raw profiling information saved to %s and processed statistics to %s.processed" % (logfile, logfile))
def realrun(self):
if self.init:
self.init()
@@ -1592,7 +1656,7 @@ class CookerParser(object):
self.feeder = Feeder(self.willparse, self.jobs, self.feeder_quit)
self.feeder.start()
for i in range(0, self.num_processes):
parser = Parser(self.jobs, self.result_queue, self.parser_quit, init)
parser = Parser(self.jobs, self.result_queue, self.parser_quit, init, self.cooker.configuration.profile)
parser.start()
self.processes.append(parser)

View File

@@ -127,7 +127,6 @@ class CookerConfiguration(object):
self.dump_signatures = False
self.dry_run = False
self.tracking = False
self.extra_caches = []
self.env = {}
@@ -177,14 +176,21 @@ def _inherit(bbclass, data):
bb.parse.BBHandler.inherit(bbclass, "configuration INHERITs", 0, data)
return data
def findConfigFile(configfile):
def findConfigFile(configfile, data):
search = []
bbpath = data.getVar("BBPATH", True)
if bbpath:
for i in bbpath.split(":"):
search.append(os.path.join(i, "conf", configfile))
path = os.getcwd()
while path != "/":
confpath = os.path.join(path, "conf", configfile)
if os.path.exists(confpath):
return confpath
search.append(os.path.join(path, "conf", configfile))
path, _ = os.path.split(path)
for i in search:
if os.path.exists(i):
return i
return None
class CookerDataBuilder(object):
@@ -225,8 +231,8 @@ class CookerDataBuilder(object):
logger.exception("Error parsing configuration files")
sys.exit(1)
def _findLayerConf(self):
return findConfigFile("bblayers.conf")
def _findLayerConf(self, data):
return findConfigFile("bblayers.conf", data)
def parseConfigurationFiles(self, prefiles, postfiles):
data = self.data
@@ -236,9 +242,12 @@ class CookerDataBuilder(object):
for f in prefiles:
data = parse_config_file(f, data)
layerconf = self._findLayerConf()
layerconf = self._findLayerConf(data)
if layerconf:
parselog.debug(2, "Found bblayers.conf (%s)", layerconf)
# By definition bblayers.conf is in conf/ of TOPDIR.
# We may have been called with cwd somewhere else so reset TOPDIR
data.setVar("TOPDIR", os.path.dirname(os.path.dirname(layerconf)))
data = parse_config_file(layerconf, data)
layers = (data.getVar('BBLAYERS', True) or "").split()

View File

@@ -59,7 +59,7 @@ def init():
def init_db(parent = None):
"""Return a new object representing the Bitbake data,
optionally based on an existing object"""
if parent:
if parent is not None:
return parent.createCopy()
else:
return _dict_type()
@@ -148,7 +148,7 @@ def expandKeys(alterdata, readdata = None):
readdata = alterdata
todolist = {}
for key in keys(alterdata):
for key in alterdata:
if not '${' in key:
continue
@@ -285,20 +285,24 @@ def update_data(d):
"""Performs final steps upon the datastore, including application of overrides"""
d.finalize(parent = True)
def build_dependencies(key, keys, shelldeps, vardepvals, d):
def build_dependencies(key, keys, shelldeps, varflagsexcl, d):
deps = set()
vardeps = d.getVarFlag(key, "vardeps", True)
try:
if key[-1] == ']':
vf = key[:-1].split('[')
value = d.getVarFlag(vf[0], vf[1], False)
else:
value = d.getVar(key, False)
parser = d.expandWithRefs(value, key)
deps |= parser.references
deps = deps | (keys & parser.execs)
return deps, value
varflags = d.getVarFlags(key, ["vardeps", "vardepvalue", "vardepsexclude"]) or {}
vardeps = varflags.get("vardeps")
value = d.getVar(key, False)
if key in vardepvals:
value = d.getVarFlag(key, "vardepvalue", True)
elif d.getVarFlag(key, "func"):
if d.getVarFlag(key, "python"):
if "vardepvalue" in varflags:
value = varflags.get("vardepvalue")
elif varflags.get("func"):
if varflags.get("python"):
parsedvar = d.expandWithRefs(value, key)
parser = bb.codeparser.PythonParser(key, logger)
if parsedvar.value and "\t" in parsedvar.value:
@@ -320,19 +324,16 @@ def build_dependencies(key, keys, shelldeps, vardepvals, d):
deps = deps | (keys & parser.execs)
# Add varflags, assuming an exclusion list is set
varflagsexcl = d.getVar('BB_SIGNATURE_EXCLUDE_FLAGS', True)
if varflagsexcl:
varfdeps = []
varflags = d.getVarFlags(key)
if varflags:
for f in varflags:
if f not in varflagsexcl:
varfdeps.append('%s[%s]' % (key, f))
for f in varflags:
if f not in varflagsexcl:
varfdeps.append('%s[%s]' % (key, f))
if varfdeps:
deps |= set(varfdeps)
deps |= set((vardeps or "").split())
deps -= set((d.getVarFlag(key, "vardepsexclude", True) or "").split())
deps -= set(varflags.get("vardepsexclude", "").split())
except Exception as e:
raise bb.data_smart.ExpansionError(key, None, e)
return deps, value
@@ -341,16 +342,16 @@ def build_dependencies(key, keys, shelldeps, vardepvals, d):
def generate_dependencies(d):
keys = set(key for key in d.keys() if not key.startswith("__"))
shelldeps = set(key for key in keys if d.getVarFlag(key, "export") and not d.getVarFlag(key, "unexport"))
vardepvals = set(key for key in keys if d.getVarFlag(key, "vardepvalue"))
keys = set(key for key in d if not key.startswith("__"))
shelldeps = set(key for key in d.getVar("__exportlist", False) if d.getVarFlag(key, "export") and not d.getVarFlag(key, "unexport"))
varflagsexcl = d.getVar('BB_SIGNATURE_EXCLUDE_FLAGS', True)
deps = {}
values = {}
tasklist = d.getVar('__BBTASKS') or []
for task in tasklist:
deps[task], values[task] = build_dependencies(task, keys, shelldeps, vardepvals, d)
deps[task], values[task] = build_dependencies(task, keys, shelldeps, varflagsexcl, d)
newdeps = deps[task]
seen = set()
while newdeps:
@@ -359,7 +360,7 @@ def generate_dependencies(d):
newdeps = set()
for dep in nextdeps:
if dep not in deps:
deps[dep], values[dep] = build_dependencies(dep, keys, shelldeps, vardepvals, d)
deps[dep], values[dep] = build_dependencies(dep, keys, shelldeps, varflagsexcl, d)
newdeps |= deps[dep]
newdeps -= seen
#print "For %s: %s" % (task, str(deps[task]))

View File

@@ -40,7 +40,7 @@ logger = logging.getLogger("BitBake.Data")
__setvar_keyword__ = ["_append", "_prepend", "_remove"]
__setvar_regexp__ = re.compile('(?P<base>.*?)(?P<keyword>_append|_prepend|_remove)(_(?P<add>.*))?$')
__expand_var_regexp__ = re.compile(r"\${[^{}]+}")
__expand_var_regexp__ = re.compile(r"\${[^{}@\n\t ]+}")
__expand_python_regexp__ = re.compile(r"\${@.+?}")
def infer_caller_details(loginfo, parent = False, varval = True):
@@ -94,9 +94,13 @@ class VariableParse:
if self.varname and key:
if self.varname == key:
raise Exception("variable %s references itself!" % self.varname)
var = self.d.getVar(key, True)
if key in self.d.expand_cache:
varparse = self.d.expand_cache[key]
var = varparse.value
else:
var = self.d.getVar(key, True)
self.references.add(key)
if var is not None:
self.references.add(key)
return var
else:
return match.group()
@@ -505,12 +509,7 @@ class DataSmart(MutableMapping):
self._seen_overrides[override].add( var )
def getVar(self, var, expand=False, noweakdefault=False):
value = self.getVarFlag(var, "_content", False, noweakdefault)
# Call expand() separately to make use of the expand cache
if expand and value:
return self.expand(value, var)
return value
return self.getVarFlag(var, "_content", expand, noweakdefault)
def renameVar(self, key, newkey, **loginfo):
"""
@@ -578,17 +577,30 @@ class DataSmart(MutableMapping):
if flag == "defaultval" and '_' in var:
self._setvar_update_overrides(var)
if flag == "unexport" or flag == "export":
if not "__exportlist" in self.dict:
self._makeShadowCopy("__exportlist")
if not "_content" in self.dict["__exportlist"]:
self.dict["__exportlist"]["_content"] = set()
self.dict["__exportlist"]["_content"].add(var)
def getVarFlag(self, var, flag, expand=False, noweakdefault=False):
local_var = self._findVar(var)
value = None
if local_var:
if local_var is not None:
if flag in local_var:
value = copy.copy(local_var[flag])
elif flag == "_content" and "defaultval" in local_var and not noweakdefault:
value = copy.copy(local_var["defaultval"])
if expand and value:
value = self.expand(value, None)
if value and flag == "_content" and local_var and "_removeactive" in local_var:
# Only getvar (flag == _content) hits the expand cache
cachename = None
if flag == "_content":
cachename = var
else:
cachename = var + "[" + flag + "]"
value = self.expand(value, cachename)
if value is not None and flag == "_content" and local_var is not None and "_removeactive" in local_var:
filtered = filter(lambda v: v not in local_var["_removeactive"],
value.split(" "))
value = " ".join(filtered)
@@ -636,16 +648,17 @@ class DataSmart(MutableMapping):
self.varhistory.record(**loginfo)
self.dict[var][i] = flags[i]
def getVarFlags(self, var):
def getVarFlags(self, var, expand = False, internalflags=False):
local_var = self._findVar(var)
flags = {}
if local_var:
for i in local_var:
if i.startswith("_"):
if i.startswith("_") and not internalflags:
continue
flags[i] = local_var[i]
if expand and i in expand:
flags[i] = self.expand(flags[i], var + "[" + i + "]")
if len(flags) == 0:
return None
return flags
@@ -751,13 +764,16 @@ class DataSmart(MutableMapping):
for key in keys:
if key in config_whitelist:
continue
value = d.getVar(key, False) or ""
data.update({key:value})
varflags = d.getVarFlags(key)
varflags = d.getVarFlags(key, internalflags = True)
if not varflags:
continue
for f in varflags:
if f == "_content":
continue
data.update({'%s[%s]' % (key, f):varflags[f]})
for key in ["__BBTASKS", "__BBANONFUNCS", "__BBHANDLERS"]:

View File

@@ -589,6 +589,16 @@ class PackageInfo(Event):
Event.__init__(self)
self._pkginfolist = pkginfolist
class MetadataEvent(Event):
"""
Generic event that target for OE-Core classes
to report information during asynchrous execution
"""
def __init__(self, eventtype, eventdata):
Event.__init__(self)
self.type = eventtype
self.data = eventdata
class SanityCheck(Event):
"""
Event to issue sanity check

View File

@@ -341,7 +341,7 @@ def filterProvidersRunTime(providers, item, cfgData, dataCache):
if numberPreferred > 1:
logger.error("Trying to resolve runtime dependency %s resulted in conflicting PREFERRED_PROVIDER entries being found.\nThe providers found were: %s\nThe PREFERRED_PROVIDER entries resulting in this conflict were: %s", item, preferred, preferred_vars)
logger.debug(1, "sorted providers for %s are: %s", item, eligible)
logger.debug(1, "sorted runtime providers for %s are: %s", item, eligible)
return eligible, numberPreferred

View File

@@ -217,6 +217,15 @@ class RunQueueData:
ret.extend([nam])
return ret
def get_task_name(self, task):
return self.runq_task[task]
def get_task_file(self, task):
return self.taskData.fn_index[self.runq_fnid[task]]
def get_task_hash(self, task):
return self.runq_hash[task]
def get_user_idstring(self, task, task_name_suffix = ""):
fn = self.taskData.fn_index[self.runq_fnid[task]]
taskname = self.runq_task[task] + task_name_suffix
@@ -696,6 +705,14 @@ class RunQueueData:
prov_list[prov].append(fn)
for prov in prov_list:
if len(prov_list[prov]) > 1 and prov not in self.multi_provider_whitelist:
seen_pn = []
# If two versions of the same PN are being built its fatal, we don't support it.
for fn in prov_list[prov]:
pn = self.dataCache.pkg_fn[fn]
if pn not in seen_pn:
seen_pn.append(pn)
else:
bb.fatal("Multiple versions of %s are due to be built (%s). Only one version of a given PN should be built in any given build. You likely need to set PREFERRED_VERSION_%s to select the correct version or don't depend on multiple versions." % (pn, " ".join(prov_list[prov]), pn))
msg = "Multiple .bb files are due to be built which each provide %s (%s)." % (prov, " ".join(prov_list[prov]))
if self.warn_multi_bb:
logger.warn(msg)
@@ -703,7 +720,6 @@ class RunQueueData:
msg += "\n This usually means one provides something the other doesn't and should."
logger.error(msg)
# Create a whitelist usable by the stamp checks
stampfnwhitelist = []
for entry in self.stampwhitelist.split():
@@ -852,6 +868,9 @@ class RunQueue:
"logdefaultverboselogs" : bb.msg.loggerVerboseLogs,
"logdefaultdomain" : bb.msg.loggerDefaultDomains,
"prhost" : self.cooker.prhost,
"buildname" : self.cfgData.getVar("BUILDNAME", True),
"date" : self.cfgData.getVar("DATE", True),
"time" : self.cfgData.getVar("TIME", True),
}
worker.stdin.write("<cookerconfig>" + pickle.dumps(self.cooker.configuration) + "</cookerconfig>")
@@ -895,6 +914,14 @@ class RunQueue:
if self.fakeworkerpipe:
self.fakeworkerpipe.read()
def active_fds(self):
fds = []
if self.workerpipe:
fds.append(self.workerpipe.input)
if self.fakeworkerpipe:
fds.append(self.fakeworkerpipe.input)
return fds
def check_stamp_task(self, task, taskname = None, recurse = False, cache = None):
def get_timestamp(f):
try:
@@ -972,7 +999,7 @@ class RunQueue:
(if the abort on failure configuration option isn't set)
"""
retval = 0.5
retval = True
if self.state is runQueuePrepare:
self.rqexe = RunQueueExecuteDummy(self)
@@ -981,6 +1008,11 @@ class RunQueue:
else:
self.state = runQueueSceneInit
# we are ready to run, see if any UI client needs the dependency info
if bb.cooker.CookerFeatures.SEND_DEPENDS_TREE in self.cooker.featureset:
depgraph = self.cooker.buildDependTree(self, self.rqdata.taskData)
bb.event.fire(bb.event.DepTreeGenerated(depgraph), self.cooker.data)
if self.state is runQueueSceneInit:
if self.cooker.configuration.dump_signatures:
self.dump_signatures()
@@ -1307,9 +1339,10 @@ class RunQueueExecuteTasks(RunQueueExecute):
if self.rqdata.taskData.abort:
self.rq.state = runQueueCleanUp
def task_skip(self, task):
def task_skip(self, task, reason):
self.runq_running[task] = 1
self.runq_buildable[task] = 1
bb.event.fire(runQueueTaskSkipped(task, self.stats, self.rq, reason), self.cfgData)
self.task_completeoutright(task)
self.stats.taskCompleted()
self.stats.taskSkipped()
@@ -1334,13 +1367,13 @@ class RunQueueExecuteTasks(RunQueueExecute):
if task in self.rq.scenequeue_covered:
logger.debug(2, "Setscene covered task %s (%s)", task,
self.rqdata.get_user_idstring(task))
self.task_skip(task)
self.task_skip(task, "covered")
return True
if self.rq.check_stamp_task(task, taskname, cache=self.stampcache):
logger.debug(2, "Stamp current task %s (%s)", task,
self.rqdata.get_user_idstring(task))
self.task_skip(task)
self.task_skip(task, "existing")
return True
taskdep = self.rqdata.dataCache.task_deps[fn]
@@ -1375,7 +1408,7 @@ class RunQueueExecuteTasks(RunQueueExecute):
if self.stats.active > 0:
self.rq.read_workers()
return 0.5
return self.rq.active_fds()
if len(self.failed_fnids) != 0:
self.rq.state = runQueueFailed
@@ -1627,6 +1660,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
def task_complete(self, task):
self.stats.taskCompleted()
bb.event.fire(sceneQueueTaskCompleted(task, self.stats, self.rq), self.cfgData)
self.task_completeoutright(task)
def task_fail(self, task, result):
@@ -1715,7 +1749,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
if self.stats.active > 0:
self.rq.read_workers()
return 0.5
return self.rq.active_fds()
# Convert scenequeue_covered task numbers into full taskgraph ids
oldcovered = self.scenequeue_covered
@@ -1761,6 +1795,9 @@ class runQueueEvent(bb.event.Event):
def __init__(self, task, stats, rq):
self.taskid = task
self.taskstring = rq.rqdata.get_user_idstring(task)
self.taskname = rq.rqdata.get_task_name(task)
self.taskfile = rq.rqdata.get_task_file(task)
self.taskhash = rq.rqdata.get_task_hash(task)
self.stats = stats.copy()
bb.event.Event.__init__(self)
@@ -1772,6 +1809,9 @@ class sceneQueueEvent(runQueueEvent):
runQueueEvent.__init__(self, task, stats, rq)
realtask = rq.rqdata.runq_setscene[task]
self.taskstring = rq.rqdata.get_user_idstring(realtask, "_setscene")
self.taskname = rq.rqdata.get_task_name(realtask) + "_setscene"
self.taskfile = rq.rqdata.get_task_file(realtask)
self.taskhash = rq.rqdata.get_task_hash(task)
class runQueueTaskStarted(runQueueEvent):
"""
@@ -1810,6 +1850,19 @@ class runQueueTaskCompleted(runQueueEvent):
Event notifing a task completed
"""
class sceneQueueTaskCompleted(sceneQueueEvent):
"""
Event notifing a setscene task completed
"""
class runQueueTaskSkipped(runQueueEvent):
"""
Event notifing a task was skipped
"""
def __init__(self, task, stats, rq, reason):
runQueueEvent.__init__(self, task, stats, rq)
self.reason = reason
class runQueuePipe():
"""
Abstraction for a pipe between a worker thread and the server

View File

@@ -89,7 +89,7 @@ class BitBakeBaseServer(object):
def detach(self):
return
def establishConnection(self):
def establishConnection(self, featureset):
raise "Must redefine the %s.establishConnection()" % self.__class__.__name__
def endSession(self):

View File

@@ -29,8 +29,9 @@ import os
import signal
import sys
import time
import select
from Queue import Empty
from multiprocessing import Event, Process, util, Queue, Pipe, queues
from multiprocessing import Event, Process, util, Queue, Pipe, queues, Manager
from . import BitBakeBaseServer, BitBakeBaseServerConnection, BaseImplServer
@@ -77,12 +78,13 @@ class ProcessServer(Process, BaseImplServer):
profile_filename = "profile.log"
profile_processed_filename = "profile.log.processed"
def __init__(self, command_channel, event_queue):
def __init__(self, command_channel, event_queue, featurelist):
BaseImplServer.__init__(self)
Process.__init__(self)
Process.__init__(self, args=(featurelist))
self.command_channel = command_channel
self.event_queue = event_queue
self.event = EventAdapter(event_queue)
self.featurelist = featurelist
self.quit = False
self.keep_running = Event()
@@ -93,6 +95,14 @@ class ProcessServer(Process, BaseImplServer):
for event in bb.event.ui_queue:
self.event_queue.put(event)
self.event_handle.value = bb.event.register_UIHhandler(self)
# process any feature changes based on what UI requested
original_featureset = list(self.cooker.featureset)
while len(self.featurelist)> 0:
self.cooker.featureset.setFeature(self.featurelist.pop())
if (original_featureset != list(self.cooker.featureset)):
self.cooker.reset()
bb.cooker.server_main(self.cooker, self.main)
def main(self):
@@ -105,17 +115,17 @@ class ProcessServer(Process, BaseImplServer):
command = self.command_channel.recv()
self.runCommand(command)
self.idle_commands(.1)
self.idle_commands(.1, [self.event_queue._reader, self.command_channel])
except Exception:
logger.exception('Running command %s', command)
self.event_queue.close()
bb.event.unregister_UIHhandler(self.event_handle.value)
self.command_channel.close()
self.cooker.stop()
self.cooker.shutdown(True)
self.idle_commands(.1)
def idle_commands(self, delay):
def idle_commands(self, delay, fds = []):
nextsleep = delay
for function, data in self._idlefuns.items():
@@ -127,15 +137,15 @@ class ProcessServer(Process, BaseImplServer):
nextsleep = None
elif nextsleep is None:
continue
elif retval < nextsleep:
nextsleep = retval
else:
fds = fds + retval
except SystemExit:
raise
except Exception:
logger.exception('Running idle function')
if nextsleep is not None:
time.sleep(nextsleep)
select.select(fds,[],[],nextsleep)
def runCommand(self, command):
"""
@@ -197,13 +207,17 @@ class BitBakeServer(BitBakeBaseServer):
#
self.ui_channel, self.server_channel = Pipe()
self.event_queue = ProcessEventQueue(0)
self.serverImpl = ProcessServer(self.server_channel, self.event_queue)
manager = Manager()
self.featurelist = manager.list()
self.serverImpl = ProcessServer(self.server_channel, self.event_queue, self.featurelist)
def detach(self):
self.serverImpl.start()
return
def establishConnection(self):
def establishConnection(self, featureset):
for f in featureset:
self.featurelist.append(f)
self.connection = BitBakeProcessServerConnection(self.serverImpl, self.ui_channel, self.event_queue)
signal.signal(signal.SIGTERM, lambda i, s: self.connection.terminate())
return self.connection

View File

@@ -78,7 +78,7 @@ class BBTransport(xmlrpclib.Transport):
h.putheader("Bitbake-token", self.connection_token)
xmlrpclib.Transport.send_content(self, h, body)
def _create_server(host, port, timeout = 5):
def _create_server(host, port, timeout = 60):
t = BBTransport(timeout)
s = xmlrpclib.Server("http://%s:%d/" % (host, port), transport=t, allow_none=True)
return s, t
@@ -89,12 +89,23 @@ class BitBakeServerCommands():
self.server = server
self.has_client = False
def registerEventHandler(self, host, port):
def registerEventHandler(self, host, port, featureset = []):
"""
Register a remote UI Event Handler
"""
s, t = _create_server(host, port)
# we don't allow connections if the cooker is running
if (self.cooker.state in [bb.cooker.state.parsing, bb.cooker.state.running]):
return None
original_featureset = list(self.cooker.featureset)
for f in featureset:
self.cooker.featureset.setFeature(f)
if (original_featureset != list(self.cooker.featureset)):
self.cooker.reset()
self.event_handle = bb.event.register_UIHhandler(s)
return self.event_handle
@@ -133,6 +144,8 @@ class BitBakeServerCommands():
if self.has_client:
self.server.set_connection_token(None)
self.has_client = False
if self.server.single_use:
self.server.quit = True
# This request handler checks if the request has a "Bitbake-token" header
# field (this comes from the client side) and compares it with its internal
@@ -167,51 +180,6 @@ class BitBakeXMLRPCRequestHandler(SimpleXMLRPCRequestHandler):
self.end_headers()
self.wfile.write(response)
class BitBakeUIEventServer(threading.Thread):
class EventAdapter():
"""
Adapter to wrap our event queue since the caller (bb.event) expects to
call a send() method, but our actual queue only has put()
"""
def __init__(self, notify):
self.queue = []
self.notify = notify
self.qlock = threading.Lock()
def send(self, event):
self.qlock.acquire()
self.queue.append(event)
self.qlock.release()
self.notify.set()
def get(self):
self.qlock.acquire()
if len(self.queue) == 0:
self.qlock.release()
return None
e = self.queue.pop(0)
if len(self.queue) == 0:
self.notify.clear()
self.qlock.release()
return e
def __init__(self, connection):
self.connection = connection
self.notify = threading.Event()
self.event = BitBakeUIEventServer.EventAdapter(self.notify)
self.quit = False
threading.Thread.__init__(self)
def terminateServer(self):
self.quit = True
def run(self):
while not self.quit:
self.notify.wait(0.1)
evt = self.event.get()
if evt:
self.connection.event.sendpickle(pickle.dumps(evt))
class XMLRPCProxyServer(BaseImplServer):
""" not a real working server, but a stub for a proxy server connection
@@ -239,6 +207,9 @@ class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer):
self.commands = BitBakeServerCommands(self)
self.autoregister_all_functions(self.commands, "")
self.interface = interface
self.single_use = False
if (interface[1] == 0): # anonymous port, not getting reused
self.single_use = True
def addcooker(self, cooker):
BaseImplServer.addcooker(self, cooker)
@@ -264,12 +235,9 @@ class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer):
Serve Requests. Overloaded to honor a quit command
"""
self.quit = False
self.timeout = 0 # Run Idle calls for our first callback
while not self.quit:
#print "Idle queue length %s" % len(self._idlefuns)
self.handle_request()
#print "Idle timeout, running idle functions"
nextsleep = None
fds = [self]
nextsleep = 0.1
for function, data in self._idlefuns.items():
try:
retval = function(self, data, False)
@@ -277,21 +245,22 @@ class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer):
del self._idlefuns[function]
elif retval is True:
nextsleep = 0
elif nextsleep is 0:
continue
elif nextsleep is None:
nextsleep = retval
elif retval < nextsleep:
nextsleep = retval
else:
fds = fds + retval
except SystemExit:
raise
except:
import traceback
traceback.print_exc()
pass
if nextsleep is None and len(self._idlefuns) > 0:
nextsleep = 0
self.timeout = nextsleep
socktimeout = self.socket.gettimeout() or nextsleep
socktimeout = min(socktimeout, nextsleep)
# Mirror what BaseServer handle_request would do
fd_sets = select.select(fds, [], [], socktimeout)
if fd_sets[0] and self in fd_sets[0]:
self._handle_request_noblock()
# Tell idle functions we're exiting
for function, data in self._idlefuns.items():
try:
@@ -305,11 +274,12 @@ class XMLRPCServer(SimpleXMLRPCServer, BaseImplServer):
self.connection_token = token
class BitBakeXMLRPCServerConnection(BitBakeBaseServerConnection):
def __init__(self, serverImpl, clientinfo=("localhost", 0), observer_only = False):
def __init__(self, serverImpl, clientinfo=("localhost", 0), observer_only = False, featureset = []):
self.connection, self.transport = _create_server(serverImpl.host, serverImpl.port)
self.clientinfo = clientinfo
self.serverImpl = serverImpl
self.observer_only = observer_only
self.featureset = featureset
def connect(self):
if not self.observer_only:
@@ -319,7 +289,8 @@ class BitBakeXMLRPCServerConnection(BitBakeBaseServerConnection):
if token is None:
return None
self.transport.set_connection_token(token)
self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo)
self.events = uievent.BBUIEventQueue(self.connection, self.clientinfo, self.featureset)
for event in bb.event.ui_queue:
self.events.queue_event(event)
return self
@@ -343,14 +314,15 @@ class BitBakeXMLRPCServerConnection(BitBakeBaseServerConnection):
class BitBakeServer(BitBakeBaseServer):
def initServer(self, interface = ("localhost", 0)):
self.interface = interface
self.serverImpl = XMLRPCServer(interface)
def detach(self):
daemonize.createDaemon(self.serverImpl.serve_forever, "bitbake-cookerdaemon.log")
del self.cooker
def establishConnection(self):
self.connection = BitBakeXMLRPCServerConnection(self.serverImpl)
def establishConnection(self, featureset):
self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, self.interface, False, featureset)
return self.connection.connect()
def set_connection_token(self, token):
@@ -360,12 +332,13 @@ class BitBakeXMLRPCClient(BitBakeBaseServer):
def __init__(self, observer_only = False):
self.observer_only = observer_only
# if we need extra caches, just tell the server to load them all
pass
def saveConnectionDetails(self, remote):
self.remote = remote
def establishConnection(self):
def establishConnection(self, featureset):
# The format of "remote" must be "server:port"
try:
[host, port] = self.remote.split(":")
@@ -382,7 +355,7 @@ class BitBakeXMLRPCClient(BitBakeBaseServer):
except:
return None
self.serverImpl = XMLRPCProxyServer(host, port)
self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, (ip, 0), self.observer_only)
self.connection = BitBakeXMLRPCServerConnection(self.serverImpl, (ip, 0), self.observer_only, featureset)
return self.connection.connect()
def endSession(self):

View File

@@ -91,8 +91,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
basehash = {}
for task in tasklist:
data = d.getVar(task, False)
lookupcache[task] = data
data = lookupcache[task]
if data is None:
bb.error("Task %s from %s seems to be empty?!" % (task, fn))
@@ -115,16 +114,8 @@ class SignatureGeneratorBasic(SignatureGenerator):
alldeps = sorted(seen)
for dep in alldeps:
data = data + dep
if dep in lookupcache:
var = lookupcache[dep]
elif dep[-1] == ']':
vf = dep[:-1].split('[')
var = d.getVarFlag(vf[0], vf[1], False)
lookupcache[dep] = var
else:
var = d.getVar(dep, False)
lookupcache[dep] = var
if var:
var = lookupcache[dep]
if var is not None:
data = data + str(var)
self.basehash[fn + "." + task] = hashlib.md5(data).hexdigest()
taskdeps[task] = alldeps

View File

@@ -27,21 +27,21 @@ import bb.data
class DataExpansions(unittest.TestCase):
def setUp(self):
self.d = bb.data.init()
self.d["foo"] = "value of foo"
self.d["bar"] = "value of bar"
self.d["value of foo"] = "value of 'value of foo'"
self.d["foo"] = "value_of_foo"
self.d["bar"] = "value_of_bar"
self.d["value_of_foo"] = "value_of_'value_of_foo'"
def test_one_var(self):
val = self.d.expand("${foo}")
self.assertEqual(str(val), "value of foo")
self.assertEqual(str(val), "value_of_foo")
def test_indirect_one_var(self):
val = self.d.expand("${${foo}}")
self.assertEqual(str(val), "value of 'value of foo'")
self.assertEqual(str(val), "value_of_'value_of_foo'")
def test_indirect_and_another(self):
val = self.d.expand("${${foo}} ${bar}")
self.assertEqual(str(val), "value of 'value of foo' value of bar")
self.assertEqual(str(val), "value_of_'value_of_foo' value_of_bar")
def test_python_snippet(self):
val = self.d.expand("${@5*12}")
@@ -49,11 +49,11 @@ class DataExpansions(unittest.TestCase):
def test_expand_in_python_snippet(self):
val = self.d.expand("${@'boo ' + '${foo}'}")
self.assertEqual(str(val), "boo value of foo")
self.assertEqual(str(val), "boo value_of_foo")
def test_python_snippet_getvar(self):
val = self.d.expand("${@d.getVar('foo', True) + ' ${bar}'}")
self.assertEqual(str(val), "value of foo value of bar")
self.assertEqual(str(val), "value_of_foo value_of_bar")
def test_python_snippet_syntax_error(self):
self.d.setVar("FOO", "${@foo = 5}")
@@ -70,7 +70,7 @@ class DataExpansions(unittest.TestCase):
def test_value_containing_value(self):
val = self.d.expand("${@d.getVar('foo', True) + ' ${bar}'}")
self.assertEqual(str(val), "value of foo value of bar")
self.assertEqual(str(val), "value_of_foo value_of_bar")
def test_reference_undefined_var(self):
val = self.d.expand("${undefinedvar} meh")
@@ -109,7 +109,7 @@ class DataExpansions(unittest.TestCase):
def test_rename(self):
self.d.renameVar("foo", "newfoo")
self.assertEqual(self.d.getVar("newfoo"), "value of foo")
self.assertEqual(self.d.getVar("newfoo"), "value_of_foo")
self.assertEqual(self.d.getVar("foo"), None)
def test_deletion(self):
@@ -118,17 +118,17 @@ class DataExpansions(unittest.TestCase):
def test_keys(self):
keys = self.d.keys()
self.assertEqual(keys, ['value of foo', 'foo', 'bar'])
self.assertEqual(keys, ['value_of_foo', 'foo', 'bar'])
class TestNestedExpansions(unittest.TestCase):
def setUp(self):
self.d = bb.data.init()
self.d["foo"] = "foo"
self.d["bar"] = "bar"
self.d["value of foobar"] = "187"
self.d["value_of_foobar"] = "187"
def test_refs(self):
val = self.d.expand("${value of ${foo}${bar}}")
val = self.d.expand("${value_of_${foo}${bar}}")
self.assertEqual(str(val), "187")
#def test_python_refs(self):
@@ -154,11 +154,11 @@ class TestNestedExpansions(unittest.TestCase):
# self.assertEqual(str(val), str(depth + 1))
def test_mixed(self):
val = self.d.expand("${value of ${@('${foo}'+'bar')[0:3]}${${@'BAR'.lower()}}}")
val = self.d.expand("${value_of_${@('${foo}'+'bar')[0:3]}${${@'BAR'.lower()}}}")
self.assertEqual(str(val), "187")
def test_runtime(self):
val = self.d.expand("${${@'value of' + ' f'+'o'+'o'+'b'+'a'+'r'}}")
val = self.d.expand("${${@'value_of' + '_f'+'o'+'o'+'b'+'a'+'r'}}")
self.assertEqual(str(val), "187")
class TestMemoize(unittest.TestCase):

View File

@@ -70,9 +70,11 @@ class SaveImageDialog (CrumbsDialog):
sub_label.set_alignment(0, 0)
sub_label.set_markup("The description should be less than 150 characters long.")
self.description_entry = gtk.TextView()
self.description_entry.get_buffer().set_text(self.description_field)
description_buffer = self.description_entry.get_buffer()
description_buffer.set_text(self.description_field)
description_buffer.connect("insert-text", self.limit_description_length)
self.description_entry.set_wrap_mode(gtk.WRAP_WORD)
self.description_entry.set_size_request(350,150)
self.description_entry.set_size_request(350,50)
sub_vbox.pack_start(label, expand=False, fill=False)
sub_vbox.pack_start(sub_label, expand=False, fill=False)
sub_vbox.pack_start(self.description_entry, expand=False, fill=False)
@@ -108,6 +110,13 @@ class SaveImageDialog (CrumbsDialog):
self.show_all()
def limit_description_length(self, textbuffer, iter, text, length):
buffer_bounds = textbuffer.get_bounds()
entire_text = textbuffer.get_text(*buffer_bounds)
entire_text += text
if len(entire_text)>150 or text=="\n":
textbuffer.emit_stop_by_name("insert-text")
def name_entry_changed(self, entry):
text = entry.get_text()
if text == '':

View File

@@ -166,13 +166,11 @@ class HobHandler(gobject.GObject):
self.clear_busy()
self.building = True
targets = [self.image]
if self.package_queue:
self.set_var_in_file("LINGUAS_INSTALL", "", "local.conf")
self.set_var_in_file("PACKAGE_INSTALL", " ".join(self.package_queue), "local.conf")
if self.toolchain_packages:
self.set_var_in_file("TOOLCHAIN_TARGET_TASK", " ".join(self.toolchain_packages), "local.conf")
targets.append(self.toolchain)
if targets[0] == "hob-image":
self.set_var_in_file("LINGUAS_INSTALL", "", "local.conf")
hobImage = self.runCommand(["matchFile", "hob-image.bb"])
if self.base_image != "Start with an empty image recipe":
baseImage = self.runCommand(["matchFile", self.base_image + ".bb"])
@@ -442,12 +440,12 @@ class HobHandler(gobject.GObject):
self.building = False
def cancel_parse(self):
self.runCommand(["stateStop"])
self.runCommand(["stateForceShutdown"])
def cancel_build(self, force=False):
if force:
# Force the cooker to stop as quickly as possible
self.runCommand(["stateStop"])
self.runCommand(["stateForceShutdown"])
else:
# Wait for tasks to complete before shutting down, this helps
# leave the workdir in a usable state

View File

@@ -690,7 +690,7 @@ class RecipeListModel(gtk.ListStore):
inherits = event_model["pn"][item]["inherits"]
summary = event_model["pn"][item]["summary"]
version = event_model["pn"][item]["version"]
revision = event_model["pn"][item]["revision"]
revision = event_model["pn"][item]["prevision"]
homepage = event_model["pn"][item]["homepage"]
bugtracker = event_model["pn"][item]["bugtracker"]
filename = event_model["pn"][item]["filename"]

View File

@@ -387,6 +387,10 @@ class ImageConfigurationPage (HobPage):
selected_image = self.__dummy_image__
self.update_image_combo(self.builder.recipe_model, None)
dialog.destroy()
else:
if self.custom_image_selected:
self.custom_image_selected = None
self.update_image_combo(self.builder.recipe_model, selected_image)
if not selected_image or (selected_image == self.__dummy_image__):
self.builder.window_sensitive(True)

View File

@@ -635,6 +635,14 @@ class ImageDetailsPage (HobPage):
images_dir = topdir + "/recipes/images/"
self.builder.ensure_dir(images_dir)
self.name_field_template = self.builder.image_configuration_page.custom_image_selected
if self.name_field_template:
image_path = self.builder.recipe_model.pn_path[self.name_field_template]
image_iter = self.builder.recipe_model.get_iter(image_path)
self.description_field_template = self.builder.recipe_model.get_value(image_iter, self.builder.recipe_model.COL_DESC)
else:
self.name_field_template = ""
dialog = SaveImageDialog(images_dir, self.name_field_template, self.description_field_template,
"Save image recipe", self.builder, gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT)
response = dialog.run()

View File

@@ -314,7 +314,7 @@ def main(server, eventHandler, params):
break
if shutdown == 1:
print("\nSecond Keyboard Interrupt, stopping...\n")
_, error = server.runCommand(["stateStop"])
_, error = server.runCommand(["stateForceShutdown"])
if error:
print('Unable to cleanly stop: %s' % error)
if shutdown == 0:

View File

@@ -117,5 +117,5 @@ def main (server, eventHandler, params):
except KeyboardInterrupt:
pass
finally:
server.runCommand(["stateStop"])
server.runCommand(["stateForceShutdown"])

View File

@@ -46,7 +46,7 @@ from bb.ui.crumbs.hoblistmodel import RecipeListModel, PackageListModel
from bb.ui.crumbs.hobeventhandler import HobHandler
from bb.ui.crumbs.builder import Builder
extraCaches = ['bb.cache_extra:HobRecipeInfo']
featureSet = [bb.cooker.CookerFeatures.HOB_EXTRA_CACHES]
def event_handle_idle_func(eventHandler, hobHandler):
# Consume as many messages as we can in the time available to us

View File

@@ -306,8 +306,10 @@ def main(server, eventHandler, params, tf = TerminalFilter):
while True:
try:
termfilter.updateFooter()
event = eventHandler.waitEvent(0.25)
event = eventHandler.waitEvent(0)
if event is None:
termfilter.updateFooter()
event = eventHandler.waitEvent(0.25)
if event is None:
if main.shutdown > 1:
break
@@ -403,8 +405,9 @@ def main(server, eventHandler, params, tf = TerminalFilter):
if isinstance(event, bb.command.CommandFailed):
return_value = event.exitcode
errors = errors + 1
logger.error("Command execution failed: %s", event.error)
if event.error:
errors = errors + 1
logger.error("Command execution failed: %s", event.error)
main.shutdown = 2
continue
if isinstance(event, bb.command.CommandExit):
@@ -469,8 +472,12 @@ def main(server, eventHandler, params, tf = TerminalFilter):
event.taskid, event.taskstring, event.exitcode)
continue
if isinstance(event, bb.event.DepTreeGenerated):
continue
# ignore
if isinstance(event, (bb.event.BuildBase,
bb.event.MetadataEvent,
bb.event.StampUpdate,
bb.event.ConfigParsed,
bb.event.RecipeParsed,
@@ -497,7 +504,7 @@ def main(server, eventHandler, params, tf = TerminalFilter):
main.shutdown = 2
if not params.observe_only and main.shutdown == 1:
print("\nSecond Keyboard Interrupt, stopping...\n")
_, error = server.runCommand(["stateStop"])
_, error = server.runCommand(["stateForceShutdown"])
if error:
logger.error("Unable to cleanly stop: %s" % error)
if not params.observe_only and main.shutdown == 0:
@@ -518,7 +525,7 @@ def main(server, eventHandler, params, tf = TerminalFilter):
if warnings:
summary += pluralise("\nSummary: There was %s WARNING message shown.",
"\nSummary: There were %s WARNING messages shown.", warnings)
if return_value:
if return_value and errors:
summary += pluralise("\nSummary: There was %s ERROR message shown, returning a non-zero exit code.",
"\nSummary: There were %s ERROR messages shown, returning a non-zero exit code.", errors)
if summary:

View File

@@ -350,7 +350,7 @@ class NCursesUI:
exitflag = True
if shutdown == 1:
mw.appendText("Second Keyboard Interrupt, stopping...\n")
_, error = server.runCommand(["stateStop"])
_, error = server.runCommand(["stateForceShutdown"])
if error:
print("Unable to cleanly stop: %s" % error)
if shutdown == 0:

View File

@@ -28,7 +28,7 @@ import socket, threading, pickle
from SimpleXMLRPCServer import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler
class BBUIEventQueue:
def __init__(self, BBServer, clientinfo=("localhost, 0")):
def __init__(self, BBServer, clientinfo=("localhost, 0"), featureset=[]):
self.eventQueue = []
self.eventQueueLock = threading.Lock()
@@ -44,7 +44,10 @@ class BBUIEventQueue:
server.register_function( self.send_event, "event.sendpickle" )
server.socket.settimeout(1)
self.EventHandle = self.BBServer.registerEventHandler(self.host, self.port)
self.EventHandle = self.BBServer.registerEventHandler(self.host, self.port, featureset)
if (self.EventHandle == None):
bb.fatal("Could not register UI event handler")
self.server = server

View File

@@ -532,6 +532,8 @@ def approved_variables():
Determine and return the list of whitelisted variables which are approved
to remain in the envrionment.
"""
if 'BB_PRESERVE_ENV' in os.environ:
return os.environ.keys()
approved = []
if 'BB_ENV_WHITELIST' in os.environ:
approved = os.environ['BB_ENV_WHITELIST'].split()

View File

@@ -2,6 +2,7 @@ import logging
import os.path
import errno
import prserv
import time
try:
import sqlite3
@@ -32,16 +33,20 @@ class PRTable(object):
def _execute(self, *query):
"""Execute a query, waiting to acquire a lock if necessary"""
count = 0
start = time.time()
end = start + 20
while True:
try:
return self.conn.execute(*query)
except sqlite3.OperationalError as exc:
if 'database is locked' in str(exc) and count < 500:
count = count + 1
if 'is locked' in str(exc) and end > time.time():
continue
raise exc
def sync(self):
self.conn.commit()
self._execute("BEGIN EXCLUSIVE TRANSACTION")
def _getValueHist(self, version, pkgarch, checksum):
data=self._execute("SELECT value FROM %s WHERE version=? AND pkgarch=? AND checksum=?;" % self.table,
(version, pkgarch, checksum))
@@ -51,11 +56,9 @@ class PRTable(object):
else:
#no value found, try to insert
try:
self._execute("BEGIN")
self._execute("INSERT OR ROLLBACK INTO %s VALUES (?, ?, ?, (select ifnull(max(value)+1,0) from %s where version=? AND pkgarch=?));"
self._execute("INSERT INTO %s VALUES (?, ?, ?, (select ifnull(max(value)+1,0) from %s where version=? AND pkgarch=?));"
% (self.table,self.table),
(version,pkgarch, checksum,version, pkgarch))
self.conn.commit()
except sqlite3.IntegrityError as exc:
logger.error(str(exc))
@@ -79,11 +82,9 @@ class PRTable(object):
else:
#no value found, try to insert
try:
self._execute("BEGIN")
self._execute("INSERT OR REPLACE INTO %s VALUES (?, ?, ?, (select ifnull(max(value)+1,0) from %s where version=? AND pkgarch=?));"
% (self.table,self.table),
(version, pkgarch, checksum, version, pkgarch))
self.conn.commit()
except sqlite3.IntegrityError as exc:
logger.error(str(exc))
self.conn.rollback()
@@ -112,10 +113,8 @@ class PRTable(object):
else:
#no value found, try to insert
try:
self._execute("BEGIN")
self._execute("INSERT OR ROLLBACK INTO %s VALUES (?, ?, ?, ?);" % (self.table),
self._execute("INSERT INTO %s VALUES (?, ?, ?, ?);" % (self.table),
(version, pkgarch, checksum, value))
self.conn.commit()
except sqlite3.IntegrityError as exc:
logger.error(str(exc))
@@ -129,18 +128,14 @@ class PRTable(object):
def _importNohist(self, version, pkgarch, checksum, value):
try:
#try to insert
self._execute("BEGIN")
self._execute("INSERT OR ROLLBACK INTO %s VALUES (?, ?, ?, ?);" % (self.table),
self._execute("INSERT INTO %s VALUES (?, ?, ?, ?);" % (self.table),
(version, pkgarch, checksum,value))
self.conn.commit()
except sqlite3.IntegrityError as exc:
#already have the record, try to update
try:
self._execute("BEGIN")
self._execute("UPDATE %s SET value=? WHERE version=? AND pkgarch=? AND checksum=? AND value<?"
% (self.table),
(value,version,pkgarch,checksum,value))
self.conn.commit()
except sqlite3.IntegrityError as exc:
logger.error(str(exc))
@@ -223,7 +218,7 @@ class PRData(object):
except OSError as e:
if e.errno != errno.EEXIST:
raise e
self.connection=sqlite3.connect(self.filename, isolation_level="DEFERRED", check_same_thread = False)
self.connection=sqlite3.connect(self.filename, isolation_level="EXCLUSIVE", check_same_thread = False)
self.connection.row_factory=sqlite3.Row
self._tables={}

View File

@@ -2,6 +2,8 @@ import os,sys,logging
import signal, time, atexit, threading
from SimpleXMLRPCServer import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler
import xmlrpclib
import threading
import Queue
try:
import sqlite3
@@ -31,14 +33,11 @@ class Handler(SimpleXMLRPCRequestHandler):
PIDPREFIX = "/tmp/PRServer_%s_%s.pid"
singleton = None
import SocketServer
class SimpleThreadedXMLRPCServer(SocketServer.ThreadingMixIn, SimpleXMLRPCServer):
pass
class PRServer(SimpleThreadedXMLRPCServer):
class PRServer(SimpleXMLRPCServer):
def __init__(self, dbfile, logfile, interface, daemon=True):
''' constructor '''
SimpleThreadedXMLRPCServer.__init__(self, interface,
SimpleXMLRPCServer.__init__(self, interface,
logRequests=False, allow_none=True)
self.dbfile=dbfile
self.daemon=daemon
@@ -54,19 +53,41 @@ class PRServer(SimpleThreadedXMLRPCServer):
self.register_function(self.importone, "importone")
self.register_introspection_functions()
self.db = prserv.db.PRData(self.dbfile)
self.table = self.db["PRMAIN"]
self.requestqueue = Queue.Queue()
self.handlerthread = threading.Thread(target = self.process_request_thread)
self.handlerthread.daemon = False
def process_request_thread(self):
"""Same as in BaseServer but as a thread.
In addition, exception handling is done here.
"""
while True:
(request, client_address) = self.requestqueue.get()
try:
self.finish_request(request, client_address)
self.shutdown_request(request)
except:
self.handle_error(request, client_address)
self.shutdown_request(request)
self.table.sync()
def process_request(self, request, client_address):
self.requestqueue.put((request, client_address))
def export(self, version=None, pkgarch=None, checksum=None, colinfo=True):
try:
db = prserv.db.PRData(self.dbfile)
table = db["PRMAIN"]
return table.export(version, pkgarch, checksum, colinfo)
return self.table.export(version, pkgarch, checksum, colinfo)
except sqlite3.Error as exc:
logger.error(str(exc))
return None
def importone(self, version, pkgarch, checksum, value):
db = prserv.db.PRData(self.dbfile)
table = db["PRMAIN"]
return table.importone(version, pkgarch, checksum, value)
return self.table.importone(version, pkgarch, checksum, value)
def ping(self):
return not self.quit
@@ -76,9 +97,7 @@ class PRServer(SimpleThreadedXMLRPCServer):
def getPR(self, version, pkgarch, checksum):
try:
db = prserv.db.PRData(self.dbfile)
table = db["PRMAIN"]
return table.getValue(version, pkgarch, checksum)
return self.table.getValue(version, pkgarch, checksum)
except prserv.NotFoundError:
logger.error("can not find value for (%s, %s)",version, checksum)
return None
@@ -97,9 +116,11 @@ class PRServer(SimpleThreadedXMLRPCServer):
logger.info("Started PRServer with DBfile: %s, IP: %s, PORT: %s, PID: %s" %
(self.dbfile, self.host, self.port, str(os.getpid())))
self.handlerthread.start()
while not self.quit:
self.handle_request()
self.table.sync()
logger.info("PRServer: stopping...")
self.server_close()
return

View File

@@ -200,7 +200,8 @@ TARFILES = mega-manual.html mega-style.css figures/yocto-environment.png figures
figures/yocto-environment-ref.png figures/user-configuration.png figures/source-input.png \
figures/package-feeds.png figures/layer-input.png figures/images.png figures/sdk.png \
figures/source-fetching.png figures/patching.png figures/configuration-compile-autoreconf.png \
figures/analysis-for-package-splitting.png
figures/analysis-for-package-splitting.png figures/image-generation.png \
figures/sdk-generation.png
endif
MANUALS = $(DOC)/$(DOC).html
@@ -219,7 +220,8 @@ TARFILES = ref-manual.html ref-style.css figures/poky-title.png \
figures/user-configuration.png figures/yocto-environment-ref.png \
figures/images.png figures/sdk.png figures/source-fetching.png \
figures/patching.png figures/configuration-compile-autoreconf.png \
figures/analysis-for-package-splitting.png
figures/analysis-for-package-splitting.png figures/image-generation.png \
figures/sdk-generation.png
MANUALS = $(DOC)/$(DOC).html $(DOC)/$(DOC).pdf $(DOC)/eclipse
FIGURES = figures
STYLESHEET = $(DOC)/*.css
@@ -381,8 +383,8 @@ publish:
echo " "; \
echo "******** Publishing "$(DOC)".html"; \
echo " "; \
scp -r $(MANUALS) $(STYLESHEET) www.yoctoproject.org:/srv/www/www.yoctoproject.org-docs/$(VER)/$(DOC); \
cd $(DOC); scp -r $(FIGURES) www.yoctoproject.org:/srv/www/www.yoctoproject.org-docs/$(VER)/$(DOC); \
scp -r $(MANUALS) $(STYLESHEET) docs.yp:/var/www/www.yoctoproject.org-docs/$(VER)/$(DOC); \
cd $(DOC); scp -r $(FIGURES) docs.yp:/var/www/www.yoctoproject.org-docs/$(VER)/$(DOC); \
else \
echo " "; \
echo $(DOC)".html missing. Generate the file first then try again."; \

View File

@@ -91,7 +91,9 @@
<para>
If you use BitBake to generate the ADT Installer tarball, you must
<filename>source</filename> the environment setup script
(<ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>)
(<ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>
or
<ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink>)
located in the Source Directory before running the
BitBake command that creates the tarball.
</para>
@@ -266,7 +268,7 @@
target, go into the <filename>x86_64</filename>
folder and download the following installer:
<literallayout class='monospaced'>
poky-eglibc-x86_64-core-image-sato-i586.sh
poky-eglibc-x86_64-core-image-sato-i586-&DISTRO;.sh
</literallayout></para></listitem>
<listitem><para>Build your own toolchain installer.
For cases where you cannot use an installer
@@ -285,7 +287,7 @@
The example assumes the toolchain installer is located
in <filename>~/Downloads/</filename>.
<literallayout class='monospaced'>
$ ~/Downloads/poky-eglibc-x86_64-core-image-sato-i586.sh
$ ~/Downloads/poky-eglibc-x86_64-core-image-sato-i586-&DISTRO;.sh
</literallayout>
<note>
If you do not have write permissions for the directory
@@ -374,10 +376,11 @@
</para>
<para>
Be sure to run the environment setup script that matches the architecture for
which you are developing.
Environment setup scripts begin with the string "<filename>environment-setup</filename>"
and include as part of their name the architecture.
Be sure to run the environment setup script that matches the
architecture for which you are developing.
Environment setup scripts begin with the string
"<filename>environment-setup</filename>" and include as part of their
name the architecture.
For example, the toolchain environment setup script for a 64-bit
IA-based architecture installed in the default installation directory
would be the following:
@@ -540,7 +543,7 @@
<para>
A final method of building the toolchain installer exists that has
significant advantages over the previous two methods.
significant advantages over the previous method.
This method results in a toolchain installer that contains the sysroot
that matches your target root filesystem.
To build this installer, use the
@@ -549,8 +552,12 @@
<para>
Remember, before using any <filename>bitbake</filename> command, you
must source the <filename>&OE_INIT_PATH;</filename> script located in
the Source Directory and you must make sure your
must source the build environment setup script
(i.e.
<ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>
or
<ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink>)
located in the Source Directory and you must make sure your
<filename>conf/local.conf</filename> variables are correct.
In particular, you need to be sure the
<ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>

View File

@@ -228,65 +228,192 @@
</note></para></listitem>
</orderedlist>
</para>
</section>
<section id='best-practices-to-follow-when-creating-layers'>
<title>Best Practices to Follow When Creating Layers</title>
<para>
To create layers that are easier to maintain, you should
consider the following:
<itemizedlist>
<listitem><para>Avoid "overlaying" entire recipes from
other layers in your configuration.
In other words, do not copy an entire recipe into your
layer and then modify it.
Use <filename>.bbappend</filename> files to override the
parts of the recipe you need to modify.
</para></listitem>
<listitem><para>Avoid duplicating include files.
Use <filename>.bbappend</filename> files for each recipe
that uses an include file.
Or, if you are introducing a new recipe that requires
the included file, use the path relative to the original
layer directory to refer to the file.
For example, use
<filename>require recipes-core/somepackage/somefile.inc</filename>
instead of <filename>require somefile.inc</filename>.
If you're finding you have to overlay the include file,
it could indicate a deficiency in the include file in
the layer to which it originally belongs.
If this is the case, you need to address that deficiency
instead of overlaying the include file.
For example, consider how Qt 4 database support plug-ins
are configured.
The Source Directory does not have MySQL or PostgreSQL,
however OpenEmbedded's layer
<filename>meta-oe</filename> does.
Consequently, <filename>meta-oe</filename> uses
<filename>.bbappend</filename> files to modify the
<filename>QT_SQL_DRIVER_FLAGS</filename> variable to
enable the appropriate plugins.
This variable was added to the
<filename>qt4.inc</filename> include file in the Source
Directory specifically to allow the
<filename>meta-oe</filename> layer to be able to control
which plugins are built.</para></listitem>
</itemizedlist>
To create layers that are easier to maintain and that will
not impact builds for other machines, you should consider the
information in the following sections.
</para>
<para>
We also recommend the following:
<itemizedlist>
<listitem><para>Store custom layers in a Git repository
that uses the
<filename>meta-&lt;layer_name&gt;</filename> format.
</para></listitem>
<listitem><para>Clone the repository alongside other
<filename>meta</filename> directories in the
<link linkend='source-directory'>Source Directory</link>.
</para></listitem>
</itemizedlist>
Following these recommendations keeps your Source Directory and
its configuration entirely inside the Yocto Project's core
base.
</para>
<section id='avoid-overlaying-entire-recipes'>
<title>Avoid "Overlaying" Entire Recipes</title>
<para>
Avoid "overlaying" entire recipes from other layers in your
configuration.
In other words, do not copy an entire recipe into your
layer and then modify it.
Use <filename>.bbappend</filename> files to override the
parts of the recipe you need to modify.
</para>
</section>
<section id='avoid-duplicating-include-files'>
<title>Avoid Duplicating Include Files</title>
<para>
Avoid duplicating include files.
Use <filename>.bbappend</filename> files for each recipe
that uses an include file.
Or, if you are introducing a new recipe that requires
the included file, use the path relative to the original
layer directory to refer to the file.
For example, use
<filename>require recipes-core/somepackage/somefile.inc</filename>
instead of <filename>require somefile.inc</filename>.
If you're finding you have to overlay the include file,
it could indicate a deficiency in the include file in
the layer to which it originally belongs.
If this is the case, you need to address that deficiency
instead of overlaying the include file.
For example, consider how support plug-ins for the Qt 4
database are configured.
The Source Directory does not have MySQL or PostgreSQL.
However, OpenEmbedded's layer <filename>meta-oe</filename>
does.
Consequently, <filename>meta-oe</filename> uses
<filename>.bbappend</filename> files to modify the
<filename>QT_SQL_DRIVER_FLAGS</filename> variable to
enable the appropriate plug-ins.
This variable was added to the <filename>qt4.inc</filename>
include file in the Source Directory specifically to allow
the <filename>meta-oe</filename> layer to be able to control
which plug-ins are built.
</para>
</section>
<section id='structure-your-layers'>
<title>Structure Your Layers</title>
<para>
Proper use of overrides within append files and placement
of machine-specific files within your layer can ensure that
a build is not using the wrong Metadata and negatively
impacting a build for a different machine.
Following are some examples:
<itemizedlist>
<listitem><para><emphasis>Modifying Variables to support
a different machine:</emphasis>
Suppose you have a layer named
<filename>meta-one</filename> that adds support
for building machine "one".
To do so, you use an append file named
<filename>base-files.bbappend</filename> and
create a dependency on "foo" by altering the
<ulink url='&YOCTO_DOCS_REF_URL;#var-DEPENDS'><filename>DEPENDS</filename></ulink>
variable:
<literallayout class='monospaced'>
DEPENDS = "foo"
</literallayout>
The dependency is created during any build that
includes the layer
<filename>meta-one</filename>.
However, you might not want this dependency
for all machines.
For example, suppose you are building for
machine "two" but your
<filename>bblayers.conf</filename> file has the
<filename>meta-one</filename> layer included.
During the build, the
<filename>base-files</filename> for machine
"two" will also have the dependency on
<filename>foo</filename>.</para>
<para>To make sure your changes apply only when
building machine "one", use a machine override
with the <filename>DEPENDS</filename> statement:
<literallayout class='monospaced'>
DEPENDS_one = "foo"
</literallayout>
You should follow the same strategy when using
<filename>_append</filename> and
<filename>_prepend</filename> operations:
<literallayout class='monospaced'>
DEPENDS_append_one = " foo"
DEPENDS_prepend_one = "foo "
</literallayout>
<note>
Avoiding "+=" and "=+" and using
machine-specific
<filename>_append</filename>
and <filename>_prepend</filename> operations
is recommended as well.
</note></para></listitem>
<listitem><para><emphasis>Place Machine-Specific Files
in Machine-Specific Locations:</emphasis>
When you have a base recipe, such as
<filename>base-files.bb</filename>, that
contains a
<ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink>
statement to a file, you can use an append file
to cause the build to use your own version of
the file.
For example, an append file in your layer at
<filename>/meta-one/recipes-core/base-files/base-files.bbappend</filename>
could extend
<ulink url='&YOCTO_DOCS_REF_URL;#var-FILESPATH'><filename>FILESPATH</filename></ulink>
using
<ulink url='&YOCTO_DOCS_REF_URL;#var-FILESEXTRAPATHS'><filename>FILESEXTRAPATHS</filename></ulink>
as follows:
<literallayout class='monospaced'>
FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
</literallayout>
The build for machine "one" will pick up your
machine-specific file as long as you have the
file in
<filename>/meta-one/recipes-core/base-files/base-files/</filename>.
However, if you are building for a different
machine and the
<filename>bblayers.conf</filename> file includes
the <filename>meta-one</filename> layer and
the location of your machine-specific file is
the first location where that file is found
according to <filename>FILESPATH</filename>,
builds for all machines will also use that
machine-specific file.</para>
<para>You can make sure that a machine-specific
file is used for a particular machine by putting
the file in a subdirectory specific to the
machine.
For example, rather than placing the file in
<filename>/meta-one/recipes-core/base-files/base-files/</filename>
as shown above, put it in
<filename>/meta-one/recipes-core/base-files/base-files/one/</filename>.
Not only does this make sure the file is used
only when building for machine "one" but the
build process locates the file more quickly.</para>
<para>In summary, you need to place all files
referenced from <filename>SRC_URI</filename>
in a machine-specific subdirectory within the
layer in order to restrict those files to
machine-specific builds.</para></listitem>
</itemizedlist>
</para>
</section>
<section id='other-recommendations'>
<title>Other Recommendations</title>
<para>
We also recommend the following:
<itemizedlist>
<listitem><para>Store custom layers in a Git repository
that uses the
<filename>meta-&lt;layer_name&gt;</filename> format.
</para></listitem>
<listitem><para>Clone the repository alongside other
<filename>meta</filename> directories in the
<link linkend='source-directory'>Source Directory</link>.
</para></listitem>
</itemizedlist>
Following these recommendations keeps your Source Directory and
its configuration entirely inside the Yocto Project's core
base.
</para>
</section>
</section>
<section id='enabling-your-layer'>
@@ -1812,6 +1939,8 @@
environment, you must build the tool using BitBake.
Thus, the environment must be set up using the
<ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>
or
<ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink>
script found in the
<link linkend='build-directory'>Build Directory</link>.
The following commands build and invoke <filename>menuconfig</filename> assuming the
@@ -2467,9 +2596,12 @@
If you have distro-specific configuration files
that are included by an existing recipe, you should
add a <filename>.bbappend</filename> for those.
For general information on how to add recipes to
your layer, see the "<link linkend='creating-your-own-layer'>Creating Your Own Layer</link>"
section.</para></listitem>
For general information and recommendations
on how to add recipes to your layer, see the
"<link linkend='creating-your-own-layer'>Creating Your Own Layer</link>"
and
"<link linkend='best-practices-to-follow-when-creating-layers'>Best Practices to Follow When Creating Layers</link>"
sections.</para></listitem>
<listitem><para>Add any image recipes that are specific
to your distribution.</para></listitem>
<listitem><para>Add a <filename>psplash</filename>
@@ -2924,6 +3056,8 @@
<para>
This section describes a few tasks that involve packages:
<itemizedlist>
<listitem><para>Excluding packages from an image
</para></listitem>
<listitem><para>Incrementing a package revision number
</para></listitem>
<listitem><para>Handling a package name alias
@@ -2938,6 +3072,50 @@
</itemizedlist>
</para>
<section id='excluding-packages-from-an-image'>
<title>Excluding Packages from an Image</title>
<para>
You might find it necessary to prevent specific packages
from being installed into an image.
If so, you can use several variables to direct the build
system to essentially ignore installing recommended packages
or to not install a package at all.
</para>
<para>
The following list introduces variables you can use to
prevent packages from being installed into your image.
Each of these variables only works with IPK and RPM
package types.
Support for Debian packages does not exist.
Also, you can use these variables from your
<filename>local.conf</filename> file or attach them to a
specific image recipe by using a recipe name override.
For more detail on the variables, see the descriptions in the
Yocto Project Reference Manual's glossary chapter.
<itemizedlist>
<listitem><para><ulink url='&YOCTO_DOCS_REF_URL;#var-BAD_RECOMMENDATIONS'><filename>BAD_RECOMMENDATIONS</filename></ulink>:
Use this variable to specify "recommended-only"
packages that you do not want installed.
</para></listitem>
<listitem><para><ulink url='&YOCTO_DOCS_REF_URL;#var-NO_RECOMMENDATIONS'><filename>NO_RECOMMENDATIONS</filename></ulink>:
Use this variable to prevent all "recommended-only"
packages from being installed.
</para></listitem>
<listitem><para><ulink url='&YOCTO_DOCS_REF_URL;#var-PACKAGE_EXCLUDE'><filename>PACKAGE_EXCLUDE</filename></ulink>:
Use this variable to prevent specific packages from
being installed regardless of whether they are
"recommended-only" or not.
You need to realize that the build process could
fail with an error when you
prevent the installation of a package whose presence
is required by an installed package.
</para></listitem>
</itemizedlist>
</para>
</section>
<section id='incrementing-a-package-revision-number'>
<title>Incrementing a Package Revision Number</title>
@@ -3215,7 +3393,7 @@
<para>
Many pieces of software split functionality into optional
modules (or plugins) and the plugins that are built
modules (or plug-ins) and the plug-ins that are built
might depend on configuration options.
To avoid having to duplicate the logic that determines what
modules are available in your recipe or to avoid having
@@ -4074,6 +4252,420 @@
</section>
</section>
<section id="running-and-writing-tests-for-a-qemu-image">
<title>Running and Writing Tests for a QEMU Image</title>
<para>
The OpenEmbedded build system makes available a series of automated
tests for QEMU images.
These tests are commands that run on the target system over
<filename>ssh</filename> and are written in Python, thus making
use of the <filename>unittest</filename> module.
</para>
<para>
This section describes how you set up the environment to use these
tests, run available tests, and write and add your own tests.
You can the same information in a different form and with example
log files of test runs on the
<ulink url='https://wiki.yoctoproject.org/wiki/Image_tests'>Image Tests</ulink>
Wiki page.
</para>
<section id="qemu-image-enabling-tests">
<title>Enabling Tests</title>
<para>
In order to run tests, you need to do the following:
<itemizedlist>
<listitem><para><emphasis>Ensure you run the test
automatically with no interaction and under
<filename>sudo</filename>:</emphasis>
To accomplish this, you must do one of the
following:
<itemizedlist>
<listitem><para>Add
<filename>NOPASSWD</filename> for your user
in <filename>/etc/sudoers</filename> either for
ALL commands or just for
<filename>runqemu-ifup</filename>.
You must provide the full path as that can
change if you are using multiple clones of the
source repository.
<note>
On some distributions, you also need to
comment out "Defaults requiretty" in
<filename>/etc/sudoers</filename>.
</note></para></listitem>
<listitem><para>Manually configure a tap interface
for your system.</para></listitem>
<listitem><para>Run as root the script in
<filename>scripts/runqemu-gen-tapdev</filename>,
which should generate a list of tap devices.
List generation is usually done in environments
similar to AutoBuilder.</para></listitem>
</itemizedlist></para></listitem>
<listitem><para><emphasis>Set up the
<filename>DISPLAY</filename> variable:</emphasis>
You need to set this variable so that you have an X
server available (e.g. start
<filename>vncserver</filename> for a headless machine).
</para></listitem>
<listitem><para><emphasis>Be sure your host's firewall
accepts incoming connections from
192.168.7.0/24:</emphasis>
Some of the tests (in particular smart tests) start a
HTTP server on a random high number port, which is
used to serve files to the target.
The smart module serves
<filename>${DEPLOY_DIR}/rpm</filename> so it can run
smart channel commands. That means your host's firewall
must accept incoming connections from 192.168.7.0/24,
which is the default class used for
<filename>tap0</filename> devices by
<filename>runqemu</filename>.</para></listitem>
<listitem><para><emphasis>Have your QEMU image built:</emphasis>
The QEMU image on which you want to run tests needs to
be built.
For example, the following command would build the
<filename>core-image-sato</filename> image when
<filename>MACHINE</filename> is set to "qemu".
<literallayout class='monospaced'>
bitbake core-image-sato
</literallayout></para></listitem>
<listitem><para><emphasis>Globally inherit
<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-testimage'><filename>testimage.class</filename>:</ulink></emphasis>
Edit your <filename>local.conf</filename> file as
follows:
<literallayout class='monospaced'>
INHERIT += "testimage"
</literallayout></para></listitem>
</itemizedlist>
</para>
<note>
If you built your QEMU image using <filename>rm_work</filename>,
most of the tests will fail with errors because they rely on
<filename>${WORKDIR}/installed_pkgs.txt</filename>.
</note>
</section>
<section id="qemu-image-running-tests">
<title>Running Tests</title>
<para>
After setting up to run the tests, use BitBake to start
the standard suite of tests:
<literallayout class='monospaced'>
bitbake core-image-sato -c testimage
</literallayout>
</para>
<para>
Once you start the tests, the following happens:
<itemizedlist>
<listitem><para>A copy of the root filesystem is written
to <filename>${WORKDIR}/testimage</filename>.
</para></listitem>
<listitem><para>The image is booted under QEMU using the
standard <filename>runqemu</filename> script.
</para></listitem>
<listitem><para>A default timeout of 500 seconds occurs
to allow for the boot process to reach the login prompt.
You can change the timeout period by setting
<ulink url='&YOCTO_DOCS_REF_URL;#var-TEST_QEMUBOOT_TIMEOUT'><filename>TEST_QEMUBOOT_TIMEOUT</filename></ulink>
in the <filename>local.conf</filename> file.
</para></listitem>
<listitem><para>Once the boot process is reached and the
login prompt appears, the tests run.
The full boot log is written to
<filename>${WORKDIR}/testimage/qemu_boot_log</filename>.
</para></listitem>
<listitem><para>Each test module loads in the order found
in <filename>TEST_SUITES</filename>.
You can find the full output of the commands run over
<filename>ssh</filename> in
<filename>${WORKDIR}/testimgage/ssh_target_log</filename>.
</para></listitem>
<listitem><para>If no failures occur, the task running the
tests ends successfully.
You can find the output from the
<filename>unittest</filename> in the task log at
<filename>${WORKDIR}/temp/log.do_testimage</filename>.
</para></listitem>
</itemizedlist>
</para>
<para>
All test files reside in
<filename>meta/lib/oeqa/runtime</filename> in the
<link linkend='source-directory'>Source Directory</link>.
Tests (also referred to as modules) have a one-to-one
relationship with the filenames in <filename>runtime</filename>.
Modules can have multiple classes and test methods and are
usually grouped together by the area tested (e.g tests for
<filename>systemd</filename> reside in
<filename>meta/lib/oeqa/runtime/systemd.py</filename>).
</para>
<para>
You can add tests to any layer provided you place them in the
proper area and you extend
<ulink url='&YOCTO_DOCS_REF_URL;#var-BBPATH'><filename>BBPATH</filename></ulink>
in the <filename>local.conf</filename> file.
Be sure that tests reside in
<filename>&lt;layer&gt;/lib/oeqa/runtime</filename>.
<note>
Be sure that module names do not collide with module names
provided by the Yocto Project.
</note>
</para>
<para>
You can change the set of tests run by appending or overriding
<ulink url='&YOCTO_DOCS_REF_URL;#var-TEST_SUITES'><filename>TEST_SUITES</filename></ulink>
variable in <filename>local.conf</filename>.
Each name in <filename>TEST_SUITES</filename> represents a
required test for the image.
Module skipping is not allowed even if a test is not suitable
for an image (e.g. running the <filename>rpm</filename> tests on
an image without <filename>rpm</filename>).
Appending "auto" to <filename>TEST_SUITES</filename> causes the
build system to try to run all tests that are suitable for the
image (i.e. the build system decides whether to run each test).
</para>
<para>
The order you list tests in <filename>TEST_SUITES</filename>
is important.
The order influences test dependencies.
Consequently, tests that depend on other tests should be added
after the test on which they depend.
For example, since <filename>ssh</filename> depends on the
<filename>ping</filename> test, <filename>ssh</filename>
needs to come after <filename>ping</filename> in the list.
The test class provides no re-ordering or dependency handling.
<note>
Each module can have multiple classes with multiple test
methods.
And, Python <filename>unittest</filename> rules apply.
</note>
</para>
<para>
The following list summarizes how to run the tests:
<itemizedlist>
<listitem><para>Run the default set of tests simply by
running the following:
<literallayout class='monospaced'>
bitbake &lt;qemu_image&gt; -c testimage
</literallayout></para></listitem>
<listitem><para>The default tests for the image are defined
as:
<literallayout class='monospaced'>
DEFAULT_TEST_SUITES_pn-&lt;qemu_image&gt; = "ping ssh df connman syslog xorg scp vnc date rpm smart dmesg"
</literallayout></para></listitem>
<listitem><para>Add your own test to the list of the
by using the following:
<literallayout class='monospaced'>
TEST_SUITES_append = " mytest"
</literallayout></para></listitem>
<listitem><para>Run a specific list of tests as follows:
<literallayout class='monospaced'>
TEST_SUITES = "test1 test2 test3"
</literallayout>
Remember, order is important.
Be sure to place a test that is dependent on another test
later in the order.</para></listitem>
</itemizedlist>
</para>
</section>
<section id="qemu-image-writing-new-tests">
<title>Writing New Tests</title>
<para>
As mentioned previously, all new test files need to be in the
proper place for the build system to find them.
New tests can go in the
<link linkend='source-directory'>Source Directory</link> at
<filename>meta/lib/oeqa/runtime</filename>.
Alternatively, a layer can add its own tests in
<filename>&lt;layer&gt;/lib/oeqa/runtime</filename> as long
as you extend <filename>BBPATH</filename>.
Just remember that filenames need to map directory to test
(module) names and you not use module names that collide with
existing core tests.
</para>
<para>
To create a new test, start by copying an existing module
(e.g. <filename>syslog.py</filename> or
<filename>gcc.py</filename> are good ones to use).
Test modules can use code from
<filename>meta/lib/oeqa/utils</filename>, which are helper
classes.
</para>
<note>
Structure shell commands such that you rely on them and they
return a single code for success.
Be aware that sometimes you will need to parse the output.
See the <filename>df.py</filename> and
<filename>date.py</filename> modules for examples.
</note>
<para>
You will notice that all test classes inherit
<filename>oeRuntimeTest</filename>, which is found in
<filename>meta/lib/oetest.py</filename>.
This base class offers some helper attributes, which are
described in the following sections:
</para>
<section id='qemu-image-writing-tests-class-methods'>
<title>Class Methods</title>
<para>
Class methods are as follows:
<itemizedlist>
<listitem><para><emphasis><filename>hasPackage(pkg)</filename>:</emphasis>
Returns "True" if <filename>pkg</filename> is in the
installed package list of the image, which is based
on
<filename>${WORKDIR}/installed_pkgs.txt</filename>
that is generated during the
<filename>do.rootfs</filename> task.
</para></listitem>
<listitem><para><emphasis><filename>hasFeature(feature)</filename>:</emphasis>
Returns "True" if the feature is in
<ulink url='&YOCTO_DOCS_REF_URL;#var-IMAGE_FEATURES'><filename>IMAGE_FEATURES</filename></ulink>
or
<ulink url='&YOCTO_DOCS_REF_URL;#var-DISTRO_FEATURES'><filename>DISTRO_FEATURES</filename></ulink>.
</para></listitem>
<listitem><para><emphasis><filename>restartTarget(params)</filename>:</emphasis>
Restarts the QEMU image optionally passing
<filename>params</filename> to the
<filename>runqemu</filename> script's
<filename>qemuparams</filename> list (e.g "-m 1024" for
more memory).</para></listitem>
</itemizedlist>
</para>
</section>
<section id='qemu-image-writing-tests-class-attributes'>
<title>Class Attributes</title>
<para>
Class attributes are as follows:
<itemizedlist>
<listitem><para><emphasis><filename>pscmd</filename>:</emphasis>
Equals "ps -ef" if <filename>procps</filename> is
installed in the image.
Otherwise, <filename>pscmd</filename> equals
"ps" (busybox).
</para></listitem>
<listitem><para><emphasis><filename>tc</filename>:</emphasis>
The called text context, which gives access to the
following attributes:
<itemizedlist>
<listitem><para><emphasis><filename>d</filename>:</emphasis>
The BitBake data store, which allows you to
use stuff such as
<filename>oeRuntimeTest.tc.d.getVar("VIRTUAL-RUNTIME_init_manager")</filename>.
</para></listitem>
<listitem><para><emphasis><filename>testslist</filename> and <filename>testsrequired</filename>:</emphasis>
Used internally.
The tests do not need these.
</para></listitem>
<listitem><para><emphasis><filename>filesdir</filename>:</emphasis>
The absolute path to
<filename>meta/lib/oeqa/runtime/files</filename>,
which contains helper files for tests meant
for copying on the target such as small
files written in C for compilation.
</para></listitem>
<listitem><para><emphasis><filename>qemu</filename>:</emphasis>
Provides access to the
<filename>QemuRunner</filename> object,
which is the class that boots the image.
The <filename>qemu</filename> attribute
provides the following useful attributes:
<itemizedlist>
<listitem><para><emphasis><filename>ip</filename>:</emphasis>
The machine's IP address.
</para></listitem>
<listitem><para><emphasis><filename>host_ip</filename>:</emphasis>
The host IP address, which is only
used by smart tests.
</para></listitem>
</itemizedlist></para></listitem>
<listitem><para><emphasis><filename>target</filename>:</emphasis>
The <filename>SSHControl</filename> object,
which is used for running the following
commands on the image:
<itemizedlist>
<listitem><para><emphasis><filename>host</filename>:</emphasis>
Used internally.
The tests do not use this command.
</para></listitem>
<listitem><para><emphasis><filename>timeout</filename>:</emphasis>
A global timeout for commands run on
the target for the instance of a
test.
The default is 300 seconds.
</para></listitem>
<listitem><para><emphasis><filename>run(cmd, timeout=None)</filename>:</emphasis>
The single, most used method.
This command is a wrapper for:
<filename>ssh root@host "cmd"</filename>.
The command returns a tuple:
(status, output), which are what
their names imply - the return code
of 'cmd' and whatever output
it produces.
The optional timeout argument
represents the number of seconds the
test should wait for 'cmd' to
return.
If the argument is "None", the
test uses the default instance's
timeout period, which is 300
seconds.
If the argument is "0", the test
runs until the command returns.
</para></listitem>
<listitem><para><emphasis><filename>copy_to(localpath, remotepath)</filename>:</emphasis>
<filename>scp localpath root@ip:remotepath</filename>.
</para></listitem>
<listitem><para><emphasis><filename>copy_from(remotepath, localpath)</filename>:</emphasis>
<filename>scp root@host:remotepath localpath</filename>.
</para></listitem>
</itemizedlist></para></listitem>
</itemizedlist></para></listitem>
</itemizedlist>
</para>
</section>
<section id='qemu-image-writing-tests-instance-attributes'>
<title>Instance Attributes</title>
<para>
A single instance attribute exists, which is
<filename>target</filename>.
The <filename>target</filename> instance attribute is
identical to the class attribute of the same name, which
is described in the previous section.
This attribute exists as both an instance and class
attribute so tests can use
<filename>self.target.run(cmd)</filename> in instance
methods instead of
<filename>oeRuntimeTest.tc.target.run(cmd)</filename>.
</para>
</section>
</section>
</section>
<section id="platdev-gdb-remotedebug">
<title>Debugging With the GNU Project Debugger (GDB) Remotely</title>
@@ -4323,6 +4915,50 @@
</section>
</section>
<section id="examining-builds-using-toaster">
<title>Examining Builds Using the Toaster API</title>
<para>
Toaster is an Application Programming Interface (API) to the
OpenEmbedded build system, which uses BitBake.
The interface is a Representational State Transfer (REST) API
that queries for and returns build information using
<filename>GET</filename> and <filename>JSON</filename>.
</para>
<para>
Through the API you can do the following:
<itemizedlist>
<listitem><para>See information about the tasks executed
and reused during the build.</para></listitem>
<listitem><para>See what is built (recipes and
packages) and what packages were installed into the final
image.</para></listitem>
<listitem><para>See performance-related information such
as build time, CPU usage, and disk I/O.</para></listitem>
<listitem><para>Examine error, warning and trace messages
to aid in debugging.</para></listitem>
</itemizedlist>
</para>
<para>
In summary, the search operation retrieves a set of objects from
a data store used to collect build information.
The result contains all the data for the objects being returned.
You can order the results of the search by key and the search
parameters are consistent for all object types.
</para>
<para>
For complete information on the API and its search operation
URI, parameters, and reposes, see the
<ulink url='https://wiki.yoctoproject.org/wiki/REST_API_Contracts'>REST API Contracts</ulink>
Wiki page.
</para>
</section>
<!-- Commenting out the Toaster GUI stuff as it did not make it for 1.5
<section id="examining-builds-using-toaster">
<title>Examining Builds using Toaster</title>
@@ -4462,7 +5098,7 @@
execution time, CPU usage and disk I/O per task.
</para>
<!--
<para>
The home page of the interface into the database organizes
builds into areas:
<itemizedlist>
@@ -4475,6 +5111,8 @@
<listitem><para>All builds, which appear in row format at
the end of the page.</para></listitem>
</itemizedlist>
</para>
<para>
Each entry is linked to more detail on the particular build
or recipe.
@@ -4492,7 +5130,7 @@
task, and package information along with directory structure,
build time, CPU usage, and disk I/O information.
</para>
-->
</section>
<section id='stopping-toaster'>
@@ -4507,6 +5145,7 @@
</para>
</section>
</section>
-->
<section id="platdev-oprofile">
<title>Profiling with OProfile</title>
@@ -4980,15 +5619,15 @@
BBFILES ?= ""
BBLAYERS ?= " \
##COREBASE##/meta \
##COREBASE##/meta-yocto \
##COREBASE##/meta-yocto-bsp \
##COREBASE##/meta-mylayer \
##OEROOT##/meta \
##OEROOT##/meta-yocto \
##OEROOT##/meta-yocto-bsp \
##OEROOT##/meta-mylayer \
"
BBLAYERS_NON_REMOVABLE ?= " \
##COREBASE##/meta \
##COREBASE##/meta-yocto \
##OEROOT##/meta \
##OEROOT##/meta-yocto \
"
</literallayout>
Creating and providing an archive of the

File diff suppressed because it is too large Load Diff

View File

@@ -509,7 +509,9 @@
This term refers to the area used by the OpenEmbedded build system for builds.
The area is created when you <filename>source</filename> the setup
environment script that is found in the Source Directory
(i.e. <ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>).
(i.e. <ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>
or
<ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink>).
The <ulink url='&YOCTO_DOCS_REF_URL;#var-TOPDIR'><filename>TOPDIR</filename></ulink>
variable points to the Build Directory.</para>

View File

@@ -296,6 +296,20 @@
$ git commit --allow-empty -m "Create orphan meta branch"
</literallayout>
</para>
<para>
If you modify the Metadata in the linux-yocto
<filename>meta</filename> branch, you must not forget to update
the
<ulink url='&YOCTO_DOCS_REF_URL;#var-SRCREV'><filename>SRCREV</filename></ulink>
statements in the kernel's recipe.
In particular, you need to update the
<filename>SRCREV_meta</filename> variable to match the commit in
the <filename>KMETA</filename> branch you wish to use.
Changing the data in these branches and not updating the
<filename>SRCREV</filename> statements to match will cause the
build to fetch an older commit.
</para>
</section>
</section>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View File

@@ -1,6 +1,6 @@
<!ENTITY DISTRO "1.5">
<!ENTITY DISTRO_COMPRESSED "15">
<!ENTITY DISTRO_NAME "tbd">
<!ENTITY DISTRO_NAME "dora">
<!ENTITY YOCTO_DOC_VERSION "1.5">
<!ENTITY POKYVERSION "10.0.0">
<!ENTITY POKYVERSION_COMPRESSED "1000">
@@ -26,6 +26,7 @@
<!ENTITY ECLIPSE_UPDATES_URL "&ECLIPSE_DL_URL;/tm/updates/3.3">
<!ENTITY ECLIPSE_INDIGO_URL "&ECLIPSE_DL_URL;/releases/indigo">
<!ENTITY ECLIPSE_JUNO_URL "&ECLIPSE_DL_URL;/releases/juno">
<!ENTITY ECLIPSE_KEPLER_URL "&ECLIPSE_DL_URL;/releases/kepler">
<!ENTITY ECLIPSE_INDIGO_CDT_URL "&ECLIPSE_DL_URL;tools/cdt/releases/indigo">
<!ENTITY YOCTO_DOCS_URL "&YOCTO_HOME_URL;/docs">
<!ENTITY YOCTO_SOURCES_URL "&YOCTO_HOME_URL;/sources/">

View File

@@ -3094,7 +3094,7 @@
If you already have an LTTng trace on a remote target and
would like to view it in Eclipse on the host, you can easily
copy it from the target to the host and import it into
Eclipse to view it using the LTTng Eclipse plugin already
Eclipse to view it using the LTTng Eclipse plug-in already
bundled in the Eclipse (Juno SR1 or greater).
</para>
@@ -3172,7 +3172,7 @@
<para>
You can access extensive help information on how to use
the LTTng plugin to search and analyze captured traces via
the LTTng plug-in to search and analyze captured traces via
the Eclipse help system:
<literallayout class='monospaced'>
Help | Help Contents | LTTng Plug-in User Guide

File diff suppressed because it is too large Load Diff

View File

@@ -682,9 +682,11 @@
<para>
Yes - you can easily do this.
When you use BitBake to build an image, all the build output
goes into the directory created when you source the
goes into the directory created when you run the
build environment setup script (i.e.
<link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link>
setup script.
or
<link linkend='structure-memres-core-script'><filename>oe-init-build-env-memres</filename></link>).
By default, this <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>
is named <filename>build</filename> but can be named
anything you want.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 23 KiB

View File

@@ -230,6 +230,30 @@
</para>
</section>
</section>
<section id='1.3-linux-kernel-naming'>
<title>Linux Kernel Naming</title>
<para>
The naming scheme for kernel output binaries has been changed to
now include
<link linkend='var-PE'><filename>PE</filename></link> as part of the
filename:
<literallayout class='monospaced'>
KERNEL_IMAGE_BASE_NAME ?= "${KERNEL_IMAGETYPE}-${PE}-${PV}-${PR}-${MACHINE}-${DATETIME}"
</literallayout>
</para>
<para>
Because the <filename>PE</filename> variable is not set by default,
these binary files could result with names that include two dash
characters.
Here is an example:
<literallayout class='monospaced'>
bzImage--3.10.9+git0+cd502a8814_7144bcc4b8-r0-qemux86-64-20130830085431.bin
</literallayout>
</para>
</section>
</section>
<section id='moving-to-the-yocto-project-1.4-release'>

View File

@@ -322,10 +322,10 @@
$ bitbake --help
Usage: bitbake [options] [package ...]
Executes the specified task (default is 'build') for a given set of BitBake files.
It expects that BBFILES is defined, which is a space separated list of files to
be executed. BBFILES does support wildcards.
Default BBFILES are the .bb files in the current directory.
Executes the specified task (default is 'build') for a given set of BitBake files.
It expects that BBFILES is defined, which is a space separated list of files to
be executed. BBFILES does support wildcards.
Default BBFILES are the .bb files in the current directory.
Options:
--version show program's version number and exit
@@ -348,6 +348,10 @@ Options:
what you are doing). Depending on the base.bbclass a
listtasks tasks is defined and will show available
tasks
-C INVALIDATE_STAMP, --clear-stamp=INVALIDATE_STAMP
Invalidate the stamp for the specified cmd such as
'compile' and run the default task for the specified
target(s)
-r PREFILE, --read=PREFILE
read the specified file before bitbake.conf
-R POSTFILE, --postread=POSTFILE
@@ -360,11 +364,12 @@ Options:
don't execute, just dump out the signature
construction information
-p, --parse-only quit after parsing the BB files (developers only)
-s, --show-versions show current and preferred versions of all packages
-s, --show-versions show current and preferred versions of all recipes
-e, --environment show the global or per-package environment (this is
what used to be bbread)
-g, --graphviz emit the dependency trees of the specified packages in
the dot syntax
the dot syntax, and the pn-buildlist to show the build
list
-I EXTRA_ASSUME_PROVIDED, --ignore-deps=EXTRA_ASSUME_PROVIDED
Assume these dependencies don't exist and are already
provided (equivalent to ASSUME_PROVIDED). Useful to
@@ -374,9 +379,17 @@ Options:
-P, --profile profile the command and print a report
-u UI, --ui=UI userinterface to use
-t SERVERTYPE, --servertype=SERVERTYPE
Choose which server to use, none, process or xmlrpc
Choose which server to use, process or xmlrpc
--revisions-changed Set the exit code depending on whether upstream
floating revisions have changed or not
--server-only Run bitbake without UI, the frontend can connect with
bitbake server itself
-B BIND, --bind=BIND The name/address for the bitbake server to bind to
--no-setscene Do not run any setscene tasks, forces builds
--remote-server=REMOTE_SERVER
Connect to the specified server
-m, --kill-server Terminate the remote server
--observe-only Connect to a server as an observing-only client
</screen>
</section>

View File

@@ -935,6 +935,33 @@
</para>
</section>
<section id='ref-classes-testimage'>
<title><filename>testimage.bbclass</filename></title>
<para>
You can use this class to enable running a series of automated tests
for QEMU images.
The class handles loading the tests and starting the QEMU image.
</para>
<para>
To use the class, you need to perform steps to set up the
environment.
The tests are commands that run on the target system over
<filename>ssh</filename>.
they are written in Python and make use of the
<filename>unittest modulebuild</filename> software.
</para>
<para>
For information on how to enable, run, and create new tests, see the
"<ulink url='running-and-writing-tests-for-a-qemu-image'>Running and Writing Tests for a QEMU Image</ulink>"
section and the
<ulink url='https://wiki.yoctoproject.org/wiki/Image_tests'>Image Tests</ulink>
Wiki page.
</para>
</section>
<section id='ref-classes-others'>
<title>Other Classes</title>

View File

@@ -194,7 +194,7 @@
<listitem><para><emphasis>doc-pkgs:</emphasis> Installs documentation packages for all packages
installed in a given image.</para></listitem>
<listitem><para><emphasis>nfs-server:</emphasis> Installs an NFS server.</para></listitem>
<listitem><para><emphasis>read-only-fsroot:</emphasis> Creates
<listitem><para><emphasis>read-only-rootfs:</emphasis> Creates
an image whose root filesystem is read-only.
See the
"<ulink url='&YOCTO_DOCS_DEV_URL;#creating-a-read-only-root-filesystem'>Creating a Read-Only Root Filesystem</ulink>"

View File

@@ -99,6 +99,8 @@
<xi:include href="usingpoky.xml"/>
<xi:include href="closer-look.xml"/>
<xi:include href="technical-details.xml"/>
<xi:include href="migration.xml"/>

View File

@@ -74,7 +74,11 @@
the source tree is combined with the output.
The <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>
is created initially when you <filename>source</filename>
the OpenEmbedded build environment setup script <filename>&OE_INIT_FILE;</filename>.
the OpenEmbedded build environment setup script
(i.e.
<link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link>
or
<link linkend='structure-memres-core-script'><filename>oe-init-build-env-memres</filename></link>).
</para>
<para>
@@ -85,8 +89,10 @@
the setup script.
For information on separating output from your local
Source Directory files, see the
"<link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link>"
section.
"<link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link>
and
"<link linkend='structure-memres-core-script'><filename>oe-init-build-env-memres</filename></link>"
sections.
</para>
</section>
@@ -143,7 +149,7 @@
which is a Yocto Project build user interface.
For more information on the Hob, see the
<ulink url='&YOCTO_HOME_URL;/tools-resources/projects/hob'>Hob Project</ulink>
webpage.
web page.
</para>
</section>
@@ -162,7 +168,9 @@
This directory contains various integration scripts that implement
extra functionality in the Yocto Project environment (e.g. QEMU scripts).
The <link linkend="structure-core-script"><filename>&OE_INIT_FILE;</filename></link>
script appends this directory to the shell's
and
<link linkend='structure-memres-core-script'><filename>oe-init-build-env-memres</filename></link>
scripts append this directory to the shell's
<filename>PATH</filename> environment variable.
</para>
@@ -177,11 +185,19 @@
<title><filename>&OE_INIT_FILE;</filename></title>
<para>
This script sets up the OpenEmbedded build environment.
This script is one of two scripts that set up the OpenEmbedded build
environment.
For information on the other script, see the
"<link linkend='structure-memres-core-script'><filename>oe-init-build-env-memres</filename></link>"
section.
</para>
<para>
Running this script with the <filename>source</filename> command in
a shell makes changes to <filename>PATH</filename> and sets other
core BitBake variables based on the current working directory.
You need to run this script before running BitBake commands.
You need to run an environment setup script before running BitBake
commands.
The script uses other scripts within the
<filename>scripts</filename> directory to do the bulk of the work.
</para>
@@ -191,7 +207,7 @@
<ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>
argument creates the <filename>build</filename> directory.
If you provide a Build Directory argument when you
<filename>source</filename> the script, you direct OpenEmbedded
<filename>source</filename> the script, you direct the OpenEmbedded
build system to create a Build Directory of your choice.
For example, the following command creates a Build Directory named
<filename>mybuilds</filename> that is outside of the
@@ -211,6 +227,81 @@
</para>
</section>
<section id='structure-memres-core-script'>
<title><filename>oe-init-build-env-memres</filename></title>
<para>
This script is one of two scripts that set up the OpenEmbedded build
environment.
Setting up the environment with this script uses a
memory-resident BitBake.
For information on the other setup script, see the
"<link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link>"
section.
</para>
<para>
Memory-resident BitBake resides in memory until you specifically
remove it using the following BitBake command:
<literallayout class='monospaced'>
$ bitbake -m
</literallayout>
</para>
<para>
Running this script with the <filename>source</filename> command in
a shell makes changes to <filename>PATH</filename> and sets other
core BitBake variables based on the current working directory.
One of these variables is the
<link linkend='var-BBSERVER'><filename>BBSERVER</filename></link>
variable, which allows the OpenEmbedded build system to locate
the server that is running BitBake.
</para>
<para>
You need to run an environment setup script before running BitBake
commands.
Following is the script syntax:
<literallayout class='monospaced'>
$ source oe-init-build-env-memres &lt;port_number&gt; &lt;build_dir&gt;
</literallayout>
The script uses other scripts within the
<filename>scripts</filename> directory to do the bulk of the work.
</para>
<para>
If you do not provide a port number with the script, the default
port "12345" is used.
</para>
<para>
By default, running this script without a
<ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>
argument creates the <filename>build</filename> directory.
If you provide a Build Directory argument when you
<filename>source</filename> the script, you direct the OpenEmbedded
build system to create a Build Directory of your choice.
For example, the following command uses the default port number
"12345" and creates a Build Directory named
<filename>mybuilds</filename> that is outside of the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>:
<literallayout class='monospaced'>
$ source oe-init-build-env-memres ~/mybuilds
</literallayout>
<note>
The OpenEmbedded build system does not support file or
directory names that contain spaces.
If you attempt to run the
<filename>oe-init-build-env-memres</filename> script
from a Source Directory that contains spaces in either the
filenames or directory names, the script returns an error
indicating no such file or directory.
Be sure to use a Source Directory free of names containing
spaces.
</note>
</para>
</section>
<section id='structure-basic-top-level'>
<title><filename>LICENSE, README, and README.hardware</filename></title>
@@ -243,47 +334,123 @@
<title><filename>build/conf/local.conf</filename></title>
<para>
This file contains all the local user configuration for your build environment.
If there is no <filename>local.conf</filename> present, it is created from
<filename>local.conf.sample</filename>.
The <filename>local.conf</filename> file contains documentation on the various configuration options.
Any variable set here overrides any variable set elsewhere within the environment unless
that variable is hard-coded within a file (e.g. by using '=' instead of '?=').
Some variables are hard-coded for various reasons but these variables are
relatively rare.
This configuration file contains all the local user configurations
for your build environment.
The <filename>local.conf</filename> file contains documentation on
the various configuration options.
Any variable set here overrides any variable set elsewhere within
the environment unless that variable is hard-coded within a file
(e.g. by using '=' instead of '?=').
Some variables are hard-coded for various reasons but these
variables are relatively rare.
</para>
<para>
Edit this file to set the <filename><link linkend='var-MACHINE'>MACHINE</link></filename>
Edit this file to set the
<filename><link linkend='var-MACHINE'>MACHINE</link></filename>
for which you want to build, which package types you wish to use
(<link linkend='var-PACKAGE_CLASSES'><filename>PACKAGE_CLASSES</filename></link>),
the location from which you want to downloaded files
(<filename><link linkend='var-DL_DIR'>DL_DIR</link></filename>),
and how you want your host machine to use resources
(<link linkend='var-BB_NUMBER_THREADS'><filename>BB_NUMBER_THREADS</filename></link> and
(<link linkend='var-BB_NUMBER_THREADS'><filename>BB_NUMBER_THREADS</filename></link>
and
<link linkend='var-PARALLEL_MAKE'><filename>PARALLEL_MAKE</filename></link>).
</para>
<para>
If <filename>local.conf</filename> is not present when you
start the build, the OpenEmbedded build system creates it from
<filename>local.conf.sample</filename> when
you <filename>source</filename> the top-level build environment
setup script (i.e.
<link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link>
or
<link linkend='structure-memres-core-script'><filename>oe-init-build-env-memres</filename></link>).
</para>
<para>
The source <filename>local.conf.sample</filename> file used
depends on the <filename>$TEMPLATECONF</filename> script variable,
which defaults to <filename>/meta-yocto/conf</filename>
when you are building from the Yocto Project development
environment and defaults to <filename>/meta/conf</filename> when
you are building from the OpenEmbedded Core environment.
Because the script variable points to the source of the
<filename>local.conf.sample</filename> file, this implies that
you can configure your build environment from any layer by setting
the variable in the top-level build environment setup script as
follows:
<literallayout class='monospaced'>
TEMPLATECONF=&lt;your_layer&gt;/conf
</literallayout>
Once the build process gets the sample file, it uses
<filename>sed</filename> to substitute final
<filename>${</filename><link linkend='var-OEROOT'><filename>OEROOT</filename></link><filename>}</filename>
values for all <filename>##OEROOT##</filename> values.
<note>
You can see how the <filename>TEMPLATECONF</filename> variable
is used by looking at the
<filename>/scripts/oe-setup-builddir</filename> script in the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
You can find the Yocto Project version of the
<filename>local.conf.sample</filename> file in the
<filename>/meta-yocto/conf</filename> directory.
</note>
</para>
</section>
<section id='structure-build-conf-bblayers.conf'>
<title><filename>build/conf/bblayers.conf</filename></title>
<para>
This file defines
This configuration file defines
<ulink url='&YOCTO_DOCS_DEV_URL;#understanding-and-creating-layers'>layers</ulink>,
which are directory trees, traversed (or walked) by BitBake.
If <filename>bblayers.conf</filename>
is not present, it is created from <filename>bblayers.conf.sample</filename> when
you <filename>source</filename> the environment setup script.
The <filename>bblayers.conf</filename> file uses the
<link linkend='var-BBLAYERS'><filename>BBLAYERS</filename></link>
variable to list the layers BitBake tries to find, and uses the
<link linkend='var-BBLAYERS_NON_REMOVABLE'><filename>BBLAYERS_NON_REMOVABLE</filename></link>
variable to list layers that must not be removed.
</para>
<para>
The <filename>bblayers.conf</filename> file uses the
<link linkend='var-BBLAYERS'><filename>BBLAYERS</filename></link> variable to
list the layers BitBake tries to find.
The file uses the
<link linkend='var-BBLAYERS_NON_REMOVABLE'><filename>BBLAYERS_NON_REMOVABLE</filename></link>
variable to list layers that must not be removed.
If <filename>bblayers.conf</filename> is not present when you
start the build, the OpenEmbedded build system creates it from
<filename>bblayers.conf.sample</filename> when
you <filename>source</filename> the top-level build environment
setup script (i.e.
<link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link>
or
<link linkend='structure-memres-core-script'><filename>oe-init-build-env-memres</filename></link>).
</para>
<para>
The source <filename>bblayers.conf.sample</filename> file used
depends on the <filename>$TEMPLATECONF</filename> script variable,
which defaults to <filename>/meta-yocto/conf</filename>
when you are building from the Yocto Project development
environment and defaults to <filename>/meta/conf</filename> when
you are building from the OpenEmbedded Core environment.
Because the script variable points to the source of the
<filename>bblayers.conf.sample</filename> file, this implies that
you can base your build from any layer by setting the variable in
the top-level build environment setup script as follows:
<literallayout class='monospaced'>
TEMPLATECONF=&lt;your_layer&gt;/conf
</literallayout>
Once the build process gets the sample file, it uses
<filename>sed</filename> to substitute final
<filename>${</filename><link linkend='var-OEROOT'><filename>OEROOT</filename></link><filename>}</filename>
values for all <filename>##OEROOT##</filename> values.
<note>
You can see how the <filename>TEMPLATECONF</filename> variable
<filename>/scripts/oe-setup-builddir</filename> script in the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
You can find the Yocto Project version of the
<filename>bblayers.conf.sample</filename> file in the
<filename>/meta-yocto/conf</filename> directory.
</note>
</para>
</section>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -27,8 +27,13 @@
<title>Build Overview</title>
<para>
The first thing you need to do is set up the OpenEmbedded build environment by sourcing
the <link linkend='structure-core-script'>environment setup script</link> as follows:
The first thing you need to do is set up the OpenEmbedded build
environment by sourcing an environment setup script
(i.e.
<link linkend='structure-core-script'><filename>&OE_INIT_FILE;</filename></link>
or
<link linkend='structure-memres-core-script'><filename>oe-init-build-env-memres</filename></link>).
Here is an example:
<literallayout class='monospaced'>
$ source &OE_INIT_FILE; [&lt;build_dir&gt;]
</literallayout>

View File

@@ -11,6 +11,21 @@
<holder>Linux Foundation</holder>
</copyright>
<legalnotice>
<para>
Permission is granted to copy, distribute and/or modify this document under
the terms of the <ulink type="http" url="http://creativecommons.org/licenses/by-sa/2.0/uk/">Creative Commons Attribution-Share Alike 2.0 UK: England &amp; Wales</ulink> as published by Creative Commons.
</para>
<note>
Due to production processes, there could be differences between the Yocto Project
documentation bundled in the release tarball and the
<ulink url='&YOCTO_DOCS_QS_URL;'>Yocto Project Quick Start</ulink> on
the <ulink url='&YOCTO_HOME_URL;'>Yocto Project</ulink> website.
For the latest version of this manual, see the manual on the website.
</note>
</legalnotice>
<abstract>
<imagedata fileref="figures/yocto-project-transp.png"
width="6in" depth="1in"
@@ -449,7 +464,12 @@
to the Build Directory.
Later, when the build completes, the Build Directory contains all the files
created during the build.
</para></listitem>
<note>
For information on running a memory-resident BitBake, see
the
<ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink>
setup script.
</note></para></listitem>
</itemizedlist>
<para>
Take some time to examine your <filename>local.conf</filename> file
@@ -576,11 +596,12 @@
</para>
<literallayout class='monospaced'>
poky-eglibc-&lt;<emphasis>host_system</emphasis>&gt;-&lt;<emphasis>image_type</emphasis>&gt;-&lt;<emphasis>arch</emphasis>&gt;.sh
poky-eglibc-&lt;<emphasis>host_system</emphasis>&gt;-&lt;<emphasis>image_type</emphasis>&gt;-&lt;<emphasis>arch</emphasis>&gt;-&lt;<emphasis>release_version</emphasis>&gt;.sh
Where:
&lt;<emphasis>host_system</emphasis>&gt; is a string representing your development system:
i686 or x86_64.
i686 or x86_64.
&lt;<emphasis>image_type</emphasis>&gt; is a string representing the image you wish to
develop a Software Development Toolkit (SDK) for use against.
@@ -591,7 +612,12 @@
&lt;<emphasis>arch</emphasis>&gt; is a string representing the tuned target architecture:
i586, x86_64, powerpc, mips, armv7a or armv5te
i586, x86_64, powerpc, mips, armv7a or armv5te
&lt;<emphasis>release_version</emphasis>&gt; is a string representing the release number of the
Yocto Project:
&DISTRO;, &DISTRO;+snapshot
</literallayout>
<para>
@@ -599,7 +625,7 @@
development host system and a i586-tuned target architecture
based off the SDK for <filename>core-image-sato</filename>:
<literallayout class='monospaced'>
poky-eglibc-x86_64-core-image-sato-i586.sh
poky-eglibc-x86_64-core-image-sato-i586-&DISTRO;.sh
</literallayout>
</para>
@@ -628,7 +654,7 @@
<para>
<literallayout class='monospaced'>
$ ~/Downloads/poky-eglibc-x86_64-core-image-sato-i586.sh
$ ~/Downloads/poky-eglibc-x86_64-core-image-sato-i586-&DISTRO;.sh
</literallayout>
</para>
@@ -884,6 +910,17 @@
</literallayout>
</para>
<para>
In the previous example, the
<ulink url='&YOCTO_DOCS_REF_URL;#var-BB_GENERATE_MIRROR_TARBALLS'><filename>BB_GENERATE_MIRROR_TARBALLS</filename></ulink>
variable causes the OpenEmbedded build system to generate tarballs
of the Git repositories and store them in the
<ulink url='&YOCTO_DOCS_REF_URL;#var-DL_DIR'><filename>DL_DIR</filename></ulink>
directory.
Due to performance reasons, generating and storing these tarballs
is not the build system's default behavior.
</para>
<para>
You can also use the
<ulink url='&YOCTO_DOCS_REF_URL;#var-PREMIRRORS'><filename>PREMIRRORS</filename></ulink>

View File

@@ -13,7 +13,7 @@ XSERVER ?= "xserver-xorg \
MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"
# Allow for MMC booting (required by the NAND-less Beagleboard XM)
EXTRA_IMAGEDEPENDS += "u-boot x-load"
EXTRA_IMAGEDEPENDS += "u-boot"
# Uncomment the following line to enable the hard floating point abi. Note that
# this breaks some binary libraries and 3D (neither of which ship with
@@ -29,12 +29,15 @@ EXTRA_IMAGECMD_jffs2 = "-lnp "
SERIAL_CONSOLE = "115200 ttyO2"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_VERSION_linux-yocto ?= "3.4%"
PREFERRED_VERSION_linux-yocto ?= "3.10%"
KERNEL_IMAGETYPE = "uImage"
KERNEL_IMAGETYPE = "zImage"
KERNEL_DEVICETREE = "${S}/arch/arm/boot/dts/omap3-beagle.dts ${S}/arch/arm/boot/dts/omap3-beagle-xm.dts"
SPL_BINARY = "MLO"
UBOOT_SUFFIX = "img"
UBOOT_MACHINE = "omap3_beagle_config"
UBOOT_ENTRYPOINT = "0x80008000"
UBOOT_LOADADDRESS = "0x80008000"
MACHINE_FEATURES = "apm usbgadget usbhost vfat alsa"
MACHINE_FEATURES = "usbgadget usbhost vfat alsa"

View File

@@ -4,31 +4,4 @@
#@DESCRIPTION: Machine configuration for generic X86_64 (64-bit) PCs and servers. Supports a moderately wide range of drivers that should boot and be usable on "typical" hardware.
include conf/machine/include/tune-x86_64.inc
MACHINE_FEATURES = "screen keyboard pci usbhost ext2 ext3 x86 wifi acpi alsa efi pcbios"
KERNEL_IMAGETYPE = "bzImage"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_VERSION_linux-yocto ?= "3.10%"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
XSERVER ?= "xserver-xorg \
xserver-xorg-extension-glx \
xf86-input-mouse \
xf86-input-keyboard \
xf86-input-evdev \
xf86-input-synaptics \
xf86-video-fbdev \
xf86-video-modesetting \
xf86-video-vesa \
xf86-video-intel \
mesa-driver-i915 \
mesa-driver-i965"
MACHINE_EXTRA_RRECOMMENDS = "kernel-modules eee-acpi-scripts linux-firmware v86d"
IMAGE_FSTYPES ?= "ext3 cpio.gz live"
GLIBC_ADDONS = "nptl"
EXTRA_OECONF_append_pn-matchbox-panel-2 = " --with-battery=acpi"
include conf/machine/include/genericx86-common.inc

View File

@@ -4,33 +4,4 @@
#@DESCRIPTION: Machine configuration for generic X86 (32-bit) PCs. Supports a moderately wide range of drivers that should boot and be usable on "typical" hardware.
include conf/machine/include/tune-atom.inc
MACHINE_FEATURES = "screen keyboard pci usbhost ext2 ext3 x86 wifi acpi alsa"
KERNEL_IMAGETYPE = "bzImage"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_VERSION_linux-yocto ?= "3.10%"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
XSERVER ?= "xserver-xorg \
xserver-xorg-extension-glx \
xf86-input-mouse \
xf86-input-keyboard \
xf86-input-evdev \
xf86-input-synaptics \
xf86-video-fbdev \
xf86-video-modesetting \
xf86-video-vesa \
xf86-video-intel \
mesa-driver-i915 \
mesa-driver-i965"
#MACHINE_EXTRA_RDEPENDS = "rt2860"
MACHINE_EXTRA_RRECOMMENDS = "kernel-modules eee-acpi-scripts linux-firmware v86d"
IMAGE_FSTYPES ?= "ext3 cpio.gz live"
GLIBC_ADDONS = "nptl"
EXTRA_OECONF_append_pn-matchbox-panel-2 = " --with-battery=acpi"
include conf/machine/include/genericx86-common.inc

View File

@@ -0,0 +1,20 @@
include conf/machine/include/ia32-base.inc
MACHINE_FEATURES += "wifi efi pcbios"
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
PREFERRED_VERSION_linux-yocto ?= "3.10%"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
XSERVER ?= "${XSERVER_IA32_BASE} \
${XSERVER_IA32_EXT} \
${XSERVER_IA32_I915} \
${XSERVER_IA32_I965} \
${XSERVER_IA32_FBDEV} \
${XSERVER_IA32_VESA} \
${XSERVER_IA32_MODESETTING} \
"
MACHINE_EXTRA_RRECOMMENDS += "linux-firmware v86d"
GLIBC_ADDONS = "nptl"
EXTRA_OECONF_append_pn-matchbox-panel-2 = " --with-battery=acpi"

View File

@@ -14,7 +14,7 @@ SERIAL_CONSOLE = "115200 ttyS0"
MACHINE_FEATURES = "keyboard pci ext2 ext3 serial"
PREFERRED_VERSION_linux-yocto ?= "3.4%"
PREFERRED_VERSION_linux-yocto ?= "3.10%"
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"
PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
@@ -22,7 +22,7 @@ XSERVER ?= "xserver-xorg \
xf86-input-evdev \
xf86-video-fbdev"
PREFERRED_VERSION_u-boot ?= "v2011.06%"
PREFERRED_VERSION_u-boot ?= "v2013.07%"
UBOOT_ENTRYPOINT = "0x00000000"
KERNEL_DEVICETREE = "${S}/arch/powerpc/boot/dts/mpc8315erdb.dts"

View File

@@ -7,11 +7,11 @@ KBRANCH_beagleboard = "standard/beagleboard"
KMACHINE_genericx86 ?= "common-pc"
KMACHINE_genericx86-64 ?= "common-pc-64"
SRCREV_machine_genericx86 ?= "6c1528b2b78d1ec7e75bb7a9880074ec35aa1aa0"
SRCREV_machine_genericx86-64 ?= "6c1528b2b78d1ec7e75bb7a9880074ec35aa1aa0"
SRCREV_machine_routerstationpro ?= "3991d03bd450e9363d5b6e97ede0628ba073db79"
SRCREV_machine_mpc8315e-rdb ?= "8d8339af518104db03f9c36b82f4372569e55b0a"
SRCREV_machine_beagleboard ?= "6c1528b2b78d1ec7e75bb7a9880074ec35aa1aa0"
SRCREV_machine_genericx86 ?= "702040ac7c7ec66a29b4d147665ccdd0ff015577"
SRCREV_machine_genericx86-64 ?= "702040ac7c7ec66a29b4d147665ccdd0ff015577"
SRCREV_machine_routerstationpro ?= "d4e6adefaf92a1e7b6539d371ba49b78bd194a84"
SRCREV_machine_mpc8315e-rdb ?= "12dc46ba4efb80e135fec4dce913eeb87ee671b3"
SRCREV_machine_beagleboard ?= "702040ac7c7ec66a29b4d147665ccdd0ff015577"
COMPATIBLE_MACHINE_genericx86 = "genericx86"
COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"

View File

@@ -6,11 +6,11 @@ BBPATH = "${TOPDIR}"
BBFILES ?= ""
BBLAYERS ?= " \
##COREBASE##/meta \
##COREBASE##/meta-yocto \
##COREBASE##/meta-yocto-bsp \
##OEROOT##/meta \
##OEROOT##/meta-yocto \
##OEROOT##/meta-yocto-bsp \
"
BBLAYERS_NON_REMOVABLE ?= " \
##COREBASE##/meta \
##COREBASE##/meta-yocto \
##OEROOT##/meta \
##OEROOT##/meta-yocto \
"

View File

@@ -13,7 +13,6 @@ 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"

View File

@@ -35,7 +35,6 @@ RECIPE_MAINTAINER_pn-alsa-state = "Cristian Iorga <cristian.iorga@intel.com>"
RECIPE_MAINTAINER_pn-alsa-tools = "Kai Kang <kai.kang@windriver.com>"
RECIPE_MAINTAINER_pn-alsa-utils = "Cristian Iorga <cristian.iorga@intel.com>"
RECIPE_MAINTAINER_pn-alsa-utils-alsaconf = "Cristian Iorga <cristian.iorga@intel.com>"
RECIPE_MAINTAINER_pn-anjuta-remote-run = "Paul Eggleton <paul.eggleton@linux.intel.com>"
RECIPE_MAINTAINER_pn-apmd = "Cristian Iorga <cristian.iorga@intel.com>"
RECIPE_MAINTAINER_pn-apr = "Cristiana Voicu <cristiana.voicu@intel.com>"
RECIPE_MAINTAINER_pn-apr-util = "Cristiana Voicu <cristiana.voicu@intel.com>"

View File

@@ -1,6 +1,6 @@
DISTRO = "poky"
DISTRO_NAME = "Poky Next (Yocto Project Reference Distro)"
DISTRO_VERSION = "1.4+snapshot-${DATE}"
DISTRO_NAME = "Poky (Yocto Project Reference Distro)"
DISTRO_VERSION = "1.5"
DISTRO_CODENAME = "next"
SDK_VENDOR = "-pokysdk"
SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}"
@@ -74,6 +74,7 @@ CONNECTIVITY_CHECK_URIS ?= " \
SANITY_TESTED_DISTROS ?= " \
Poky-1.3 \n \
Poky-1.4 \n \
Poky-1.5 \n \
Ubuntu-12.04 \n \
Ubuntu-12.10 \n \
Ubuntu-13.04 \n \
@@ -107,6 +108,6 @@ ERROR_QA = "dev-so debug-deps dev-deps debug-files arch pkgconfig la perms \
useless-rpaths rpaths staticdev ldflags pkgvarcheck already-stripped \
compile-host-path dep-cmp installed-vs-shipped install-host-path \
packages-list perm-config perm-line perm-link pkgv-undefined \
pn-overrides split-strip var-undefined"
pn-overrides split-strip var-undefined version-going-backwards"
include conf/distro/include/seperatebuilddir.inc

View File

@@ -11,6 +11,6 @@ BBFILE_PRIORITY_yocto = "5"
# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
LAYERVERSION_yocto = "1"
LAYERVERSION_yocto = "2"
LAYERDEPENDS_yocto = "core"

View File

@@ -173,23 +173,9 @@ USER_CLASSES ?= "buildstats image-mklibs image-prelink"
#
# The build system can test booting virtual machine images under qemu (an emulator)
# after any root filesystems are created and run tests against those images. To
# enable this uncomment this line
#IMAGETEST = "qemu"
#
# This variable controls which tests are run against virtual images if enabled
# above. The following would enable bat, boot the test case under the sanity suite
# and perform toolchain tests
#TEST_SCEN = "sanity bat sanity:boot toolchain"
#
# Because of the QEMU booting slowness issue (see bug #646 and #618), the
# autobuilder may suffer a timeout issue when running sanity tests. We introduce
# the variable TEST_SERIALIZE here to reduce the time taken by the sanity tests.
# It is set to 1 by default, which will boot the image and run cases in the same
# image without rebooting or killing the machine instance. If it is set to 0, the
# image will be copied and tested for each case, which will take longer but be
# more precise.
#TEST_SERIALIZE = "1"
# enable this uncomment this line. See classes/testimage(-auto).bbclass for
# further details.
#TEST_IMAGE = "1"
#
# Interactive shell configuration
#

View File

@@ -233,3 +233,33 @@
#groupmod -g 1020 developers; \
#usermod -s /bin/sh tester; \
#"
# Enabling FORTRAN
# Note this is not officially supported and is just illustrated here to
# show an example of how it can be done
FORTRAN_forcevariable = ",fortran"
RUNTIMETARGET_append_pn-gcc-runtime = " libquadmath libgfortran"
export BUILD_FC = "${CCACHE}${BUILD_PREFIX}gfortran ${BUILD_CC_ARCH}"
export FC = "${CCACHE}${HOST_PREFIX}gfortran ${HOST_CC_ARCH}"
#
# Kernel image features
#
# The INITRAMFS_IMAGE image variable will cause an additional recipe to
# be built as a dependency to the what ever rootfs recipe you might be
# using such as core-image-sato. The initramfs might be needed for
# the initial boot of of the target system such as to load kernel
# modules prior to mounting the root file system.
#
# INITRAMFS_IMAGE_BUNDLE variable controls if the image recipe
# specified by the INITRAMFS_IMAGE will be run through an extra pass
# through the kernel compilation in order to build a single binary
# which contains both the kernel image and the initramfs. The
# combined binary will be deposited into the tmp/deploy directory.
# NOTE: You can set INITRAMFS_IMAGE in an image recipe, but
# INITRAMFS_IMAGE_BUNDLE can only be set in a conf file.
#
#INITRAMFS_IMAGE = "core-image-minimal-initramfs"
#INITRAMFS_IMAGE_BUNDLE = "1"

View File

@@ -1,2 +1,2 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/${P}:"
FILESEXTRAPATHS_prepend_poky := "${THISDIR}/${P}:"

View File

@@ -1,2 +1,2 @@
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
FILESEXTRAPATHS_prepend_poky := "${THISDIR}/files:"

View File

@@ -2,6 +2,10 @@
# This class is used for architecture independent recipes/data files (usally scripts)
#
# Expand STAGING_DIR_HOST since for cross-canadian/native/nativesdk, this will
# point elsewhere after these changes.
STAGING_DIR_HOST := "${STAGING_DIR_HOST}"
PACKAGE_ARCH = "all"
python () {

View File

@@ -99,7 +99,7 @@ def get_bb_inc(d):
licenses = get_licenses(d)
script_logs = os.path.join(work_dir, 'script-logs/'+ target_sys + '/' + licenses + '/' + pf + '/script-logs')
bb_inc = os.path.join(script_logs, 'bb_inc')
bb.mkdirhier(bb_inc)
bb.utils.mkdirhier(bb_inc)
def find_file(dir, file):
for root, dirs, files in os.walk(dir):
@@ -139,7 +139,7 @@ def get_logs(d):
script_logs = os.path.join(work_dir, 'script-logs/'+ target_sys + '/' + licenses + '/' + pf + '/script-logs')
try:
bb.mkdirhier(os.path.join(script_logs, 'temp'))
bb.utils.mkdirhier(os.path.join(script_logs, 'temp'))
oe.path.copytree(os.path.join(work_dir, 'temp'), os.path.join(script_logs, 'temp'))
except (IOError, AttributeError):
pass
@@ -158,7 +158,7 @@ def get_series(d):
s = d.getVar('S', True)
dest = os.path.join(work_dir, pf + '-series')
shutil.rmtree(dest, ignore_errors=True)
bb.mkdirhier(dest)
bb.utils.mkdirhier(dest)
src_uri = d.getVar('SRC_URI', True).split()
fetch = bb.fetch2.Fetch(src_uri, d)
@@ -175,7 +175,7 @@ def get_series(d):
shutil.copy(patch, dest)
except IOError:
if os.path.isdir(patch):
bb.mkdirhier(os.path.join(dest, patch))
bb.utils.mkdirhier(os.path.join(dest, patch))
oe.path.copytree(patch, os.path.join(dest, patch))
return dest
@@ -190,11 +190,11 @@ def get_applying_patches(d):
work_dir = d.getVar('WORKDIR', True)
dest = os.path.join(work_dir, pf + '-patches')
shutil.rmtree(dest, ignore_errors=True)
bb.mkdirhier(dest)
bb.utils.mkdirhier(dest)
patches = src_patches(d)
for patch in patches:
_, _, local, _, _, parm = bb.decodeurl(patch)
_, _, local, _, _, parm = bb.fetch.decodeurl(patch)
if local:
shutil.copy(local, dest)
return dest
@@ -357,7 +357,7 @@ def move_tarball_deploy(d, tarball_list):
work_dir = d.getVar('WORKDIR', True)
tar_sources = d.getVar('DEPLOY_DIR', True) + '/sources/' + target_sys + '/' + licenses + '/' + pf
if not os.path.exists(tar_sources):
bb.mkdirhier(tar_sources)
bb.utils.mkdirhier(tar_sources)
for source in tarball_list:
if source:
if os.path.exists(os.path.join(tar_sources, source)):
@@ -459,7 +459,7 @@ def dumpdata(d):
licenses = get_licenses(d)
dumpdir = os.path.join(workdir, 'diffgz-envdata/'+ target_sys + '/' + licenses + '/' + pf )
if not os.path.exists(dumpdir):
bb.mkdirhier(dumpdir)
bb.utils.mkdirhier(dumpdir)
dumpfile = os.path.join(dumpdir, bb.data.expand("${P}-${PR}.showdata.dump", d))
@@ -499,7 +499,7 @@ def create_diff_gz(d):
distro = d.getVar('DISTRO',True) or ""
dest = s + '/' + distro + '/files'
if not os.path.exists(dest):
bb.mkdirhier(dest)
bb.utils.mkdirhier(dest)
for i in os.listdir(os.getcwd()):
if os.path.isfile(i):
try:

View File

@@ -108,10 +108,16 @@ 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}
if [ "`cat ${CONFIGURESTAMPFILE}`" != "${BB_TASKHASH}" ]; then
if [ "${S}" != "${B}" ]; then
echo "Previously configured separate build directory detected, cleaning ${B}"
rm -rf ${B}
mkdir ${B}
else
# At least remove the .la files since automake won't automatically
# regenerate them even if CFLAGS/LDFLAGS are different
cd ${S}; find ${S} -name \*.la -delete
fi
fi
fi
}

Some files were not shown because too many files have changed in this diff Show More