Compare commits

..

838 Commits

Author SHA1 Message Date
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
Richard Purdie
5745e45b18 buildtools-tarball: Add python-pkgutil
This is needed by some recently added automated QA tests so we should add it
to the buildtools tarball.

(From OE-Core rev: 7d93288117e7054472d8a01dde0b38bc0ff98c27)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-29 00:23:20 +01:00
Richard Purdie
d5e860be4c bitbake: prserv/serv: Multithread the server
This makes the PR server multithreaded and able to handle multiple connections
at once which means its no longer a build bottle neck when serving one connection
at a time. I've experimented and database connection for each thread seems to
cause the least issues, pushing the contention for sqllite to handle itself.

This means moving the db/table connection code into the actual function methods.
It doesn't abstract well as a function since we need the db object around for
the lifetime of the function as well as the table else we lose the connection.

(Bitbake rev: bf9be2029b2bded5f532bdda4c38ae3dff5d1cf6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-29 00:13:22 +01:00
Richard Purdie
06d7664590 bitbake: prserv/db: Threading fixes
Enabling threading for the PRServer causes a number of issues. Firstly is
the obtuse error:

sqlite3.InterfaceError: Error binding parameter 0 - probably unsupported type

which is due to the class not being derived from object. See:
http://docs.python.org/2/library/sqlite3.html#registering-an-adapter-callable

Secondly, we want to enable multithreadded access to the database so we do this
when we open it. This opens the way up to multithreading the PR server.

(Bitbake rev: 5709efc2ff1e36529bd28f49cd093ccfa7abff7f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-29 00:13:22 +01:00
Stefan Stanacar
5fba9d8c6c classes/testimage: add support for finding tests in other layers
A layer can add tests in lib/oeqa/runtime (provided it extends BBPATH as
normal) and enable them with TEST_SUITES_append = " testname". Test
module names shouldn't collide though.

(From OE-Core rev: e1e347a2d509303e1c566450b0f2b485d3d6629f)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
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-08-28 23:36:08 +01:00
Stefan Stanacar
62d14181e7 classes/testimage: increase default boot timeout
While I can't reproduce on local builds, sometimes images fail
to boot on AB (which runs many builds at once). Assuming
there isn't something weird going on, let's just give it more time.

(From OE-Core rev: db38e10701cd2392a57e559573b715fd6daf6e2a)

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-08-28 23:36:08 +01:00
Stefan Stanacar
4e62e9cb76 lib/oeqa/runtime: remove some unnecessary checks from setUpModule
These checks are unnecessary.
setUpModule is run when a module is loaded and we
shouldn't run commands on the target here, (plus if
ssh doesn't work we error out in setup multiple times, instead
of skipping the real test, which might depend on test_ssh).

(From OE-Core rev: 188acd0a75e188fd7c0d2979acaf13fd18b12106)

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-08-28 23:36:08 +01:00
Bruce Ashfield
a79afb3c91 linux-yocto/3.4: v3.4.59, mohonpeak
This is a standard refresh of the 3.4 LTSI kernel to include v3.4.59 and to
introduce the updated mohonpeak BSP.

Build and boot testing on qemu showed no issues.

(From OE-Core rev: 3f8d61517d31c3351a45f95adbd81e1c0147b98e)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-28 23:33:25 +01:00
Bruce Ashfield
8b36aa4092 linux-yocto/3.10: fix ssh login and restore CC_OPTIMIZE_FOR_SIZE
Updating the BSP SRCREVs with the following changes:

  7144bcc Revert "timer_list: Split timer_list_show_tickdevices"
  1c0d1d8 Revert "timer_list: Convert timer list to be a proper seq_file"

To temporarily fix the ability to log in via ssh on some host/image combinations.

Updating the meta SRCREV for:

  cd502a8 meta/standard: standard configuration fragment must be first

Which was incorrectly overriding feature and arch configuration values.

[YOCTO #5064]
[YOCTO #5062]

(From OE-Core rev: 3bfe8aa750f88efad7e87185b8eff8c03418efd4)

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-08-28 23:33:25 +01:00
Saul Wold
2051e4dff4 midori: use BPN instead of PN
Otherwise multilib builds break as the SRC_URI becomes invalid.

(From OE-Core rev: 82c6ab123fafa2acc3d437328a7ca856dfd078d6)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-28 09:31:10 +01:00
Jason Wessel
84708a4524 bitbake: serv.py: Fix regression from 972bc43e6d5b
commit 972bc43e6d5b1207b944b3baa8f9805adb35dda7 (serv.py: Fix hang
when spawned dynamically with bitbake) introduced a regression,
because the wrong patch was submitted.  The syntax was incorrect in
the original patch.  The logger iterator must be used with a call to
getLogger().

[YOCTO #5059]

(Bitbake rev: 85fed8acc3af3e15bf119db2f51c486a9de3646b)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-28 09:29:46 +01:00
Mihai Prica
4fd453ef7c midori: add version 0.5.5 from meta-gnome
Midori is a lightweight web browser that uses the WebKit
rendering engine and the GTK interface. This allows a more
easy testing of the functionality of webkit-gtk component
that is already in oe-core.

(From OE-Core rev: 88d9d7e47dedd9bfa26da860e6ff77ee5206d9e8)

Signed-off-by: Mihai Prica <mihai.prica@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-28 00:51:45 +01:00
Mihai Prica
5aa0ececfc python-docutils: add version 0.11 from meta-oe
Docutils is a text processing system for processing plaintext
documentation into useful formats(HTML, XML, man-pages). This is
required by the Midori web-browser.

* Update 0.5 from meta-oe to 0.11.

(From OE-Core rev: 1bc1ff887c29376bb0d05beee1bbc2cf25b08419)

Signed-off-by: Mihai Prica <mihai.prica@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-28 00:51:45 +01:00
Mihai Prica
fd9a548ac3 libnotify: add version 0.6.0 from meta-gnome
Libnotify is a library that can be used to send
desktop notifications to a daemon. It's required
by the Midori web-browser.

(From OE-Core rev: f72c0ff46d6895978e7e5230cb882d8eee4005ba)

Signed-off-by: Mihai Prica <mihai.prica@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-28 00:51:45 +01:00
Mihai Prica
1655c2db36 vala.bbclass: add class from meta-oe
This can be used by packages written in vala.
It is required by the Midori web-browser.

(From OE-Core rev: 807285c751862aaa775db5a13293007bfb3c29df)

Signed-off-by: Mihai Prica <mihai.prica@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-28 00:51:45 +01:00
Mihai Prica
e35dfbbf15 vala: add version 0.16 from meta-oe
Vala is a C#-like language dedicated to ease GObject programming.
It is required by the Midori web-browser.

(From OE-Core rev: 649b48557d8702daaf4f28482848ab0b07abed83)

Signed-off-by: Mihai Prica <mihai.prica@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-28 00:51:44 +01:00
Joe Slater
f17404dd71 dpkg: fix configuration issue for mips64
CQID: 431771

configure cannot determine the proper cpu, os, or
architecture for mips64, and possibly other arch's,
because of faulty code added to Arch.pm in the latest
release from upstream.  We remove that code.

(From OE-Core rev: e56b4af3a325d6d5332c779e6253da9b3cd2fce0)

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-08-28 00:41:33 +01:00
Khem Raj
937968bf95 systemd: Upgrade to 206
Add new PACKAGE systemd-rpm-macros, this will hold
the macros which are interesting when rpm is used as
package management backend

Forward port uclibc only patches. Add a new patch
to stub out use of preadv/pwritev in testcases

Delete patches that have been merged upstream in systemd

Remove force export of GPERF variable in environment
this was causing AC_CHECK_TOOL to not populate GPERF
variable as expected

systemd needs kmod to be present on rootfs so add it
to RDEPENDS

some services substitute discovered kmod when the service
file is generated during boot, however the discovered kmod
is from native sysroot and it gets into the service file
with absolute path. So specify the target path of kmod using
KMOD variable so the unit files have correct pointer to kmod
on target

Add a patch to make sure that mknod capability is checked
before the service which excercise mknod, this patch is also
submitted to upstream systemd

(From OE-Core rev: 3f1788f8edf18a292cb5d8e16a2a98a19ec89239)

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-08-28 00:37:00 +01:00
Khem Raj
695039598b kmod: Upgrade to version 14
The update is a requirement for systemd-206

(From OE-Core rev: faacfeb7cb7bed9ad5eb387d358309a2b1d40f06)

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-08-28 00:37:00 +01:00
Christopher Larson
87f413f617 bitbake: data_smart: allow removal of multiple words at once with _remove
FOO = "foo bar baz"
    FOO_remove = "foo baz"

(Bitbake rev: 04127dec207d6dfc0ada56c5cc67ec9ad30517a8)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-28 00:34:13 +01:00
Christopher Larson
092190e20b bitbake: data_smart: use a split/filter/rejoin for _remove
This is more idiomatic, and from the limited performance testing I did, is
faster as well. See https://gist.github.com/kergoth/6360248 for the naive
benchmark.

(Bitbake rev: 1aa49226d5a2bac911feeb90e3d9f19529bc1a3e)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-28 00:34:13 +01:00
Darren Hart
9b052712ef local.conf.sample: Add genericx86-64 machine to machine list
local.conf.sample lists all core BSPs. Add the new genericx86-64
machine, removing the duplicate entry of the genericx86 machine.

(From meta-yocto rev: fb2ed5b2bc3fad86ac78c99ad93d0c64a5ea73ba)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-28 00:25:57 +01:00
Darren Hart
201e547825 atom-pc: Purge straggling configuration files
A few atom-pc configuration files escaped the last purge of atom-pc.
Clean them up.

(From meta-yocto rev: f26d99ffb2c67b310d4c46627932dc3f8aefad96)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-28 00:25:56 +01:00
Darren Hart
6c3a0292df meta-yocto-bsp: Add genericx86-64 machine
Duplicate the genericx86 machine, but select x86_64 tunables and use the
common-pc-64 linux-yocto KMACHINE and config.

This has been boot tested with core-image-sato on a Lenovo x220
(Core-i5) and a Supermicro MBD-X8DTL-iF-O (dual-socket Xeon 5680).

(From meta-yocto rev: 9b7db7ded0e6b7f5c0cd3ab7fbb0bce4112407da)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Cc: Ross Burton <ross.burton@intel.com>
Cc: Tom Zanussi <tom.zanussi@intel.com>
Cc: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-28 00:25:56 +01:00
Jason Wessel
da6260f95f bitbake: serv.py: Fix hang when spawned dynamically with bitbake
The PRServer has the possibility to hang indefinitely blocking on a
semaphore processing a xmlrpc request to send an event back to the
main bitbake instance.  This was observed during a "bitbake -e" on a
heavily loaded machine and the main bitbake instance and cooker exited
before the PRServer emitted its first log.

The stack trace is provided below as to show what happens every time a
logger.info() is executed in the PRServer.  Not only does it write to
the stream handler but it also tries to send the event to the main
event processor.

    self._notempty.acquire()
    self.queue.put(event)
    _ui_handlers[h].event.send(event)
    fire_ui_handlers(event, d)
    fire(record, None)
    self.emit(record)
    hdlr.handle(record)
    self.callHandlers(record)
    self.handle(record)
    self._log(INFO, msg, args, **kwargs)
    (self.dbfile, self.host, self.port, str(os.getpid())))
    self.work_forever()
    pid = self.daemonize()
    self.prserv.start()
    singleton.start()
    self.prhost = prserv.serv.auto_start(self.data)
    cooker.pre_serve()
    bb.cooker.server_main(self.cooker, self.main)
    self.run()
    code = process_obj._bootstrap()
    self._popen = Popen(self)
    self.serverImpl.start()
    server.detach()
    server = start_server(servermodule, configParams, configuration)
    ret = main()

It was never intended for the PRServer to send its logs anywhere but
its own log file.  The event processing is an artifact of how the
PRServer was forked and it inherits the event log handlers.  The
simple fix is to clean up and purge all the log handlers after the
fork() but before doing any of the typical PRServer work or logging.

(Bitbake rev: 972bc43e6d5b1207b944b3baa8f9805adb35dda7)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-28 00:25:56 +01:00
Bruce Ashfield
c2533fb717 linux-yocto-rt: add qemumips and qemuppc to COMPATIBLE_MACHINES
3.10-rt boots and has good cyclictest results on qemuppc and qemumips,
so we can now safely add them into COMPATIBLE_MACHINES.

(From OE-Core rev: 9dd21e4baf0d6220c2f751e62f417b73c6474759)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-28 00:25:56 +01:00
Richard Purdie
325ee9b5fc gcc-4.8.inc: Allow lto to be configurable
For some platforms its useful to be able to configure LTO so provide a variable
to allow this to happen.

(From OE-Core rev: e4582a51a2500ad3b418e53170f5fb6b2cbd98a5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-27 13:48:47 +01:00
Richard Purdie
d638db8d8f perf: Ensure we general PIC code to avoid build failures
Without this we see relocation errors on mips with 3.10. This should be
safe to be included in general.

(From OE-Core rev: 9958653b2bf9e43312a39c6b89ff0ca1cc46995c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-27 12:31:59 +01:00
Cristiana Voicu
1472b9ebff bitbake: hob: fixes for image combo box
When an image from scratch is selected, and recipes parsing
is canceled, the image shown by the combo box isn't correct.

[YOCTO #5000]
(Bitbake rev: f8166ace0bd9155199166990ce15da24eb2e793b)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-27 11:47:35 +01:00
Cristiana Voicu
39052cd703 bitbake: hob: add event handlers filtering in Hob
Create the _evt_list for hob; it is longer than the knotty
uses because it handles more events.

(Bitbake rev: 715aed74f972bb6e9b6a5130ca9ede48d4f79f0a)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-27 11:16:58 +01:00
Cristiana Voicu
8d134e999e bitbake: bitbake/event.py: UIhandler filter should work without a mask
The default for the mask will be * (all the handlers)

(Bitbake rev: 4c95e5f46cf2a656100bbf5a0e5a09d506abf9b9)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-27 11:16:58 +01:00
Tom Zanussi
a552fdceeb lttng-modules: Update to 2.2.1 based release
(From OE-Core rev: 8792f38de43b391896c2eccb8086538eb3f6c47b)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-27 11:05:31 +01:00
Darren Hart
294200344b README.hardware: Replace atom-pc with genericx86
Update README.hardware to reflect the recent replacement of
atom-pc with genericx86.

(From meta-yocto rev: 632d92087cebb11ff9cb0110f9dae01d04bdd83b)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Cc: Ross Burton <ross.burton@intel.com>
Cc: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-27 10:55:08 +01:00
Darren Hart
6edcb6fb25 local.conf.sample: Replace atom-pc with genericx86
Update the sample local.conf file to reflect the recent replacement of
atom-pc with genericx86.

(From meta-yocto rev: 87069d3228d23bc37dc918bbb17bda2f397aa7ba)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Cc: 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-08-27 10:55:08 +01:00
Elizabeth Flanagan
9b8c20e435 layer.conf: Bumping LAYERVERSION_yoctobsp to account for atom-pc
In order to maintain autobuilder compatibility with prior releases
we'll need to decide on if we should build atom-pc or genericx86
based on LAYERVERSION_yoctobsp.

if LAYERVERSION_yoctobsp < 2 we build out atom-pc else
we build out genericx86

(From meta-yocto rev: 775ed00b9248c780e4c0e6768c439e4ebb65d9ed)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Cc: Ross Burton <ross.burton@intel.com>
Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-27 10:55:08 +01:00
Darren Hart
be5b80839e meta-yocto-bsp: Purge atom-pc in favor of genericx86
genericx86 is a superset of atom-pc, so remove all references to
atom-pc.

Note that genericx86 only has 3.10 linux-yocto support, that leaves us
with no x86 BSP in meta-yocto-bsp for the 3.4 kernel. As a general rule,
new BSPs are targeted at the current kernel version, so this is normal,
but something worth noting.

(From meta-yocto rev: 7a8ce1a8ba5a74e16da054c5a04302f028118ce0)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Cc: 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-08-27 10:55:08 +01:00
Darren Hart
ad8836134e meta-yocto-bsp/genericx86: Update kernel, branch, KMACHINE, and SRCREV
For the genericx86 machine:
o Update the PREFERRED_VERSION for linux-yocto to 3.10
o Change the KBRANCH to common-pc/base
o Change the SRCREV to the HEAD
o Change the KMACHINE to a valid linux-yocto BSP name

(From meta-yocto rev: d26bfd7bf908d9ad622c1298c918ebf1db216e98)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Cc: 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-08-27 10:55:08 +01:00
Bruce Ashfield
36fc237ad7 meta-yocto: change default kernel to 3.10
With 3.10 being the next LTSI kernel, and all qemu reference platforms
tested on that new baseline, the time has come to bump the default
version for qemu* and other boards to 3.10.

Reference platforms continue to explicitly set their own preferred versions
for the kernel as required.

(From meta-yocto rev: 8a732e2b940edb7618899a83dedb074f6086a407)

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-08-27 10:55:07 +01:00
Bruce Ashfield
afda1bc2f5 linux-yocto: add bc-native dependency, and move to linux-yocto.inc
As reported by Martin Jansa <martin.jansa@gmail.com>, the following error happens
when building in a minimal environment:

   |   BC      kernel/timeconst.h
   | /bin/sh: bc: command not found
   | make[3]: *** [kernel/timeconst.h] Error 127
   | make[2]: *** [kernel] Error 2
   | make[2]: *** Waiting for unfinished jobs....

kernel commit 70730bca [kernel: Replace timeconst.pl with a bc script] added
a kernel dependency on bc. To support the build of linux-yocto recipes in
these configurations, we add bc-native to the common dependencies.

(From OE-Core rev: c888857b060f04b8689f393ec2d77a950da40f5a)

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-08-27 10:55:07 +01:00
Bruce Ashfield
4379623474 kern-tools: fix patch series to git tree validation
Previous changes to the kern-tools improved functionality to ensure that
as a series is considered, it is checked against the tree to confirm that
all patches are really applied.

There was a bug in the subject based detection, such that the first matching
patch was take, and not the last. This change ensures that we start from
the end of a series, not the start.

(From OE-Core rev: 6357657ec5b5687defaf1acdd94c1cf89aa06541)

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-08-27 10:55:07 +01:00
Bruce Ashfield
88e5aa6d72 bc: add bc-native
To support the building of recent kernels in minimal environments, we should
provide bc-native.

(From OE-Core rev: 2138961cc75be2690f2f9b5df8cb2d810dcebc99)

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-08-27 10:55:07 +01:00
Stefan Stanacar
44c3f72684 lib/oeqa/runtime: smart: add checks for smart output
Sometimes smart throws:

    Committing transaction...
    Preparing...                    ######################################## [  0%]
       1:Removing psplash-default   ######################################## [100%]
    error: Couldn't fork %postun: Cannot allocate memory

and returns a 0 exit code (it thinks it succesfully removed the package,
when in reality it didn't), so we need to catch those specifically.

Also, sometimes output from download command is:
    Saving cache...http://192.168.7.1:49456/rpm/x86_64_x32/psplash-default-0.1+git0+afd4e228c6-r15.x86_64_x32.rpm
and that tricks our smart download test, so use a regex there.

(From OE-Core rev: 2ac7783e04f5e8e6005f967e1a6dd65d2fc6a19a)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 16:29:18 +01:00
Stefan Stanacar
a855180fe6 lib/oeqa/runtime: multilib: fix typo
The check was obviously wrong and it surfaced
with the recent change in behaviour for skipping tests.

(From OE-Core rev: 4a14535cd493cb2bdd46b2a5f2a1cd2b38161f0a)

Signed-off-by: Stefan Stanacar <stefanx.stanacar@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 16:29:18 +01:00
Laszlo Papp
355a781662 u-boot: update to 2013.07
(From OE-Core rev: b2d6f08ff4f03079973eab76a790bf4555e32236)

Signed-off-by: Laszlo Papp <lpapp-RoXCvvDuEio@public.gmane.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 16:29:18 +01:00
Marko Lindqvist
b07d12dacf gettext: update to upstream version 0.18.3.1
(From OE-Core rev: 18170af0d466815491f445ac7ff23906f7474d1a)

Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 16:29:18 +01:00
Richard Purdie
c34bb765fa bitbake: command.py: Call updateCache for all states != running
updateCache handles the logic for shutting down the parsing so we need
to call it for all cases when we're not running.

This fixes hangs if Ctrl+C is pressed during parsing.

(Bitbake rev: 552b8935dd2f9f11e8d5c08a597a7e966b891480)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 13:43:47 +01:00
Chen Qi
1dff47b097 read-only-rootfs-hook.sh: check before bind mounting /var/lib
It's possible that /var/lib is on a separate writable partition. In such
situation, we should not bind mount /var/lib with tmpfs, becasue it's
already writable.

This patch fixes this problem by checking whether /var/lib is already
on a writable partition.

[YOCTO #4888]

(From OE-Core rev: 86ac10995fd08226f82d87e23fda5d4898c3190f)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 13:19:42 +01:00
Chen Qi
e6e44cf9c1 checkroot.sh: check for conflicting configurations
In our current boot scripts, two ways are used to determine whether
the rootfs is read-only or not. One by checking the READ_ONLY_ROOTFS
value in /etc/default/rcS, the other by checking the /etc/fstab entry.

>From a normal Linux user's point of view, the way of checking the
/etc/fstab entry is preferred. However, as there are several boot scripts
that need to know whether rootfs is read-only or not, checking /etc/fstab
in each script brings too much overhead. Thus, these boot scripts
use the READ_ONLY_ROOTFS value in /etc/default/rcS.

In normal use cases, there would be no problem, as both /etc/default/rcS and
the /etc/fstab are modified at rootfs time. However, if the user changes
the mount option for rootfs in /etc/fstab to read-write, and he/she forgets
to change the value in /etc/default/rcS, there would be unexpected results.
For example, the udev-cache would still be disabled.

So at a minimal, a check for conflicting configurations between /etc/fstab
and /etc/default/rcS should be added in checkroot.sh so that there would be
reasonable warnings if users have configured the system in a non-consistent
way.

[YOCTO #4880]

(From OE-Core rev: 1565a0c5a3f245703e280ca90cf11d3f9374788a)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 13:19:42 +01:00
Riku Voipio
6f25176581 eglibc: fix directory cleanup for 2.17
Commit e0c2dd275827a4b37b8116d0f0119333638461af broke building
eglibc 2.17, which still ships pt_chown under eglibc/ directory.

Fix by only deleting directory when pt_chown is not there.

Cc: Khem Raj <raj.khem@gmail.com>

(From OE-Core rev: 10722a37bb7efa563425a7389100b9322d96492e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 13:19:41 +01:00
liangcao
a090406686 SPDX:real-time license scanning and SPDX output.
SPDX integrates real-time license scanning, generates
SPDX standard output and license verification
information during the OE-Core build process. The
existing module includes scanning patched packages
and creating package and file level SPDX documents.

(From OE-Core rev: 7a37cc81fb95d56b5ac5e5ca22a1900e45717911)

Signed-off-by: liangcao <liangcao@unomaha.edu>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 13:19:41 +01:00
Stefan Stanacar
daedc2fda2 classess/testimage: change default test suites
Some new tests were added, safe to have them in the defaults
for sato-sdk and sato. Not all of the new tests are here though,
either because they aren't applicable to default images or take too long.
(like build iptables/cvs/sudoky ones, they can be enabled
in local.conf and a special target on AB setups.). Also reorder them a bit.

(From OE-Core rev: caa18a99ec002e4e87e32cae8a2d28bb0e32c5a6)

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-08-26 13:19:41 +01:00
Richard Purdie
d80a715e37 python-2.7-manifest: Add missing python-ctypes dependency to python-multiprocessing
(From OE-Core rev: 5abf18a7f11ee9e88e0eec1b66cc63427d9097a8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 12:15:49 +01:00
Robert Yang
6a78e22aae image_types.bbclass: replace genext2fs with populate-extfs.sh
* The benefits:
  - Really support ext4

  - Support the sparse file (we lost the sparse file in the image in the
    past, the sparse file became into the common file)

  - Fix the error reported by fsck: (ext2/ext3)
      Inode 1025, i_size is 16384, should be 17408.

  - Have a uniform code for ext2/3/4 generation

* Comments from Darren Hart:
Basically, genext2fs doesn't support creating ext4 filesystems. It
creates, as I understand it, an ext2 filesystem, then adds a journal,
and sets some bits. It can't support the newer features like extents. So
what we end up with is a bit of a hack for a filesystem.

The ext tools (e2fsprogs) unfortunately don't provide an integrated
solution for generating prepopulated filesystem images as many other
mkfs* tools do. One thing missing was symlink support in libext2fs. I
added that support and demonstrated a script which uses the e2fsprogs
debugfs tool that can populate the newly formatted filesystem from a
directory and without root privileges.

[YOCTO #3848]

(From OE-Core rev: 40c3e18f43b2f074cec97d21aeb8d21f26dd5048)

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-08-26 11:50:49 +01:00
Stefan Stanacar
2dfc0e1cc7 lib/oeqa: change behaviour for unskippable tests
When a test module wants to be skipped because it doesn't
apply to the image but it was nevertheless a required
test (one in TEST_SUITES), we issued an warning that it
was a required test and went on with running the module.
Usually all tests in the module failed (e.g gcc tests on a non-sdk image),
but this allowed us to know that something went wrong with the image
(some package/feature didn't make it).

However, instead of just issuing an warning and running the tests
it's better to throw an exception. The traceback will tell us what's wrong,
and we don't run every single test method.
Output will look like this:
--snip--
| NOTE: Test modules  ['oeqa.runtime.ping', 'oeqa.runtime.ssh', 'oeqa.runtime.gcc']
| NOTE: Found 5 tests
| test_ping (oeqa.runtime.ping.PingTest) ... ok
| test_ssh (oeqa.runtime.ssh.SshTest) ... ok
| ERROR
|
| ======================================================================
| ERROR: setUpModule (oeqa.runtime.gcc)
| ----------------------------------------------------------------------
| Traceback (most recent call last):
|   File "/mnt/back/yocto/poky/meta/lib/oeqa/runtime/gcc.py", line 8, in setUpModule
|     skipModule("Image doesn't have tools-sdk in IMAGE_FEATURES")
|   File "/mnt/back/yocto/poky/meta/lib/oeqa/oetest.py", line 108, in skipModule
|     "\nor the image really doesn't have the requred feature/package when it should." % (modname, reason))
| Exception:
| Test gcc wants to be skipped.
| Reason is: Image doesn't have tools-sdk in IMAGE_FEATURES
| Test was required in TEST_SUITES, so either the condition for skipping is wrong
| or the image really doesn't have the requred feature/package when it should.
|
| ----------------------------------------------------------------------
| Ran 2 tests in 1.036s
|
| FAILED (errors=1)
| NOTE: Sending SIGTERM to runqemu
--snip--

(From OE-Core rev: fd51cecf8b258d9f839a0ecebde69d09f75dc468)

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-08-26 11:47:21 +01:00
Mihai Prica
d7077bc8e5 lib/oeqa/runtime: add iptables, cvs and sudoku projects build tests on target
Downloads iptables/cvs/sudoku-savant sources and builds them on target.

(From OE-Core rev: df4568205c3a7e0b20c6299e29f96bd30560146b)

Signed-off-by: Mihai Prica <mihai.prica@intel.com>
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-08-26 11:47:21 +01:00
Mihai Prica
c70bf6531c lib/oeqa/utils: targetbuild: Add helper class for building packages on target
This class can be used for test cases that configure
and build packages on target.

(From OE-Core rev: 4b15e82c4fcb0c40b0e316ef2050944eee4418ef)

Signed-off-by: Mihai Prica <mihai.prica@intel.com>
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-08-26 11:47:21 +01:00
Stefan Stanacar
51588936d4 lib/oeqa: make it possible to restart the target
Tweak QemuRunner so we can actually restart the
qemu target in a test (if we want more memory for example).
Also add a restart method to the base test class so that tests
can use it.

(From OE-Core rev: 9de7fe11967576f4a8b24e653c6b9a02e5f6d85b)

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-08-26 11:47:21 +01:00
Mihai Lindner
ecb21fd7f8 lib/oeqa/runtime: smart: add new smart tests
Add class to be inherited by smart tests, along with more basic tests and tests
using a rpm repository.

(From OE-Core rev: f6186b4204dcc421b4e616774315c8a2a77fb5c5)

Signed-off-by: Mihai Lindner <mihaix.lindner@linux.intel.com>
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-08-26 11:47:21 +01:00
Mihai Lindner
2c83398940 lib/oeqa/utils: decorators: return the decorated method
Decorators should return whatever the decorated methods return.

(From OE-Core rev: c92513d6ff3f8f06d937a5cdf4d94708f27c3850)

Signed-off-by: Mihai Lindner <mihaix.lindner@linux.intel.com>
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-08-26 11:47:21 +01:00
Mihai Lindner
a9dab56e5d lib/oeqa/utils: qemurunner: save host IP address
Save host IP address to host_ip.
Read /proc/PID/cmdline on host to look for IPs of target and host;
instead of running 'ps'.
Also removed some extra empty lines from file.

(From OE-Core rev: 1fcf10db10fa36430e37c95c9fee27197e73f7a5)

Signed-off-by: Mihai Lindner <mihaix.lindner@linux.intel.com>
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-08-26 11:47:21 +01:00
Mihai Lindner
f16cc25bbc lib/oeqa/utils: new file: httpserver.py useful for serving files over HTTP to the target
It can be used by smart repo/channel tests to serve deploy_dir.

(From OE-Core rev: e38e18d6923cc3db50b56fa3fc64081fe4aa8669)

Signed-off-by: Mihai Lindner <mihaix.lindner@linux.intel.com>
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-08-26 11:47:21 +01:00
Stefan Stanacar
db7e4849c3 lib/oeqa/runtime: rpm: add install and erase tests
Copies to target rpm-doc file from deploy_dir
and tries to install and then remove that package.
rpm-doc was chosen because it's small, it only adds
a few files to target, and it's almost always found in
deploy_dir for images with package-management/rpm.

(From OE-Core rev: a2d2f2b7b111863d3c50dedded37aab813d9634f)

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-08-26 11:47:20 +01:00
Mihai Prica
3d30fd2eb0 lib/oeqa/runtime: add vncserver for target test
(From OE-Core rev: 56bc5d717b34563ed36c0618305e4ec5080c3a27)

Signed-off-by: Mihai Prica <mihai.prica@intel.com>
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-08-26 11:47:20 +01:00
Mihai Prica
5e1b0cb2e4 lib/oeqa/runtime: add adjust date and time test
(From OE-Core rev: ede300f44f1770b1e3e5c59f65cf5079379a2bc1)

Signed-off-by: Mihai Prica <mihai.prica@intel.com>
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-08-26 11:47:20 +01:00
Alexandru Palalau
0ecc510b92 lib/oeqa/runtime: add new scp test
Copies a 5MB to target using scp, more of an
network test than a scp one.

(From OE-Core rev: 2ec4a0686b9a91e56dfba3fa2e574c0c531508ff)

Signed-off-by: Alexandru Palalau <alexandrux.palalau@intel.com>
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-08-26 11:47:20 +01:00
Alexandru Palalau
4ea9e94f55 lib/oeqa/runtime: add new PAM support test
New test which verifies some usual commands functionality with PAM support

(From OE-Core rev: 06c7914e3354ff4e430a6b664f40e5a71e212761)

Signed-off-by: Alexandru Palalau <alexandrux.palalau@intel.com>
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-08-26 11:47:20 +01:00
Alexandru Palalau
748ddc39e5 lib/oeqa/runtime: add new skeletoninit test
New test which verifies the usage of skeleton init script available with meta-skeleton layer

(From OE-Core rev: fcc59cbcdb1550489d372edf9f465efa7165245f)

Signed-off-by: Alexandru Palalau <alexandrux.palalau@intel.com>
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-08-26 11:47:20 +01:00
Alexandru Palalau
b91969e4f7 lib/oeqa/runtime: add new logrotate test
New logrotate test which verifies the log directory change in logrotate.conf.
Needs an image with logrotate installed.

(From OE-Core rev: 186d79a603b5cbf5a93e6f5dbba5f62ed8d4d8d8)

Signed-off-by: Alexandru Palalau <alexandrux.palalau@intel.com>
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-08-26 11:47:20 +01:00
Cornel Stoicescu
3b47a0a4bc lib/oeqa/runtime: add a test for ldd
This test checks that at least one path in RTLDLIST exists.

(From OE-Core rev: d53ffbf21a6b17f0f0537929a95a502958d82a09)

Signed-off-by: Cornel Stoicescu <corneliux.stoicescu@intel.com>
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-08-26 11:47:20 +01:00
Cornel Stoicescu
dfd627d7ac lib/oeqa/runtime: add test for perl
This test runs a perl script on the target and checks the output.

(From OE-Core rev: 95abdbf2d715c9e7e3368f5193167feb5efc6261)

Signed-off-by: Cornel Stoicescu <corneliux.stoicescu@intel.com>
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-08-26 11:47:20 +01:00
Alexandru Georgescu
ec8aea9c01 lib/oeqa/runtime: add basic test for x32 images
Checks that an x86-64-x32 image has the right binaries.

(From OE-Core rev: da42e38b2bc4a606b717ac302cfc77aefb1a5795)

Signed-off-by: Alexandru Georgescu <alexandru.c.georgescu@intel.com>
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-08-26 11:47:19 +01:00
Mihai Prica
1915459263 connman-gnome: fix DHCP segfault
In networks that don't have a DHCP server configured, ipv4 address
allocation fails and the ipv4 structure doesn't get populated.
The patch checks this case also.

[YOCTO #3945]

(From OE-Core rev: 2e3bff33f4ebeb6ac2272ab377d00416ef1af83f)

Signed-off-by: Mihai Prica <mihai.prica@intel.com>
Signed-off-by: Emilia Ciobanu <emilia.maria.silvia.ciobanu at intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:47:19 +01:00
Jonathan Liu
6056f12df7 opkg: add missing initialization of conf->exclude_list
(From OE-Core rev: e4190b601c0212f0009ddb2dfa00d2880bddbc29)

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-26 11:47:19 +01:00
Paul Eggleton
b18b210c1e busybox: enable shared memory logging for systemd
The default command-line options for launching busybox's syslogd are
"-C" if using sysvinit; but because we use /etc/default/busybox-syslog
when using systemd which the sysvinit initscript doesn't use, and no
/etc/default/busybox-syslog is installed by default in OE-Core, the
default arguments with systemd were no arguments at all with OE-Core
alone. Effectively merge in the bbappend from meta-oe that adds a
default file in order to set the default options to "-C" for systemd as
well.

(From OE-Core rev: a23aa8e7467cf2b7f4e8ff85a3aa841ff6b508e5)

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-08-26 11:47:19 +01:00
Marko Lindqvist
1506d3acaf ccache: update to upstream version 3.1.9
(From OE-Core rev: 9cf157c71453cbf835f237ca3fa05b845005fe51)

Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:47:19 +01:00
Joe Slater
71abcc96b2 libpam: add PACKAGECONFIG data concerning audit
We do not want libpam to build using audit just
because it happens to be lying around, so we
create PACKAGECONFIG[] data to give us explicit
control.

(From OE-Core rev: 4db6aa2094447f8d2a9c234089a80ddcd78fcbd0)

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-08-26 11:47:19 +01:00
Joe Slater
0904469075 cronie: add PACKAGECONFIG data
We add PACKAGECONFIG[] data for audit and move
the current pam related stuff into it's own entry.

(From OE-Core rev: ada22cab96bb6b7cc98782a14e7c44fbebde77df)

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-08-26 11:47:19 +01:00
Robert Yang
39d80f6d4f e2fsprogs: add populate-extfs.sh
This script is originally from Darren Hart, it will be used for creating
the ext* filesystem from a given directory, which will replace the
genext2fs in image_types.bbclass at the moment, we may use the mke2fs to
replace this script again when it has the initial directory support.

Changes of the script:
* Rename it from mkdebugfs.sh to populate-extfs.sh
* Add a simple usage
* Add checking for the number of the parameters
* Add the "regular empty file" and "fifo" file type
* Set mode, uid and gid for the file
* Save the command lines to a file and batch run them
* Change the error message
* Improve the performance
* Add the support for hardlink

[YOCTO #3848]

(From OE-Core rev: 265f91149aa8c475ebe5b7069044ed94b7857fa9)

Signed-off-by: Darren Hart <dvhart@linux.intel.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-08-26 11:47:19 +01:00
Robert Yang
1b214059be e2fsprogs: properly set up extent header in do_write
do_write doesn't fully set up the first extent header on a new
inode, so if we write a 0-length file, and don't write any data
to the new file, we end up creating something that looks corrupt
to kernelspace:

EXT4-fs error (device loop0): ext4_ext_check_inode:464: inode #12: comm
ls: bad header/extent: invalid magic - magic 0, entries 0, max 0(0),
depth 0(0)

Do something similar to ext4_ext_tree_init() here, and
fill out the first extent header upon creation to avoid this.

[YOCTO #3848]

(From OE-Core rev: 7d1e51681d25f6e6d2c20744825723ad5c83861c)

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-08-26 11:47:19 +01:00
Robert Yang
2cece576b3 e2fsprogs: only update the icache for ext2_inode
We only read the cache when:

bufsize == sizeof(struct ext2_inode)

then we should only update the cache in the same condition, otherwise
there would be errors, for example:

cache[0]: cached ino 14 when bufsize = 128 by ext2fs_write_inode_full()
cache[1]: cached ino 14 when bufsize = 156 by ext2fs_read_inode_full()

Then update the cache:
cache[0]: cached ino 15 when bufsize = 156 by ext2fs_read_inode_full()

Then the ino 14 would hit the cache[1] when bufsize = 128 (but it was
cached by bufsize = 156), so there would be errors.

[YOCTO #3848]

(From OE-Core rev: ad8452196c5b1a54c14fd00bbf421f68aea65186)

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-08-26 11:47:19 +01:00
Robert Yang
a758b93021 e2fsprogs: let debugfs do sparse copy
Let debugfs do sparse copy when src is a sparse file, just like
"cp --sparse=auto"

This patch has been reviewed by the linux-ext4 mailing list, but isn't
merged atm.

[YOCTO #3848]

(From OE-Core rev: 723adaf8fbba61b7f1adc8e4a13ddf1cfb5c0bcf)

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-08-26 11:47:18 +01:00
Robert Yang
f1e6091a1b e2fsprogs: the max length of debugfs argument is too short
The max length of debugfs argument is 256 which is too short, the
arguments are two paths, the PATH_MAX is 4096 according to
/usr/include/linux/limits.h, so use BUFSIZ (which is 8192 on Linux
systems), that's also what the ss library uses.

This patch has been reviewed by the linux-ext4 mailing list, but isn't
merged atm.

[YOCTO #3848]

(From OE-Core rev: a916a127768291ca7c614976e05c90153fec2956)

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-08-26 11:47:18 +01:00
Christopher Larson
66eac2df0c oe.types: add 'path' type
- path normalization ('normalize' flag, defaults to enabled)
- existence verification for paths we know should exist ('mustexist' flag)
- supports clean handling of relative paths ('relativeto' flag)

(From OE-Core rev: a598242197312fa6d43179c283da2d0873de2919)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:47:18 +01:00
Zhangle Yang
78012a289a stat: fix the wrong return code
After stat -h is executed, the return code is 1.
This patch changes it to 0.

(From OE-Core rev: c10435025f5c51c4827d71af82a9a517f5f8f6d8)

Signed-off-by: Zhangle Yang <zhangle.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:47:18 +01:00
Marko Lindqvist
04fd06882f gtk-engines: fix build with automake-1.13
Add patch substitute-tests.patch that works around automake
TESTS limitation.
See http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13771.

(From OE-Core rev: ace40e1dfcaca2aa1eae2daf29c812291063fbff)

Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:47:18 +01:00
Saul Wold
2526a172bd pulseaudio: Fix up configure options and use gtk+3
(From OE-Core rev: b51bfbc304eba448b9913d36444d70a643564c64)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:47:18 +01:00
Kai Kang
764784c935 alsa-lib: fix function definitions error for mips
Functions atomic_add(s) and atomic_sub(s) are defined with 'extern
__inline__' that may cause compile fails when cross compile for mips.
The error message looks like:

| pcm/.libs/libpcm.a(pcm_meter.o): In function
`snd_pcm_meter_update_scope':
| .../alsa-lib-1.0.27.2/src/pcm/pcm_meter.c:139: undefined reference to
`atomic_sub'

Replace the 'extern __inline__' with 'static __inline__' to fix this
issue.

(From OE-Core rev: 80b4eb9e12ccf815261f6a67fd9b8d97717e82d5)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:47:18 +01:00
Cristian Iorga
26fe976281 connman: upgrade to 1.17
connman 1.17 is mainly a bugfix release,
as such, recommended to upgrade to.

(From OE-Core rev: ad98f2bfa2c6ebb53b9c1fa4afad8842ab65062c)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:47:18 +01:00
Mihai Prica
12d4ee1af7 harfbuzz: upgrade to v0.9.19
Remove the disable_graphite.patch because the --without-graphite2
configure option can be used instead.

Split package into harfbuzz and harfbuzz-icu. The ICU support is
now built into a separate library that will be shipped in a
different package.

(From OE-Core rev: c93d147e0889ac91a01e3570f818624f68b3c8e8)

Signed-off-by: Mihai Prica <mihai.prica@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:47:18 +01:00
Paul Eggleton
b55f923975 gpgme: update to 1.4.3
(From OE-Core rev: 3b4f5c4153c0af0e5205d9c30e4b7265c36079d3)

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-08-26 11:47:17 +01:00
Ross Burton
26ce13ba62 runqemu-ifup: when tunctl can't be found, say what package builds it
If runqemu is used without actually building any qemu images (i.e. you
downloaded the images) it's likely that qemu-helper-native hasn't been built.
Instead of just saying what command can't be found, tell the user how to solve
their problem.

(From OE-Core rev: 45f80a0c46035dc73818ce4bd818a4f6197d954f)

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-08-26 11:47:17 +01:00
Xufeng Zhang
c82255d90b openssl: avoid NULL pointer dereference in three places
There are three potential NULL pointer dereference in
EVP_DigestInit_ex(), dh_pub_encode() and dsa_pub_encode()
functions.
Fix them by adding proper null pointer check.

[YOCTO #4600]
[ CQID: WIND00373257 ]

(From OE-Core rev: 4779d3c89cf0129763a4f5b7306c1247a0d6d021)

Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:47:17 +01:00
Jackie Huang
b9f0fc6e98 openssh: add init.d/sshd status command for LSB compliance
(From OE-Core rev: d1e518b6942b945be7a4d44bc137a1441af8f837)

Signed-off-by: Li Wang <li.wang@windriver.com>
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-26 11:47:17 +01:00
Jackie Huang
6d15552f8c at: add init.d/atd status command for LSB compliance
(From OE-Core rev: 9c19592afac6b38df7038da02bcda26dc28b4e4c)

Signed-off-by: Li Wang <li.wang@windriver.com>
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-26 11:47:17 +01:00
Jackie Huang
1b125078b7 sysvinit: add init.d/bootlogd status command for LSB compliance
(From OE-Core rev: 95180b966adb6ebe6451ab0e91187e7db93f22e4)

Signed-off-by: Li Wang <li.wang@windriver.com>
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-26 11:47:17 +01:00
Jackie Huang
00f0261536 dbus: add init.d/dbus-1 status command for LSB compliance
(From OE-Core rev: 9262d3b06eee7e698c990399d2f10b7d68d17211)

Signed-off-by: Li Wang <li.wang@windriver.com>
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-26 11:47:17 +01:00
Jackie Huang
f032008b12 nfs-utils: add init.d/nfsserver status command for LSB compliance
(From OE-Core rev: d5132337fa08ee74eaebadaeaecb6b4f5b2c5190)

Signed-off-by: Li Wang <li.wang@windriver.com>
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-26 11:47:17 +01:00
Jackie Huang
4309a9ea8f sysklogd: add init.d/syslog status command for LSB compliance
(From OE-Core rev: 7f0314c095032c231e2408c0276fea56b4e68884)

Signed-off-by: Li Wang <li.wang@windriver.com>
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-26 11:47:17 +01:00
Khem Raj
2b7d2f8034 glib-2.0: Specify libiconv when building on uclibc
We use GNU libiconv seprate package on uclibc
specifying this makes the configure clear of not
trying to detect glibc/iconv and then also finding
libiconv in sysroot and confusing itself with errors like

| gconvert.c:66:2: error: #error GNU libiconv not in use but included iconv.h is from libiconv
|  #error GNU libiconv not in use but included iconv.h is from libiconv
|   ^

(From OE-Core rev: 38b6c4df7c215ed7fd6be107fbc2527e66791e2e)

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-08-26 11:47:16 +01:00
Bruce Ashfield
b3357d5d5a yocto-bsp: add 3.10 bbappend and update routerstationpro's preferred version
Now that the 3.10 yocto kernel tree is available, meta-yocto-bsp needs a
bbappend with the relevant SRCREVs defined.

Note: that only the routerstationpro is updated to 3.10, and the other reference
BSPs continue to use their existing preferred versions.

(From meta-yocto rev: 8e3688ea98ad06a64218a67d5ee4c96165766686)

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-08-26 11:29:46 +01:00
Richard Purdie
d7571c0390 bitbake: data_smart: Add _remove operator
There are long standing complaints about the fact its very difficult
to remove a portion of a variable. The immediate request is for a -=
and =- operator. The trouble is that += and =+ are "immediate"
operators and are applied straight away. Most people would expect
-= and =- to be deferred to have the effect most people desire and
therefore implementing -= and =- would just make the situation more
confusing.

This deferred operation is much more similar to the override syntax
which happens at data store finalisation. The _remove operator is
therefore in keeping with the _append and _prepend operations.

This code is loosely based on a patch from Peter Seebach although it
has been rewritten to be simpler, more efficient and avoid some
potential bugs.

The code currently only works on space delimited variables, which
are by far the most commom type. If bitbake is ehanced to support
types natively in future, we can adjust this code to adapt to that.

(Bitbake rev: 9c91948e10df278dad4832487fa56888cd58d187)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:29:46 +01:00
Richard Purdie
69aab78dd8 bitbake: bitbake: Add ui event handlers filtering
Add functionality to allow UIs to update and change the types of events they
recieve. To do this we need to add a new command and also need to be able
to obtain the current event hander ID. In the case of xmlrpc, this is
straightforward, in the case of the process server we need to save the result
in a multiprocessing.Value() so we can retrive it. An excplit command
was added to the server API to facilitate this.

The same function can also be used to mask or unmask specific log messages,
allowing the UI to optionally differ from the standard set of message
filtering.

Based upon work by Cristiana Voicu <cristiana.voicu@intel.com>

(Bitbake rev: ba5a6c88785d9889d4172ec79937ac2a5555327e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:29:46 +01:00
Richard Purdie
bfab986ccd bitbake: server/xmlrpc/prserv: Add sane timeout to default xmlrpc server
The standard python socket connect has long timouts which make sense for remote
connections but not local things like the PR Service. This adds a timeout
parameter to the common xmlrpc server creation function and sets it to a more
reasonable 5 seconds.

Making the PR server instantly exit is a good way to test the effect of this
on bitbake.

We can remove the bodged timeout in the PRServer terminate function which
has the side effect of affecting global scope.

(Bitbake rev: 8c01cff94787abbb64fbdf0c16cd63f8f97a7e03)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:29:46 +01:00
Richard Purdie
a03a423c60 bitbake: process: Improve exit handling and hangs
It turns out we have a number of different ways the process server termination can
hang. If we call cancel_join_thread() on the event queue, it means that it can be left
containing partial data. This means the reading of the event queue in the terminate()
function can hang, the timeout and block parameters to Queue.get() don't make any
difference.

Equally, if we don't call cancel_join_thread(), the join_thread in terminate()
will hang giving a different deadlock.

The best solution I could find is to loop over the process is_alive() after requesting
it stops,  trying to join the thread and if that fails, try and flush the event
queue again.

It wasn't clear what difference a force option should make in this case, we're
gracefully trying to empty queues and shut down regardless of whether its a SIGTERM
so I've simply removed the force option.

(Bitbake rev: c5c8f33ca4b81877a0115887849881001b745bf0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:29:46 +01:00
Martin Jansa
aa0b237144 bitbake: parse: Return IOError when including file with absolute path
* resolve_file was behaving different when relative and absolute
  paths were passed to it

* include relative-path/non-existent-file.inc
  works correctly resolve_file throws IOError, BBHandler.py:handle()
  doesn't catch it, ConfHandler.py:include() catches IOError and shows:
  DEBUG: CONF file 'relative-path/non-existent-file.inc' not found
* include /absolute-path/non-existent-file.inc
  was failing, because resolve_file just returns fn,
  BBHandler.py:handle() calls bb.parse.mark_dependency(d, abs_fn)
  which throws:
  OSError: [Errno 2] No such file or directory: '/absolute-path/non-existent-file.inc'
  and parsing fails.
  Ad isfile() test for absolute fn and throw IOError to make
  resolve_file behavior consistent for both paths.

* I know we had some issues with -b relative-path-to-recipe.bb and
  absolute path, so consider this patch only as RFC and documentation of
  this problem

* Catch OSError too in ConfHandler.py:include() e.g. in case the file exists, but user
  cannot read it or something like that.

(Bitbake rev: b0bbd89a4f0b98fa1ab28b8e0526cd9ddb76fa57)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:29:46 +01:00
Christopher Larson
503daf245e nativesdk-ca-certificates: prepopulate ca-certificates.crt
As postinsts aren't run for nativesdk packages when populating an SDK, we need
to prepopulate up-front.

(From OE-Core rev: 09e768b68b3605e897d422c9c7b3815f3b994d31)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:29:46 +01:00
Christopher Larson
2413ff05ba ca-certificates: add recipe (version 20130610)
We need this for certain nativesdk recipes, as we can't rely on the
certificate path or bundle path being the same across distros, and it's useful
in many cases on the target as well.

This is based on the 20130119 recipe from meta-oe, with the following changes:

- use the debian git repository to avoid vanishing sources
- obey our target paths
- default to a sysroot relative to the script location (make relocatable)
- define SUMMARY
- don't inherit autotools, this isn't an autotools package
- add MPL-2.0 to LICENSE, as that's the license of the certdata
- install the script man page
- use a native rather than cross recipe, as it's not bound in any way to the
  target system
- add nativesdk to bbclassextend, for use in SDKs

(From OE-Core rev: ad2851cf0abc2ab35e0f60c96d3142c29a07c8fc)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:29:46 +01:00
Paul Eggleton
f541b7388c xserver-nodm-init: improvements from meta-oe
Bring in some changes from the meta-oe version of this script in order
to bring them closer together. (Unfortunately it does not completely
supersede the recipes in meta-oe - there is still some unification to be
done between x11-common and xserver-common.)

* Add systemd support (with extensions for ROOTLESS_X)
* Remove sudo from RDEPENDS_${PN} since this hasn't been used by this
  for a long time
* Rearrange recipe slightly to make the order logical

A couple of additional improvements at the same time:
* Use ROOT_HOME for root's home directory
* Set short description in SUMMARY instead of DESCRIPTION

(From OE-Core rev: d4f82500fb30e9e25b517e65c2bd72b3c2bad070)

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-08-26 11:29:45 +01:00
Richard Purdie
93ec1e347c classes: Remove references to _remove in function names since this may become a bitbake keyword
There is a good chance we might want to support a bitbake operator
"_remove" which works in a similar way to _append and _prepend. As
such, we can't use those keywords in function or variable names.

(From OE-Core rev: 491fde8cd3fd493f9fec2fd434fe1be547f66148)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:29:45 +01:00
Bruce Ashfield
3883187066 linux-yocto: introduce v3.10
Introduce the 3.10 kernel. This is based on the 3.10.9 upstream kernel
and replaces the 3.8 recipes, which will be removed once all reference
boards have been updated.

3.10 also the latest LTSI and will be updated with that content when it
becomes available.

Other features of the 3.10 kernel include:

  - refreshed -rt support
  - refreshed yaffs2, aufs3
  - cryptodev
  - bfs, edf, and OCF staged features
  - scrubbed and updated meta data for v3.10
  - improved tools support for meta data updates and queue maintenance
  - patch carry forward from all previous linux-yocto kernels and
    configuration.

This kernel has been built and boot tested on all qemu machines and architectures.

(From OE-Core rev: 6dc46834c6edaf358c18b26e4304bc9e7413eb60)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:29:45 +01:00
Bruce Ashfield
2c572bd2ce gst-plugins-good: fix 3.10 libc-headers build failure
kernel commit 24b9f5017 [[media] V4L: Remove deprecated image centering controls]
removed the definitions of V4L2_CID_HCENTER and V4L2_CID_VCENTER after three
years of depreciation.

The ioctl values are still free, and the case statement which processess them
in v4l2 userspace falls through to the proper replacement. So in the short
term, we can explicitly define them using the old absolute values, and everything
will work.

(From OE-Core rev: 1e35d04067357b1c65d9e2c4796acfa02274fd9d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:29:45 +01:00
Richard Purdie
e67ce0d62f linux-libc-headers: Reinstate scripts-Makefile.headersinst-install-headers-from-sc.patch
The autobuilders and their long paths are still triggering errors during
the headers installation. Reinstate the previous patch for this,
after updating for 3.10.

(From OE-Core rev: fe4428fd740b3937007e0a3f893714ff04c33533)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:29:45 +01:00
Bruce Ashfield
126227582a linux-libc-headers: ptrace.h: remove ptrace_peeksiginfo_args
The addition of ptrace_peeksiginfo_args to the uapi in kernel commit
84c751bd [ptrace: add ability to retrieve signals without removing from a queue (v4)]
means that existing applications using glibc versions that define ptrace_peeksiginfo_args
in sys/ptrace.h will get duplicate structure definitions like:

    | In file included from /poky-master/build/tmp/work/i586-poky-linux/strace/4.8-r0/strace-4.8/process.c:66:0:
    | /poky-master/build/tmp/sysroots/qemux86/usr/include/linux/ptrace.h:58:8: error: redefinition of 'struct ptrace_peeksiginfo_args'
    |  struct ptrace_peeksiginfo_args {
    |         ^
    | In file included from /poky-master/build/tmp/work/i586-poky-linux/strace/4.8-r0/strace-4.8/defs.h:159:0,
    |                  from /poky-master/build/tmp/work/i586-poky-linux/strace/4.8-r0/strace-4.8/process.c:37:
    | /poky-master/build/tmp/sysroots/qemux86/usr/include/sys/ptrace.h:191:8: note: originally defined here
    |  struct ptrace_peeksiginfo_args
    |         ^
    | make[2]: *** [process.o] Error 1

Reverting to the previous status of not exporting this structure temporarily
fixes applications, until they can be adjusted to not mix sys/ptrace.h and
linux/ptrace.h includes.

(From OE-Core rev: 7c207e4c3c0e3b575c67a302b97b0dc700a8fc15)

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-08-26 11:29:45 +01:00
Bruce Ashfield
1f18e09229 linux-libc-headers: update to v3.10
Now that the 3.10 kernel has been released we can bump the libc-headers to
that version and remove the 3.8 variant. Userspace compatibility is
maintained through kernel versions, we also make the single 3.10 version the
toolchain default.

(From OE-Core rev: 4e79a46254e778f85c00efd4b0085cbaeb6e0d4d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:29:45 +01:00
Bruce Ashfield
bfba970765 guilt: update to latest git version
Uprev guilt to the latest guilt version from its upstream repository.
As part of the uprev all of the previous changes required for the
yocto kernel tools to use git to manipulate series files have been
dropped. These changes were specific to circumventing parts of guilt's
internal santiy checking to allow specific Yocto kernel manipluation
of sub-series files.

Since the kernel tools no longer need guilt, we can use an up to date
and nearly pure upstream version of guilt.

(From OE-Core rev: 595c4469adc36d88ba2403915fc6c1d355014a58)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:29:45 +01:00
Bruce Ashfield
3b2b4eef0f kern-tools: usability, bug fixes and no guilt
Updating the kern-tools SRCREV to pick up the following fixes:

   60a894e kgit-s2q: add proper commit ID handling for mixed am/apply usage
   3b08257 kgit-s2q: delete pruning of path support.
   c5868b4 kgit-s2q: Restore implicit exit status to "git apply" section
   1bd00b9 kgit-scc: mask warnings from cleanup phase 5
   bb75299 kgit-s2q: fix commit warp when running "git am --abort"
   ef9571b kgit-scc: cleanup git rebase-apply dir
   fdb7d21 kgit-scc: ensure treegen stops if a meta series fails
   008987b config: add kconfig cleaning options
   69ff569 kgit-s2q: strip blank lines and comments
   e7b4540 kgit-init: disable garbage collection on a new tree
   417eaed kgit-s2q: delete old LTSI patch dir finding code
   21f2200 kgit-scc: better error checking on resume
   ad5084c kern-tools: use .meta as meta data container
   1deb5d8 kgit-meta: don't push patches without a series file
   eb431a1 kgit-s2q: aid patch reject resolution via helper scripts
   f859c40 kgit-s2q: only use patch annotations when explicitly asked
   333ae18 kgit: speed patch application by batching patches
   bf6991d kgit: teach tools about non-default meta dirs
   bcfc712 kgit-s2q: usability improvements
   cb28803 kgit-s2q: fix patch prefix stripping.
   37f40e1 kgit-s2q: warn/exit with error if patch not in series
   f4704d2 kgit-s2q: consistent rm usage
   e11819c kgit-s2q: standardize on use of git mailinfo
   36a5eda kgit: remove guilt dependency
   c461a4f spp/scc: export mark commands to meta-series
   5311162 updateme: ensure that generated features are only used once
   4f7a263 kgit-checkpoint: clear .gitignore for meta branch
   21ee6f2 updateme: enforce a matching machine
   b08749d kgit-scc: remove -meta files after consruction

These are bug fixes, usability changes as well as the removal of the
guilt dependency. During the uprev of the guilt package, the amount of
circumvention of the typical guilt workflow and checks meant that using
it as a series -> branch manager was no longer appropriate. As a result
a new tools kgit-s2q (series 2 queue) was created based on git-quiltimport,
git am, and the LTSI tree generation scripts.

The result is better series to branch validation, faster application and
a simpler management model. This tool is backwards compatible with any
tree previously constructed with guilt. We are now "guilt free"

(From OE-Core rev: 983bff587b60fdd0244ad00f238df5ed50cc1e1a)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:29:45 +01:00
Richard Purdie
5f2170bd4a Add memory resident bitbake script
This adds an init script which instead of the standard bitbake, launches
a memory resident bitbake, defaulting to port 12345. It expects a port
number to use as the first option.

Right now this is experimental but I think its probably worth wrapping
up in a form people can more easily experiment with it. There are some
known issues:

a) It throws some debug output due to the lack of a UI which we need
   to clean up
b) It should probably be able to auto select a free port
c) You get a nice backtrace if you specify a build directory but
   not a port number

I'd also highlight there are security issues here if you don't trust
users who can connect into localhost. We might need to look at named
pipes or something similar for something limited to the current user.

(From OE-Core rev: 52c7f8bba86a43b89f24a23d545c99d75b67555f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:29:44 +01:00
Scott Rifenbark
a50b9337c6 ref-manual, mega-manual: Updated figure for conf/compile details
Fixes [YOCTO #2808]

Updated the figure per Paul Eggleton's feedback to be clearer.
The figure resides in both the ref-manual and the mega-manual.

(From yocto-docs rev: 8a0f391c9404582b3b7f62d740d5c0488a6220be)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:06:31 +01:00
Scott Rifenbark
e901047d4d yocto-project-qs, adt-manual: Updates to toolchain installer script
The way in which the toolchain installer scripts are named has
changed.  I have updated two sections that describe this so that
the new naming scheme is used.

(From yocto-docs rev: 71b70a12c72bca7cad565b5d6f44b2c6b311844d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:06:30 +01:00
Scott Rifenbark
648da6d502 poky.ent: Reset the toolchain variable.
I had to undo this change.  The variable that points to the
toolchains still needs to be in place.

(From yocto-docs rev: 56382d447ef838ec50bae476d026016dabb4663b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:06:30 +01:00
Scott Rifenbark
7a655d5dd8 poky.ent: Changed the toolchain variable
Updated the YOCTO_TOOLCHAIN_DL_URL variable to be set to
"&YOCTO_RELEASE_DL_URL;/buildtools/".  This variable used to be
set to "&YOCTO_RELEASE_DL_URL;/toolchains/".  The naming scheme
has changed for where toolchain installers are now built.

(From yocto-docs rev: 376cce752784da6fbb1bdbf655c7f40d9766e9e4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:06:30 +01:00
Scott Rifenbark
3420b3a759 Makefile: Added new figure for package creation.
Fixes [YOCTO #2808]

The new section on package creation required a new figure.
I added the figure to the TARBALL creation part for both the
ref-manual and the mega-manual.

(From yocto-docs rev: 3e752dd95659282833519bff866adc940a156ba7)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:06:30 +01:00
Scott Rifenbark
6457ad3f28 ref-manual, mega-manual: New section on package creation
Fixes [YOCTO #2808]

Added a new section to the expanded discussion on how builds
are done.  This section is on package creation.  A new figure
was added to both the ref-manual and mega-manual figures
directories.

(From yocto-docs rev: e31e5aeb7d93f3cfa4fc9c12e324f03a27b5f8ed)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:06:30 +01:00
Scott Rifenbark
fff996f0d4 Makefile: Added figure to the ref-manual and mega-manual
Fixes [YOCTO #2808]

A new figure named configuration-compile-autoreconf.png was
introduced in a new section.  Thus, the figure had to be added
to the tarball creation for both the ref-manual and the
mega-manual.

(From yocto-docs rev: aa0967ee49fa5d8053e14e0cc229b47a0e65b1f9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:06:30 +01:00
Scott Rifenbark
bf91da6c0a ref-manual, mega-manual: new section on config/compile for expanded build
Fixes [YOCTO #2808]

Added a new section on configuration and compilation for the
expanded discussion for the build process.  This involved a new
figure that had to be added to both the ref-manual and
mega-manual figures directories.

(From yocto-docs rev: 9ba90c79990b79226d6e95e4a01ddedeccb94b35)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:06:30 +01:00
Scott Rifenbark
8870546272 ref-manual, mega-manual: Updated figures
Fixes [YOCTO #2808]

Updated a couple figures to be consistent for how directories
and their contents are displayed.

(From yocto-docs rev: 5a3d08b2543c5ea1f76d65d67bf8a5615f6b5a0e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:06:30 +01:00
Scott Rifenbark
bc1739193a Makefile: Updated with new figure.
Fixes [YOCTO #2808]

Had to add the patching.png figure to the TARBALL for the
mega-manual and the ref-manual.

(From yocto-docs rev: fe51c2c76f364956683c484527e245a745920dc1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:06:29 +01:00
Scott Rifenbark
06c124b02d ref-manual: New section on patching for expanded build process
Fixes [YOCTO #2808]

Added a new sub-section to the BitBake section that takes a
closer look at the build process.  Part of the requirements
was a new figure that had to be added to both the ref-manual
and the mega-manual figures directories.

(From yocto-docs rev: c40476b079cf5765b8228502f0ef33072f8b2b85)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:06:29 +01:00
Scott Rifenbark
a0eec0d86f ref-manual, Makefile: New section on BitBake for expanded build
Fixes [YOCTO #2808]

Created a new section called "BitBake" that will provide an
expanded discussion of the basic YP build process.  The
"BitBake" section has a new sub-section called "Source Fetching."

Part of the new section is a new figure named source-fetching.png.
The figure must reside in the "figures" directory in both the
ref-manual and the mega-manual.  It must also be listed for each
of these manuals in the TARBALL statement in the Makefile.

(From yocto-docs rev: 41eff3e755a98ff31cadccfb1cd7dfcf569b4d9e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:06:29 +01:00
Scott Rifenbark
39ee90b187 ref-manual: Fixed syntax in the S variable.
(From yocto-docs rev: 00fc96c2b5a03e4a32972b5f295fb70411a4e08f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:06:29 +01:00
Scott Rifenbark
59e3953bd3 adt-manual: Removed the gmae stuff
According to Ross, we are not going to have gmae as part of the
toolchain installers.  So, I removed a couple instances of the
filenames and then the mentioning of it when building the installer.

(From yocto-docs rev: 70407feda9382fa8226142881e18f282764638be)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:06:29 +01:00
Scott Rifenbark
d265515478 ref-manual, adt-manual: Minor edits from review.
Fixed some wordings in the ADT manual to remove "Intel-based"
so as not to be biased.

Added "x86" to qualify the types of systems in the toolchain
examples.

Added minor wording to the IMAGE_TYPES variable.

Changed some wording for the IPK_FEED_URIS varilable.

(From yocto-docs rev: 1fa7e0000591bec7e3d0b682df02b95dbee3d4f1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:06:29 +01:00
Scott Rifenbark
e7ed0d5e4f ref-manual: updated the note about what distros we support
Fixes [YOCTO #4927]

Added some minor wording to the note to indicate that we currently
have no plans to support rolling releases.

(From yocto-docs rev: d3b7b4791c01ce01ac9e50c78e9223955eb9b3f2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:06:29 +01:00
Scott Rifenbark
29d8f58c1e ref-manual: minor edit to the PKGDEST variable.
(From yocto-docs rev: 027b73857c76dd34b1559eda9705531d531c806b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:06:29 +01:00
Saul Wold
6ccc545238 mpc8315e-rdb: Set PREFFERED_VERSION to a version thats known working
While adding the last version, the 2012.04 version was accidently removed, it was not
noticed becuase the 2011.06 version also works correctly.  When we next have a tested
u-boot against this core bsp, we can either drop or update this setting

(From meta-yocto rev: 79a8960aa43964ebf3f3cb4621ce10c872807cc9)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-26 11:02:33 +01:00
Ross Burton
b467b99a5d linux-yocto: switch genericx86 to use common-pc
The common-pc machine is now more featureful, so switch from atom-pc to common-pc.

(From meta-yocto rev: 98fb095f97fa73ef458977cac4e83c802a5a1044)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-24 09:37:49 +01:00
Ross Burton
a88d63b30a linux-yocto: remove genericx86 support from 3.4
3.4 doesn't actually support genericx86, so remove any mention of it.

(From meta-yocto rev: 3efb25d4a9a42591e9f92acad7339bb4e28e27e8)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-24 09:37:49 +01:00
Richard Purdie
501e1a321d bitbake: prserv/serv: Fix pid file removal
Mark Hatle spotted there were pid files being left around. This patch
fixes things so the removal function is called correctly, the code
contained a typo.

(Bitbake rev: c696a16c8200c31c52750037eeafe07e065b6517)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 17:43:40 +01:00
Richard Purdie
25e410b743 bitbake: event/msg: Add primitive server side UI log record filtering
Currently one of the bigger bottlenecks in bitbake is passing all the
log messages over IPC to the UI. This is worthwhile if the UI is going
to use them, pointless otherwise. The memory resident bitbake suffers
from this performance issue particularly badly.

This patch filters the log events on the server side with the global
log levels and hence reduces the traffic. This speeds up parsing
(18.5s down to 17s) and bitbake general command overhead is reduced
(7.3s for a NOP to 6.2s).

What isn't added here is general event filtering or the ability to
change the log levels once set. Provision is made for adding this
in a follow up patch though.

(Bitbake rev: 1bf0e88f57ba0bca62532e81d0d62cf88e2abcbb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 17:29:54 +01:00
Nicolas Dechesne
9f0f799c46 bitbake: build.py: create symlink for run.do_xxx scripts
The 'courtesy' symlink for log.do_xxx are quite useful when debugging, so
with this commit, we now get similar 'courtesy' symlink for run.do_xxx
scripts.

We only create symlink for tasks, not individual functions.

The symlink is create right before the actual runfile is created, indeed
we cannot create the symlink right after running the task since a failure
or execption can happen, in which case the symlink wouldn't be created,
and symlink are particularely useful when the task failed!

Another option would be create the symlink after the runfile is created,
and before the script is executed, but that means we need to duplicate the
code in case of Shell vs Python task.

(Bitbake rev: a672b39c5d529ba85d72eee8fef4c4273eaa5397)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 17:29:54 +01:00
Richard Purdie
4273aa4287 sstate: Fix the relative symlink replacement code
ant reported on irc that the sstate absolute to relative symlink creation
code wasn't working in klibc. He was correct although the level of breakage is
rather surprising since it only worked for one level of symlink (usr/include) with
everything else being broken.

The reason is probably that nothing really uses absolute paths, we use relative
paths where at all possible already. Nothing in the target sysroot should use
absolute paths for a start. In this regard, the klibc-dev package is broken and
needs fixing. It will currently break when building for one machine, then switching
to another of the same TUNE_PKGARCH and installing from sstate but that is a
separate issue.

This patch fixes the symlink creation code by firstly passing in the correct
value we need (where the symlink will end up) and seccondly, actually using it.

I've also tweaked the debug message to contain appropriate information and got
right of the double "//" value the existing code created in favour of the form
'./..' which looks neater.

(From OE-Core rev: 9b05c65450526522d7358d0c0901b594de546748)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 17:29:33 +01:00
Cristian Iorga
445e1e5b74 xdg-utils: add runtime dependency on xprop
xprop is called by xdg-utils scripts.

(From OE-Core rev: 58d05c817cf3be071c66c7e4dbbb9942fd7a0752)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:14 +01:00
Cristian Iorga
988a7bfbdd packagegroup-self-hosted: pcmanfm and xdg-utils integration
PCManFm file manager is integrated in Build Appliance;
xdg-utils is also integrated for file
association support.

(From OE-Core rev: a031523eb072df8f04dbae296a44ad51268acdf4)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:14 +01:00
Cristian Iorga
09562cb897 recipes-graphics/builder: fix wrong user name
Fix wrong inclusion of local username.
The right "builder" user is now used in
builder_hob_start shell script.

(From OE-Core rev: 0b0d48a4b8af310d1f6eabf2c4d459cda1c2b4bb)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:14 +01:00
Cristian Iorga
560575b15f packagegroup-self-hosted: Add the sato icon theme
Hicolor icon theme does not properly displays icons for
folders in Build Appliance.
Sato icon theme is working correctly.
Also, settings-daemon needs to be added to image in order to
properly display folder icons.

(From OE-Core rev: a5188962c4ce6312fd625c2ab9601c24765255ed)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:14 +01:00
Andrei Gherzan
7daf46fdf7 eglibc-options.inc: Fix string options
Add quotation marks for OPTION_EGLIBC_NSSWITCH_FIXED* options. If not, Kconfig
will ignore the value and will use the default one which is "".

(From OE-Core rev: 53f48a7aadc807a75c34fe72de7497790ba19ee5)

Signed-off-by: Andrei Gherzan <andrei.gherzan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:14 +01:00
Andrei Gherzan
3a86c3905b eglibc.inc: Remove quotation marks from OPTION_EGLIBC_NSSWITCH_FIXED_*
Kconfig outputs strings with quotation marks. When eglibc tries to see if
the paths exists, uses wildcard make function which doesn't strip out the
quotation marks - checking for path fails. So strip out the quotation
marks from OPTION_EGLIBC_NSSWITCH_FIXED_* option-groups.config.
(see nss/Makefile)

(From OE-Core rev: eacf0f3ed15eccb52eb6b98e20b75f0aa26b6e81)

Signed-off-by: Andrei Gherzan <andrei.gherzan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:14 +01:00
Cristian Iorga
747f5bee1b default-providers: Set the preferred provider for bluez
There is a need for a default provider for bluez
now that bluez5 recipe is also present.

After the introduction of bluez5 recipe,
the following warnings are displayed:

"NOTE: multiple providers are available for runtime libasound-module-bluez (bluez4, bluez5)
 NOTE: consider defining a PREFERRED_PROVIDER entry to match libasound-module-bluez"

Upon debug, bitbake shows:
DEBUG: checking PREFERRED_PROVIDER_bluez4 (value None) against ['bluez4', 'bluez5']
DEBUG: checking PREFERRED_PROVIDER_bluez4-4.101 (value None) against ['bluez4', 'bluez5']
DEBUG: checking PREFERRED_PROVIDER_bluez4-4.101-r5 (value None) against ['bluez4', 'bluez5']
DEBUG: checking PREFERRED_PROVIDER_bluez5 (value None) against ['bluez4', 'bluez5']
DEBUG: checking PREFERRED_PROVIDER_bluez5-5.7 (value None) against ['bluez4', 'bluez5']
DEBUG: checking PREFERRED_PROVIDER_bluez5-5.7-r0 (value None) against ['bluez4', 'bluez5']

Bitbake is faced with the question "what should provide libasound-module-bluez?"
which is a runtime name. It needs to try and find a PREFERRED_PROVIDER entry
which matches this but those use *build time* naming. So it converts "libasound-module-bluez"
into the canonical ${PN} of bluez4 and bluez5 and then tries to look those up.
What it actually should do is go one step further of mapping bluez4/bluez5
into the virtual/bluez but that does not happen.

Bug opened on this issue: YB5044
https://bugzilla.yoctoproject.org/show_bug.cgi?id=5044

[YOCTO #5030]

(From OE-Core rev: 6f07d066074b1e01ff3c16408812e6b6d5e531ac)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:14 +01:00
Richard Purdie
ae8e3b6575 gcc-4.8: Add two patches to deal with cross-canadian build failures
See the patch headers for more information about the cross-canadian build failures
these patches avoid.

(From OE-Core rev: 2bae60b8a3cb7783c06e35a2962e56110e876957)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:14 +01:00
Richard Purdie
9f67e31ab2 chrpath: Add support for relocating darwin binaries
On darwin, install_name_tool can be used to relocate binaries/libraries. This
adds support for adjusting them with relative paths rather than hardcoded ones.
The Linux code is factored out into a function but is otherwise unchanged.

(From OE-Core rev: ed5ace3437eb0f751172e6b93399639c94b89e59)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:14 +01:00
Richard Purdie
45de2c2b5a Drop darwin8/darwin9 usage
There were darwin8/darwin9 overrides spinkled in the code from times gone
by. Lets settle on the darwin override and remove the others since its pointless
duplication. We always inject darwin into OVERRIDES if needed in the darwin8/9
cases.

(From OE-Core rev: 8d5e6eed7802a6056f9eaa50a85e3eee00fe2742)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:13 +01:00
Richard Purdie
2da6d0b9ff bitbake.conf: Work around dev symlink problems on darwin
On darwin, we have:

libxxx.dylib -> libxxx.Y.dylib

compared to Linux which has:

libxxx.so -> libxxx.so.Y

Our ordering of PACKAGES with -dev first and then ${PN} makes it impossible to
match the files correctly using simple globbing. This makes darwin targets
completely broken since both the libs and the dev symlinks end up in ${PN}-dev.

Whilst this commit is a hack, it at least puts the files into ${PN} and allows the
builds to be used. Symlinks don't take up much space so this isn't the end of
the world. I'm open to better solutions to this.

(From OE-Core rev: 51c3dbe2df45096bbd7866adabb08e114952ff13)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:13 +01:00
Richard Purdie
861b0d50b9 gcc-common.inc: Drop unused LIBGCCS_VAR variable
(From OE-Core rev: b1449f6e5be13a8c58bf38302236091d046f0215)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:13 +01:00
Richard Purdie
5af02f216a gcc-cross.inc: Clean up after merge
* Remove the duplicate EXTRA_OECONF_PATHS that is overwritten
* Merge the do_compile and do_compile_prepend
* Group dependency and configuration variables together

(From OE-Core rev: 430b1d6fcbf60df35036fe5bbf8e55f7fb8f5341)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:13 +01:00
Richard Purdie
8b855ad32d gcc-cross-canadian: Fold configure-sdk and package-sdk into the main .inc
This also has the advantage of removing the confusing sdk naming which
has been purged everywhere else in favour of cross-canadian.

(From OE-Core rev: cbb63ca9e7e6d397198808e862f812f1012c74a7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:13 +01:00
Richard Purdie
aa77ec7eef gcc-*-runtime.inc: Fold configuration into gcc-runtime.inc
(From OE-Core rev: 9cdfd55de8dbdea3d5e5ed25fbc67d1f198a069a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:13 +01:00
Richard Purdie
2eb9c1cc75 gcc-*-cross.inc: Fold common configuration into gcc-cross.inc
(From OE-Core rev: 8f6df85ca90c038316ca1ed22e9c54f937f21406)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:13 +01:00
Richard Purdie
0dfc8aabef gcc-target: Combine gcc-target-configure.inc, gcc-target-package.inc and other common code
(From OE-Core rev: 86bbe5b7b8e8f0c6ee88888fa083053ae14765c4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:13 +01:00
Richard Purdie
deae329c3c libgcc: Move common code to libgcc.inc
(From OE-Core rev: 3b627b0a8e91a08a3e2a44c71d312ae303fb5d62)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:13 +01:00
Richard Purdie
697102321e gcc-runtime: Fold common configuration into gcc-configure-runtime.inc
(From OE-Core rev: 17ba68f9ae09ae20eb11dfb03bcaa99428b74bf6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:12 +01:00
Richard Purdie
c5530199af gcc-cross-initial: Fold common configuration into gcc-cross-initial.inc
(From OE-Core rev: 7a9202d0478f0021b0ecd03b8d4af8d56c8e3265)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:12 +01:00
Richard Purdie
d39770efd7 gcc-cross: Fold common configuration into gcc-cross.inc
(From OE-Core rev: a77a8011e56f7cddf22adc63270aa9f44c86062a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:12 +01:00
Richard Purdie
50170617c6 bitbake.conf/classes/gcc: Don't hardcode -nativesdk
Hardcoding -nativesdk as the sdk package architecture is inflexible. We may have
multiple different target OS and we need a way to be able to separate them. Turning
this into a configurable value allows the flexibility we need to build different
SDKMACHINEs with different OS targets.

The commit should have no behaviour change, just makes things more configurable.

(From OE-Core rev: a2110e86b98d646e136de9ec6b8e668079b0d4f4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:12 +01:00
Richard Purdie
b64d6af3ec Revert "nativesdk: inherit relocatable"
This reverts commit f93ddea31f.

We never run nativesdk binaries so it doesn't make sense to use the relocatable
class. The chrpath calls at packaging time will ensure the binaries are relocated
in the final packages. The binaries in the sysroot are never used.

(From OE-Core rev: 9f19d1b90c4fa04439b6267bda0484fd0b350373)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:12 +01:00
Richard Purdie
a966f3017b gcc-cross-canadian: Merge 4.7 and 4.8 recipes into common include
This removes duplication and follows the pattern of the other gcc recipes.

(From OE-Core rev: 3296c896f5a5ef7dd50ab4e00ddbf1c2476462dc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:12 +01:00
Richard Purdie
1995053285 gcc-cross-canadian-4.8: Add missing dependency on nativesdk-zlib
(From OE-Core rev: c782bd4de511b6e603a72a00124a77be52e50dce)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:12 +01:00
Richard Purdie
505634bbab gcc-cross-canadian-4.8: Allow elfutils to be a configurable dependency
Some SDK platforms have elfutils support, some do not, therefore allow
this to be configured.

(From OE-Core rev: 717e940d2c2beccfda31dda16a2d0d6d9a495042)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:12 +01:00
Richard Purdie
bcdc1cd6a7 gcc: Drop gcc-cross4.inc, its pointless now
The include was useful historically, its not anymore so lets remove it.
This should have no functional change except on any layers directly depending
on it or gcc-cross.inc but even then it would only impact sh4 and is easily
fixed if there was a problem.

(From OE-Core rev: e7e8fe11c34bf05179f3bbaa2fb1af7b7125696a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:12 +01:00
Richard Purdie
c63831ca12 gcc-configure-sdk.inc: Don't build target-libgcc
I don't understand why we're building the target libgcc in the canadian-cross build
since it should have been built elsewhere. The compiler configuration isn't correct
to build a working target libgcc in all cases anyway.

To avoid various weird build errors, stop building it.

(From OE-Core rev: b0d1ab6242b6ce2bcdd0e4e3e61600344fcd2907)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:11 +01:00
Richard Purdie
eb99a300a5 gcc-package-sdk.inc: Allow executable extension to be overridden
On platforms like windows, executables have extensions. Whilst I'm not proposing
we wholesale support windows extensions, this small tweak allows a cross compiler
targetting mingw to be built which does seem like a good use case.

The patch therefore adds an EXEEXT which the mingw layer can set for the libexec
symlinks.

(From OE-Core rev: 8dcf0d95b654fa6cc56193168aaa744052ad8ffc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:11 +01:00
Richard Purdie
f2985f0588 gcc-package-sdk.inc: Use relative symlinks in libexec dir
We already use relative links for other gcc libexec links, this changes the sdk
do_install to match elsewhere and use relative symlinks too. This makes things
slightly easier in the SDK installation process and standardises.

(From OE-Core rev: ecfa1141e731224cc5a099f8dfd22878f23359ec)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:11 +01:00
Richard Purdie
ea220e4dc6 gcc-cross-canadian-4.8: Enable PARALLEL_MAKE
This disabling of PARALLEL_MAKE has been forward ported for gcc-cross-canadian
since at least 2009-09 and gcc 4.3.3, probably older.

I've tested this with high values of parallel make and it all seems to work and
we usually build gcc with parallel make so it seems unlikely there are issues.
Lets therefore enable it.

(From OE-Core rev: cee90d230899eb1255d586e6ee4fad0d94348cfd)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:11 +01:00
Richard Purdie
9967b4e027 libiconv: Extend to nativesdk and support non-linux targets
This library is currently only available when targeting non-libc. This patch
also makes it available when targetting non-linux since it is likely of use
then.

It also adds a BBCLASSEXTEND for nativesdk since again, it can be useful
in that context.

(From OE-Core rev: af8c5adc71dc9bab57504d5a9dbf9e863fd4bf7b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:11 +01:00
Richard Purdie
24b1fe929b gettext: Improve USE_NLS handling for nativesdk/crosssdk/cross-canadian
The gettext handling of USE_NLS has become a bit tricky to understand, or
alter from the SDK context. This patch introduces a SDKUSE_NLS which can
be set to configure a given SDK/ADT to use NLS or not. This is independent
of the target system NLS usage.

The code in gettext.bbclass is therefore simplified and the classes
themselves now set USE_NLS to appropriate values. No NLS is used
for native, cross and crosssdk since it is never used there and
would just increase build time.

(From OE-Core rev: fe634d47449899f7424adb77ff5bc7ddf8a07a47)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:11 +01:00
Richard Purdie
7f5d712f37 populate_sdk_base: Allow sdk tar options to be overridden
It can be useful to override or append options to the SDK tarball creation command
so add a variable to allow this.

(From OE-Core rev: ae86a46c1b255e7c2833eb6d48ed46eba440e95a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:11 +01:00
Richard Purdie
16e59f3ba7 crosssdk: Construct target_exec_prefix from prefix_nativesdk
${exec_prefix_nativesdk} doesn't exist so use prefix_nativesdk instead.
This resolves issues for code which attepts to use target_exec_prefix.

(From OE-Core rev: cd1ac8257ed2701cbe3802870183e8e1cd3b0418)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:11 +01:00
Richard Purdie
694f034ec0 package.bbclass: Fix handling of symlinks in debug packages
When copying the sources for the debug source package we use cpio -Ll
which means to copy files as hardlinks and to dereference symlinks.
It appears there is a bug in cpio since -Ll will copy symlinks and
not dereference them. We therefore do a second pass over copied symlinks
resolving them into files. Ideally we would copy these as hardlinks as well
however it doesn't seem worth the extra code and effort for what amounts
to a corner case for a minor space improvement.

This means that the -dbg packages no longer contain broken symlinks.

[YOCTO #5020]

(From OE-Core rev: 2ca2c4747f645a0d478c2171fff4c65752188285)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-23 16:20:11 +01:00
Richard Purdie
199b1a8c7d mkfontscale: This no longer needs a full libx11, xproto suffices
configure just looks for xproto so we can drop the libx11 dependency and
reduce the amount we build for some small performance improvements and
less of the -native stack.

(From OE-Core rev: e473e60d5572f36829068f6d3db9ce9ba9633d71)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 18:30:06 +01:00
Saul Wold
6bdf025280 gnupg: Update to 2.0.21
(From OE-Core rev: d7481ee36f6bd0416eb35d8c40cb3ed9f2395a2f)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 18:30:06 +01:00
Saul Wold
30f85aabe0 valgrind: Backport patch for eglibc 2.18
(From OE-Core rev: 7005f1cd52d64a96a252becd5b1ee7bb5c79ca1a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 18:30:05 +01:00
Saul Wold
d429204867 libsdl: Backport xData32 patch for x11 update
(From OE-Core rev: afe343211c3f5d98717e7952e4d332d70a3b992a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 18:30:05 +01:00
Kai Kang
0bc5f7c8f6 libx11-diet: upgrade to 1.6.1
Deleted keysymdef_include patch as it's been merged upstream

(From OE-Core rev: 02c78a1cc849c931f802693e654a72dac71ffb85)

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

[sgw - Removed PR and tweaked commit message]

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 18:30:05 +01:00
Kai Kang
f0a690dd9d libx11: upgrade to 1.6.1
Upgrade libx11 to version 1.6.1.

Update:
* Remove PR and INC_PR.
* File Xcms.txt position changes.
* Drop backport patch keysymdef_include.patch.
* Update disable_tests.patch.

[YOCTO #4973]

(From OE-Core rev: 9e2d9608464c189ec460930570557c48d78108bb)

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

[sgw - Removed PR and INC_PR]

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 18:30:05 +01:00
Khem Raj
81f99896fa eglibc: Update SRC_URI and fix unpackaged empty dir
eglibc 2.18 has now been branched out so point to new
tarballs

(From OE-Core rev: e0c2dd275827a4b37b8116d0f0119333638461af)

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-08-22 18:30:05 +01:00
Marko Lindqvist
e498471b0f boost: fix build when PARALLEL_MAKE is not set
It was passing "None" to bjam, which then parsed it as unknown build target.

(From OE-Core rev: 0a323abab1961caa334035f4f263f1787b3d7cc7)

Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 18:30:05 +01:00
Marko Lindqvist
068069bb1a libsdl2: add recipe
(From OE-Core rev: 41e0d3ed02017ad9d652275b7083b5b85cf49acc)

Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 18:30:05 +01:00
Kai Kang
fef7b40aa9 bc: add patch to fix segmentation fault
When run 'bc -l', it segmentation faults. Apply patch from BLFS to fix it.

Ref:
http://www.mail-archive.com/blfs-support@linuxfromscratch.org/msg04601.html

(From OE-Core rev: ae3158e0cfbfa1f1027976bff34ad502eeb28583)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 18:30:04 +01:00
Yevhen Kyriukha
2d4b261dd3 connman: fix systemd support for connman-* packages.
This patch fixes systemd's postinst/postrm script generation.

(From OE-Core rev: 657c7724966fdbd1236cb003419f01c885bcd570)

Signed-off-by: Yevhen Kyriukha <kirgene@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 18:30:04 +01:00
Lauren Post
557d1c74bf directfb: add fusion patch for hangs
The following tests hang on exit:   direct_test, fusion_skirmish

(From OE-Core rev: 46b8009d668478c5ed3e8b64c65f1de2a4dc25b3)

Signed-off-by: Lauren Post <lauren.post@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 18:30:04 +01:00
Lauren Post
f1bcf10134 directfb: Upgrade to 1.6.3
Remove mesa patch as 1.6.3 provides compatibility with mesa

(From OE-Core rev: 00c078ff442676acf5f4653fe8c5ebf29de811a4)

Signed-off-by: Lauren Post <lauren.post@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 18:30:03 +01:00
Jonathan Liu
0c3a3a5da2 mesa: enable additional drivers for gallium-llvm x86/x86-64
The additional Gallium drivers are needed for open source ATI Radeon
and NVIDIA graphics drivers.

The radeonsi and r600 drivers require LLVM 3.3 built with r600
PACKAGECONFIG so they must be explicitly enabled by adding r600 to the
mesa PACKAGECONFIG.

(From OE-Core rev: 1d08cef09cc7cbf682e8b372987fe4456961272b)

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-22 18:30:03 +01:00
Cristian Iorga
851163a7c6 builder: register directories with pcmanfm
Register directories to be opened with PCManFM
filemanager using xdg-open in Build Appliance.

(From OE-Core rev: 06d1e6db91497ad86803f9a5ed2346cd23cfa744)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 18:30:03 +01:00
Jonathan Liu
07130f72d8 xf86-video-vesa: remove duplicate xf86driproto from DEPENDS
(From OE-Core rev: 34ada56cf08012ae59977a991025b18099d02fb3)

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-22 18:30:03 +01:00
Jonathan Liu
2bbb01d34e xf86-video-intel: remove duplicate xf86driproto from DEPENDS
(From OE-Core rev: f2d3df7ccd8798ce40d95c9900039016c1276ce7)

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-22 18:30:03 +01:00
Paul Eggleton
88c568c998 gst-plugins-good: fix orc enabling via PACKAGECONFIG
An extra --disable-orc was being added to EXTRA_OECONF regardless of
whether orc was in PACKAGECONFIG, drop this.

(From OE-Core rev: 0fbb6b6a2bae4d5df21dc9606e7befeb6ad24429)

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-08-22 18:30:02 +01:00
Marko Lindqvist
58eb62b3df texinfo: correct dont-depend-on-help2man.patch
Patch needed only with automake-1.13 no longer worked as expected
after texinfo has been updated to version 5.1.

(From OE-Core rev: abda8c052e2c4098c828671c9dd46993c1e81de2)

Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 18:30:02 +01:00
Roy.Li
78de8222d6 shadow: backport a patch to make newgrp work
Backport a Debian patch to fix the reading of the
gshadow file in order to make newgrp work correctly.

(From OE-Core rev: 3ef8db6217f7c40a9eb063d21ce6f25b16d88d53)

Signed-off-by: Roy.Li <rongqing.li@windriver.com>

[sgw - tweaked commit message]
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 18:30:02 +01:00
Otavio Salvador
26e543cb21 distro_features_check.bbclass: Allow checking of required/conflicting features
This add support to list required/confliting distro features for a
recipe; this avoids user mistake when building recipes/images which
would not work depending on DISTRO_FEATURES option set.

Adding:

,----[ Use example ]
| inherit distro_features_check
|
| REQUIRED_DISTRO_FEATURES = "x11"
| CONFLICT_DISTRO_FEATURES_mx6 = "wayland"
`----

In the image recipe allow us to make clear to user that this image
needs X11 and /cannot/ be build with Wayland support in i.MX6
platforms, for example.

(From OE-Core rev: a7519be6a23869ebafbf712370dab86ab92f68a5)

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-08-22 18:30:02 +01:00
Mark Hatle
db60ee702f package_ipk: Add support for PACKAGE_EXCLUDE
This uses the new --add-exclude arguments in opkg-cl, to list the excluded
packages.

If an excluded package is needed for the install to resolve,
an error will be generated.  Recommended packages will not
generate an error.

(From OE-Core rev: 6d7f5581bbfaf174edb77d92846e720e8057481c)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 18:30:01 +01:00
Mark Hatle
feae7a0107 opkg: Add support for excluding packages from the install
This adds a new argument to opkg-cl, --add-exclude, which is
used to add package names to the list of packages to exclude
from the install.

If an excluded package is needed for the install to resolve,
an error will be generated.  Recommended packages will not
generate an error.

(From OE-Core rev: 63c61b7c0c8aeb89661e3bb85e281dd1ef5b618c)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 18:30:01 +01:00
Mark Hatle
e58d0fdb66 package_ipk: Add support for NO_RECOMMENDATIONS
Uses the opkg --no-install-recommends option.

(From OE-Core rev: e36c9947c82be034133a27db6e0f7a769daeb185)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 18:30:01 +01:00
Mark Hatle
c52820b403 opkg: Add --no-install-recommends option.
The new --no-install-recommends option is similar to the behavior of
apt-get's --no-install-recommedns.  Only required packages will be
installed.

(From OE-Core rev: 86a30a88cf89ed97c372c391169f4ae243c89fd2)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 18:30:01 +01:00
Mark Hatle
388278818d package_deb: Add support for NO_RECOMMENDATIONS and PACKAGE_EXCLUDE
Add support for NO_RECOMMENDATIONS and PACKAGE_EXCLUDE.  Also add a
warning that ensures users know that BAD_RECOMMENDATIONS support is
not implemented in the debian package/rootfs classes.

(From OE-Core rev: 42b115b6d65c8205acb77b96db481f3e5172266b)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 18:30:00 +01:00
Mark Hatle
dc5f6c3898 package_deb.bbclass: Use the WORKDIR not SYSROOT for temp files
Previous debian APT configuration was using the sysroot directory.
This not only polluted the sysroot, but violates the expectation that
the sysroot is not modified by the rootfs installation.

(From OE-Core rev: 2db14eaa0fcc080bc20fa9da985ffc05c3b21e2a)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 18:30:00 +01:00
Mark Hatle
7ba54b91f8 package_rpm.bbclass: NO_RECOMMENDATIONS support
Add NO_RECOMMENDATIONS support.  A way to disable all recommended
packages from being installed.  This will help shrink the size of
the resulting filesystem.

Add documentation on NO_RECOMMENDATIONS and BAD_RECOMMENDATIONS.

Note, using NO_RECOMMENDATIONS has side effects such that kernel-modules may
not have been installed.  A user will need to manually add to their image
any kernel-modules required to be on the image for functionality.

(From OE-Core rev: 0341bfa886ea851f5a394051545b4e624d8003dd)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 18:30:00 +01:00
Mark Hatle
33a3eac5a0 python-smartpm: Add support to disable installing recommends
In order to attempt to reduce image sizes by skipping recommended packages,
a new mode was added to smart that only evaluates required packaged.

(From OE-Core rev: 6fd8141bbdcd84c591149d84ad84effc2357de72)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 18:30:00 +01:00
Mark Hatle
479fc7c226 package_rpm.bbclass: Add support for PACKAGE_EXCLUDE to RPM installs
Using the new smart exclude mechanism an error will be generated in the
excluded package is required for the image to be generated.

(From OE-Core rev: 238c46c03d0d9c35523c78b94bfebb57904bac5a)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 18:29:59 +01:00
Mark Hatle
02c96776de python-smartpm: Add support for excluding package from the install
Update smart to support a mechanism for excluding specific packages from the
install process.  An error will be generated if this package is required.

(From OE-Core rev: 87660d636c2ebe76cd9dff2a334f135def9a0cf3)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 18:29:59 +01:00
Mark Hatle
a6a3ec1ea0 image.bbclass: Add basic support for PACKAGE_EXCLUDE
Add the foundation for the PACKAGE_EXCLUDE support.

As part of this work, it was noticed that the PACKAGE_INSTALL and
PACKAGE_INSTALL_ATTEMPTONLY were still using he 'normal' version for
dependencies.  This should no longer be necessary as of the change in the way
the complementary package groups (dev, dbg, ptest and others) are defined.
By making this change the dependency tree is more correct than before, and
gives the ability for manipulating PACKAGE_INSTALL and
PACKAGE_INSTALL_ATTEMPTONLY, while adjusting the dependencies at the same
time.

Warning messages will be generated if the user is trying to exclude a
package that was previously in the PACKAGE_INSTALL or
PACKAGE_INSTALL_ATTEMPTONLY variables.

(See additional commits for package manager specific support.)

Add documentation on PACKAGE_EXCLUDE and related variables.

(From OE-Core rev: 208d4d5ef7c5ead35dc27b7808f92ed377377aa4)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 18:29:59 +01:00
Florin Sarbu
02521a40d3 busybox.inc: Avoid error when SYSLOG is not enabled
Add -f to rm of ${D}${sysconfdir}/syslog-startup.conf.${BPN} so as to
not error out when the busybox config used does not have SYSLOG enabled
and DISTRO_FEATURES does not contain sysvinit.

(From OE-Core rev: 4c5756149754d0b18b14595db335f8f5e14cc0a3)

Signed-off-by: Florin Sarbu <florin.sarbu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 15:11:13 +01:00
Ross Burton
06f1ebf206 poky.conf: add Debian 7.1 to SANITY_TESTED_DISTROS
7.1 is a point release with security and bug fixes only, and I can confirm that
it works.

(From meta-yocto rev: 6d667926f795387207f6bed591aff244926f08e2)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 12:54:39 +01:00
Ross Burton
cb6f97b289 genericx86: disable USB autosuspend
USB autosuspend doesn't reliably work with arbitrary hardware, so don't enable
it.

(From meta-yocto rev: 587734848662beb03a699b370470497e4caa2ac1)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 12:53:41 +01:00
Ross Burton
9a3cdfeb73 genericx86: add v86d to machine recommends so Vesa framebuffer works
(From meta-yocto rev: 63b1950f0b24a19dc3c91f5030c1eba5f9c6882b)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 12:53:41 +01:00
Elizabeth Flanagan
b2d8f69089 SDK_NAME: Change to include image name and tune arch
[YOCTO #4618]

When building out multiple toolchains with the same target arch
you can end up having toolchains with the same name. Making
the naming a bit more granular by adding IMAGE_BASENAME and
TUNE_PKGARCH to SDK_NAME and removing TARGET_ARCH from SDK_NAME

(From meta-yocto rev: 4ad6195596f7dcdb8a7131555d7caee630a4b958)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 12:51:59 +01:00
Saul Wold
183e781ac5 upstream_tracking: Update last check dates
(From meta-yocto rev: f03751075aab2fe2bc733eee7ae47fb8a6453ccd)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 12:51:59 +01:00
Saul Wold
c467d8438a maintainers: give guilt-native to Bruce
(From meta-yocto rev: e1eb3f66a933a0e64a735e6484028474b6e9f670)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 12:51:59 +01:00
Cristiana Voicu
d6dc3329a5 upstream_tracking: add NO_UPDATE_REASON for gawk and pango
(From meta-yocto rev: 7763eaea0f3c3e5b63fa7c28e578f676ca1f5ef6)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 12:51:59 +01:00
Cristiana Voicu
136cb5e6b8 bitbake: hob: changes to image combo box from image configuration page
In some cases when a new machine is selected, the image combo
shows the same option. Fixed this issue, because the image
combo box should be reseted.

Fix the counter for the options in the combobox. This bug
was introduced by the templates functionality. The combo box had some
last changes, and I forgot about this counter.

[YOCTO #4858 & #5000]
(Bitbake rev: 457fd80ee6b1b2bcef463e3a83e048da2f8bf805)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 12:51:59 +01:00
Andrei Dinu
8d1e77ec31 bitbake: propertydialog.py : Scrollable windows for long tooltips
In some cases, the length of the description and the brought
in by field was too big. That led to the size of the property
dialog exceeding Hob's size. For long tooltips we use
scrollable windows now.

[HOB #4321]

(Bitbake rev: 78ecabf19bf01e5a662b6e2b865cd93bf47d962b)

Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-22 12:38:12 +01:00
Otavio Salvador
b2ff1add53 poky.conf: Don't force the addition of extra DISTRO_FEATURES
The DISTRO_FEATURES shouldn't unconditionally append items to it. This
makes it impossible to override it inside of local.conf or in a distro
based on Poky.

This moved the definition to poky.conf and created a new variable
(POKY_DEFAULT_DISTRO_FEATURES) which easy overriding of this, for Poky
based distros and used the 'DISTRO_FEATURES_DEFAULT' variable to avoid
duplication OE-Core default.

This makes the override of default DISTRO_FEATURES easier. User can now do:

,----[ Usage example for local.conf ]
| DISTRO_FEATURES = "${DISTRO_FEATURES_DEFAULT} ${DISTRO_FEATURES_LIBC} \
|                    largefile opengl multiarch"
`----

(From meta-yocto rev: 3be81b70202909e273b5b555d8e66e9e644ef2c0)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-20 22:58:04 +01:00
Peter Seebach
f6ab9274bc bitbake: build.py: Provide useful diagnostics when exiting.
Running scripts with 'set -e' produces silent failures with no
diagnostic. Add an exit handler which produces diagnostics, including
details of what was running if the shell seems to be bash.

(Bitbake rev: e213e6a4c297a4f1c22eed15bd7b4cbc0e9eab4f)

Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-20 22:43:42 +01:00
Chunrong Guo
fe227a023e genext2fs: fix memory corruption on powerpc
* fix memory corruption errors on powerpc64
    e.g.
    |$ genext2fs -b 30000 -d . -i 8192 /tmp/tstrootfs
    |  Segmentation fault

(From OE-Core rev: d98f08a7ad95d0b17846276b028a6614f16b6846)

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-20 15:31:26 +01:00
Otavio Salvador
3c1f166ce5 linux-dtb.inc: Fix dtb generation for kernels newer than 3.8
The 3.8 kernel has change the default directory where the dtb file is
stored. The change has been done at:

,----[ Quote of 3.8 kernel change ]
| commit 499cd8298628eeabf0eb5eb6525d4faa0eec80d8
| Author: Grant Likely <grant.likely@secretlab.ca>
| Date:   Tue Nov 27 16:29:11 2012 -0700
|
|     ARM: dt: change .dtb build rules to build in dts directory
|
|     The current rules have the .dtb files build in a different directory
|     from the .dts files. The only reason for this is that it was what
|     PowerPC has done historically. This patch changes ARM to use the generic
|     dtb rule which builds .dtb files in the same directory as the source .dts.
|
|     Cc: Russell King <linux@arm.linux.org.uk>
|     Cc: Arnd Bergmann <arnd@arndb.de>
|     Acked-by: Olof Johansson <olof@lixom.net>
|     Cc: linux-arm-kernel@lists.infradead.org
|     Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
|     [swarren: added rm command for old stale .dtb files]
|     Signed-off-by: Stephen Warren <swarren@nvidia.com>
|     Signed-off-by: Rob Herring <rob.herring@calxeda.com>
`----

This change adds support for both places to backward and forward
compatibility.

(From OE-Core rev: 0ec3710b8dcae311e8d9d676d5f1c6843a81383b)

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-08-20 15:31:25 +01:00
Joe Slater
8d6559c2c5 coreutils: allow for acl support
CQID: 430353

Define PACKAGECONFIG info for acl assuming it
might be a DISTRO_FEATURE.

(From OE-Core rev: a8455a13554088613d4576a74b19294a8b49ff88)

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-08-20 15:31:25 +01:00
Joe Slater
6ef217defd coreutils: add PACKAGECONFIG info for acl support
Updates GPLv2 version of coreutils.  They also want
patches for other packages that might use acl.

CQID: 430353

Add configuration data to enable acl support if
it is a distro feature.

(From OE-Core rev: 8030fdc198c1037ae458899eebd14a4fae04c49a)

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-08-20 15:31:25 +01:00
Chen Qi
005673fc2e initscripts: remove obsolete device_table.txt
device_table.txt was once used by an init script named 'devices' to
create the basic files under /dev. However, it's no longer used now.
The devices init script has been removed, and makedevs command has been
disabled by default in busybox.

Besides, considering the device managers and devtmpfs filesystem, this
file is not likely to be used again. So we remove it.

(From OE-Core rev: cc3842255ade0ad6fb312f06f5e5e1edd9767c94)

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-08-20 15:31:25 +01:00
Chen Qi
059db226a0 init-install.sh: fix to handle the boot partition correctly
Previously, the boot partition was created for the target hard drive
but there was no corresponding entry for it in /etc/fstab. Besides,
even if the boot partition was mounted, it would just result in odd
directory hierarchy like /boot/boot/grub. However, what we really need
is /boot/grub. This patch fixes this problem.

Besides, for future maintance work, this patch also renames some of the
intermediate directories. It uses more descriptive names like /tgt_root
and /src_root. The name of /ssd is dropped.

[YOCTO #5018]

(From OE-Core rev: aa67b1333b4774e1845f562085f7048df65a644f)

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-08-20 15:31:25 +01:00
Chen Qi
d9e7fbad52 init-install.sh: improve hard drive searching process
Previously, only unremovable hard drives are searched and are treated
as candidates of target disks to intall into.

However, it's possible that we're going to install the live image into
a removable media such as an USB. This patch enables this possibility.

In addition, this patch presents more information about the hard drives
so that user may have more knowledge about which hard drive they are
going to install their image into.

[YOCTO #5018]

(From OE-Core rev: 358f0584d779825307eec08c023b5ff14e72cf9e)

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-08-20 15:31:25 +01:00
Paul Eggleton
a42db118a7 tslib: update to 1.1
Drop patches merged upstream. 32bitBE-support.patch wasn't merged, but
no longer applies and similar changes look to have been made; tslib 1.1
works properly on qemumips without it, so this has also been dropped.

(From OE-Core rev: 2e92d845b433f3a1805c310ccda54cfc7dd8b1e1)

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-08-20 15:31:25 +01:00
Otavio Salvador
a8d686ba22 default-distrovars.inc: Add 'DISTRO_FEATURES_DEFAULT' variable
When making distributions based on the default distro-less config, it
is useful to be able to reuse the default DISTRO_FEATURES options
without the need of duplication. The new variable,
DISTRO_FEATURES_DEFAULT, allow this reuse and customization.

So distros can include 'default-distrovars.inc' and use:

,----[ Use example ]
| DISTRO_FEATURES ?= "${DISTRO_FEATURES_DEFAULT} myfeature"
`----

(From OE-Core rev: 660ec04786162ff7f40aa78eb154dc4b5bf6ed9f)

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-08-20 15:31:25 +01:00
Chen Qi
1cf5a36aa9 useradd.bbclass: add missing functions to preinst
The preinst scripts are calling bbnote, bbwarn and bbfatal functions,
but these functions are not written to the preinst scripts.

This patch writes these missing functions to the preinst scripts to
avoid the 'not found' errors.

(From OE-Core rev: ed45f00ef76d189611cda2cb922fa7eb8f86d9cc)

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-08-20 15:31:25 +01:00
Marko Lindqvist
41696b2e8b gettext: update to upstream version 0.18.3
(From OE-Core rev: 5487373672c55d87fbe90117c802d26d99099d03)

Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-20 15:31:25 +01:00
Marko Lindqvist
f07123eb47 gtk+: update to upstream version 2.24.20
(From OE-Core rev: 176e5c5bfdeb2529cc40e35870ac49d75439dfeb)

Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-20 15:31:24 +01:00
Marko Lindqvist
e13de3efc8 glib-2.0: update to upstream version 2.36.4
(From OE-Core rev: 8414bb5a7f2780fc067f1fdc30a56b568cbb7d82)

Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-20 15:31:24 +01:00
Marko Lindqvist
4bf64ec7e3 curl: update to upstream version 7.32.0
(From OE-Core rev: 4ec7eeea49be0bddb688b5bda5d423c4c7f4695d)

Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-20 15:31:24 +01:00
Marko Lindqvist
1b37bb47ad pixman: update to upstream version 0.30.2
(From OE-Core rev: 054db541535967e573f59e32f5b8e2387020231f)

Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-20 15:31:24 +01:00
Marko Lindqvist
2cdfd0909b glib-2.0: use trim_version() to get the source directory
(From OE-Core rev: 0c510da33a0a1a7b0bee8ce9caaf028e1235c291)

Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-20 15:31:24 +01:00
Yang Shi
8b075050e4 hello-mod: Add comment for kernel module package naming
modules bbclass renames kernel module packages with "kernel-module-" prefix
automatically.

(From OE-Core rev: 6640f312062ad6648459f0b75086e9a8614300a9)

Signed-off-by: Yang Shi <yang.shi@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-20 15:31:24 +01:00
Yang Shi
0e78c29313 Revert "hello-mod: Ensure the produced package name begins with kernel-module-"
[YOCTO #4286]

The package runtime mapping rename issue is already fixed by
commit 0bc564af07, the "kernel-module-" workaround
is not necessary anymore for out-of-tree module package, so revert that commit.

This reverts commit 71aafc214f.

(From OE-Core rev: b0676d2ffceec3027aee8d2d450ae6318085341e)

Signed-off-by: Yang Shi <yang.shi@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-20 15:31:24 +01:00
Jackie Huang
dd1f60ce1a texinfo: handle correctly @enumerate specification greater than 10
Backport the patch to fix the error when @enumerate is greater than 10:
mpatrol.texi:6356: bad argument to @enumerate

(From OE-Core rev: 9dca06b16fc10743ed879221fadb836733a9332c)

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-20 15:31:24 +01:00
Khem Raj
5cecdfe055 uclibc: Upgrade to latest on git
It brings fixes needed for python3 to work on uclibc/64bit targets

(From OE-Core rev: 01777e78639888d437b103ebafefccd932631bfd)

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-08-20 15:31:23 +01:00
Mark Hatle
29361cd7e5 prelink: update to latest cross-prelink
Sync to latest cross-prelink, as of Aug 1, 2013.

Drop the PR number, no longer needed.

(From OE-Core rev: b59d256349cc0ac19357158be8e63bd52ab9fb51)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-20 15:31:23 +01:00
Khem Raj
c25fa77a4a qemuppc: Change default tune to 74xx
We use mac99 as platform for qemuppc
lets choose a tuning thats appropriate for it

(From OE-Core rev: 9b5572b8014f23747f18a7e0ca30c7094c524920)

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-08-20 15:31:23 +01:00
Khem Raj
7d471bce39 tune-ppc7400.inc: Add tune file
This is appropriate tune for mac99/g4 platform
that we use for emulating qemuppc

(From OE-Core rev: af10ecb57a5eb12c65975043d419f7506ef89b99)

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-08-20 15:31:23 +01:00
Bruce Ashfield
11293d9f5a linux-yocto-3.8/meta: enable ALTIVEC for qemuppc
As part of the qemuppc tuning activities, we are aligning on ppc74xx, and
as a result we can enable ALTIVEC support in the base BSP config.

[YOCTO #1914]

(From OE-Core rev: 81c5c93fb0589dc24c10a4d3722da72d4774db22)

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-08-20 15:31:23 +01:00
Bruce Ashfield
339ecae26e linux-yocto-3.8/meta: update drm and intel power management settings
Updating the meta branch SRCREV to import the following config
changes:

  f706bd4 drm-emgd.cfg: convert some config options from y to m
  5995fa5 meta: features/power/intel.cfg

(From OE-Core rev: 1c9703c9e8b79f5c225c585c154416c1e7e6899f)

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-08-20 15:31:23 +01:00
Saul Wold
6382979cca cronie: fix out of tree build
(From OE-Core rev: fd9e591f266e1a6c183e77f24e50d31e0d52bdd5)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-19 11:25:23 +01:00
Khem Raj
2a48e9007c qemu: Fix bit extraction for MTFSFI and MTFSF
Power ISA 2.05 enhancements introduced regression
in mtfsfi implementation. Fixed thusly

[YOCTO #4854]

(From OE-Core rev: b8952942aed77473d3b44a17112cbf6a9e83eff3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16 11:44:18 +01:00
Paul Eggleton
752df39cd2 buildhistory-collect-srcrevs: match new buildhistory-diff command line parsing
* Default buildhistory directory to buildhistory/ under the current
  directory and require an option to set it
* Show a description in the help output

(From OE-Core rev: 64aa7d0b53f6ad45ab1a2121e917d7a512097407)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16 11:44:17 +01:00
Paul Eggleton
2a9d9b6a99 buildhistory-diff: improve command-line handling
Improve command-line argument handling of buildhistory-diff to make it
easier to use.

* Default buildhistory directory to buildhistory/ under the current
  directory and require an option to set it (since most users will
  likely run buildhistory-diff from the build directory and keep
  BUILDHISTORY_DIR at its default location)
* Default from-revision to "build-minus-1" to get the difference from
  the previous build with no arguments
* Allow from/to revisions to be specified by from..to (since git accepts
  this form).

(From OE-Core rev: 5e2be70e89820ffc74208d225fe4414fe5182050)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16 11:44:17 +01:00
Paul Eggleton
c5d2e9caca classes/buildhistory: avoid mangling names in dot graphs for images
We were mangling names here to avoid characters that are invalid for dot
node names, but if you just quote all names that isn't necessary and we
retain the original naming, allowing easy searching of the graph files.

(From OE-Core rev: 99efdad886aa5063a68912846c00a46ba9b15536)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16 11:44:17 +01:00
Paul Eggleton
1e8e24358a classes/buildhistory: tag last 3 build revisions
This makes it easier to obtain the difference from the last three
builds particularly where a single build might account for more than one
commit in the buildhistory git repository (e.g. if package and image
changes occurred).

(From OE-Core rev: 9512f3787295d662678c2943da31197c8df39e99)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16 11:44:17 +01:00
Paul Eggleton
742266d660 classes/buildhistory: show command line in commit message
Record the bitbake command line in the commit message as a further
context indication.

(From OE-Core rev: 34fb802b2170f0fe208e54e7a4d18f663db72f90)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16 11:44:16 +01:00
Martin Jansa
855b3252d9 classes/buildhistory: record size of installed package not compressed archive
* usually it's more important to know how much space will each
  package take on target device then size of compressed package
* example for libewebkit0 with 4 different architectures, interesting
  that om_gta02 .ipk is bigger but it's smaller when installed

  before:
  MACHINE     DEFAULTTUNE       SIZE (.ipk file)
  om_gta04    cortexa8t-neon    15996 KiB libewebkit0
  qemux86_64  x86-64            16992 KiB libewebkit0
  spitz       xscale            16148 KiB libewebkit0
  om_gta02    arm920t           16260 KiB libewebkit0

  after:
  MACHINE     DEFAULTTUNE       SIZE (installed)
  om_gta04    cortexa8t-neon    60544 KiB libewebkit0
  qemux86_64  x86-64            63720 KiB libewebkit0
  spitz       xscale            60588 KiB libewebkit0
  om_gta02    arm920t           56268 KiB libewebkit0

(From OE-Core rev: 85e4a77138381a6086d5ebd3a28cb5a94bc26a19)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16 11:44:16 +01:00
Paul Eggleton
23575b4fdb classes/buildhistory: remove default of BUILDHISTORY_CHECKVERBACKWARDS
Since this variable is no longer used, we don't need to set a default
for it.

(From OE-Core rev: a5230835c539781b5b035dc6d0be3cac5a5bd305)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16 11:44:16 +01:00
Cristiana Voicu
de9614711b cronie: upgrade to 1.4.11
LIC_FILES_CHKSUM changed because cron.h doesn't exist anymore.
Replaced it with cron.c.

(From OE-Core rev: c1f3eabece0bb998c46367c06e3433696f97225c)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16 11:44:15 +01:00
Cristiana Voicu
660601bd97 sudo: upgrade to 1.8.7
Removed a patch because the changes were merged upstream.
Also, the license had some modifications in two files.

(From OE-Core rev: 13ba4490f6422109f934ed36809bd52d44577574)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16 11:44:15 +01:00
Paul Eggleton
48bdcd7b2f maintainers.inc: add entries for libav, x264 and yasm
These were recently added by me and I'm prepared to continue maintaining
them.

(From meta-yocto rev: c31d43ba3799bd54e143505db38910574e6233ec)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16 11:27:57 +01:00
Cristiana Voicu
ff39c793cb package_regex.inc: Add regex for atk
This is GNOME, 2.[odd] are development releases.

(From meta-yocto rev: 4aeaf195e10ecf053acae768ff800c0245f4e15f)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16 11:27:57 +01:00
Cristiana Voicu
1b3f8ac9cf bitbake: hob/retrieveimagedialog: change labels
Some labels needed to be changed in order to respect the convention.

[YOCTO #4999]
(Bitbake rev: 110b485eac6adea242297b7942da8710403c465a)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16 11:21:03 +01:00
Paul Eggleton
840a427ed2 bitbake: taskdata: report close matches with NoProvider errors
Assuming there is no known reason why an item is not provided, show
close matches on the assumption that it might have been a typo or
other mistake.

(Bitbake rev: ed81b0856b4a3892b53d39871eaaa6273390ea75)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16 11:21:02 +01:00
Paul Eggleton
baaa7adc16 bitbake: runqueue: report close matches for an invalid task name
Help to pick up mistakes such as "bitbake -c cleanstate xyz" (instead
of "bitbake -c cleansstate xyz".)

(Bitbake rev: 15c3db1cffdffd85641c6b12e77f19ce7a553472)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16 11:21:02 +01:00
Saul Wold
6b01c97c7a texinfo: add perl RDEPENDS and fix up packaging
This new version of texinfo uses perl for the conversion process.

The perl modules are installed in ${datadir}/texinfo which was getting
pulled into the -doc package, since FILE_${PN} is a full override, add
it back.

(From OE-Core rev: f0b6734182a5505fad7d26bc67a2141e51bc7a9d)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16 11:14:36 +01:00
Chen Qi
2b204500bd openssh: fix for read-only rootfs
If the rootfs is read-only and the ssh keys are not available at system
start-up, the init script will generate ssh keys into /etc/ssh, thus
causing a 'read-only file system' error.

In order for Yocto based image to work correctly for read-only rootfs,
we use the following logic for openssh.

If the rootfs is read-only and there are pre-generated keys under /etc/ssh,
we use the pre-generated keys. Note the pre-generated keys are mainly for
debugging or development purpose.
If the rootfs is read-only and there are no pre-generated keys under
/etc/ssh, we use /var/run/ssh as the location for ssh keys. That is, at
system boot-up, the generated ssh keys will put into /var/run/ssh.

[YOCTO #4887]

(From OE-Core rev: 2ed44745024f04aa4e00ddba3009153c6b47c8e9)

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-08-16 11:14:36 +01:00
Chen Qi
0b66192825 irda-utils: fix for read-only rootfs
The init script for irda writes configuration items to /etc/sysconfig/irda
if that file is not available in system. But it's actually not necessary,
the behavior doesn't change whether the init script writes to the file or not.

Considering it issues error messages in case of a read-only rootfs, I delete
the writing process.

[YOCTO #4103]
[YOCTO #4886]

(From OE-Core rev: f88a101bc0caa7b486527f0d337406651cbaeb0d)

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-08-16 11:14:36 +01:00
Chen Qi
4485cd903e populate-volatile.sh: use 'cp -a' to avoid potential problem
Previously, dead links in target directory will not be copied.
This is incorrect as dead links are not uncommon in our rootfs.
So we use '-a' option instead.

(From OE-Core rev: 742440441222e0627abbdd3eb2ee16401e8f4adf)

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-08-16 11:14:36 +01:00
Chen Qi
a7e8f83cbe runqemu-internal: fix to start X correctly in live images
The QEMUOPTIONS for ISOFS was not complete, leading to failures when
trying to start X in live images.

This patch fixes this problem.

[YOCTO #4103]
[YOCTO #4884]

(From OE-Core rev: 08947869917dc5a9dfff05b0ee19279f60cf6d2b)

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-08-16 11:14:35 +01:00
Chen Qi
0123eb924d populate-volatile.sh: don't spawn background process at rootfs time
If we're building a read-only rootfs, we'll get the following error now
and then.

    tar: .: file changed as we read it

The root cause is that we spawn background process at rootfs time.
When the tar command is running, it's possible that files under rootfs
are changed by background processes, thus this error.

[YOCTO #4937]

(From OE-Core rev: 4bd419f95868d5b8707a45cee5f6c5c6a840a65b)

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-08-16 11:14:35 +01:00
Chen Qi
43c5b5f534 populate-volatile.sh: use $ROOT_DIR/var/volatile/tmp as TMPDIR
It's possible that a 'No such directory' error occurs when doing
check_requirement in populate-volatile.sh at rootfs time. This is
because the $ROOT_DIR/var/tmp might be a dead link.

Use $ROOT_DIR/var/volatile/tmp as the TMPDIR instead to avoid this
error.

[YOCTO #4883]
[YOCTO #4103]

(From OE-Core rev: 7c2c36a97bab46c73a3a1fb743ad3ec67a4c072e)

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-08-16 11:14:35 +01:00
Chen Qi
11660bc1c6 udev: remove implicit dependency on initscripts
At some point, the udev was modified to source the functions from
initscripts or lsbinitscripts. This dependency is actually not needed.
If we use udev in a system where initscripts from oe-core is not available,
there will be errors.

This patch fixes this problem by removing the implicit dependency.

[YOCTO #4882]
[YOCTO #4103]

(From OE-Core rev: 72d6825c24f4c3e4a7a907cf0a09e2e8f7720ae8)

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-08-16 11:14:35 +01:00
Chen Qi
7ab93ec664 init-live.sh: make $ROOT_MOUNT/media writable when necessary
If the live image is mounted as read-only, we cannot make necessary
directories under $ROOT_MOUNT/media, so trying to move the mount points
lead to errors.

So in case that no unification filesystem mechanism is available in kernel
and the rootfs is mounted as read-only, we mount tmpfs on $ROOT_MOUNT/media
so that it's possible to make necessary directories under it.

[YOCTO #4881]
[YOCTO #4103]

(From OE-Core rev: aeeb3418ff08dfd29edc0ce8a41cb6887d4e11fe)

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-08-16 11:14:34 +01:00
Chen Qi
771f794eed device_table-minimal.txt: use user/group names instead of uid/gid
Instead of hard coding the uid/gid, we prefer the way of using user/group
names.

Note the way of using uid/gid is still supported.

[YOCTO #1159]

(From OE-Core rev: c5ef0294a9b8d178896a47c9f5d6e3dd6797e343)

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-08-16 11:14:34 +01:00
Chen Qi
033baea93d image.bbclass: create device table after package installation
Now that the makedevs supports using user/group names in the devcie
table files, and it uses passwd and group files under the rootfs which
is provided by the base-passwd package, we should let package installation
finish first, so that makedevs can get a correct mapping from user/group
names to uid/gid.

The check for existence of ${IMAGE_ROOTFS}/dev is removed. This is because
do_rootfs doesn't have 'nostamp' flag any more, so the do_rootfs task will
not be rerun for every build. Checking for the existence of ${IMAGE_ROOTFS}/dev
is not necessary any more. Besides, as base-files package also installs the
/dev directory, this checking does not serve as a good criteria.

[YOCTO #1159]

(From OE-Core rev: d073ca77ba886c7912abd3ec0640881c00aea3bb)

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-08-16 11:14:34 +01:00
Chen Qi
36d622b4c6 makedevs: support using user/group names in device table files
Compared to hard coding the numeric group and user ids in the device
table files, the way of using user/group names is preferred.

This patch adds the ability to makedevs to correctly deal with device
table files with user/group names in them.

To maintain backward compatibility, the way of using uid/gid is still
supported.

[YOCTO #1159]

(From OE-Core rev: 1fcf718e3a1e50446ab61972069566e5016bc625)

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-08-16 11:14:33 +01:00
Ross Burton
ca367d02fd wipe-sysroots: don't assume TMPDIR is under BUILDDIR
The previous code used the environment variable BUILDDIR and assumed that TMPDIR
was a subdirectory. This often isn't the case, so instead ask bitbake where the
directories we're about to delete are.

(From OE-Core rev: 29491a72acac81ebb7e9ecfbc9392fbeb9a7ea26)

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-08-16 11:14:33 +01:00
Martin Jansa
969f4edcf9 qemu, default-providers: Add mesa as default virtual/egl
* it's safer to select it consistently with virtual/libgl* providers

(From OE-Core rev: d9321da1bf01175a9e3721607df31055e3765bc6)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16 11:14:33 +01:00
Stefan Herbrechtsmeier
8db18b6057 cmake.bbclass: Don't use packages from the native build machine
(From OE-Core rev: 044037d8add3556a90ac4da5991e1e5975d62e25)

Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16 11:14:33 +01:00
Ross Burton
9f9cc59eef matchbox-wm: fix icon handling on 64-bit hosts
Xlib has a historical quirk where 32-bit values are returned in longs (but
always hidden through a cast).  On 32-bit machines this doesn't matter but on
64-bit this leads to problems.  Bump SRCREV to integrate a fix from upstream.

Also, drop the conditional configure_fix.patch, it was integrated long ago.

[ YOCTO #4917 ]

(From OE-Core rev: 09c609afbfb6e9a2504166d0fe8c7ae3d8ae9ebd)

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-08-16 11:14:32 +01:00
Ross Burton
060df944c2 libmatchbox: upgrade to 1.11
Remove check.m4 as libmatchbox uses the check.pc instead of a m4 file now.

(From OE-Core rev: 4f51bf23346947cd47e7ac9e1290e799f3c20708)

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-08-16 11:14:32 +01:00
Martin Jansa
2176388bfc xrestop: add dependency on ncurses
* fails without it
  | xrestop.c:50:20: fatal error: curses.h: No such file or directory
  |  #include <curses.h>
  |                     ^
  | compilation terminated.

(From OE-Core rev: c709fcd7e5f81707ece5f7d085c8c43eed165f7e)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16 11:14:32 +01:00
Martin Jansa
0509aad1d3 xeyes: add dependency on libxrender
* fails without:
  | configure:10604: error: Package requirements (xrender >= 0.4) were not met:
  | No package 'xrender' found

(From OE-Core rev: ceb69dce2cff26153c6e17614a934b9fa8f9f2a5)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16 11:14:32 +01:00
Martin Jansa
78dfc4505a gst-plugins-gl: add dependency on glew
* fails without:
  | ./gstglshader.h:30:21: fatal error: GL/glew.h: No such file or directory

(From OE-Core rev: a3c58aaeb84c711431e78458afabed2f7054d937)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16 11:14:32 +01:00
Martin Jansa
5314bd311c at-spi2-core: add intltool-native dependency
* configure fails without it
  at-spi2-core/2.8.0-r0/temp/run.do_configure.372: intltoolize: not found

(From OE-Core rev: 483abbe91c1320d6c6e3e7a5824de80e427aa50e)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16 11:14:31 +01:00
Muhammad Shakeel
b2568fb4e9 nfs-utils: Replace spaces with tabs in shell function
As per OE-Core convention, indentation should be TAB for shell.

(From OE-Core rev: 91b6d2cf08c5c6ad58f0f9a85a3536a9034342b8)

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-08-16 11:14:31 +01:00
Muhammad Shakeel
e9d02d53f6 rpcbind: Replace spaces with tabs in shell function
As per OE-Core convention, indentation should be TAB for shell.

(From OE-Core rev: a92376f2daf10baf45d99a3de9502b52cbce8b7e)

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-08-16 11:14:31 +01:00
Muhammad Shakeel
04a9cff9e8 lighttpd: Replace spaces with tabs in shell function
As per OE-Core convention, indentation should be TAB for shell.

(From OE-Core rev: d73a0d00554cc197d2eb7e95432252af267d7bca)

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-08-16 11:14:31 +01:00
Chen Qi
4fc37883ad opkg.inc: remove the obsolete POSTLOG variable
With the current implementation of postinst logging mechanism, the
location for log file is configured via the POSTINST_LOGFILE variable.

The POSTLOG variable is obsolete now, thus removing it.

(From OE-Core rev: 6aaf2d5c51eb4ee6acbb85fd4aa5f44406907bc2)

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-08-16 11:14:31 +01:00
Ross Burton
9146bb6970 cogl: GL/GLX feature cleanup
Separate GL and GLX flags don't make sense, as on Linux GL means GLX and GLX
means GL.

So, default to GLESv2 and GLX if X11 is enabled.  EGL on X11 doesn't have
feature parity yet so leave it disabled by default.

(From OE-Core rev: e5f8f6c6191505d731c4672353e811d6729d424a)

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-08-16 11:14:30 +01:00
Otavio Salvador
03b3e4b62f linux-dtb: Use kernel build system to generate the dtb files
As the Linux kernel, unconditionally, builds the dtc application and
it is the compatible version with the DeviceTree files shipped within
the kernel it is better to use it and the kernel build system to
generate the dtb files.

Some DeviceTree files rely on CPP and kernel headers to be able to
generate the dtb binary contents and it is harder to replicate it
outside of Linux kernel build system so we /use/ it.

To comply with these assumptions we need to use the dtb file when
calling 'make' instead of pointing to the DeviceTree source file; the
code has been made backward compatible but it is advised to move to
the new definition to avoid warnings as:

,----[ Original definition ]
| KERNEL_DEVICETREE = "${S}/arch/arm/boot/dts/imx6q-sabresd.dts"
`----

Becomes:

,----[ New definition ]
| KERNEL_DEVICETREE = "imx6q-sabresd.dtb"
`----

(From OE-Core rev: 72980d5bb465f0640ed451d1ebb9c5d2a210ad0c)

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-08-16 11:14:30 +01:00
Cristiana Voicu
53729ac53f systemtap: upgrade to 2.3
Disabled javac and jar.

(From OE-Core rev: 0308bf2619734f07814f55c0adae17937f77afbd)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16 11:14:30 +01:00
Saul Wold
c8eb33bdad meta-skeleton: layer.conf Should also have .bbappend in example
This will allow for an example recipe with a .bbappend, such as
busybox or kernel configure fragments.

(From OE-Core rev: 2a2a2540b37880cdd866f01d8e4077cbd0378749)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-16 11:14:30 +01:00
Saul Wold
ff10f72abd meta-skeleton: Add busybox config fragment example
This shows an example of the config fragment support that
both the linux-yocto and busybox recipes use. This example
is specific to busybox.

By adding busybox CONFIG options into a .cfg file and then
adding that .cfg file to SRC_URI the merge_config.sh script will
correctly handle these CONFIG options during the do_configure task.
The merge_config.sh script uses a last-in wins method.

For more details about this, see the Kernel Development Manual Section 2.2.3
http://www.yoctoproject.org/docs/current/kernel-dev/kernel-dev.html#changing-the-configuration

(From OE-Core rev: 57662d4f813d5795cac1529633db80a09efdb089)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 23:06:04 +01:00
Khem Raj
352701f88d qemu: Skip it for mips64 target
We should not skip it always since same recipes provide
qemu-native too so user class-target override to make it
only skip for target recipes

(From OE-Core rev: 23d633cc65cf31486263f120c71df82186cfdd22)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 23:06:04 +01:00
Kai Kang
18b955559a dpkg: fix include header caused compile error
Build dpkg-native on Fedora 19, it fails with:

/usr/include/c++/4.8.1/cstdlib: In function ‘long long int std::abs(long long int)’:
/usr/include/c++/4.8.1/cstdlib:174:20: error: declaration of C function ‘long long int std::abs(long long int)’ conflicts with
   abs(long long __x) { return __builtin_llabs (__x); }
                    ^
/usr/include/c++/4.8.1/cstdlib:166:3: error: previous declaration ‘long int std::abs(long int)’ here
   abs(long __i) { return __builtin_labs(__i); }
   ^

That because header cstdlib is included in a 'extern "C"' block that gcc
4.8 doesn't support. Fix it by move the header file out of the 'extern "C"'
block.

(From OE-Core rev: 7de61ecc3efc43c625dde9a66f5c05e980a82e34)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 23:06:04 +01:00
Ross Burton
70a16efaa6 oe-setup-builddir: substitute ##OEROOT## when using templates
oe-setup-builddir substitutes ##COREBASE## which seems like it should have the
same value as the variable ${COREBASE}.  In reality it doesn't as ##COREBASE##
is substituted with the value of $OEROOT (the location of the oe-init-build-env
script), whereas ${COREBASE} is set by oe-core to the parent directory of meta/.
If oe-core's meta/ isn't a top-level directory then ##COREBASE## and ${COREBASE}
have different values, which can lead to confusion.

To resolve this, deprecate (but still substitute) ##COREBASE## and substitute
 ##OEROOT# for $OEROOT.

(From OE-Core rev: 1890783928dd1c73105fae32fb6c588afc287ff6)

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-08-13 23:06:03 +01:00
Jukka Rissanen
08aabd47b2 procps: Add cgroup support
(From OE-Core rev: 767383ac80bd52a51d52655f95bb503cd0bb827b)

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 23:06:03 +01:00
Otavio Salvador
9bb0b1c285 blacklist.bbclass: Avoid blacklist specific handle in base.bbclass
base.bbclass had code which handled the PNBLACKLIST in case of
multilib use. This is better to be done in the blacklist.bbclass so it
has all logic in a single place.

(From OE-Core rev: 04f0fefeccc1e7e3af8a1f741350492ae3f171fc)

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-08-13 23:06:03 +01:00
Paul Barker
3aabe00df6 opkg: Fix possible installation of GPLv3 header
opkg is GPLv2+ licensed but it has optional support for sha256 checksums which
was GPLv3+ licensed. This code is not built unless '--enable-sha256' is passed
to the configure script, the default is equivalent to '--disable-sha256'.

However, the header 'sha256.h', which is GPLv3+ licensed, is in the list of
header files to be installed and thus could end up in the libopkg-dev package.
As this header is installed to '/usr/include/libopkg' it is very unlikely that
it will ever be used. However, if you're uncomfortable with GPLv3 code going
anywhere near your target filesystem you won't want this to happen.

The simplest solution is to replace the sha256 implementation in opkg with the
implementation from coreutils-6.9 which is licensed under GPLv2+. This is
committed to the opkg subversion repository as r652/r653.

The only intervening commit between r650 (previous SRCREV) and this is r651,
which integrates 'obsolete_automake_macros.patch' into the opkg sources. Thus
this patch isn't needed in oe-core anymore.

(Note: Before 873689bbabba25e7be5c12317c04519a7bc8d0ef, this header is only
installed if opkg is built in its source tree (ie. ${B}=${S}). After that commit
the header will always be installed)

(From OE-Core rev: 3c6a8a39d820f14f9eb3df3d719cef2c469769da)

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 23:06:02 +01:00
Darren Hart
7590f6926d kernel.bbclass: Correct post(inst|rm) package association
Fixes [YOCTO #4991]

The kernel image is installed as part of the kernel-image package, but
the symlink creation/removal via alternatives is being done in
pkg_post(inst|rm)_kernel-base.

Move the postinst alternatives logic into the kernel-image functions.

(From OE-Core rev: 35f538b117e3387354d2dab1f22c3de28ab1322b)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 23:06:02 +01:00
Saul Wold
80f6f35cd2 groff: Add GPLv2 version
Apparrently a LICENSE change was missed, so we add the GPLv2 version back in

(From OE-Core rev: 002818712fab5c6325b1f7205512945ea87ad76c)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 23:06:02 +01:00
Saul Wold
7677dac20d groff: Fix License to be GPLv3
(From OE-Core rev: 4090c4d9b204118ec9826db02b0739ce60563dd4)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 23:06:02 +01:00
Mark Hatle
0bc564af07 image.bbclass: Move runtime_mapping_rename to avoid conflict w/ multilib
[YOCTO #4993]

Move the runtime_mapping_rename into a prefunc for the do_rootfs function.
Otherwise doing it in the python section could occur BEFORE the multilib
classes renaming.

If the package 'b' is a kernel module, then lib32-b and b should both
point to the same package.  The runtime_mapping code will do this
automatically.

Before if you ran: bitbake lib32-<image>

It may do:

start PACKAGE_INSTALL (a b c)
remap  (a b c)
MULTILIB naming (lib32-a lib32-b lib32-c)

What we want is:

start PACKAGE_INSTALL (a b c)
MULTILIB naming (lib32-a lib32-b lib32-c)
remap (lib32-a b lib32-c)

(From OE-Core rev: 836662c9a9c175521dbcd29cdfc0a7c144d8770f)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 23:06:01 +01:00
Mark Hatle
c8879e23ab rpm: Enable compatibility with older RPM packages that have invalid platforms
Some LSB packages appear to have the platform set to '%{_target_platform}'
which is not a valid platform field.  This causes a failure of the type:

warning: package lsb-test-core-4.1.15-1.x86_64 is intended for a %{_target_platform} platform

When we detect an invalid platform, fall back and try to construct a new
platform name that may be valid based on the arch and os contents of the
package.  (This should only ever be needed by invalid or older RPM packages.)

(From OE-Core rev: 6513fa327aeb7e9fdd313290c205917952eed226)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 23:06:01 +01:00
Mark Hatle
bef0aabeab rpm: Change references from RPM_VENDOR_POKY to RPM_VENDOR_OE
Change the #define references to match RPM_VENDOR_OE.

(From OE-Core rev: a84ecc5ad158a7529a904785de25ebfedf5767a7)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 23:06:01 +01:00
Mike Looijmans
5bac0df201 linux-dtb.inc: Replace /boot/ with /${KERNEL_IMAGEDEST}/
Devicetree files were installed hard-coded in /boot. When KERNEL_IMAGEDEST
is anything else but "boot", the postinstall script and the file locations
no longer match and the postinstall will fail.

Replace "boot" with "${KERNEL_IMAGEDEST}" to fix this problem, and to allow
the devicetree files to be installed in another location.

(From OE-Core rev: 0f589b9a38397fdf55025062a45889b19d1c83c4)

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 23:06:01 +01:00
Chen Qi
693e6a3613 grub_0.97: Fix to correctly ship files under /usr/lib
The grub_fix_for_automake-1.12.patch replaced pkglib with pkgdata to
make grub_0.97 build with automake-1.12. However, it forgot to set up
the pkgdatadir, thus causing grub_0.97 not shipping files under /usr/lib.
This in turn resulted in an unworkable grub.

This patch fixes this problem by setting up the pkgdatadir correctly.

[YOCTO #4997]

(From OE-Core rev: 883b1b396328e6cd67dcb4ca6fd8975b6e716c0a)

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-08-13 23:06:00 +01:00
Alexandru Palalau
dbee00c9e9 lib/oeqa/runtime: add new systemd tests
New systemd runtime tests for enable/disable service, start/stop service and list services.

(From OE-Core rev: 6386dc718f85210c9b6b9f69878ec9a7847b78de)

Signed-off-by: Alexandru Palalau <alexandrux.palalau@intel.com>
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-08-13 23:06:00 +01:00
Stefan Stanacar
1990a6c507 lib/oeqa/runtime: rework syslog test
Add separate tests for restarting syslog and using logger, and
skip the configuration test for systemd images which always fail
because syslog's systemd service doesn't read a config by default
(see YB#4860).

(From OE-Core rev: c75f3e2385dde44ee96e33f4e5d064894dfb7d52)

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-08-13 23:06:00 +01:00
Stefan Stanacar
0ba78c1162 oeqa/utils/qemurunner: get ip old fashioned way and use tcp serial console
The way we read data from the serial console was unreliable and blocking (AutoBuilder
seems to hit that often), so change the serial console type from unix socket to tcp
and reverse the connection - don't let qemu act as server (wait for a connection).
So now the serial console is used to save the boot log and make sure that we reached
the login prompt. Until a better way is found this should solve some of the AutoBuilder
failures (one being YB#4904).

Also we need to use the same method as the old qemuimagetest to get the ip
(from the qemu process arguments), because that it's more reliable.
The first version used here was to log into the target and use the output of
"ip addr show eth0" but then systemd decides that it should rename interfaces,
so that was changed to get the ip of the interface that has the default gw,
but if there is no default gw we'll get the loopback ip and we end up trying to
ssh into the host machine (some recent AutoBuilder runs showed that).

Changed in V2:
 - use -ww for ps, as output might get truncated

(From OE-Core rev: 55e78185110937b7e2b143cf1020426d8df58b72)

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-08-13 23:05:59 +01:00
Stefan Stanacar
bc4b98bd4c classes/testimage: create a link for qemu boot log
The full name for the log is confusing when there are multiple files.
Also move the ssh log path stuff where it's needed.

(From OE-Core rev: 1dbef61a0776ec6c9ac9209442bb4c346e706d7d)

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-08-13 23:05:59 +01:00
Ross Burton
32a36db2a8 mesa: fix and enable out-of-tree builds
One patch (submitted upstream) for when Gallium is enabled, and another
(inappropriate for upstream) to fix out-of-tree builds with
0003-EGL-Mutate-NativeDisplayType-depending-on-config.

(From OE-Core rev: fbc7092f0ae07538d4363679b1597ba4e556d1a8)

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-08-13 23:05:59 +01:00
Paul Eggleton
07fdfd61b3 gst-ffmpeg: set SUMMARY instead of DESCRIPTION
We only have a short description, so set SUMMARY and DESCRIPTION will be
defaulted from it.

(From OE-Core rev: 33fc0caa169c8d0c707977e387bda6a23630ee12)

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-08-13 23:05:59 +01:00
Paul Eggleton
7a07f71516 gst-ffmpeg: enable using yasm during build
A recipe is now available for this, and it should enhance performance on
x86/x86-64.

(From OE-Core rev: 39aab68c1d60cb071bbd0c5d21b94222c89209a3)

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-08-13 23:05:58 +01:00
Paul Eggleton
988f625f16 gst-ffmpeg: merge in bbappend from meta-oe
* Enable external libav for better optimisations/additional bugfixes
  (internal ffmpeg copy is quite old), default enabled but can be
  disabled using PACKAGECONFIG
* Add a PACKAGECONFIG for orc, disabled by default in line with other
  gstreamer recipes
* Bump PR to r7 so the bbappend can be dropped without PR going
  backwards

(From OE-Core rev: aab668fbba25d3e590e4182224b7b064d7705c5b)

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-08-13 23:05:58 +01:00
Paul Eggleton
4acdab05e9 libav: add from meta-oe, update and tweak
Changes from the meta-oe recipe:
* Update stable recipe to 0.8.8
* Update git recipe to the tag for 9.8 (for now)
* Switch over to a tarball for the release version recipe
* Add LICENSE_FLAGS = "commercial"
* Set SUMMARY instead of DESCRIPTION
* Add yasm-native to DEPENDS since there is now a recipe for it
* Remove libvpx from DEPENDS and add a PACKAGECONFIG option for it,
  disabled by default since it wasn't actually being enabled
* Add a PACKAGECONFIG option for x11 to enable/disable x11grab, and
  add the proper DEPENDS if so (still defaults to enabled)
* Add a number of other PACKAGECONFIG options, replacing some old
  comments as well as offering the ability to disable x264.
* Hide text relocation warning when building for i586 (PIC can't be
  enabled for 32-bit x86).
* Drop PR

Notes for the git recipe:
* This hasn't been able to be built recently in meta-oe since there was
  a circular dependency between libav and libpostproc. libpostproc is
  part of libav 0.8.x but was split out in 9+ and is not needed at all
  anymore by libav itself, so this dependency was removed.
* Additionally the recipe was filtering out the option to enable
  libpostproc but this option wasn't being added by the inc file and
  thus the filter wasn't doing anything, so I dropped this as well.

(From OE-Core rev: 9a670f780b1f1204d426017ff9a95842ad85800e)

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-08-13 23:05:58 +01:00
Paul Eggleton
7071131200 x264: add from meta-oe, update and tweak
This is required by the default configuration of libav being brought over
from meta-oe. Changes from the meta-oe recipe:

* Update to the latest revision from the stable branch (upstream does
  not seem to provide stable releases.)
* Add LICENSE_FLAGS = "commercial"
* Enable PIC to fix text relocation warnings and disable warning for
  i586 (since PIC can't be used there)
* Make SUMMARY value slightly shorter
* Indent SRC_URI consistently with other recipes in OE-Core

(From OE-Core rev: a3ca077285003fbc04d134e875a58a745271e47f)

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-08-13 23:05:58 +01:00
Paul Eggleton
2d493e9b24 yasm: add from meta-oe and tweak
This is needed for x264. Enabling it for libav also improves performance
on x86 and x86-64. Two minor changes from the meta-oe recipe:

* Set SUMMARY instead of DESCRIPTION
* Drop setting of S - it was setting it to the same as the default

(From OE-Core rev: 2619c81d6641ef5d4dee58c128a1af140429c248)

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-08-13 23:05:58 +01:00
Scott Rifenbark
0c0ac7dd3a ref-manual: Updates to insane.bbclass and two new variables added.
* Updated the insane.bbclass section to move the note at the
  end about using ERROR_QA and WARN_QA to control how the
  checks are reported to the front of the section.

* Added new variable entries for WARN_QA and ERROR_QA.

(From yocto-docs rev: 6f220d1ba3d44a1bba2f1ac882cdf6b601ddc5bb)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:19:00 +01:00
Scott Rifenbark
35655863ca ref-manual: Review comments added, new variables added
* Updated some links in the insane.bbclass sectioni so they
  now point to some new variables.

* Added glossary descriptions for PKGD, PKGDEST, and
  INCOMPATIBLE_LICENSE.

* Added a paragraph to the LICENSE variable to describe
  situations where the output might have components whose
  licensing is from two different licenses (licensing on
  a per-package basis).

(From yocto-docs rev: b8dd3b3d5cb912ed7c5d3c9b6c01d93347e95b84)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:19:00 +01:00
Scott Rifenbark
b7c167af1c ref-manual: Small wording change to installed-vs-shipped test.
(From yocto-docs rev: 40257d5011dbc22d1d40e13f8ae2229b8e5de50c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:19:00 +01:00
Scott Rifenbark
a89b418d3f ref-manual: Added more QA checks to the insane.bbclass.
Fixes [YOCTO #4788]

Added a bunch of new checks to the list of checks in this
class.  I also recast the section head to just have the
class file as the section heading.  This resulted in a link
that needed changed.

(From yocto-docs rev: 4a4df80c0b6012ad09ea526d2893e729aa06965b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:59 +01:00
Scott Rifenbark
e26f253059 ref-manual: Review comments to a few variables.
Applied some minor review comments from Paul for some variables
in the reference.

(From yocto-docs rev: 231031c291367f3b8f6b1f44d4a0b1804d8e9d9f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:59 +01:00
Scott Rifenbark
d4ee32a3d7 ref-manual: updated the IPK_FEED_URIS variable.
When I added this variable, I cut-and-pasted from the
INSANE_SKIP variable, which appears directly in front of
this new variable.  I failed to change the name of the
variable from the copied INSANE_SKIP to IPK_FEED_URIS.

Fixed.

(From yocto-docs rev: 3138ba59d90dbdd11be524598c3996a6824bc424)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:59 +01:00
Scott Rifenbark
ee96b1bfd5 ref-manual: updated LIC_FILES_CHKSUM exmaple
Fixes [YOCTO #4975]

Changes made to be sure that we are not assuming WORKDIR is a
child of the 'S' directory.

(From yocto-docs rev: c47b65c008ee45873e3bf61c7aaea18ca9744007)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:58 +01:00
Scott Rifenbark
56e0326d42 dev-manual: udates to toaster section.
Fixes [YOCTO #4730]

Edits to the new section on toaster.  These are from Belen's review.

(From yocto-docs rev: f1462bd53bf39c706a87af86830a92b451b3e00c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:58 +01:00
Scott Rifenbark
9de2165aff ref-manual: Edits to the IMAGE_TYPES variable.
(From yocto-docs rev: 973bae5361ca3205c467cc7445cf83462f422edb)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:58 +01:00
Scott Rifenbark
0615dc0a57 dev-manual, ref-manual, yocto-project-qs: Debian support added
Fixes [YOCTO #4912]

Throughout the manual set, various areas talk about the Linux
distributions we support and the required packages among other
items that are tied to a distro.  Debian had been missing except
from the list in the ref-manual that shows the releases we test
against.

I have attended to all areas where Debian needs to be mentioned
now.

Reported-by: Laszlo Papp <lpapp@kde.org>
(From yocto-docs rev: 2004567821add745d320106b0dc6cccb4f73b605)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:57 +01:00
Scott Rifenbark
e0fa185bf6 yocto-project-qs: Fixed path typo for a download.
Fixes [YOCTO #4996]

In section "Building an Image" the first Tip box has example
file location "poky-dylan-9.0-build/conf/local.conf". It should
be "poky-dylan-9.0/build/conf/local.conf".

This particular error had propagated into 1.4.1 and 1.4.2.  I have
fixed all versions.  This commit though is for the dylan HEAD, which
will show up with the 1.4.2 release.  The best I could do for
1.4 and 1.4.1 was to pull local versions of the branch, fix,
rebuild and push to the website.

Reported-by: Juuso Korhonen <korhonen.jusso1@gmail.com>
(From yocto-docs rev: 8c42b68a4632ad9300232501c45fae61edd37475)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:57 +01:00
Scott Rifenbark
198d34d44f ref-manual: Edits to IMAGE_FSTYPES and IMAGE_TYPES variables.
(From yocto-docs rev: f852fff164e926f3b821c59f293904125cbb17bd)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:57 +01:00
Scott Rifenbark
7f7ede120d ref-manual: Added IMAGE_TYPES variable and updated IMAGE_FSTYPES.
(From yocto-docs rev: f360973500b92a93311ac5e62b09aee9a4bdeebb)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:56 +01:00
Scott Rifenbark
f5c7a1f92a ref-manual: updates to TARGET_ARCH and KARCH variables.
(From yocto-docs rev: c466ca5b8e9c4fb1824b3cb1bd9d53a300696a2d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:56 +01:00
Scott Rifenbark
a3d3c7dad4 bsp-guide: Updated the returned KARCH list for yocto-bsp script.
(From yocto-docs rev: a01e2e4990f1db40bccabd4c32b2740f01aaf044)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:56 +01:00
Scott Rifenbark
f8d18fbac4 yocto-project-qs: Updated section on toolchains.
Changed the directory to x86_64 from x86-64.  Also specically
stated we support 32-bit and 64-bit stuff for x86 systems.

(From yocto-docs rev: 6338469059b7ac6547f53a2da973f76e338c5124)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:56 +01:00
Scott Rifenbark
4fc1cd4054 ref-manual: Added new variable IPK_FEED_URIS.
(From yocto-docs rev: 94039032274b17e383be026976736b662e877ee0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:55 +01:00
Scott Rifenbark
61ce3fd240 ref-manual: Added BINCONFIG_GLOB variable and updated binconfig.bbclass
New variable.

Changed the class section to have a reference-like section title.
Added a link back to the GLOB variable.

(From yocto-docs rev: 42dbafc1b64d8572930501f25a0470038721524f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:55 +01:00
Scott Rifenbark
505619965e ref-manual: Applied review edits to several variable descriptions.
Minor changes to a whole lotta variables.

(From yocto-docs rev: a2a175a5138683a9e9deac71b6080cc05cbb801e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:55 +01:00
Scott Rifenbark
6f77a176f7 adt-manual: Organized building a toolchain installer into a section.
An improvement to expose the method by which the user gets a
toolchain installer.  I placed this information in a section of
its own rather than having it buried in a note.

(From yocto-docs rev: a1c2bb48f47cee9ee8c5c079afbcf77a793ca791)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:55 +01:00
Scott Rifenbark
089fcba0c5 ref-manual: Edits and additions to glossary
Some items updated and several new variables added:

* Review edits to SERIAL_CONSOLE
* Added TRANSLATED_TARGET_ARCH
* Added SOLIBSDEV
* Added SOLIBS
* Added OLDEST_KERNEL
* Added INTERCEPT_DIR
* Added ALTERNATIVE
* Added ALTERNATIVE_LINK_NAME
* Added ALTERNATIVE_PRIORITY
* Added ALTERNATIVE_TARGET
* Added COMMON_LICENSE_DIR
* Added EXCLUDE_FROM_WORLD
* Added INITRAMFS_FSTYPES
* Removed commented out BUILDHISTORY_CHECKVERBACKWARDS variable.

(From yocto-docs rev: 9c18046e39b3b98e2e788b5c5d05096a3d95add8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:54 +01:00
Scott Rifenbark
e5b5b5a9f4 ref-manual: Updated the update-alternatives class
Added some links to four variables that are now documented in the
glossary.

(From yocto-docs rev: de7574be7c805173318b77d39c7b540bff4108df)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:54 +01:00
Scott Rifenbark
203b2f7615 ref-manual: Edits to the binconfig.bbclass section.
(From yocto-docs rev: 7b442239b8dc083c0191e863cb959fb978ea6345)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:54 +01:00
Scott Rifenbark
4888d1e6a1 ref-manual, dev-manual: Review edits for Build Directory wording.
Did some word-smithing to work around a false statement that
implied externalsrc.bbclass needed to be inherited on a
recipe-by-recipe basis.  This affected the usage section and
the glossary definitions for both EXTERNALSRC and EXTERNALSRC_BUILD.

Also updated the "B" variable description to be more accurate
in the use of the term "Build Directory."

(From yocto-docs rev: 46695817b6e44cfa88161699105b8d03a5828fd2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:54 +01:00
Scott Rifenbark
d22a3907f1 ref-manual: Edits to OE_BINCONFIG_EXTRA_MANGLE and binconfig.bbclass
(From yocto-docs rev: d732e0a32d1bc5dccd9bf6522bb9852df3b63ebd)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:53 +01:00
Scott Rifenbark
f9dc302b27 ref-manual: Added glossary entry for INHIBIT_DEFAULT_DEPS variable.
(From yocto-docs rev: d33370a1a1448a339a32f91c171193c7f4d9397e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:53 +01:00
Scott Rifenbark
43bc43ca81 ref-manual, dev-manual: Fixed links for SERIAL_CONSOLE
These manuals had references to the deprecated SERIAL_CONSOLE
variable.  Changed the links to SERIAL_CONSOLES.

(From yocto-docs rev: 998b8524d2111ebfb6bdb3d4620434cd81d92489)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:53 +01:00
Scott Rifenbark
68dd731248 ref-manual: Added glossary entry for SERIAL_CONSOLES variable.
Also, I changed the definition for SERIAL_CONSOLE to indicate
the variable is deprecated.

(From yocto-docs rev: 36c78759b406853ab36f815d741689d5719d1e0f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:52 +01:00
Scott Rifenbark
dc02de31e0 ref-manual: Added glossary entry for SERIAL_CONSOLES_CHECK variable.
(From yocto-docs rev: d4e685033794c504220e30ba92adb7c7da64b753)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:52 +01:00
Scott Rifenbark
a799158fc1 ref-manual: Added a glossary entry for the EXTENDPKGV variable.
(From yocto-docs rev: 87ccd9f922db081c8848bc543b96859600b1a86b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:52 +01:00
Scott Rifenbark
585b2fe78e ref-manual: Added new glossary entry for PACKAGE_INSTALL variable.
(From yocto-docs rev: 15411b77931a039d374c770d71e975aaf34b22c4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:52 +01:00
Scott Rifenbark
367da9198d ref-manual: Added new glossary entry for the PATCHTOOL variable.
(From yocto-docs rev: fa3e46c5a4debada71cbc9899dca506093d2a8c8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:51 +01:00
Scott Rifenbark
af36d33b18 ref-manual: Added two links for FILESOVERRIDES and OVERRIDES
These variables were missing links into the reference section
glossary from the Migration chapter.

(From yocto-docs rev: 65ad5fc60f5a1067fbe2a54987d195ee388d264b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:51 +01:00
Scott Rifenbark
56b0a9c0cb ref-manual: Added placeholder for BUILDHISTORY_CHECKVERBACKWARDS
Inserted a commented placehoder for this glossary item.

(From yocto-docs rev: 6c621cd8eddfdd592df299255035288dd5d15477)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:51 +01:00
Scott Rifenbark
de0b92f23d ref-manual: updated link
I updated a link to the externalsrc.bbclass references section.
The section name has changed so that it does not imply how to use
the class.

(From yocto-docs rev: e951618cee0204a68f4980115237b53e1fb9f987)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:51 +01:00
Scott Rifenbark
f0d805d47c ref-manual: New variable entries added.
* EXTERNALSRC
* EXTERNALSRC_BUILD

These are new.

Also fixed a link to the dev-manual that points to the section
on how to use external.bbclass.  The section name was changed
so that it does not imply how to use the class.

(From yocto-docs rev: be9b801cac6a8fd6cd3db86eacf432f73da6fd08)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:50 +01:00
Scott Rifenbark
d066247ade ref-manual: Changes to the externalsrc.bbclass reference section.
Updated this to not contain usage information, which has been
moved to the dev-manual.  I diff'ed out this commit and there
are some changes that resulted from accidental deletion and
restoration of a large amount of text.

(From yocto-docs rev: fdefcfd77811d2cfe65d51b70f3bc69018f3de81)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:50 +01:00
Scott Rifenbark
76f5d3f7bd dev-manual: updates to how to use externalsrc.bbclass
I made sure all the usage information for this class is in this
section and not in the ref-manual.  Changes involved using
EXTERNALSRC and EXTERNALSRC_BUILD now to select the source
and build directories.

(From yocto-docs rev: f818d7013502d943517a99b84397e98f5f9dfd9a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:50 +01:00
Scott Rifenbark
97ece259f7 ref-manual: Updates to the S variable description in the glossary.
(From yocto-docs rev: 44a2b16f77cb86e37f3dcd46c52f699a59e3b418)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:50 +01:00
Scott Rifenbark
2111a92a73 ref-manual: Added glossary description for OE_BINCONFIG_EXTRA_MANGLE variable.
(From yocto-docs rev: 55bbcbebc707d95ee357aa3d8075218d0f31b2f1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:50 +01:00
Scott Rifenbark
48335a7387 ref-manual: Added new glossary description for RM_OLD_IMAGE.
(From yocto-docs rev: 718002e23dbea4f8c2090003ee43af30fa0ae82d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:49 +01:00
Scott Rifenbark
0bc4ce85b4 ref-manual: replaced linux_libc-headers with linux-libc-headers
Four occurrences in the toolchain section affected.

(From yocto-docs rev: c69d84f5a64763e6560e8eb126a354b69740439e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:49 +01:00
Scott Rifenbark
1bedcb093d ref-manual: Edits to the TOPDIR glossary entry.
(From yocto-docs rev: bb29b4a4a8e5c4be6fc2a4103e1a32df184a2f76)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:49 +01:00
Scott Rifenbark
24dfbba3f4 ref-manual: More review edits to closer look section.
Fixes [YOCTO #2808]

Another edit to the list in the SDK section.  Removing the
term "SDK installer" and replacing with "SDK."

(From yocto-docs rev: fec6388957a52320ad8106fab109ea95de07d42b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:49 +01:00
Scott Rifenbark
8a7e6859e9 ref-manual: Small corrections to the TOPDIR variable description.
(From yocto-docs rev: 74e5b386f08169a3381b758e2759caac9d94dd47)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:48 +01:00
Scott Rifenbark
2a9ee7a105 ref-manual: Review comments for closer look at YP dev section
Fixes [YOCTO #2808]

Applied minor wording changes as directed by Paul Eggleton's
review of the sections and related variable descriptions.

(From yocto-docs rev: cf30c3dd78d5e55356bb73f43f10e0093a9aa084)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:48 +01:00
Scott Rifenbark
1b056af5c9 ref-manual: New COREBASE variable entry added to glossary.
Fixes [YOCTO #4981]

(From yocto-docs rev: a3623887a3cfd3df47a09b8fd337a2741b5aaa42)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:48 +01:00
Scott Rifenbark
106e89f4e3 ref-manual: Updated the TMPDIR description in the glossary.
(From yocto-docs rev: 854c29e5b09024355eee2284f8ed86a861474811)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:48 +01:00
Scott Rifenbark
93c76f4c65 ref-manual, mega-manual, Makefile: Updates to expanded dev section
Fixes [YOCTO #2808]

Applied review comments to the "Images" and SDK sections that
are part of the "A Closer Look at the Yocto Project Development
Environment" section.  Comments from Paul.  They resulted
in a single figure being removed and split into two new
figures - one for the image part and one for the sdk part.

Some terminology issues were cleaned up in the main sections
as well as the documented variables sections.

Makefile changes involved adding the two new figures and
removing the old combined one.

(From yocto-docs rev: a32908fa68b9786e295097c16f70a5a9c3cc4c1e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:47 +01:00
Scott Rifenbark
4b23d26063 ref-manual, mega-manual: New section for images/SDK
Fixes [YOCTO #2808]

Added a new section for the closer look at how BitBake creates
images and the SDK installer files.  This included the section
itself, a new .PNG figure that had to be added to the figures
directory of both the ref-manual and the mega-manual.  Finally,
the Makefile needed to be edited so that the tarballs for the
ref-manual and mega-manual also included the new figure.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:47 +01:00
Scott Rifenbark
17ded75fde ref-manual: New variables added to the glossary.
Added entries for DEPLOY_DIR, TOOLCHAIN_HOSTS_TASKS, and
TOOLCHAIN_TARGET_TASKS.

(From yocto-docs rev: b239c41871f8c833cd33f4c5c875d51fa1bdf9eb)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:47 +01:00
Scott Rifenbark
53c70dee67 ref-manual: New glossary entry for DEPLOY_DIR.
(From yocto-docs rev: f1594bfbc795dd9c22545b4d01601fbc88c91610)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:47 +01:00
Scott Rifenbark
40b9e61f69 ref-manual: Update to note regarding distros supported.
Fixes [YOCTO #4927]

Updated the wording to specifically point out that YP does
not support rolling releases or developmental releases due
to their constantly changing nature.  I did not include wording
to indicate planned or unplanned type of futuristic support.

(From yocto-docs rev: fe9d269fd6c867a9a8e8cc33d90eedccbcbad0e8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:46 +01:00
Scott Rifenbark
8f865d7d2e yocto-project-qs: Updated note about the distros supported.
Fixes [YOCTO #4927]

Updated the wording to be less severe.  The wording matches that
used in the ref-manual.

(From yocto-docs rev: d44cd9d6d01bad9aa5269730efae100c163e34f0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:46 +01:00
Scott Rifenbark
34c68c5fb3 ref-manual: Updated warning note in supported distro section.
Fixes [YOCTO #4927]

Did some rewording to tone down the fear in the note that
tells users which distros YP works with.

(From yocto-docs rev: 773c5003d222252f0456f9cfb622e1255a8886cb)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:46 +01:00
Scott Rifenbark
3f127a50ab ref-manual: Fixed typo
(From yocto-docs rev: 69698c8e133cb49701d15543a4917c7f539354e3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:46 +01:00
Scott Rifenbark
534ec3dc72 ref-manual: New entry for OE_IMPORTS variable added to glossary.
(From yocto-docs rev: 3b73c2e1418190b1d998f3f7cf425088df887c21)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:45 +01:00
Scott Rifenbark
f32e019ab9 Makefile: Corrected figure file name.
I left off the ".png" part of a figure in the TARBALL statement.

(From yocto-docs rev: e1024da36a94dd3cb8c0679782bedaba4bf2e5dc)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:45 +01:00
Scott Rifenbark
d39c2e291d dev-manual: fixed a grammar issue.
(From yocto-docs rev: d3f5099e353c1f787d155d1178744f5a8f19e1db)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:45 +01:00
Scott Rifenbark
194f2c1882 ref-manual: Added note about not supporting rolling distros
Fixes [YOCTO #4927]

Provided a note and some explanation about YP support on the
official distributions.

(From yocto-docs rev: c2957ad400127d05f940dc326cb5da4994a66785)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:45 +01:00
Scott Rifenbark
d1cc15862b ref-manual: Removed link to wiki page for tested distros.
Fixes [YOCTO #4911]

This bug's comments determined that the link from the
"Supported Distributions" section to the wiki page that shows
a list of tested distros be removed.  The wiki page has been
updated to link into the section of manual and the wiki page
states that it is out of date.  So, the manual should not point
back to that wiki page.

(From yocto-docs rev: 8d22568b348c1ba34068f73711e70b5eb507f29e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:44 +01:00
Scott Rifenbark
5ebb6d8e24 mega-manual: Added five new figures to the figures folder
New figures for the expanded build section.

(From yocto-docs rev: d22d4978a4c0a95744651f97afa0b5c148f0d873)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:44 +01:00
Scott Rifenbark
b57aa070e1 Makefile: Added new figures to the TARBALL variables.
Needed to add six new figures to the mega-manual TARBALL and
five figures to the ref-manual TARBALL.

(From yocto-docs rev: 296e356cbd6a65d187a3e3d7905566685580f575)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:44 +01:00
Scott Rifenbark
affae18f01 ref-manual: Wording change for Images section.
Changed the wording to better reflect what these sample images
in the chapter really accomplish.

(From yocto-docs rev: 8ae60cd52e5b8fba02b00bdd8b7b242a077e8196)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:44 +01:00
Scott Rifenbark
96ce7dcedf ref-manual: New section on Package Feeds.
Fixes [YOCTO #2808]

New section for package feeds created.  Includes a new figure
also.

(From yocto-docs rev: 6d8b41114ebadcfb06f6064a13c4da5b47a9f73c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:43 +01:00
Scott Rifenbark
ef0be47efa ref-manual: Typos fixed.
Fixes [YOCTO #4935]

Two typos located and fixed.

Reported-by: Laszlo Papp <lpapp@kde.org>
(From yocto-docs rev: 805ff913b85bff390609beabdbbf48e45589ee13)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:43 +01:00
Scott Rifenbark
8007feff87 ref-manual: added opengl to distro feature list.
Fixes [YOCTO #4907]

Open Graphics Library was not included in the list of supported
distro features that could be included using the
DISTRO_FEATURES variable.  It is now.

(From yocto-docs rev: 2e06fe0f8135c13d3a86857f9b0e450239cedbf4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:43 +01:00
Scott Rifenbark
fd381a2067 ref-manual: Added a section reference to external toolchain question.
(From yocto-docs rev: 6b125e0e0f09e817422f899923d51ee73923b15b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:42 +01:00
Scott Rifenbark
eccd321364 dev-manual: Changes "Webhob" to "Toaster"
I made some assumptions that the supporting filenames would
be changed to reflect the new name.  If they do not, I will
fix them.

(From yocto-docs rev: 4e71ea30951cef60e5a7daf5f11a197511731b8f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:42 +01:00
Scott Rifenbark
b44a9ab990 dev-manual: First draft of webhob section
Fixes [YOCTO #4730]

First draft of the section documenting the webhob service.

(From yocto-docs rev: 4d995519cd4e481445a5399f936fce682d330dfe)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:42 +01:00
Scott Rifenbark
69879741d0 yocto-project-qs: Fixed CentOS packages section.
Removed the "-y" argument from the command to install required
CentOS packages.

Added a qualifier to the version of Python that you need for the
build system.

Removed the note about RHEL.

(From yocto-docs rev: 25cff75cd361ff5070b21a5ee4a241148c580d49)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:42 +01:00
Scott Rifenbark
0a074d5d8c ref-manual: Edits to requirements section.
Fixes [YOCTO #4753]

Minor review edits to this buildtools section.  Additionally, I
removed the "-y" argument from the CentOS package install
commands.

(From yocto-docs rev: 8f5991f7d3a5ceee63a022af19afd713dcf740c3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:41 +01:00
Scott Rifenbark
69b317f38a ref-manual: Edits to the "source" section of yp dev environment
Fixes [YOCTO #2808]

I updated the "Sources" section with review comments from
Paul.  The figure needed changed as well as some text changes.

(From yocto-docs rev: 0a44dbdebce50fb599b8dcb2f17adc76f9fb862c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:41 +01:00
Scott Rifenbark
dc7f6e7d30 ref-manual: First draft of the "Sources" section added.
Fixes [YOCTO #2808]

The "Sources" section provides a more detailed look at where
BitBake gets source files from.  This change included the
first draft of the text and the first draft of the expanded
figure.

(From yocto-docs rev: 4e432a05666e67c6494486f392a05f629c6c148a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:41 +01:00
Scott Rifenbark
f3b97fade2 ref-manual: Another round of edits from Paul implemented.
Fixes [YOCTO #2808]

Some small changes to the layer figure and the software
layer wording.

(From yocto-docs rev: 687652a4970910de8a4636999f63ad5c7e861069)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:40 +01:00
Scott Rifenbark
cb66b6e1a2 ref-manual: Review comments added.
Fixes [YOCTO #2808]

Applied review comments from Paul Eggleton on the user configuration
and the layers section.  Changes applied to the figure for the
user configuration section as well.

(From yocto-docs rev: b05af4b740f0daf3d6c59acf71c362decba2a176)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:40 +01:00
Scott Rifenbark
c7ac8851c8 ref-manual: Review comments for config and layer sections.
Fixes [YOCTO #2808]

I applied extensive review comments to the user configuration
and to the layer sections.  These revisions also included
updates to the two figures.

(From yocto-docs rev: 029692b07cb7dff605b81aa45de7c891a3a77db1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:40 +01:00
Scott Rifenbark
7c8831bf5c ref-manual: Added new overview figure.
Fixes [YOCTO #2808]

This figure is slightly different than our reference environment
figure used in the QS.  I did not want to simply duplicate it.
Here the only difference is boxing in the metadata layer input
to the left.

(From yocto-docs rev: d1c8c69dfb5ec4261b8e5d15de6d5088fde86024)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:40 +01:00
Scott Rifenbark
a9e5f08ec3 dev-manual: Fixed some rogue characters.
Discovered a random ":S" and ":" character in front of a
couple of list items.  Must have been a wandering cursor
situation during an edit session.

(From yocto-docs rev: b81412e255ca90e850bce61ef7f9927692f0fcb5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:39 +01:00
Scott Rifenbark
1adebc081d ref-manual: Added new section for layer input detail.
(From yocto-docs rev: ff952a9681df798cde34b50d1046233a47ca0ce5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:39 +01:00
Scott Rifenbark
20b0437f50 ref-manual: New figure added for Layer section.
(From yocto-docs rev: 3a1101fb66e9fc4e708a601a0153d18b3c10e1f4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:39 +01:00
Scott Rifenbark
25146ba5dc ref-manual: Some additional edits
Made a pass through this before sending it out for review.

(From yocto-docs rev: 702f65bb497b157dfd2635f9b13ffd679dda9d0a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:38 +01:00
Scott Rifenbark
0345088d58 ref-manual: New user configuration figure added.
(From yocto-docs rev: ec8e9de1fb42b8d6aaecf35ad23b11788f02e442)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:38 +01:00
Scott Rifenbark
95cdad1c2e ref-manual: Start of new section on deeper look into dev env.
Start of the new section on the closer look into the development
environment.

(From yocto-docs rev: e1f1cee951433144d1adedcb4f0bbc8d8296c444)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:38 +01:00
Scott Rifenbark
482943bd2c ref-manual: Added URL for the pre-built buildtools tarball
Fixes [YOCTO #4753]

I added the URL for where this tarball will be located once we
release YP 1.5.  Until we release, the URL will not resolve.

(From yocto-docs rev: 694571690e91ecc49e9afa85b9084543b71a85c3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:38 +01:00
Scott Rifenbark
485b35dcef documentation: Removed deprecated kernel-manual.
Fixes [YOCTO #4810]

I removed this manual from the tip of the repo.  We carried a symlink
to it for the 1.4 and 1.4.1 release.  Now it is time to get rid of it.
Removing this manual should get rid of the folder in the poky/documentation
folder for future clones of that repo.

This bug was entered because someone tried to make the manual for YP
1.5.  It is debatable as to whether this is a fix or not.  You might
argue that the bug is not even a bug.

(From yocto-docs rev: 6e2a14f9be5f37f16b91c0c8931df558aa9ef155)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:37 +01:00
Scott Rifenbark
a44fc491e0 mega-manual.sed: Deleted kernel-manual line.
I had commented this out with the previous commit but decided
to completely eliminate it with this one.

(From yocto-docs rev: 088f783bb12d29499d1b5da36a3c7a682a7d79d8)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:37 +01:00
Scott Rifenbark
68752d79e4 mega-manual.sed: Removed the processing for kernel-manual
The kernel-manual folder is depricated post 1.4 release.  I commented
out the line that processes links for that folder.

(From yocto-docs rev: 1b84448020f75fa2d3c9c12d8ae72ba2a7e7db99)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:37 +01:00
Scott Rifenbark
d917158ff6 README: Updated the file to reflect current state of documentation
This file was out of date.  I replaced the kernel-manual descriptions
with dev-kernel.  Also, added the profiling manual.  Finally, changed
the poky-ref-manual string to ref-manual.

(From yocto-docs rev: a1e60078dcfcfd5a912d78f981fe70dc1aa33e37)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:36 +01:00
Scott Rifenbark
e5dae1b980 kernel-dev: Fixed link in title page to point to new manual.
The stock Note indicating that the user should consult the website
for the latest version of the released manual had a link to the old
kernel-manual.  I have replaced it with a link to kernel-dev.

(From yocto-docs rev: 804e672e42a66aecdbe83ce239433216af10ef8c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:36 +01:00
Trevor Woerner
4592adb69f dev-manual: Fixed reference to bug format.
Based on observations from the various mailing lists, it is obvious that
bugzilla issues are almost always referenced using square brackets.

(From yocto-docs rev: 10b51afe7db62b8eb6e29bd1dd1ba4edb4320f83)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:36 +01:00
Scott Rifenbark
b26af3c0a6 yocto-project-qs: Update to Linux Distribution Requirements
Fixes [YOCTO #4753]

The section that tells the user the basic Linux requirement has
been updated to mention the Git, tar, and Python minimum
requirements.  There is a new section in the reference manual's
introduction area that describes how to create the buildtools
tarball if these requirements are not met.  The changes I made
in the Quick Start now summarize the requirements and provide
a link to that new section in the YP Reference Manual.

(From yocto-docs rev: fcc61acab7e4a7ddde194aa2db21181778d5dcdf)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:36 +01:00
Scott Rifenbark
6546d5a720 dev-manual: Removed file.
I removed the original version of this file.  It has been hanging
around long enough and there is no need for it to be tracked
now.

(From yocto-docs rev: 180465d8f3ab80e1b8bf51d82cbccc3b0e51f976)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:35 +01:00
Scott Rifenbark
e3550b4f28 dev-manual: Changed repo name.
Changed the poky-extras repo name to meta-yocto-kernel-extras
repo.  This repository had become stale and Bruce did some work
to freshen it up a bit.  The name was poor too.  That drove the
name change.

(From yocto-docs rev: 4fa2b0f86cfe7191b8de7577d8d8ad6adb984a4e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:35 +01:00
Scott Rifenbark
c56c79fd35 ref-manual: New section on building buildtools tarball
Fixes YOCTO #4753

This is the main change to address this bug.  It is a new section
that describes how the user can get a buildtools tarball if their
system does not meet the proper Git, tar, and Python versioning.

(From yocto-docs rev: 0493a55c85f050ba29f605ab727e557849242bae)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:35 +01:00
Scott Rifenbark
222a9cfa34 ref-manual, adt-manual: Added links to SDKMACHINE variable.
Now that a glossary entry for SDKMACHINE exists, I needed to
create some links to it where referenced in the ref-manual
and the adt-manual.

(From yocto-docs rev: 6efe13bcda22276e5ef71ebafff6f91961b34679)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:35 +01:00
Scott Rifenbark
b9bf10a5b2 ref-manual: Added SDKMACHINE variable description.
(From yocto-docs rev: f1e3e52257c296cfeb70fea63bf5ea7b142774dc)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-13 13:18:34 +01:00
Laurentiu Palcu
16d522bcd1 maintainers.inc: reassign maintainers, remove obsolete recipes
This patch removes also all packages that were moved to meta-oe or that
were removed completely.

(From meta-yocto rev: 7ce5599e80f84d9c4edb03f1e7d92c92920d3a1c)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-12 13:13:05 +01:00
Chen Qi
5695ec80f5 checkroot.sh: respect the value of ENABLE_ROOTFS_FSCK
Previously, fsck is always disabled because the value of rootcheck in
the checkroot.sh script is always set to 'no'.

We should respect the value of ENABLE_ROOTFS_FSCK in /etc/default/rcS
to allow for filesystem check.

(From OE-Core rev: 5c11cf4db8f43003fb7132b92a78659f70f07ce0)

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-08-12 13:09:53 +01:00
Cristian Iorga
3d1a60a42a build-appliance-image: upgrade to ac60aa8cf7 commit.
Fixes [YOCTO #4977].

(From OE-Core rev: b278ec950088b465860b6c7797707fe973973956)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-12 13:09:53 +01:00
Cristiana Voicu
bc1996c7d8 mkfontscale: upgrade to 1.1.1
(From OE-Core rev: d3fcee05e0b3a1ecc9f7481fb41c5c5a29cf9abd)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-12 13:09:53 +01:00
Cristiana Voicu
8429370887 ed: upgrade to 1.9
LIC_FILES_CHKSUM changed because some lines were
in addition in main.c file. Those lines are related to exit
status.

(From OE-Core rev: bbd59e73f576a7e89bea6480c81116cee7d8d2e8)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-12 13:09:53 +01:00
Victor Kamensky
33f6017265 systemtap: fix build failure on host system with dyninst installed
On host system where dyninst installed (i.e Fedora 18 with SystemTap)
builds fails with the error from do_qa_configure "This autoconf log
indicates errors, it looked at host include and/or library paths
while determining system capabilities." Problematic config.log
indicates inclusion of /usr/include/dyninst/dyntypes.h

Fix for now - disable dyninst in oe builds

(From OE-Core rev: c4d4fb198d56b26661cc2f98ade6a57f60d9c514)

Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-12 13:09:53 +01:00
Chen Qi
86d8d89c21 busybox: remove syslog-startup.conf if sysvinit not in DISTRO_FEATURES
sysvinit and systemd have different ideas about configuration files (or
environment files in systemd), so basically we can't use the same one in
both cases.

To avoid confusion, this patch removes syslog-startup.conf if 'sysvinit'
is not in DISTRO_FEATURES.

[YOCTO #4837]
[YOCTO #4860]

(From OE-Core rev: 89f62147a61108b4be40001e1fbe3be33bacf00b)

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-08-12 13:09:52 +01:00
Riku Voipio
290a5aef1f qemu: pass CFLAGS via ./configure instead of a patch
OE carries a patch to pass CFLAGS to qemu. However, we can avoid
patching by passing CFLAGS with qemu's --extra-cflags option.

Tested that building qemu-native still works without zlib-dev
on host, and that qemu builds.

(From OE-Core rev: 67b6d8d9f987a59090a9a8af61cf740207703dff)

Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-12 13:09:52 +01:00
Ross Burton
afd80c0569 separatebuilddir: add comments
Add a comment explaining the libproxy failure, and note that wpa-supplicant doesn't support B!=S.

(From OE-Core rev: ba9b3465bcd639a78328e9d2540c14cddf53cae5)

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-08-12 13:09:52 +01:00
Cristiana Voicu
6305e6a0ad tzdata: upgrade to 2013d
(From OE-Core rev: 1e055f184e7ac62118fe04dfa9860cd7819eaddb)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>

[sgw: Fix up tzdata to 2013d]
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-12 13:09:51 +01:00
Cristian Iorga
3ca5ffaf80 gst-fluendo-mpegdemux: upgrade to v0.10.72
(From OE-Core rev: b7b114c507166625356645cf719daddd4fac2fea)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-12 13:09:51 +01:00
Cristian Iorga
3a8f3b8881 net-tools: upgrade to v1.60-25
(From OE-Core rev: 2277b106b947248b06a257a90420d8d69fe522f9)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-12 13:09:51 +01:00
Kai Kang
60bc7c1917 sudo: quote BUILD_CC
BUILD_CC is assigned to CC when do compile. If BUILD_CC has multi-items
such as "ccache gcc", compilation fails with:

make: *** No rule to make target `gcc'.  Stop.

Double quote BUILD_CC to avoid this error.

(From OE-Core rev: 4f1fcdbea1629ebf506fb0dbd5df71a588f0372b)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-12 13:09:51 +01:00
Bian Naimeng
d1fd10e502 bash: reference acl*.m4 from ${S}
bash: reference acl*.m4 from ${S}.

The build directory had been moved to ${WORKDIR}/build,
so we should reference acl*.m4 from ${S}.
Otherwise, the following configure error will be caught.

  | cat: aclocal.m4: No such file or directory
  | ERROR: Function failed: do_configure (log file is located at ...)

(From OE-Core rev: b296e7412a45f0c07b4f843784211ef0f66221e6)

Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-12 13:09:50 +01:00
Martin Jansa
5c7b8fc342 buildhistory: use bb.utils.mkdirhier instead of os.makedirs
* Multiple do_fetch[prefunc] can happen at the same time and
  if not os.path.exists(pkghistdir):
    os.makedirs(pkghistdir)
  isn't safe
* Use bb.utils.mkdirhier which doesn't raise error when directory exists

(From OE-Core rev: 9aac194d7db79129dcbed29cfb89c57dccf33729)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-12 13:09:50 +01:00
Martin Jansa
560dac6e7d buildhistory: use package_qa_handle_error for version-going-backwards
* this way it's easier for distro to select if such issue should be
  error, warning or ignored and also it gets recorded in qa.log

(From OE-Core rev: 44624853de8c88abdcae2ccd0902b390ff546d4c)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-12 13:09:50 +01:00
Richard Purdie
712622e2db bitbake: hob: Add missing file from previous commit
This should have been part of 'hob: implement the "retrieve image dialog" +
changes to image combo box' but got lost in the merge process. This adds
the missing file.

(Bitbake rev: 0eadcc073f270c0b323955cf7719b77195cf4890)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-12 10:23:32 +01:00
Saul Wold
f63e7f4323 subversion: Add patch to use neon 0.30
The neon update is not recognized but subversion, so we need to patch the configure.ac
to know about 0.30, otherwise we don't have http/https support in subversion.

(From OE-Core rev: 291ab168fac15eae0e4c9234e16f394b0e1547a0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-07 07:43:47 +01:00
Chen Qi
7616bea24c tiny-init: fix bashism
"source" is a bashism, replace it with the posix shell compliant "."

(From meta-yocto rev: 44174721aeba2c18712818ac3698ee6807754ea7)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 13:03:31 +01:00
Cristiana Voicu
b6e4989e54 maintainers.inc: Update ownership of recipes
Take Radu's recipes because he's not working on the project
anymore.

(From meta-yocto rev: 6959568cb52bbbd7dafdeb0b52c3fc0f49809a81)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 13:03:31 +01:00
Emilia Ciobanu
30a3b1221a package_regex.inc: Add/Update regexes
Update REGEX_URI and REGEX for intltool package.

Add REGEX for filtering unstable versions for the following packages:
        * gstreamer
        * gstreamer1.0
        * gst-ffmpeg
        * gst-fluendo-mpegdemux
        * gst-fluendo-mp3
        * gstreamer1.0-plugins-base
        * gst-plugins-base
        * gstreamer1.0-plugins-bad
        * gst-plugins-bad
        * gst-plugins-gl
        * gstreamer1.0-plugins-good
        * gst-plugins-good
        * gstreamer1.0-libav
        * gstreamer1.0-omx
        * gst-openmax
        * gstreamer1.0-plugins-ugly
        * gst-plugins-ugly

(From meta-yocto rev: 6ffa17c0b4ac2fa1b258ce10dfc32a2e033de67a)

Signed-off-by: Emilia Ciobanu <emilia.maria.silvia.ciobanu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 13:03:30 +01:00
Ross Burton
89f42c9dcb bitbake: depexp: fix typo in variable name
(Bitbake rev: e3b8585738abea96a9fd1d1204731004a35e0bc9)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 13:02:27 +01:00
Ross Burton
44db452d8f bitbake: depexp: insert data instead of append/set, for speed
(Bitbake rev: 9f50a841f4929e68333ccf2ace32f5d3ca1e7d0d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 13:02:27 +01:00
Ross Burton
3412a89dfd bitbake: depexp: make parse() a member function
(Bitbake rev: e5709f2b5592eb6448c7d10b9aeb7cf3bef4864e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 13:02:27 +01:00
Cristiana Voicu
e76fdac6f1 bitbake: hob/imageconfigurationpage: changes to image combobox
Place the "Create your own image recipe" field to the
end of the image recipes list.

[YOCTO #4193]
(Bitbake rev: 288bbda31164efffd07a370a728a7682db775c08)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 13:02:27 +01:00
Cristiana Voicu
4182c53e56 bitbake: hob/imagedetailspage: add tooltip for save image recipe button
[YOCTO #4193]
(Bitbake rev: de3cb77ec7ceb8e0671cf3edfd3713f907d1d0bc)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 13:02:27 +01:00
Cristiana Voicu
8db39d2f66 bitbake: hob: set focus on entry name when the name is not correct
[YOCTO #4193]
(Bitbake rev: bbae370bc57296723cc87e48d64da79882f1e5b6)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 13:02:26 +01:00
Cristiana Voicu
ecc56f204c bitbake: cooker: save packages in IMAGE_INSTALL instead of PACKAGE_INSTALL
Hob retrieves the list of recipes and packages using the IMAGE_INSTALL
variable, so a custom image should be saved using this variable.
Changed how the image is saved in a bb file

[YOCTO #4193]
(Bitbake rev: edf3f52c05d86d49b71770cdafde583213e2034d)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 13:02:26 +01:00
Cristiana Voicu
c83f8185a8 bitbake: hob: implement the "retrieve image dialog" + changes to image combo box
Tha changes related to the image combo box are related to the
action done in the retrieveImageDialog. When the user wants to select
a customize image, but then he cancels the action, the combo box is set to
--select a base image--.
If the user selects an image using the new dialog, a new item with its name
is added to the combo box list and then it is activated.

[YOCTO #4193]
(Bitbake rev: f25322de7e47719b31808397174e5c4f6d8649f2)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 13:02:26 +01:00
Cristiana Voicu
42a4f33fc0 bitbake: hob: retrieve file name of an image
The entire file name (with the path) is needed to know
if the image is located in the "build" directory or it comes
from layers. According to this information, the image is placed
differently in the combobox.

[YOCTO #4193]
(Bitbake rev: 7d15eccc25b6c96851e4d01401f9f9b7821730b1)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 13:02:26 +01:00
Cristiana Voicu
4640fd053b bitbake: hob: changes to image combo box
Added an item for the custom images.
Added a separator in the combo box.

[YOCTO #4193]
(Bitbake rev: 1eed84c11269c25c13bb444871d84c5dfeabcb73)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 13:02:25 +01:00
Cristiana Voicu
63157e2c87 bitbake: hob/bitbake: when an image is saved, it should require an image from layers
Saving an image that requires another image will cause issues when
the second on is removed. So, we have agreed to "require" only the images
from layers.
The functionality is implemented in bitbake, in order to be more abstract,
and it is used by Hob when an image recipe is saved.

[YOCTO #4193]
(Bitbake rev: 28296ca78507ba2e414eb136c81afee65a8e25e5)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 13:02:25 +01:00
Cristiana Voicu
08ccfacbc1 bitbake: hob: the saved image should be editable
Also, the image can be saved when the a name is filled.

[YOCTO #4193]
(Bitbake rev: 0edad0ab3ccd165125726d2aa3dfeb19dad246c9)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 13:02:25 +01:00
Cristiana Voicu
3bef5a75d6 bitbake: hob: change the name and description for the saveimagedialog
The image name and description should be saved for a future
save.

[YOCTO #4193]
(Bitbake rev: 6dc0fc243ac6046714523d08df4d8f88c48698cc)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 13:02:25 +01:00
Cristiana Voicu
bb8a265b0f bitbake: hob & bitbake: append a value to a variable from hob throught bitbake
It was necessary to append ${TOPDIR}/recipes/images to BBFILES.
Implemented the mechanism to append a value to a variable: a command and
the method in cooker.

[YOCTO #4193]
(Bitbake rev: 4aedbee90bd92395c2460a68702e6ede00e256c9)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 13:02:24 +01:00
Cristiana Voicu
116219ce09 bitbake: hob: make changes in order to permit from UI to edit an image after saving it
Added the image name to the list model, in order to show the image name as
the user named it.

[YOCTO #4193]
(Bitbake rev: 0aba493103d1fe50026a47db16529febbbbd77a2)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 13:02:24 +01:00
Cristiana Voicu
564c83be5e bitbake: hob/bitbake: save the description of a custom image
When an new image is saved, the dialog for this action has
a field for the description. Changed how an image is saved, by
appending the DESCRIPTION variable at the end of the .bb file.

[YOCTO #4193]
(Bitbake rev: 5629007f2b984005e3a8ac5d9b71422cbc2f1409)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 13:02:24 +01:00
Cristiana Voicu
140744c470 bitbake: hob/bitbake: create a template (a .bb file) from hob through bitbake
Modified generateNewImage function from cooker, in order to be used to
save a template in Hob.
Created a command to ensure that some dirs are created. The templates
(recipes) will be saved in {TOPDIR}/recipes/images folder.
Called these methods from Hob.

[YOCTO #4193]
(Bitbake rev: 96ffa00945c7eb09a0132fa47159aef3ef20fb3e)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 13:02:24 +01:00
Cristiana Voicu
ee4fe5a229 bitbake: hob: create save image dialog used to save a template
Implemented a new dialog used by Hob. This dialog was desinged
in order to permit to save only in a particular directory.
Also, it has a field where the user can type a description
for the image.
Implemented in the handler a method to retrieve the topdir variable,
because the changes will be saved in {topdir}/recipes/images directory.

[YOCTO #4193]
(Bitbake rev: 117d4809a62e28ffe7e9dcda5433993d76f7d934)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 13:02:23 +01:00
Cristiana Voicu
843ef10832 bitbake: hob: labelling changes in Hob
When the design document for templates in Hob was created, we've noticed
that some labels need to change.

[YOCTO #4193]
(Bitbake rev: fcbadbb73a8a94a3d5e330e1a5fa9550130d2c62)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 13:02:23 +01:00
Cristiana Voicu
adcce841b4 bitbake: hob/packageslist: change image size label to estimated image size
On the "Edit packages list" page, the image size may be computed before
building. We didn't find another way to give a more accurate size, so
we have agreed to inform the user that this an estimated size.

[YOCTO #4388]
(Bitbake rev: 136eda2dcbc32aba4f59783049352dc1375cc945)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 13:02:23 +01:00
Cristiana Voicu
4c96451fa5 bitbake: hob/advancedsettings: change toolchain labels to sdk labels
In order to be easier for the user to understand, we have changed the
toolchain labels to sdk.

[YOCTO #3808]
(Bitbake rev: 008afbcf6b1b315eb5463ecfb39fc50e6303687e)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 13:02:23 +01:00
Saul Wold
62c0f6cb61 man-pages: upgrade to 3.53
(From OE-Core rev: 8dbb6fdca32785d91d6380e3722720714f8140e8)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 12:40:01 +01:00
Saul Wold
d4bb182302 util-linux: upgrade to 2.23.2
(From OE-Core rev: aad043ee25e2cc9f4429cd97d9b5ff274f821068)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 12:40:00 +01:00
Saul Wold
313b088e35 mc: upgrade to 4.8.10
(From OE-Core rev: 3f41ed2ecad488c94c16b8717e3f361f039b6a82)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 12:40:00 +01:00
Hongxu Jia
2ff22490aa list-packageconfig-flags.py: add a script to list all PACKAGECONFIG flags
- This script will list available pkgs which have PACKAGECONFIG flags.
- If option '-f' is used, it will list available PACKAGECONFIG flags
  and all affected pkgs.
- If option '-a' is used, it will list all pkgs and PACKAGECONFIG
  information
- If option '-p' is used, it means list the pkgs with preferred version

EXAMPLE:
list-packageconfig-flags.py
PACKAGE NAME                               PACKAGECONFIG FLAGS
==============================================================
alsa-tools-1.0.26.1                        defaultval gtk+
avahi-ui-0.6.31                            defaultval python
bluez4-4.101                               alsa defaultval pie

list-packageconfig-flags.py -f
PACKAGECONFIG FLAG     PACKAGE NAMES
====================================
3g                     connman-1.16
avahi                  cups-1.6.3  pulseaudio-4.0
beecrypt               rpm-5.4.9  rpm-native-5.4.9

list-packageconfig-flags.py -a
==================================================
gtk+-2.24.18
/home/jiahongxu/yocto/poky/meta/recipes-gnome/gtk+/gtk+_2.24.18.bb
PACKAGECONFIG x11
PACKAGECONFIG[x11] --with-x=yes --with-gdktarget=x11,--with-x=no,${X11DEPENDS}

xf86-video-intel-2.21.9
/home/jiahongxu/yocto/poky/meta/recipes-graphics/xorg-driver/xf86-video-intel_2.21.9.bb
PACKAGECONFIG None
PACKAGECONFIG[xvmc] --enable-xvmc,--disable-xvmc,libxvmc
PACKAGECONFIG[sna] --enable-sna,--disable-sna

[YOCTO #4368]

(From OE-Core rev: 8d9e55e1fb073820c959f1797f3ad5a8932b441b)

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-08-06 12:40:00 +01:00
Otavio Salvador
de17b597fa base.bbclass: Fix PACKAGECONFIG usage comment
(From OE-Core rev: eb54badb971eff34dcbf8c111bf1ab9deae3a149)

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-08-06 12:39:59 +01:00
Javier Viguera
9b6fd47010 kernel.bbclass: fix typo
(From OE-Core rev: 8e8ea9294078526a4bb3ade54482cf4d2213b497)

Signed-off-by: Javier Viguera <javier.viguera@digi.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 12:39:59 +01:00
Cristiana Voicu
f26c09eaf9 curl: upgrade to 7.31.0
(From OE-Core rev: f4a1257c20d3de9969d4cfe2d5240791d0d22d37)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 12:39:59 +01:00
Cristiana Voicu
926534027f liburcu: upgrade to 0.7.7
(From OE-Core rev: ef19932a66ed222007b0943970470da884d8bf64)

Signed-off-by: Cristiana Voicu <cristiana.voicu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 12:39:59 +01:00
Jonathan Liu
10197429eb qt4: add upstream QTBUG-32534 patch for QHttpMultiPart upload corruption
(From OE-Core rev: 59c02272fe77589e265da6fc3fa3db0c76bcdf52)

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-06 12:39:58 +01:00
Cristian Iorga
6810129b5a telepathy-glib: upgrade to v0.20.4
pkgconfig.patch removed; already integrated in upstream.

(From OE-Core rev: 8e1d380ad30161c358aef22fb8ad7b1d35afa520)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 12:39:58 +01:00
Cristian Iorga
f1a0743e09 gstreamer1.0-plugins-ugly: upgrade to v1.0.9
(From OE-Core rev: af57aefef26a9659ff23abda57a244bc68cc7f9c)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 12:39:58 +01:00
Cristian Iorga
c57d05ea3c neon: upgrade to v0.30.0
(From OE-Core rev: 4f689b16bc087cf0c15856a61e2ef3ca3bc24181)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 12:39:57 +01:00
Saul Wold
bd96581c8b libpng: package new tools into a libpng-tools package
These tools are useful for fixing older or corrupted
PNG files.

(From OE-Core rev: b587073c088b31ca9490b82dba4df3e460ca6058)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 12:39:57 +01:00
Saul Wold
b15101f7c9 texinfo: Fix path to perl for scripts
The 2 scripts texti2any and pod2tex referenced the /bin/perl directly, they
shoule be using ${USRBINPATH}/env perl.

(From OE-Core rev: 6c4dda740fb7e05cb35c16db10a87426bc3ae3b3)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 12:39:57 +01:00
Stefan Stanacar
76f8dfe2ad oeqa/utils/qemurunner: fix wrong var in message
If nothing matches we should print the text not
the match, else we get a nice traceback.

Changed in V2:
 - commit message

(From OE-Core rev: 601738fee3e9b7909b63714ca725576c10eec1e3)

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-08-06 12:39:57 +01:00
Yevhen Kyriukha
3b0be885c4 btrfs-tools: upgrade to upstream revision.
Two patches were removed because changes that they provide are already exist.

(From OE-Core rev: 6de68622c0658e1bba509c66c137eb419cdbdabf)

Signed-off-by: Yevhen Kyriukha <kirgene@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 12:39:57 +01:00
Jonathan Liu
63017172da mesa: update to 9.1.6
(From OE-Core rev: 7ea8da1f692721ddb6f28088820d159c86c6c61a)

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-06 12:39:56 +01:00
Saul Wold
be13994d00 packagegroup-core-boot: correct runtime dependencies for non-sysvinit system
hwclock, ifup-down and modutils are all sysvinit scripts that
are available in systemd also.

[YOCTO #4969]

(From OE-Core rev: ad6230c6e33cc76d735319d0f12ff6630655c288)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 12:39:56 +01:00
Saul Wold
9e280a1d1e grub-efi-native: add flex patch to efi-native version also
(From OE-Core rev: 60f845774d62b76c09602df299cef922edfea3c4)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 12:39:56 +01:00
Saul Wold
d5ca5d8c96 apt-native: fix SRC_URI Checksum for update
(From OE-Core rev: c07c477ff96358d3b40cc743ec4adf92193bb336)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 12:39:56 +01:00
Ionut Radu
54437d8e21 gdk-pixbuf: upgrade to 2.28.2
(From OE-Core rev: 18400a147cbc3db608212c966f1b20474a8a5cb8)

Signed-off-by: Ionut Radu <ionutx.radu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 12:39:56 +01:00
Cristian Iorga
a772e063ba gstreamer1.0-plugins-bad: upgrade to v1.0.9
(From OE-Core rev: d0fa44fab723f5082d7ceb9902987abadd676ace)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 12:39:56 +01:00
Cristian Iorga
e47145712b gstreamer1.0-libav: upgrade to v1.0.9
(From OE-Core rev: 33b904998ea8dfa87cbe11e75d233907282f6dd6)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 12:39:55 +01:00
Cristian Iorga
44a4523cf6 gstreamer1.0-plugins-good: upgrade to v1.0.9
(From OE-Core rev: 886e4ad191853aa150f48a28ae4b3454b8a4c322)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 12:39:55 +01:00
Cristian Iorga
0fe36185cc gstreamer1.0-plugins-base: upgrade to v1.0.9
(From OE-Core rev: d1af596d9c0c8b3d6a0a7da3391a5c8a3d5b10be)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 12:39:55 +01:00
Cristian Iorga
b14ac158b8 gstreamer1.0: upgrade to v1.0.9
(From OE-Core rev: d2052a78b42a7381a2440060e45bfe80d8fd499c)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 12:39:54 +01:00
Cristian Iorga
9fc51c3225 telepathy-idle: upgrade to v0.1.16
(From OE-Core rev: b235b9ddeba8bf8d406f4ac172d1e2e383f91a09)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 12:39:54 +01:00
Cristian Iorga
6b0b8d8567 telepathy-mission-control: upgrade to v5.15.0
(From OE-Core rev: 5f09a5e077ccbd938877dad026c26f20cab8b0ff)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 12:39:54 +01:00
Fathi Boudra
6eb01bf03b libc-package.bbclass: Add armeb architecture to locale_arch_options
Fix gconv build failure on ARM big-endian architecture:
ERROR: locale_arch_options not found for target_arch=armeb
ERROR: Function failed: unknown arch:armeb for locale_arch_options

(From OE-Core rev: a714cdf431635c4a344d3a135a71061e5629eed8)

Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org>
Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-06 12:39:54 +01:00
Ross Burton
60a8903ab2 buildhistory: add a note when committing to buildhistory
If there's been a lot of changes the commit to buildhistory can take a
significant amount of time, so print a note so there's some indication of
progress.

(From OE-Core rev: ccd911ba8887f5c9a72d5178617c2a3ee73264ff)

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-08-06 12:39:54 +01:00
Chen Qi
2fd2c606f6 buildtools-tarball: do not export OECORE_NATIVE_SYSROOT
When building a qemu image inside the environment created by the
buildtools-tarball, the qemu image cannot be started, as the runqemu
script uses the tunctl binary which cannot be found inside the sysroot
directory of the buildtools-tarball.

The buildtools-tarball is inherently a tool set instead of a fully
functional SDK, so leaving the OECORE_NATIVE_SYSROOT variable in the
environment will mess things up.

However, we do need a line of 'OECORE_NATIVE_SYSROOT=xxx' in the environment
setup script so that the SDK can be extracted and relocated correctly.
Thus, instead of exporting OECORE_NATIVE_SYSROOT, we use a comment here.

[YOCTO #4939]

(From OE-Core rev: d4a4c764a844a7e61f866af9361f139684037336)

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-08-06 12:39:53 +01:00
Chen Qi
ca365c603b initramfs-framework: fix bashism
(From OE-Core rev: e6039e6e3b98d6ab91252a5012d76279b1fac6e8)

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-08-06 12:39:53 +01:00
Chen Qi
ae26fa41ae xtscal: fix bashism
(From OE-Core rev: 53d87253ac53a1ee54843f52c38a116cdcb86f7e)

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-08-06 12:39:53 +01:00
Chen Qi
3d6ffb7640 qtdemo-init: fix bashism
(From OE-Core rev: 4758e71de8589bc85d317ee6abb187d563771633)

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-08-06 12:39:53 +01:00
Chen Qi
d55d458734 scripts/contrib/mkefidisk.sh: fix bashism
Remove the function keyword.

(From OE-Core rev: 0eb9dd29b89449e2b9a10bf57f34c09a8bed40bc)

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-08-06 12:39:52 +01:00
Saul Wold
4cff3defb5 grep: Add patch for texinfo 5.1
(From OE-Core rev: bc6258f88705b0e7989089a8666ac5e5d2355823)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-03 10:33:14 +01:00
Khem Raj
5aff1820c5 gcc-4.8: Fix meta-fsl-arm iperf build issue
This should fix the problem seen where gcc ICE
was happening when compiling iperf with older 2.6.x
kernel

Test this patch by reverting below commit in meta-fsl-arm

commit daf582c93a7283fb0af3b25fe2ada48f4c9985c4
Author: Otavio Salvador <otavio@ossystems.com.br>
Date:   Tue Jul 2 11:52:51 2013 -0300

    perf: Disable FPU tune for i.MX5 SoCs to workaround GCC ICE

(From OE-Core rev: 8ab1d16b6c6d946b625b6872e5d0f155206f4bad)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
CC: 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-08-03 10:33:14 +01:00
Jukka Rissanen
82877a9665 ofono: Enable test scripts by default
oFono test scripts are very useful so enable those by default.

(From OE-Core rev: 79af25c3f45f57c1dd44db2ef4011a3e768badd6)

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-03 10:33:14 +01:00
Jukka Rissanen
3cf0a5426a ofono: Move bluetooth enabling to .inc file
Moving the bluetooth enabling to ofono.inc from .bb file as
it makes more sense to have bluetooth always checked.

(From OE-Core rev: c7d27f4626f6763ec348c390cc907f30c102f96d)

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-03 10:33:13 +01:00
Jukka Rissanen
973cfd8bbb ofono: Add systemd support
(From OE-Core rev: 1fb3560749a750884eafabc2d0b1cfb7fa56308a)

Signed-off-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-03 10:33:13 +01:00
Paul Eggleton
176ad0db2c grub: disable floating ncurses dependency for GPLv2 version
A dependency was being added on ncurses conditionally upon whether it
had been built first. Explicitly disable this dependency to stop this
from happening.

Note that grub 2.x does not need this same fix because there ncurses is only
used when building grub-emu, which is only built when the specified
target platform is "emu" which we do not use.

(From OE-Core rev: 2ca75dd0718ec37d7f131b8bcd841de6e876bd07)

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-08-03 10:33:13 +01:00
Paul Eggleton
ac60aa8cf7 classes/sanity: fix some grammatical errors in messages
(From OE-Core rev: e2cccd73e480318461641d8bc26d538178ff628a)

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-08-03 10:33:13 +01:00
Paul Eggleton
9aba9225d3 classes/sanity: check for suid root command evility
Some users have been found to have an unnamed third-party piece of
software installed which sets chmod, chown and mknod as suid root as
part of its installation process. This interferes with the operation of
pseudo and can result in files really being owned by root within the
build output, and therefore breaks the build, apart from being a
security issue. Check for this and bail out if it is found.

Reported-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>

(From OE-Core rev: 08d61529f3c7a48ec82e1f8c9c28c7b2e5238934)

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-08-03 10:33:12 +01:00
Martin Jansa
c56e470d41 mesa: inherit gettext
* build in clean tmpdir fails with:
  | make[6]: Entering directory `/OE/mesa/2_9.1.3-r9.0/git/src/mesa/drivers/dri/common/xmlpool'
  | Updating (de) de/LC_MESSAGES/options.mo from de.po.
  | Updating (es) es/LC_MESSAGES/options.mo from es.po.
  | Updating (nl) nl/LC_MESSAGES/options.mo from nl.po.
  | Updating (fr) fr/LC_MESSAGES/options.mo from fr.po.
  | /bin/bash: line 4: msgfmt: command not found
  | make[6]: *** [de/LC_MESSAGES/options.mo] Error 127
  | Updating (sv) sv/LC_MESSAGES/options.mo from sv.po.
  | make[6]: *** Waiting for unfinished jobs....
  | /bin/bash: line 4: msgfmt: command not found
  | make[6]: *** [es/LC_MESSAGES/options.mo] Error 127
  | /bin/bash: line 4: msgfmt: command not found
  | make[6]: *** [nl/LC_MESSAGES/options.mo] Error 127
  | /bin/bash: line 4: msgfmt: command not found
  | /bin/bash: line 4: msgfmt: command not found
  | make[6]: *** [fr/LC_MESSAGES/options.mo] Error 127
  | make[6]: *** [sv/LC_MESSAGES/options.mo] Error 127
  | make[6]: Leaving directory `/OE/mesa/2_9.1.3-r9.0/git/src/mesa/drivers/dri/common/xmlpool'

(From OE-Core rev: c30c8820828ea5a7ed99d58a9b400eeee916bf72)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-03 10:33:12 +01:00
Joe MacDonald
0224cb2de5 oe-find-native-sysroot: minor optimization
The middle 'cut' in OECORE_NATIVE_SYSROOT isn't doing anything useful, so
remove it from the pipeline.

(From OE-Core rev: 94495c5a11d31e258a42cabb5ca1487421fe5495)

Signed-off-by: Joe MacDonald <joe.macdonald@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-03 10:33:12 +01:00
Rogerio Nunes
596a3b61c9 packagegroup-core-tools-testapps: isolate x11 dependent tools
This patch groups x11 dependent tools in a separete variable,
and when DISTRO_FEATURES does not contain x11, this group is
not included in the package RDEPENDS.

(From OE-Core rev: 8253abeee10189b828336b791c3421d240a2e69b)

Signed-off-by: Rogerio Nunes <rogerio.nunes@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-03 10:33:12 +01:00
Ross Burton
a326594597 u-boot: state the MACHINE when skipping u-boot
If the user accidently tries building u-boot on a machine doesn't use u-boot
(such as qemuarm) the error message doesn't make it clear why u-boot was
skipped.  To help, state the machine that was being built for again.

[ YOCTO #4945 ]

(From OE-Core rev: beef66beaee926ec3d3640b79133fdb2ccc404f0)

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-08-03 10:33:11 +01:00
Saul Wold
900ecbacc1 xorg-cf-files: upgrade to 1.0.5
(From OE-Core rev: 34e1b72c8c0d45e5e6e07ba0970e28675ba70246)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-03 10:33:11 +01:00
Saul Wold
f8781d3e32 resolvconf: upgrade to 1.74
(From OE-Core rev: 46f47315ee922c9f1b6daec7da99ae366b110b45)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-03 10:33:11 +01:00
Saul Wold
0f5e88107f libgcrypt: upgrade to 1.5.3
(From OE-Core rev: ef13891b3bc69b05ee01ae767fc21f46e05bcadd)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-03 10:33:10 +01:00
Saul Wold
bc149152e2 glew: upgrade to 1.10.0
rebased patches

(From OE-Core rev: 7c5c2f554cdfd68133dca73ddfe3f023744e984d)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-03 10:33:10 +01:00
Saul Wold
2a4c430211 dpkg: Drop INC_PR as it's unused
(From OE-Core rev: 6954a68efe0e33dc8e77adbbba267aa20be7e4b0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-03 10:33:10 +01:00
Saul Wold
c342715965 dpkg: upgrade to 1.17.1
Rebased patches and removed mips related arch triptlet patch due to being upstreamed

(From OE-Core rev: 6d4257217f8c5c61ae9bc02b6607d1066168c03a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-03 10:33:10 +01:00
Richard Tollerton
46e50e3703 shadow: Fix build when DISTRO_FEATURES contains pam, libc-crypt
shadow falsely assumes that if --enable-libpam is set, it doesn't need to link
against libcrypt; this breaks chsh. (This same fix exists in Arch.)

(From OE-Core rev: f68eccd67a3f9ed0d62e5ab75545891bd724daa3)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-03 10:33:09 +01:00
Cristian Iorga
4813e2d565 alsa-utils: upgrade to 1.0.27.2
obsolete_automake_macros.patch,
uclibc-exp10-replacement.patch patches removed;
included in upstream.

(From OE-Core rev: f74b10cbbecdabcbef695bbdfd26ca4c35c7d369)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-03 10:33:09 +01:00
Cristian Iorga
6d5d0c41a7 alsa-lib: upgrade to v1.0.27.2
fix-O0-Optimize-unable-inline-function.patch,
obsolete_automake_macros.patch patches
included in upstream; removed.
unbreak_plugindir.patch not used, removed.

(From OE-Core rev: d438c87012a03bf556fe306b178a68ff41d19bc0)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-03 10:33:09 +01:00
Ionut Radu
8d68f1695c apt: Upgrade from 0.9.8.2 to 0.9.9.4
makerace.patch: adapted to the new version

(From OE-Core rev: ad69f62e42c131dcccd33b0e39c61a431f581bea)

Signed-off-by: Ionut Radu <ionutx.radu@intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-03 10:33:08 +01:00
Laurentiu Palcu
338b0e7b0f grub_2.00: fix compilation when using flex 2.5.37
(From OE-Core rev: 2158003ea4b9879fdef34488462cc59450638218)

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-08-03 10:33:08 +01:00
Laurentiu Palcu
e75bbf99e0 flex: upgrade to 2.5.37
Removed patches since they were included upstream.

Added a patch to not compile flex.pdf doc since it needs texi2dvi.

(From OE-Core rev: bed86662efdd73be2a0dcde217d44be8e00c0822)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>

[sgw - Dropped PR]
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-03 10:33:08 +01:00
Laurentiu Palcu
d4e26f9994 makedepend: upgrade to 1.0.5
Removed patch since it included upstream.

(From OE-Core rev: d67ee43ad04577784a1e31d7fd8e5e65c036653d)

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-08-03 10:33:07 +01:00
Laurentiu Palcu
378d8f5c04 xhost: upgrade to 1.0.6
(From OE-Core rev: a9b27107706e49a7f944b94d6dcb23b459a7d8ac)

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-08-03 10:33:07 +01:00
Laurentiu Palcu
e97780cc39 xf86-input-evdev: upgrade to 2.8.1
(From OE-Core rev: 13781c011e96c4a612f11ee8bec6d187cf5b555e)

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-08-03 10:33:07 +01:00
Laurentiu Palcu
57033f693b xrandr: upgrade to 1.4.1
(From OE-Core rev: a163b2b871c2adcd8f8f5718d09f3e1d8fd13335)

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-08-03 10:33:07 +01:00
Laurentiu Palcu
2dae94b6fc libpciaccess: upgrade to 0.13.2
Licence MD5 changed because some years were updated and some new people
added their own copyright text which, apparently, is similar with what
already exists in the file.

(From OE-Core rev: c9104b8a995a334c490bdca464fdd53a1d1704b3)

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-08-03 10:33:06 +01:00
Laurentiu Palcu
141e928abf libdrm: upgrade to 2.4.46
(From OE-Core rev: 5c98d1e4ef7f01b28b193db49561cdce31e6c83c)

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-08-03 10:33:06 +01:00
Laurentiu Palcu
1913659183 powertop: upgrade to 2.4
(From OE-Core rev: af7214b7a24e283f7a17c63021e0c50904115f41)

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-08-03 10:33:06 +01:00
Laurentiu Palcu
e4a6815e44 nasm: upgrade to 2.10.09
(From OE-Core rev: ef79df58e715c411db7726713c46b4504bba4a8e)

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-08-03 10:33:05 +01:00
Laurentiu Palcu
8bebf2b04d git: upgrade to 1.8.3.4
(From OE-Core rev: 7398e4f1141e14903d4eaabb922822a35c07c037)

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-08-03 10:33:05 +01:00
Laurentiu Palcu
4cb6c0e937 xf86-video-intel: upgrade to 2.21.13
(From OE-Core rev: 24f73cbd1847293ad5dce3199f40d67546856c78)

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-08-03 10:33:05 +01:00
Eric Nelson
175cad52f7 gst-plugins-gl: add explicit dependency on libpng
(From OE-Core rev: 2cd01fdc26ee4f444635ad8e9d3956b9e764dc82)

Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-03 10:33:05 +01:00
Paul Barker
48763e9e4a opkg: Bump SRCREV as patch has been applied upstream
The previous patch to fix the installation of libopkg headers has been accepted
upstream and is the next commit after the SRCREV used by the opkg recipe.
Therefore the patch can be replaced by a simple update of the SRCREV.

(From OE-Core rev: e14df11795a03da4bb36f5172edbf9ca7e8ba681)

Signed-off-by: Paul Barker <paul@paulbarker.me.uk>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-03 10:33:04 +01:00
Ross Burton
f890c73027 qemu: remove unused SDL variable
(From OE-Core rev: 414f1b54f93115bc52130f342ffe3a95be47b18e)

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-08-03 10:33:04 +01:00
Ross Burton
a767e36258 bluez5: Add obex-profiles as a PACKAGECONFIG, package obexd separately
--enable-obex controls if obexd supports extra profiles (currently IRMC and
PBAB), which brings in a dependency on libical for the dummy phonebook
implementation.

Based on work by Saul Wold <sgw@linux.intel.com>.

(From OE-Core rev: c7c63bea2a099074f7158c8236cc7ad6402dbd78)

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-08-03 10:33:04 +01:00
Muhammad Shakeel
159c1c8e46 avahi: Remove unnecessary runtime dependency on sysvinit-pidof
'pidof' is alternatively coming from busybox so no need for avahi to explicitly
rdepend on sysvinit-pidof. This unnecessarily includes sysvinit in systemd only
build.

(From OE-Core rev: 4c8dd1ef13ccaf90cfb521416afd45da48c96a61)

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-08-03 10:33:03 +01:00
Chen Qi
381566a067 opkg.inc: remove the obsolete REDIRECT_CMD
The REDIRECT_CMD variable is now obsolete, remove it.

(From OE-Core rev: cba8f3257bb645dafdfa7c672bbdc4b0f0c094e6)

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-08-03 10:33:03 +01:00
Laurentiu Palcu
519a8acdcb adt_installer: allow specifying relative target sysroot paths
If one specifies a relative target sysroot path, then he/she must always
be in the same directory in order to be able to compile.

With this patch, adt_installer will automatically convert user
supplied relative paths to absolute.

[YOCTO #4955]

(From OE-Core rev: 1abf13cb035fa9e02f0c6a1c6f3524b649d2a701)

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-08-03 10:33:03 +01:00
Stefan Stanacar
b8962edd6b oeqa/runtime/xorg: use the right ps command for xorg test
Use our determined ps command, otherwise test fails for images with procps.

(From OE-Core rev: 18e4d014bea3a5748f42e6dac648fa9b02230344)

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-08-03 10:33:03 +01:00
Stefan Stanacar
26d67b98f8 oeqa/utils/qemurunner: tweak console bootparam and ip command
Sync serial baud rate with default inittab which should
help with apparent boot fails. Also keep a console on tty1.

Also we shouldn't assume eth0 it the right interface.
(systemd images can rename interfaces to something else).

(From OE-Core rev: d5620c0b6782b88f3e6de97b1ddadcf21207fc57)

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-08-03 10:33:02 +01:00
Stefan Stanacar
fce0c9906f oeqa/utils/qemurunner: add comment and header
One of the files was missing comment/header, unlike the others.

(From OE-Core rev: 054dba3b7b96349e1e20e3a58acd98bb68ab2536)

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-08-03 10:33:02 +01:00
Stefan Stanacar
e678a4552a oeqa/utils/sshcontrol: increase and log timeout in output
Increase a bit the timeout for ssh commands and also
write in the output that the command timed out (it's
easier to see that in a test fail than checking the ssh log)

(From OE-Core rev: 652a1762c8adc3b8cb1c6db2ee4a5234a7436c8d)

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-08-03 10:33:02 +01:00
858 changed files with 15262 additions and 11932 deletions

View File

@@ -59,7 +59,7 @@ Consumer Devices
The following consumer devices are supported by the meta-yocto-bsp layer:
* Intel Atom based PCs and devices (atom-pc)
* Intel x86 based PCs and devices (genericx86)
For more information see the device's section below. The appropriate MACHINE
variable value corresponding to the device is given in brackets.
@@ -70,10 +70,10 @@ variable value corresponding to the device is given in brackets.
===============================
Intel Atom based PCs and devices (atom-pc)
Intel x86 based PCs and devices (genericx86)
==========================================
The atom-pc MACHINE is tested on the following platforms:
The genericx86 MACHINE is tested on the following platforms:
o Asus EeePC 901
o Acer Aspire One
@@ -93,7 +93,7 @@ device as the following commands are run as root and are not reversable.
USB Device:
1. Build a live image. This image type consists of a simple filesystem
without a partition table, which is suitable for USB keys, and with the
default setup for the atom-pc machine, this image type is built
default setup for the genericx86 machine, this image type is built
automatically for any image you build. For example:
$ bitbake core-image-minimal
@@ -101,7 +101,7 @@ USB Device:
2. Use the "dd" utility to write the image to the raw block device. For
example:
# dd if=core-image-minimal-atom-pc.hddimg of=/dev/sdb
# dd if=core-image-minimal-genericx86.hddimg of=/dev/sdb
If the device fails to boot with "Boot error" displayed, or apparently
stops just after the SYSLINUX version banner, it is likely the BIOS cannot
@@ -142,7 +142,7 @@ USB Device:
# mkdir /tmp/image
# mkdir /tmp/usbkey
# mount -o loop core-image-minimal-atom-pc.hddimg /tmp/image
# mount -o loop core-image-minimal-genericx86.hddimg /tmp/image
# mount /dev/sdb4 /tmp/usbkey
# cp -rf /tmp/image/* /tmp/usbkey

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

@@ -69,9 +69,10 @@ 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.logfile = logfile
event.Event.__init__(self)
self._message = "recipe %s: task %s: %s" % (d.getVar("PF", True), t, self.getDisplayName())
@@ -96,16 +97,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 +109,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
@@ -190,6 +186,20 @@ def exec_func(func, d, dirs = None):
runfile = os.path.join(tempdir, runfn)
bb.utils.mkdirhier(os.path.dirname(runfile))
# Setup the courtesy link to the runfn, only for tasks
# we create the link 'just' before the run script is created
# if we create it after, and if the run script fails, then the
# link won't be created as an exception would be fired.
if task == func:
runlink = os.path.join(tempdir, 'run.{0}'.format(task))
if runlink:
bb.utils.remove(runlink)
try:
os.symlink(runfn, runlink)
except OSError:
pass
with bb.utils.fileslocked(lockfiles):
if ispython:
exec_func_python(func, d, runfile, cwd=adir)
@@ -250,7 +260,24 @@ def exec_func_shell(func, d, runfile, cwd=None):
d.delVarFlag('PWD', 'export')
with open(runfile, 'w') as script:
script.write('#!/bin/sh -e\n')
script.write('''#!/bin/sh\n
# Emit a useful diagnostic if something fails:
bb_exit_handler() {
ret=$?
case $ret in
0) ;;
*) case $BASH_VERSION in
"") echo "WARNING: exit code $ret from a shell command.";;
*) echo "WARNING: ${BASH_SOURCE[0]}:${BASH_LINENO[0]} exit $ret from
\"$BASH_COMMAND\"";;
esac
exit $ret
esac
}
trap 'bb_exit_handler' 0
set -e
''')
bb.data.emit_func(func, script, d)
if bb.msg.loggerVerboseLogs:
@@ -258,6 +285,12 @@ def exec_func_shell(func, d, runfile, cwd=None):
if cwd:
script.write("cd %s\n" % cwd)
script.write("%s\n" % func)
script.write('''
# cleanup
ret=$?
trap '' 0
exit $?
''')
os.chmod(runfile, 0775)
@@ -379,7 +412,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)
@@ -416,7 +449,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)
@@ -430,7 +463,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

@@ -90,8 +90,7 @@ class Command:
(command, options) = self.currentAsyncCommand
commandmethod = getattr(CommandsAsync, command)
needcache = getattr( commandmethod, "needcache" )
if (needcache and self.cooker.state in
(bb.cooker.state.initial, bb.cooker.state.parsing)):
if needcache and self.cooker.state != bb.cooker.state.running:
self.cooker.updateCache()
return True
else:
@@ -118,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:
"""
@@ -138,13 +137,13 @@ 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 getVariable(self, command, params):
"""
@@ -153,7 +152,7 @@ class CommandsSync:
varname = params[0]
expand = True
if len(params) > 1:
expand = params[1]
expand = (params[1] == "True")
return command.cooker.data.getVar(varname, expand)
getVariable.readonly = True
@@ -214,7 +213,14 @@ class CommandsSync:
image = params[0]
base_image = params[1]
package_queue = params[2]
return command.cooker.generateNewImage(image, base_image, package_queue)
timestamp = params[3]
description = params[4]
return command.cooker.generateNewImage(image, base_image,
package_queue, timestamp, description)
def ensureDir(self, command, params):
directory = params[0]
bb.utils.mkdirhier(directory)
def setVarFile(self, command, params):
"""
@@ -223,7 +229,8 @@ class CommandsSync:
var = params[0]
val = params[1]
default_file = params[2]
command.cooker.saveConfigurationVar(var, val, default_file)
op = params[3]
command.cooker.modifyConfigurationVar(var, val, default_file, op)
def createConfigFile(self, command, params):
"""
@@ -232,6 +239,13 @@ class CommandsSync:
name = params[0]
command.cooker.createConfigFile(name)
def setEventMask(self, command, params):
handlerNum = params[0]
llevel = params[1]
debug_domains = params[2]
mask = params[3]
return bb.event.set_UIHmask(handlerNum, llevel, debug_domains, mask)
class CommandsAsync:
"""
A class of asynchronous commands

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:
@@ -93,22 +93,6 @@ class BBCooker:
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 +102,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 +118,24 @@ 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 = []
caches_name_array = ['bb.cache:CoreRecipeInfo'] + self.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.databuilder = bb.cookerdata.CookerDataBuilder(self.configuration, False)
self.data = self.databuilder.data
def enableDataTracking(self):
@@ -162,6 +152,42 @@ 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)
elif op == "set":
self.saveConfigurationVar(var, val, default_file)
def appendConfigurationVar(self, var, val, default_file):
#add append var operation to the end of default_file
default_file = bb.cookerdata.findConfigFile(default_file, self.data)
with open(default_file, 'r') as f:
contents = f.readlines()
f.close()
total = ""
for c in contents:
total += c
total += "#added by bitbake"
total += "\n%s += \"%s\"\n" % (var, val)
with open(default_file, 'w') as f:
f.write(total)
f.close()
#add to history
loginfo = {"op":append, "file":default_file, "line":total.count("\n")}
self.data.appendVar(var, val, **loginfo)
def saveConfigurationVar(self, var, val, default_file):
replaced = False
@@ -223,7 +249,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()
@@ -319,13 +345,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]
@@ -357,34 +377,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 ########
@@ -668,7 +698,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
@@ -1018,7 +1048,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)
@@ -1047,15 +1077,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)
@@ -1079,53 +1102,64 @@ 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 generateNewImage(self, image, base_image, package_queue):
def generateNewImage(self, image, base_image, package_queue, timestamp, description):
'''
Create a new image with a "require" base_image statement
Create a new image with a "require"/"inherit" base_image statement
'''
image_name = os.path.splitext(image)[0]
timestr = time.strftime("-%Y%m%d-%H%M%S")
dest = image_name + str(timestr) + ".bb"
if timestamp:
image_name = os.path.splitext(image)[0]
timestr = time.strftime("-%Y%m%d-%H%M%S")
dest = image_name + str(timestr) + ".bb"
else:
if not image.endswith(".bb"):
dest = image + ".bb"
else:
dest = image
if base_image:
with open(base_image, 'r') as f:
require_line = f.readline()
with open(dest, "w") as imagefile:
imagefile.write("require " + base_image + "\n")
package_install = "PACKAGE_INSTALL_forcevariable = \""
if base_image is None:
imagefile.write("inherit image\n")
else:
topdir = self.data.getVar("TOPDIR")
if topdir in base_image:
base_image = require_line.split()[1]
imagefile.write("require " + base_image + "\n")
image_install = "IMAGE_INSTALL = \""
for package in package_queue:
package_install += str(package) + " "
package_install += "\"\n"
imagefile.write(package_install)
image_install += str(package) + " "
image_install += "\"\n"
imagefile.write(image_install)
description_var = "DESCRIPTION = \"" + description + "\"\n"
imagefile.write(description_var)
self.state = state.initial
return timestr
if timestamp:
return timestr
# This is called for all async commands when self.state != running
def updateCache(self):
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 ()
@@ -1147,7 +1181,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)
@@ -1193,18 +1227,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):
@@ -1432,7 +1467,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
@@ -1440,8 +1475,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()
@@ -1542,7 +1597,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

@@ -177,14 +177,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 +232,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 +243,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()
@@ -97,6 +97,10 @@ def delVar(var, d):
"""Removes a variable from the data set"""
d.delVar(var)
def appendVar(var, value, d):
"""Append additional value to a variable"""
d.appendVar(var, value)
def setVarFlag(var, flag, flagvalue, d):
"""Set a flag for a given variable to a given value"""
d.setVarFlag(var, flag, flagvalue)
@@ -144,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
@@ -281,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:
@@ -316,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
@@ -337,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:
@@ -355,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

@@ -38,9 +38,9 @@ from bb.COW import COWDictBase
logger = logging.getLogger("BitBake.Data")
__setvar_keyword__ = ["_append", "_prepend"]
__setvar_regexp__ = re.compile('(?P<base>.*?)(?P<keyword>_append|_prepend)(_(?P<add>.*))?$')
__expand_var_regexp__ = re.compile(r"\${[^{}]+}")
__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_python_regexp__ = re.compile(r"\${@.+?}")
def infer_caller_details(loginfo, parent = False, varval = True):
@@ -94,9 +94,14 @@ class VariableParse:
if self.varname and key:
if self.varname == key:
raise Exception("variable %s references itself!" % self.varname)
if key in self.d.expand_cache:
varparse = self.d.expand_cache[key]
self.references |= varparse.references
self.execs |= varparse.execs
return varparse.value
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()
@@ -357,7 +362,8 @@ class DataSmart(MutableMapping):
#
# First we apply all overrides
# Then we will handle _append and _prepend
# Then we will handle _append and _prepend and store the _remove
# information for later.
#
# We only want to report finalization once per variable overridden.
@@ -392,7 +398,7 @@ class DataSmart(MutableMapping):
except Exception:
logger.info("Untracked delVar")
# now on to the appends and prepends
# now on to the appends and prepends, and stashing the removes
for op in __setvar_keyword__:
if op in self._special_values:
appends = self._special_values[op] or []
@@ -415,6 +421,10 @@ class DataSmart(MutableMapping):
elif op == "_prepend":
sval = a + (self.getVar(append, False) or "")
self.setVar(append, sval)
elif op == "_remove":
removes = self.getVarFlag(append, "_removeactive", False) or []
removes.extend(a.split())
self.setVarFlag(append, "_removeactive", removes, ignore=True)
# We save overrides that may be applied at some later stage
if keep:
@@ -500,12 +510,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):
"""
@@ -519,7 +524,7 @@ class DataSmart(MutableMapping):
self.varhistory.record(**loginfo)
self.setVar(newkey, val, ignore=True)
for i in ('_append', '_prepend'):
for i in (__setvar_keyword__):
src = self.getVarFlag(key, i)
if src is None:
continue
@@ -573,16 +578,33 @@ 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)
# 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)
return value
def delVarFlag(self, var, flag, **loginfo):
@@ -627,16 +649,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
@@ -742,13 +765,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

@@ -63,6 +63,7 @@ def clean_class_handlers():
# Internal
_handlers = clean_class_handlers()
_ui_handlers = {}
_ui_logfilters = {}
_ui_handler_seq = 0
_event_handler_map = {}
_catchall_handlers = {}
@@ -135,6 +136,8 @@ def fire_ui_handlers(event, d):
for h in _ui_handlers:
#print "Sending event %s" % event
try:
if not _ui_logfilters[h].filter(event):
continue
# We use pickle here since it better handles object instances
# which xmlrpc's marshaller does not. Events *must* be serializable
# by pickle.
@@ -190,7 +193,7 @@ def register(name, handler, mask=[]):
else:
_handlers[name] = handler
if not mask:
if not mask or '*' in mask:
_catchall_handlers[name] = True
else:
for m in mask:
@@ -207,6 +210,8 @@ def remove(name, handler):
def register_UIHhandler(handler):
bb.event._ui_handler_seq = bb.event._ui_handler_seq + 1
_ui_handlers[_ui_handler_seq] = handler
level, debug_domains = bb.msg.constructLogOptions()
_ui_logfilters[_ui_handler_seq] = UIEventFilter(level, debug_domains)
return _ui_handler_seq
def unregister_UIHhandler(handlerNum):
@@ -214,6 +219,37 @@ def unregister_UIHhandler(handlerNum):
del _ui_handlers[handlerNum]
return
# Class to allow filtering of events and specific filtering of LogRecords *before* we put them over the IPC
class UIEventFilter(object):
def __init__(self, level, debug_domains):
self.update(None, level, debug_domains)
def update(self, eventmask, level, debug_domains):
self.eventmask = eventmask
self.stdlevel = level
self.debug_domains = debug_domains
def filter(self, event):
if isinstance(event, logging.LogRecord):
if event.levelno >= self.stdlevel:
return True
if event.name in self.debug_domains and event.levelno >= self.debug_domains[event.name]:
return True
return False
eid = str(event.__class__)[8:-2]
if self.eventmask and eid not in self.eventmask:
return False
return True
def set_UIHmask(handlerNum, level, debug_domains, mask):
if not handlerNum in _ui_handlers:
return False
if '*' in mask:
_ui_logfilters[handlerNum].update(None, level, debug_domains)
else:
_ui_logfilters[handlerNum].update(mask, level, debug_domains)
return True
def getName(e):
"""Returns the name of a class or class instance"""
if getattr(e, "__name__", None) == None:
@@ -341,12 +377,13 @@ class DiskFull(Event):
class NoProvider(Event):
"""No Provider for an Event"""
def __init__(self, item, runtime=False, dependees=None, reasons=[]):
def __init__(self, item, runtime=False, dependees=None, reasons=[], close_matches=[]):
Event.__init__(self)
self._item = item
self._runtime = runtime
self._dependees = dependees
self._reasons = reasons
self._close_matches = close_matches
def getItem(self):
return self._item

View File

@@ -146,8 +146,7 @@ def init_msgconfig(verbose, debug, debug_domains = []):
bb.msg.loggerVerboseLogs = True
bb.msg.loggerDefaultDomains = debug_domains
def addDefaultlogFilter(handler):
def constructLogOptions():
debug = loggerDefaultDebugLevel
verbose = loggerDefaultVerbose
domains = loggerDefaultDomains
@@ -163,6 +162,10 @@ def addDefaultlogFilter(handler):
for (domainarg, iterator) in groupby(domains):
dlevel = len(tuple(iterator))
debug_domains["BitBake.%s" % domainarg] = logging.DEBUG - dlevel + 1
return level, debug_domains
def addDefaultlogFilter(handler):
level, debug_domains = constructLogOptions()
BBLogFilter(handler, level, debug_domains)

View File

@@ -107,6 +107,9 @@ def resolve_file(fn, d):
raise IOError("file %s not found in %s" % (fn, bbpath))
fn = newfn
if not os.path.isfile(fn):
raise IOError("file %s not found" % fn)
logger.debug(2, "LOAD %s", fn)
return fn

View File

@@ -89,7 +89,7 @@ def include(oldfn, fn, lineno, data, error_out):
from bb.parse import handle
try:
ret = handle(fn, data, True)
except IOError:
except (IOError, OSError):
if error_out:
raise ParseError("Could not %(error_out)s file %(fn)s" % vars(), oldfn, lineno)
logger.debug(2, "CONF file '%s' not found", fn)

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

@@ -601,7 +601,13 @@ class RunQueueData:
continue
if target[1] not in taskData.tasks_lookup[fnid]:
bb.msg.fatal("RunQueue", "Task %s does not exist for target %s" % (target[1], target[0]))
import difflib
close_matches = difflib.get_close_matches(target[1], taskData.tasks_lookup[fnid], cutoff=0.7)
if close_matches:
extra = ". Close matches:\n %s" % "\n ".join(close_matches)
else:
extra = ""
bb.msg.fatal("RunQueue", "Task %s does not exist for target %s%s" % (target[1], target[0], extra))
listid = taskData.tasks_lookup[fnid][target[1]]
@@ -690,6 +696,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)
@@ -697,7 +711,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():
@@ -846,6 +859,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>")
@@ -889,6 +905,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:
@@ -966,7 +990,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)
@@ -1301,9 +1325,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()
@@ -1328,13 +1353,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]
@@ -1369,7 +1394,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
@@ -1621,6 +1646,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):
@@ -1709,7 +1735,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
@@ -1804,6 +1830,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

@@ -29,6 +29,7 @@ import os
import signal
import sys
import time
import select
from Queue import Empty
from multiprocessing import Event, Process, util, Queue, Pipe, queues
@@ -37,8 +38,9 @@ from . import BitBakeBaseServer, BitBakeBaseServerConnection, BaseImplServer
logger = logging.getLogger('BitBake')
class ServerCommunicator():
def __init__(self, connection):
def __init__(self, connection, event_handle):
self.connection = connection
self.event_handle = event_handle
def runCommand(self, command):
# @todo try/except
@@ -54,6 +56,8 @@ class ServerCommunicator():
except KeyboardInterrupt:
pass
def getEventHandle(self):
return self.event_handle.value
class EventAdapter():
"""
@@ -84,11 +88,12 @@ class ProcessServer(Process, BaseImplServer):
self.keep_running = Event()
self.keep_running.set()
self.event_handle = multiprocessing.Value("i")
def run(self):
for event in bb.event.ui_queue:
self.event_queue.put(event)
self.event_handle = bb.event.register_UIHhandler(self)
self.event_handle.value = bb.event.register_UIHhandler(self)
bb.cooker.server_main(self.cooker, self.main)
def main(self):
@@ -101,17 +106,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.cancel_join_thread()
bb.event.unregister_UIHhandler(self.event_handle)
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():
@@ -123,15 +128,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):
"""
@@ -147,30 +152,28 @@ class BitBakeProcessServerConnection(BitBakeBaseServerConnection):
self.procserver = serverImpl
self.ui_channel = ui_channel
self.event_queue = event_queue
self.connection = ServerCommunicator(self.ui_channel)
self.connection = ServerCommunicator(self.ui_channel, self.procserver.event_handle)
self.events = self.event_queue
def terminate(self, force = False):
def terminate(self):
def flushevents():
while True:
try:
event = self.event_queue.get(block=False)
except (Empty, IOError):
break
if isinstance(event, logging.LogRecord):
logger.handle(event)
signal.signal(signal.SIGINT, signal.SIG_IGN)
self.procserver.stop()
if force:
self.procserver.join(0.5)
if self.procserver.is_alive():
self.procserver.terminate()
self.procserver.join()
else:
self.procserver.join()
while True:
try:
event = self.event_queue.get(block=False)
except (Empty, IOError):
break
if isinstance(event, logging.LogRecord):
logger.handle(event)
while self.procserver.is_alive():
flushevents()
self.procserver.join(0.1)
self.ui_channel.close()
self.event_queue.close()
if force:
sys.exit(1)
# Wrap Queue to provide API which isn't server implementation specific
class ProcessEventQueue(multiprocessing.queues.Queue):
@@ -203,5 +206,5 @@ class BitBakeServer(BitBakeBaseServer):
def establishConnection(self):
self.connection = BitBakeProcessServerConnection(self.serverImpl, self.ui_channel, self.event_queue)
signal.signal(signal.SIGTERM, lambda i, s: self.connection.terminate(force=True))
signal.signal(signal.SIGTERM, lambda i, s: self.connection.terminate())
return self.connection

View File

@@ -47,15 +47,29 @@ except ImportError:
DEBUG = False
from SimpleXMLRPCServer import SimpleXMLRPCServer, SimpleXMLRPCRequestHandler
import inspect, select
import inspect, select, httplib
from . import BitBakeBaseServer, BitBakeBaseServerConnection, BaseImplServer
class BBTransport(xmlrpclib.Transport):
def __init__(self):
def __init__(self, timeout):
self.timeout = timeout
self.connection_token = None
xmlrpclib.Transport.__init__(self)
# Modified from default to pass timeout to HTTPConnection
def make_connection(self, host):
#return an existing connection if possible. This allows
#HTTP/1.1 keep-alive.
if self._connection and host == self._connection[0]:
return self._connection[1]
# create a HTTP connection object from a host descriptor
chost, self._extra_headers, x509 = self.get_host_info(host)
#store the host argument along with the connection object
self._connection = host, httplib.HTTPConnection(chost, timeout=self.timeout)
return self._connection[1]
def set_connection_token(self, token):
self.connection_token = token
@@ -64,8 +78,8 @@ class BBTransport(xmlrpclib.Transport):
h.putheader("Bitbake-token", self.connection_token)
xmlrpclib.Transport.send_content(self, h, body)
def _create_server(host, port):
t = BBTransport()
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
@@ -81,7 +95,8 @@ class BitBakeServerCommands():
"""
s, t = _create_server(host, port)
return bb.event.register_UIHhandler(s)
self.event_handle = bb.event.register_UIHhandler(s)
return self.event_handle
def unregisterEventHandler(self, handlerNum):
"""
@@ -95,6 +110,9 @@ class BitBakeServerCommands():
"""
return self.cooker.command.runCommand(command, self.server.readonly)
def getEventHandle(self):
return self.event_handle
def terminateServer(self):
"""
Trigger the server to quit
@@ -115,6 +133,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
@@ -149,51 +169,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
@@ -221,6 +196,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)
@@ -246,12 +224,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)
@@ -259,21 +234,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:

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

@@ -390,6 +390,17 @@ class TaskData:
reasons.append("%s PROVIDES %s but was skipped: %s" % (skipitem.pn, item, skipitem.skipreason))
return reasons
def get_close_matches(self, item, provider_list):
import difflib
if self.skiplist:
skipped = []
for fn in self.skiplist:
skipped.append(self.skiplist[fn].pn)
full_list = provider_list + skipped
else:
full_list = provider_list
return difflib.get_close_matches(item, full_list, cutoff=0.7)
def add_provider(self, cfgData, dataCache, item):
try:
self.add_provider_internal(cfgData, dataCache, item)
@@ -411,7 +422,7 @@ class TaskData:
return
if not item in dataCache.providers:
bb.event.fire(bb.event.NoProvider(item, dependees=self.get_dependees_str(item), reasons=self.get_reasons(item)), cfgData)
bb.event.fire(bb.event.NoProvider(item, dependees=self.get_dependees_str(item), reasons=self.get_reasons(item), close_matches=self.get_close_matches(item, dataCache.providers.keys())), cfgData)
raise bb.providers.NoProvider(item)
if self.have_build_target(item):

View File

@@ -440,6 +440,7 @@ class Builder(gtk.Window):
self.handler.connect("recipe-populated", self.handler_recipe_populated_cb)
self.handler.connect("package-populated", self.handler_package_populated_cb)
self.handler.append_to_bbfiles("${TOPDIR}/recipes/images/*.bb")
self.initiate_new_build_async()
signal.signal(signal.SIGINT, self.event_handle_SIGINT)
@@ -519,6 +520,7 @@ class Builder(gtk.Window):
self.handler.generate_configuration()
def initiate_new_build_async(self):
self.configuration.selected_image = None
self.switch_page(self.MACHINE_SELECTION)
self.handler.init_cooker()
self.handler.set_extra_inherit("image_types")
@@ -593,6 +595,16 @@ class Builder(gtk.Window):
toolchain_packages,
self.configuration.default_task)
def generate_new_image(self, image, description):
base_image = self.configuration.initial_selected_image
if base_image == self.recipe_model.__custom_image__:
base_image = None
packages = self.package_model.get_selected_packages()
self.handler.generate_new_image(image, base_image, packages, description)
def ensure_dir(self, directory):
self.handler.ensure_dir(directory)
def get_parameters_sync(self):
return self.handler.get_parameters()
@@ -1451,3 +1463,6 @@ class Builder(gtk.Window):
self.consolelog.setFormatter(format)
self.logger.addHandler(self.consolelog)
def get_topdir(self):
return self.handler.get_topdir()

View File

@@ -131,7 +131,7 @@ class AdvancedSettingsDialog (CrumbsDialog, SettingsUIHelper):
self.rootfs_size_spinner = None
self.extra_size_spinner = None
self.gplv3_checkbox = None
self.toolchain_checkbox = None
self.sdk_checkbox = None
self.image_types_checkbuttons = {}
self.md5 = self.config_md5()
@@ -286,16 +286,17 @@ class AdvancedSettingsDialog (CrumbsDialog, SettingsUIHelper):
self.gplv3_checkbox.set_active(False)
advanced_vbox.pack_start(self.gplv3_checkbox, expand=False, fill=False)
advanced_vbox.pack_start(self.gen_label_widget('<span weight="bold">Toolchain</span>'), expand=False, fill=False)
advanced_vbox.pack_start(self.gen_label_widget('<span weight="bold">SDK</span>'), expand=False, fill=False)
sub_hbox = gtk.HBox(False, 6)
advanced_vbox.pack_start(sub_hbox, expand=False, fill=False)
self.toolchain_checkbox = gtk.CheckButton("Build toolchain")
self.toolchain_checkbox.set_tooltip_text("Check this box to build the related toolchain with your image")
self.toolchain_checkbox.set_active(self.configuration.toolchain_build)
sub_hbox.pack_start(self.toolchain_checkbox, expand=False, fill=False)
self.sdk_checkbox = gtk.CheckButton("Populate SDK")
tooltip = "Check this box to generate an SDK tarball that consists of the cross-toolchain and a sysroot that contains development packages for your image."
self.sdk_checkbox.set_tooltip_text(tooltip)
self.sdk_checkbox.set_active(self.configuration.toolchain_build)
sub_hbox.pack_start(self.sdk_checkbox, expand=False, fill=False)
tooltip = "Selects the host platform for which you want to run the toolchain"
sdk_machine_widget, self.sdk_machine_combo = self.gen_combo_widget(self.configuration.curr_sdk_machine, self.all_sdk_machines,"<b>Build toolchain</b>" + "*" + tooltip)
tooltip = "Select the host platform for which you want to run the toolchain contained in the SDK tarball."
sdk_machine_widget, self.sdk_machine_combo = self.gen_combo_widget(self.configuration.curr_sdk_machine, self.all_sdk_machines,"<b>Populate SDK</b>" + "*" + tooltip)
sub_hbox.pack_start(sdk_machine_widget, expand=False, fill=False)
return advanced_vbox
@@ -330,7 +331,7 @@ class AdvancedSettingsDialog (CrumbsDialog, SettingsUIHelper):
self.configuration.incompat_license = " ".join(self.configuration.incompat_license or [])
self.configuration.incompat_license = self.configuration.incompat_license.strip()
self.configuration.toolchain_build = self.toolchain_checkbox.get_active()
self.configuration.toolchain_build = self.sdk_checkbox.get_active()
self.configuration.curr_sdk_machine = self.sdk_machine_combo.get_active_text()
md5 = self.config_md5()
self.settings_changed = (self.md5 != md5)

View File

@@ -275,24 +275,23 @@ class PropertyDialog(CrumbsDialog):
binb_items_count = len(binb.split(','))
binb_items = binb.split(',')
vbox = gtk.VBox(True,spacing = 0)
vbox = gtk.VBox(False,spacing = 0)
######################################## SUMMARY LABEL #########################################
if summary != '':
self.label_short = gtk.Label()
self.label_short.set_size_request(300,-1)
self.label_short.set_width_chars(37)
self.label_short.set_selectable(True)
self.label_short.set_line_wrap(True)
self.label_short.set_markup("<b>" + summary + "</b>")
self.label_short.set_property("xalign", 0)
self.vbox.pack_start(self.label_short, expand=False, fill=False, padding=0)
self.vbox.add(self.label_short)
########################################## NAME ROW + COL #######################################
self.label_short = gtk.Label()
self.label_short.set_size_request(300,-1)
self.label_short.set_selectable(True)
self.label_short.set_line_wrap(True)
self.label_short.set_markup("<span weight=\"bold\">Name: </span>" + name)
@@ -303,7 +302,6 @@ class PropertyDialog(CrumbsDialog):
####################################### VERSION ROW + COL ####################################
self.label_short = gtk.Label()
self.label_short.set_size_request(300,-1)
self.label_short.set_selectable(True)
self.label_short.set_line_wrap(True)
self.label_short.set_markup("<span weight=\"bold\">Version: </span>" + version)
@@ -314,7 +312,6 @@ class PropertyDialog(CrumbsDialog):
##################################### REVISION ROW + COL #####################################
self.label_short = gtk.Label()
self.label_short.set_size_request(300,-1)
self.label_short.set_line_wrap(True)
self.label_short.set_selectable(True)
self.label_short.set_markup("<span weight=\"bold\">Revision: </span>" + revision)
@@ -325,7 +322,6 @@ class PropertyDialog(CrumbsDialog):
################################## GROUP ROW + COL ############################################
self.label_short = gtk.Label()
self.label_short.set_size_request(300,-1)
self.label_short.set_selectable(True)
self.label_short.set_line_wrap(True)
self.label_short.set_markup("<span weight=\"bold\">Group: </span>" + group)
@@ -347,7 +343,6 @@ class PropertyDialog(CrumbsDialog):
self.label_info.set_property("xalign", 0)
self.label_short = gtk.Label()
self.label_short.set_size_request(300,-1)
self.label_short.set_selectable(True)
self.label_short.set_line_wrap(True)
self.label_short.set_markup("<b>Homepage: </b>")
@@ -369,7 +364,6 @@ class PropertyDialog(CrumbsDialog):
self.label_info.set_property("xalign", 0)
self.label_short = gtk.Label()
self.label_short.set_size_request(300,-1)
self.label_short.set_selectable(True)
self.label_short.set_line_wrap(True)
self.label_short.set_markup("<b>Bugtracker: </b>")
@@ -381,7 +375,6 @@ class PropertyDialog(CrumbsDialog):
################################# LICENSE ROW + COL ############################################
self.label_info = gtk.Label()
self.label_info.set_size_request(300,-1)
self.label_info.set_selectable(True)
self.label_info.set_line_wrap(True)
self.label_info.set_markup(license)
@@ -404,16 +397,25 @@ class PropertyDialog(CrumbsDialog):
self.label_short.set_line_wrap(True)
self.label_short.set_markup("<span weight=\"bold\">Brought in by: </span>")
self.label_short.set_property("xalign", 0)
self.label_info = gtk.Label()
self.label_info.set_size_request(300,-1)
self.label_info.set_selectable(True)
self.label_info.set_markup(binb)
self.label_info.set_property("xalign", 0)
self.label_info.set_line_wrap(True)
self.vbox.add(self.label_short)
self.vbox.add(self.label_info)
self.label_info = gtk.Label()
self.label_info.set_selectable(True)
self.label_info.set_width_chars(36)
if len(binb) > 200:
scrolled_window = gtk.ScrolledWindow()
scrolled_window.set_policy(gtk.POLICY_NEVER,gtk.POLICY_ALWAYS)
scrolled_window.set_size_request(100,100)
self.label_info.set_markup(binb)
self.label_info.set_padding(6,6)
self.label_info.set_alignment(0,0)
self.label_info.set_line_wrap(True)
scrolled_window.add_with_viewport(self.label_info)
self.vbox.add(scrolled_window)
else:
self.label_info.set_markup(binb)
self.label_info.set_property("xalign", 0)
self.label_info.set_line_wrap(True)
self.vbox.add(self.label_info)
################################ DESCRIPTION TAG ROW #################################################
@@ -428,11 +430,22 @@ class PropertyDialog(CrumbsDialog):
hbox = gtk.HBox(True,spacing = 0)
self.label_short = gtk.Label()
self.label_short.set_size_request(300,-1)
self.label_short.set_selectable(True)
self.label_short.set_text(description)
self.label_short.set_line_wrap(True)
self.label_short.set_property("xalign", 0)
self.vbox.add(self.label_short)
self.label_short.set_selectable(True)
self.label_short.set_width_chars(36)
if len(description) > 200:
scrolled_window = gtk.ScrolledWindow()
scrolled_window.set_policy(gtk.POLICY_NEVER,gtk.POLICY_ALWAYS)
scrolled_window.set_size_request(100,100)
self.label_short.set_markup(description)
self.label_short.set_padding(6,6)
self.label_short.set_alignment(0,0)
self.label_short.set_line_wrap(True)
scrolled_window.add_with_viewport(self.label_short)
self.vbox.add(scrolled_window)
else:
self.label_short.set_markup(description)
self.label_short.set_property("xalign", 0)
self.label_short.set_line_wrap(True)
self.vbox.add(self.label_short)
self.vbox.show_all()

View File

@@ -0,0 +1,51 @@
#
# BitBake Graphical GTK User Interface
#
# Copyright (C) 2013 Intel Corporation
#
# Authored by Cristiana Voicu <cristiana.voicu@intel.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import gtk
class RetrieveImageDialog (gtk.FileChooserDialog):
"""
This class is used to create a dialog that permits to retrieve
a custom image saved previously from Hob.
"""
def __init__(self, directory,title, parent, flags, buttons=None):
super(RetrieveImageDialog, self).__init__(title, None, gtk.FILE_CHOOSER_ACTION_OPEN,
(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,gtk.STOCK_OPEN, gtk.RESPONSE_OK))
self.directory = directory
# create visual elements on the dialog
self.create_visual_elements()
def create_visual_elements(self):
self.set_show_hidden(True)
self.set_default_response(gtk.RESPONSE_OK)
self.set_current_folder(self.directory)
vbox = self.get_children()[0].get_children()[0].get_children()[0]
for child in vbox.get_children()[0].get_children()[0].get_children()[0].get_children():
vbox.get_children()[0].get_children()[0].get_children()[0].remove(child)
label1 = gtk.Label()
label1.set_text("File system" + self.directory)
label1.show()
vbox.get_children()[0].get_children()[0].get_children()[0].pack_start(label1, expand=False, fill=False, padding=0)
vbox.get_children()[0].get_children()[1].get_children()[0].hide()
self.get_children()[0].get_children()[1].get_children()[0].set_label("Select")

View File

@@ -0,0 +1,160 @@
#
# BitBake Graphical GTK User Interface
#
# Copyright (C) 2013 Intel Corporation
#
# Authored by Cristiana Voicu <cristiana.voicu@intel.com>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import gtk
import glib
from bb.ui.crumbs.hig.crumbsdialog import CrumbsDialog
from bb.ui.crumbs.hig.crumbsmessagedialog import CrumbsMessageDialog
from bb.ui.crumbs.hobwidget import HobButton
class SaveImageDialog (CrumbsDialog):
"""
This class is used to create a dialog that permits to save
a custom image in a predefined directory.
"""
def __init__(self, directory, name, description, title, parent, flags, buttons=None):
super(SaveImageDialog, self).__init__(title, parent, flags, buttons)
self.directory = directory
self.builder = parent
self.name_field = name
self.description_field = description
# create visual elements on the dialog
self.create_visual_elements()
def create_visual_elements(self):
self.set_default_response(gtk.RESPONSE_OK)
self.vbox.set_border_width(6)
sub_vbox = gtk.VBox(False, 12)
self.vbox.pack_start(sub_vbox, expand=False, fill=False)
label = gtk.Label()
label.set_alignment(0, 0)
label.set_markup("<b>Name</b>")
sub_label = gtk.Label()
sub_label.set_alignment(0, 0)
content = "Image recipe names should be all lowercase and include only alphanumeric\n"
content += "characters. The only special character you can use is the ASCII hyphen (-)."
sub_label.set_markup(content)
self.name_entry = gtk.Entry()
self.name_entry.set_text(self.name_field)
self.name_entry.set_size_request(350,30)
self.name_entry.connect("changed", self.name_entry_changed)
sub_vbox.pack_start(label, expand=False, fill=False)
sub_vbox.pack_start(sub_label, expand=False, fill=False)
sub_vbox.pack_start(self.name_entry, expand=False, fill=False)
sub_vbox = gtk.VBox(False, 12)
self.vbox.pack_start(sub_vbox, expand=False, fill=False)
label = gtk.Label()
label.set_alignment(0, 0)
label.set_markup("<b>Description</b> (optional)")
sub_label = gtk.Label()
sub_label.set_alignment(0, 0)
sub_label.set_markup("The description should be less than 150 characters long.")
self.description_entry = gtk.TextView()
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,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)
sub_vbox = gtk.VBox(False, 12)
self.vbox.pack_start(sub_vbox, expand=False, fill=False)
label = gtk.Label()
label.set_alignment(0, 0)
label.set_markup("Your image recipe will be saved to:")
sub_label = gtk.Label()
sub_label.set_alignment(0, 0)
sub_label.set_markup(self.directory)
sub_vbox.pack_start(label, expand=False, fill=False)
sub_vbox.pack_start(sub_label, expand=False, fill=False)
table = gtk.Table(1, 4, True)
cancel_button = gtk.Button()
cancel_button.set_label("Cancel")
cancel_button.connect("clicked", self.cancel_button_cb)
cancel_button.set_size_request(110, 30)
self.save_button = gtk.Button()
self.save_button.set_label("Save")
self.save_button.connect("clicked", self.save_button_cb)
self.save_button.set_size_request(110, 30)
if self.name_entry.get_text() == '':
self.save_button.set_sensitive(False)
table.attach(cancel_button, 2, 3, 0, 1)
table.attach(self.save_button, 3, 4, 0, 1)
self.vbox.pack_end(table, expand=False, fill=False)
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 == '':
self.save_button.set_sensitive(False)
else:
self.save_button.set_sensitive(True)
def cancel_button_cb(self, button):
self.destroy()
def save_button_cb(self, button):
text = self.name_entry.get_text()
new_text = text.replace("-","")
description_buffer = self.description_entry.get_buffer()
description = description_buffer.get_text(description_buffer.get_start_iter(),description_buffer.get_end_iter())
if new_text.islower() and new_text.isalnum():
self.builder.image_details_page.image_saved = True
self.builder.customized = False
self.builder.generate_new_image(self.directory+text, description)
self.builder.recipe_model.set_in_list(text, description)
self.builder.recipe_model.set_selected_image(text)
self.builder.image_details_page.show_page(self.builder.IMAGE_GENERATED)
self.builder.image_details_page.name_field_template = text
self.builder.image_details_page.description_field_template = description
self.destroy()
else:
self.show_invalid_input_error_dialog()
def show_invalid_input_error_dialog(self):
lbl = "<b>Invalid characters in image recipe name</b>\n"
msg = "Image recipe names should be all lowercase and\n"
msg += "include only alphanumeric characters. The only\n"
msg += "special character you can use is the ASCII hyphen (-)."
lbl = lbl + "\n%s\n" % glib.markup_escape_text(msg)
dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_ERROR)
button = dialog.add_button("Close", gtk.RESPONSE_OK)
HobButton.style_button(button)
res = dialog.run()
self.name_entry.grab_focus()
dialog.destroy()

View File

@@ -166,17 +166,15 @@ 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 != "Create your own image":
if self.base_image != "Start with an empty image recipe":
baseImage = self.runCommand(["matchFile", self.base_image + ".bb"])
version = self.runCommand(["generateNewImage", hobImage, baseImage, self.package_queue])
version = self.runCommand(["generateNewImage", hobImage, baseImage, self.package_queue, True, ""])
targets[0] += version
self.recipe_model.set_custom_image_version(version)
@@ -426,6 +424,13 @@ class HobHandler(gobject.GObject):
self.commands_async.append(self.SUB_BUILD_IMAGE)
self.run_next_command(self.GENERATE_IMAGE)
def generate_new_image(self, image, base_image, package_queue, description):
base_image = self.runCommand(["matchFile", self.base_image + ".bb"])
self.runCommand(["generateNewImage", image, base_image, package_queue, False, description])
def ensure_dir(self, directory):
self.runCommand(["ensureDir", directory])
def build_succeeded_async(self):
self.building = False
@@ -435,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
@@ -452,6 +457,9 @@ class HobHandler(gobject.GObject):
def get_logfile(self):
return self.server.runCommand(["getVariable", "BB_CONSOLELOG"])[0]
def get_topdir(self):
return self.runCommand(["getVariable", "TOPDIR"]) or ""
def _remove_redundant(self, string):
ret = []
for i in string.split():
@@ -461,9 +469,18 @@ class HobHandler(gobject.GObject):
def set_var_in_file(self, var, val, default_file=None):
self.runCommand(["enableDataTracking"])
self.server.runCommand(["setVarFile", var, val, default_file])
self.server.runCommand(["setVarFile", var, val, default_file, "set"])
self.runCommand(["disableDataTracking"])
def append_var_in_file(self, var, val, default_file=None):
self.server.runCommand(["setVarFile", var, val, default_file, "append"])
def append_to_bbfiles(self, val):
bbfiles = self.runCommand(["getVariable", "BBFILES", "False"]) or ""
bbfiles = bbfiles.split()
if val not in bbfiles:
self.append_var_in_file("BBFILES", val, "local.conf")
def get_parameters(self):
# retrieve the parameters from bitbake
params = {}

View File

@@ -474,9 +474,9 @@ class RecipeListModel(gtk.ListStore):
provide filtered views of the data.
"""
(COL_NAME, COL_DESC, COL_LIC, COL_GROUP, COL_DEPS, COL_BINB, COL_TYPE, COL_INC, COL_IMG, COL_INSTALL, COL_PN, COL_FADE_INC, COL_SUMMARY, COL_VERSION,
COL_REVISION, COL_HOMEPAGE, COL_BUGTRACKER) = range(17)
COL_REVISION, COL_HOMEPAGE, COL_BUGTRACKER, COL_FILE) = range(18)
__custom_image__ = "Create your own image"
__custom_image__ = "Start with an empty image recipe"
__gsignals__ = {
"recipe-selection-changed" : (gobject.SIGNAL_RUN_LAST,
@@ -504,6 +504,7 @@ class RecipeListModel(gtk.ListStore):
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_STRING)
self.sort_column_id, self.sort_order = RecipeListModel.COL_NAME, gtk.SORT_ASCENDING
@@ -678,15 +679,8 @@ class RecipeListModel(gtk.ListStore):
self.clear()
# dummy image for prompt
self.set(self.append(), self.COL_NAME, self.__custom_image__,
self.COL_DESC, "Use 'Edit image' to customize recipes and packages " \
"to be included in your image ",
self.COL_LIC, "", self.COL_GROUP, "",
self.COL_DEPS, "", self.COL_BINB, "",
self.COL_TYPE, "image", self.COL_INC, False,
self.COL_IMG, False, self.COL_INSTALL, "", self.COL_PN, self.__custom_image__,
self.COL_SUMMARY, "", self.COL_VERSION, "", self.COL_REVISION, "",
self.COL_HOMEPAGE, "", self.COL_BUGTRACKER, "")
self.set_in_list(self.__custom_image__, "Use 'Edit image recipe' to customize recipes and packages " \
"to be included in your image ")
for item in event_model["pn"]:
name = item
@@ -699,6 +693,7 @@ class RecipeListModel(gtk.ListStore):
revision = event_model["pn"][item]["revision"]
homepage = event_model["pn"][item]["homepage"]
bugtracker = event_model["pn"][item]["bugtracker"]
filename = event_model["pn"][item]["filename"]
install = []
depends = event_model["depends"].get(item, []) + event_model["rdepends-pn"].get(item, [])
@@ -722,7 +717,8 @@ class RecipeListModel(gtk.ListStore):
self.COL_TYPE, atype, self.COL_INC, False,
self.COL_IMG, False, self.COL_INSTALL, " ".join(install), self.COL_PN, item,
self.COL_SUMMARY, summary, self.COL_VERSION, version, self.COL_REVISION, revision,
self.COL_HOMEPAGE, homepage, self.COL_BUGTRACKER, bugtracker)
self.COL_HOMEPAGE, homepage, self.COL_BUGTRACKER, bugtracker,
self.COL_FILE, filename)
self.pn_path = {}
it = self.get_iter_first()
@@ -732,6 +728,23 @@ class RecipeListModel(gtk.ListStore):
self.pn_path[pn] = path
it = self.iter_next(it)
def set_in_list(self, item, desc):
self.set(self.append(), self.COL_NAME, item,
self.COL_DESC, desc,
self.COL_LIC, "", self.COL_GROUP, "",
self.COL_DEPS, "", self.COL_BINB, "",
self.COL_TYPE, "image", self.COL_INC, False,
self.COL_IMG, False, self.COL_INSTALL, "", self.COL_PN, item,
self.COL_SUMMARY, "", self.COL_VERSION, "", self.COL_REVISION, "",
self.COL_HOMEPAGE, "", self.COL_BUGTRACKER, "")
self.pn_path = {}
it = self.get_iter_first()
while it:
pn = self.get_value(it, self.COL_NAME)
path = self.get_path(it)
self.pn_path[pn] = path
it = self.iter_next(it)
"""
Update the model, send out the notification.
"""
@@ -882,3 +895,6 @@ class RecipeListModel(gtk.ListStore):
def get_custom_image_version(self):
return self.custom_image_version
def is_custom_image(self):
return self.get_selected_image() == self.__custom_image__

View File

@@ -28,6 +28,7 @@ from bb.ui.crumbs.hobcolor import HobColors
from bb.ui.crumbs.hobwidget import hic, HobImageButton, HobInfoButton, HobAltButton, HobButton
from bb.ui.crumbs.hoblistmodel import RecipeListModel
from bb.ui.crumbs.hobpages import HobPage
from bb.ui.crumbs.hig.retrieveimagedialog import RetrieveImageDialog
#
# ImageConfigurationPage
@@ -35,7 +36,8 @@ from bb.ui.crumbs.hobpages import HobPage
class ImageConfigurationPage (HobPage):
__dummy_machine__ = "--select a machine--"
__dummy_image__ = "--select a base image--"
__dummy_image__ = "--select an image recipe--"
__custom_image__ = "Select from my image recipes"
def __init__(self, builder):
super(ImageConfigurationPage, self).__init__(builder, "Image configuration")
@@ -47,6 +49,7 @@ class ImageConfigurationPage (HobPage):
self.machine_combo_changed_by_manual = True
self.stopping = False
self.warning_shift = 0
self.custom_image_selected = None
self.create_visual_elements()
def create_visual_elements(self):
@@ -200,12 +203,9 @@ class ImageConfigurationPage (HobPage):
markup += "http://www.yoctoproject.org/docs/current/dev-manual/"
markup += "dev-manual.html#understanding-and-using-layers\">reference manual</a>."
self.layer_info_icon = HobInfoButton("<b>Layers</b>" + "*" + markup, self.get_parent())
# self.progress_box = gtk.HBox(False, 6)
self.progress_bar = HobProgressBar()
# self.progress_box.pack_start(self.progress_bar, expand=True, fill=True)
self.stop_button = HobAltButton("Stop")
self.stop_button.connect("clicked", self.stop_button_clicked_cb)
# self.progress_box.pack_end(stop_button, expand=False, fill=False)
self.machine_separator = gtk.HSeparator()
def set_config_machine_layout(self, show_progress_bar = False):
@@ -229,17 +229,19 @@ class ImageConfigurationPage (HobPage):
def create_config_baseimg(self):
self.image_title = gtk.Label()
self.image_title.set_alignment(0, 1.0)
mark = "<span %s>Select a base image</span>" % self.span_tag('x-large', 'bold')
mark = "<span %s>Select an image recipe</span>" % self.span_tag('x-large', 'bold')
self.image_title.set_markup(mark)
self.image_title_desc = gtk.Label()
self.image_title_desc.set_alignment(0, 0.5)
mark = ("<span %s>Base images are a starting point for the type of image you want. "
mark = ("<span %s>Image recipes are a starting point for the type of image you want. "
"You can build them as \n"
"they are or customize them to your specific needs.\n</span>") % self.span_tag('medium')
"they are or edit them to suit your needs.\n</span>") % self.span_tag('medium')
self.image_title_desc.set_markup(mark)
self.image_combo = gtk.combo_box_new_text()
self.image_combo.set_row_separator_func(self.combo_separator_func, None)
self.image_combo_id = self.image_combo.connect("changed", self.image_combo_changed_cb)
self.image_desc = gtk.Label()
@@ -258,6 +260,11 @@ class ImageConfigurationPage (HobPage):
self.image_separator = gtk.HSeparator()
def combo_separator_func(self, model, iter, user_data):
name = model.get_value(iter, 0)
if name == "--Separator--":
return True
def set_config_baseimg_layout(self):
self.gtable.attach(self.image_title, 0, 40, 15+self.warning_shift, 17+self.warning_shift)
self.gtable.attach(self.image_title_desc, 0, 40, 18+self.warning_shift, 22+self.warning_shift)
@@ -272,15 +279,13 @@ class ImageConfigurationPage (HobPage):
# create button "Build image"
self.just_bake_button = HobButton("Build image")
#self.just_bake_button.set_size_request(205, 49)
self.just_bake_button.set_tooltip_text("Build target image")
self.just_bake_button.set_tooltip_text("Build the image recipe as it is")
self.just_bake_button.connect("clicked", self.just_bake_button_clicked_cb)
button_box.pack_end(self.just_bake_button, expand=False, fill=False)
# create button "Edit Image"
self.edit_image_button = HobAltButton("Edit image")
#self.edit_image_button.set_size_request(205, 49)
self.edit_image_button.set_tooltip_text("Edit target image")
# create button "Edit image recipe"
self.edit_image_button = HobAltButton("Edit image recipe")
self.edit_image_button.set_tooltip_text("Customize the recipes and packages to be included in your image")
self.edit_image_button.connect("clicked", self.edit_image_button_clicked_cb)
button_box.pack_end(self.edit_image_button, expand=False, fill=False)
@@ -314,6 +319,8 @@ class ImageConfigurationPage (HobPage):
# reset machine_combo_changed_by_manual
self.machine_combo_changed_by_manual = True
self.builder.configuration.selected_image = None
# Do reparse recipes
self.builder.populate_recipe_package_info_async()
@@ -362,7 +369,33 @@ class ImageConfigurationPage (HobPage):
def image_combo_changed_cb(self, combo):
self.builder.window_sensitive(False)
selected_image = self.image_combo.get_active_text()
if selected_image == self.__custom_image__:
topdir = self.builder.get_topdir()
images_dir = topdir + "/recipes/images/"
self.builder.ensure_dir(images_dir)
dialog = RetrieveImageDialog(images_dir, "Select from my image recipes",
self.builder, gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT)
response = dialog.run()
if response == gtk.RESPONSE_OK:
image_name = dialog.get_filename()
head, tail = os.path.split(image_name)
selected_image = os.path.splitext(tail)[0]
self.custom_image_selected = selected_image
self.update_image_combo(self.builder.recipe_model, selected_image)
else:
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)
self.just_bake_button.hide()
self.edit_image_button.hide()
return
# remove __dummy_image__ item from the store list after first user selection
@@ -428,6 +461,11 @@ class ImageConfigurationPage (HobPage):
self.image_combo.append_text(self.__dummy_image__)
cnt = cnt + 1
self.image_combo.append_text(self.__custom_image__)
self.image_combo.append_text("--Separator--")
cnt = cnt + 2
topdir = self.builder.get_topdir()
# append and set active
while it:
path = image_model.get_path(it)
@@ -451,16 +489,27 @@ class ImageConfigurationPage (HobPage):
else:
allow = True
file_name = image_model[path][recipe_model.COL_FILE]
if file_name and topdir in file_name:
allow = False
if allow:
self.image_combo.append_text(image_name)
if image_name == selected_image:
active = cnt
cnt = cnt + 1
self.image_combo.append_text(self.builder.recipe_model.__custom_image__)
if selected_image == self.builder.recipe_model.__custom_image__:
active = cnt
if self.custom_image_selected:
self.image_combo.append_text("--Separator--")
self.image_combo.append_text(self.custom_image_selected)
cnt = cnt + 2
if self.custom_image_selected == selected_image:
active = cnt
self.image_combo.set_active(active)
if active != 0:
@@ -471,14 +520,14 @@ class ImageConfigurationPage (HobPage):
def layer_button_clicked_cb(self, button):
# Create a layer selection dialog
self.builder.show_layer_selection_dialog()
def view_adv_configuration_button_clicked_cb(self, button):
# Create an advanced settings dialog
response, settings_changed = self.builder.show_adv_settings_dialog()
if not response:
return
if settings_changed:
self.builder.reparse_post_adv_settings()
self.builder.reparse_post_adv_settings()
def just_bake_button_clicked_cb(self, button):
self.builder.parsing_warnings = []

View File

@@ -27,6 +27,7 @@ from bb.ui.crumbs.hobwidget import hic, HobViewTable, HobAltButton, HobButton
from bb.ui.crumbs.hobpages import HobPage
import subprocess
from bb.ui.crumbs.hig.crumbsdialog import CrumbsDialog
from bb.ui.crumbs.hig.saveimagedialog import SaveImageDialog
#
# ImageDetailsPage
@@ -188,7 +189,10 @@ class ImageDetailsPage (HobPage):
self.image_store = []
self.button_ids = {}
self.details_bottom_buttons = gtk.HBox(False, 6)
self.image_saved = False
self.create_visual_elements()
self.name_field_template = ""
self.description_field_template = ""
def create_visual_elements(self):
# create visual elements
@@ -247,7 +251,7 @@ class ImageDetailsPage (HobPage):
self.pack_start(self.group_align, expand=True, fill=True)
self.build_result = None
if self.build_succeeded and self.builder.current_step == self.builder.IMAGE_GENERATING:
if self.image_saved or (self.build_succeeded and self.builder.current_step == self.builder.IMAGE_GENERATING):
# building is the previous step
icon = gtk.Image()
pixmap_path = hic.ICON_INDI_CONFIRM_FILE
@@ -255,11 +259,14 @@ class ImageDetailsPage (HobPage):
pix_buffer = gtk.gdk.pixbuf_new_from_file(pixmap_path)
icon.set_from_pixbuf(pix_buffer)
varlist = [""]
vallist = ["Your image is ready"]
if self.image_saved:
vallist = ["Your image recipe has been saved"]
else:
vallist = ["Your image is ready"]
self.build_result = self.BuildDetailBox(varlist=varlist, vallist=vallist, icon=icon, color=color)
self.box_group_area.pack_start(self.build_result, expand=False, fill=False)
self.buttonlist = ["Build new image", "Run image", "Deploy image"]
self.buttonlist = ["Build new image", "Save image recipe", "Run image", "Deploy image"]
# Name
self.image_store = []
@@ -333,13 +340,18 @@ class ImageDetailsPage (HobPage):
# self.kernel_detail = self.DetailBox(varlist=varlist, vallist=vallist, button=change_kernel_button)
# self.box_group_area.pack_start(self.kernel_detail, expand=True, fill=True)
# Machine, Base image and Layers
# Machine, Image recipe and Layers
layer_num_limit = 15
varlist = ["Machine: ", "Base image: ", "Layers: "]
varlist = ["Machine: ", "Image recipe: ", "Layers: "]
vallist = []
self.setting_detail = None
if self.build_succeeded:
vallist.append(machine)
if self.builder.recipe_model.is_custom_image():
if self.builder.configuration.initial_selected_image == self.builder.recipe_model.__custom_image__:
base_image ="New image recipe"
else:
base_image = self.builder.configuration.initial_selected_image + " (edited)"
vallist.append(base_image)
i = 0
for layer in layers:
@@ -359,7 +371,7 @@ class ImageDetailsPage (HobPage):
i += 1
edit_config_button = HobAltButton("Edit configuration")
edit_config_button.set_tooltip_text("Edit machine, base image and recipes")
edit_config_button.set_tooltip_text("Edit machine and image recipe")
edit_config_button.connect("clicked", self.edit_config_button_clicked_cb)
self.setting_detail = self.DetailBox(varlist=varlist, vallist=vallist, button=edit_config_button)
self.box_group_area.pack_start(self.setting_detail, expand=True, fill=True)
@@ -391,6 +403,7 @@ class ImageDetailsPage (HobPage):
self.show_all()
if self.kernel_detail and (not is_runnable):
self.kernel_detail.hide()
self.image_saved = False
def view_files_clicked_cb(self, button, image_addr):
subprocess.call("xdg-open /%s" % image_addr, shell=True)
@@ -574,6 +587,15 @@ class ImageDetailsPage (HobPage):
created = True
is_runnable = True
name = "Save image recipe"
if name in buttonlist and self.builder.recipe_model.is_custom_image():
save_button = HobAltButton("Save image recipe")
save_button.set_tooltip_text("Keep your changes saving them as an image recipe")
save_button.set_sensitive(not self.image_saved)
button_id = save_button.connect("clicked", self.save_button_clicked_cb)
self.button_ids[button_id] = save_button
self.details_bottom_buttons.pack_end(save_button, expand=False, fill=False)
name = "Build new image"
if name in buttonlist:
# create button "Build new image"
@@ -608,6 +630,16 @@ class ImageDetailsPage (HobPage):
else:
self.builder.runqemu_image(self.toggled_image, self.sel_kernel)
def save_button_clicked_cb(self, button):
topdir = self.builder.get_topdir()
images_dir = topdir + "/recipes/images/"
self.builder.ensure_dir(images_dir)
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()
dialog.destroy()
def build_new_button_clicked_cb(self, button):
self.builder.initiate_new_build_async()

View File

@@ -278,7 +278,7 @@ class PackageSelectionPage (HobPage):
image_total_size += (51200 * 1024)
image_total_size_str = HobPage._size_to_string(image_total_size)
self.label.set_label("Packages included: %s\nSelected packages size: %s\nTotal image size: %s" %
self.label.set_label("Packages included: %s\nSelected packages size: %s\nEstimated image size: %s" %
(selected_packages_num, selected_packages_size_str, image_total_size_str))
self.ins.show_indicator_icon("Included packages", selected_packages_num)

View File

@@ -375,10 +375,16 @@ class RunningBuild (gobject.GObject):
r = "R"
else:
r = ""
extra = ''
if not event._reasons:
if event._close_matches:
extra = ". Close matches:\n %s" % '\n '.join(event._close_matches)
if event._dependees:
msg = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)\n" % (r, event._item, ", ".join(event._dependees), r)
msg = "Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s\n" % (r, event._item, ", ".join(event._dependees), r, extra)
else:
msg = "Nothing %sPROVIDES '%s'\n" % (r, event._item)
msg = "Nothing %sPROVIDES '%s'%s\n" % (r, event._item, extra)
if event._reasons:
for reason in event._reasons:
msg += ("%s\n" % reason)

View File

@@ -154,7 +154,7 @@ class DepExplorer(gtk.Window):
def on_cursor_changed(self, selection):
(model, it) = selection.get_selected()
if iter is None:
if it is None:
current_package = None
else:
current_package = model.get_value(it, COL_PKG_NAME)
@@ -163,23 +163,17 @@ class DepExplorer(gtk.Window):
self.revdep_treeview.set_current_package(current_package)
def parse(depgraph, pkg_model, depends_model):
for package in depgraph["pn"]:
pkg_model.set(pkg_model.append(), COL_PKG_NAME, package)
def parse(self, depgraph):
for package in depgraph["pn"]:
self.pkg_model.insert(0, (package,))
for package in depgraph["depends"]:
for depend in depgraph["depends"][package]:
depends_model.set (depends_model.append(),
COL_DEP_TYPE, TYPE_DEP,
COL_DEP_PARENT, package,
COL_DEP_PACKAGE, depend)
for package in depgraph["depends"]:
for depend in depgraph["depends"][package]:
self.depends_model.insert (0, (TYPE_DEP, package, depend))
for package in depgraph["rdepends-pn"]:
for rdepend in depgraph["rdepends-pn"][package]:
depends_model.set (depends_model.append(),
COL_DEP_TYPE, TYPE_RDEP,
COL_DEP_PARENT, package,
COL_DEP_PACKAGE, rdepend)
for package in depgraph["rdepends-pn"]:
for rdepend in depgraph["rdepends-pn"][package]:
self.depends_model.insert (0, (TYPE_RDEP, package, rdepend))
class gtkthread(threading.Thread):
@@ -293,7 +287,7 @@ def main(server, eventHandler, params):
if isinstance(event, bb.event.DepTreeGenerated):
gtk.gdk.threads_enter()
parse(event._depgraph, dep.pkg_model, dep.depends_model)
dep.parse(event._depgraph)
gtk.gdk.threads_leave()
if isinstance(event, bb.command.CommandCompleted):
@@ -320,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

@@ -58,6 +58,19 @@ def event_handle_idle_func(eventHandler, hobHandler):
event = eventHandler.getEvent()
return True
_evt_list = [ "bb.runqueue.runQueueExitWait", "bb.event.LogExecTTY", "logging.LogRecord",
"bb.build.TaskFailed", "bb.build.TaskBase", "bb.event.ParseStarted",
"bb.event.ParseProgress", "bb.event.ParseCompleted", "bb.event.CacheLoadStarted",
"bb.event.CacheLoadProgress", "bb.event.CacheLoadCompleted", "bb.command.CommandFailed",
"bb.command.CommandExit", "bb.command.CommandCompleted", "bb.cooker.CookerExit",
"bb.event.MultipleProviders", "bb.event.NoProvider", "bb.runqueue.sceneQueueTaskStarted",
"bb.runqueue.runQueueTaskStarted", "bb.runqueue.runQueueTaskFailed", "bb.runqueue.sceneQueueTaskFailed",
"bb.event.BuildBase", "bb.build.TaskStarted", "bb.build.TaskSucceeded", "bb.build.TaskFailedSilent",
"bb.event.SanityCheckPassed", "bb.event.SanityCheckFailed", "bb.event.PackageInfo",
"bb.event.TargetsTreeGenerated", "bb.event.ConfigFilesFound", "bb.event.ConfigFilePathFound",
"bb.event.FilesMatchingFound", "bb.event.NetworkTestFailed", "bb.event.NetworkTestPassed",
"bb.event.BuildStarted", "bb.event.BuildCompleted", "bb.event.DiskFull"]
def main (server, eventHandler, params):
params.updateFromServer(server)
gobject.threads_init()
@@ -68,6 +81,8 @@ def main (server, eventHandler, params):
recipe_model = RecipeListModel()
package_model = PackageListModel()
llevel, debug_domains = bb.msg.constructLogOptions()
server.runCommand(["setEventMask", server.getEventHandle(), llevel, debug_domains, _evt_list])
hobHandler = HobHandler(server, recipe_model, package_model)
builder = Builder(hobHandler, recipe_model, package_model)

View File

@@ -232,6 +232,15 @@ def _log_settings_from_server(server):
raise BaseException(error)
return includelogs, loglines, consolelogfile
_evt_list = [ "bb.runqueue.runQueueExitWait", "bb.event.LogExecTTY", "logging.LogRecord",
"bb.build.TaskFailed", "bb.build.TaskBase", "bb.event.ParseStarted",
"bb.event.ParseProgress", "bb.event.ParseCompleted", "bb.event.CacheLoadStarted",
"bb.event.CacheLoadProgress", "bb.event.CacheLoadCompleted", "bb.command.CommandFailed",
"bb.command.CommandExit", "bb.command.CommandCompleted", "bb.cooker.CookerExit",
"bb.event.MultipleProviders", "bb.event.NoProvider", "bb.runqueue.sceneQueueTaskStarted",
"bb.runqueue.runQueueTaskStarted", "bb.runqueue.runQueueTaskFailed", "bb.runqueue.sceneQueueTaskFailed",
"bb.event.BuildBase", "bb.build.TaskStarted", "bb.build.TaskSucceeded", "bb.build.TaskFailedSilent"]
def main(server, eventHandler, params, tf = TerminalFilter):
includelogs, loglines, consolelogfile = _log_settings_from_server(server)
@@ -262,6 +271,9 @@ def main(server, eventHandler, params, tf = TerminalFilter):
consolelog.setFormatter(conlogformat)
logger.addHandler(consolelog)
llevel, debug_domains = bb.msg.constructLogOptions()
server.runCommand(["setEventMask", server.getEventHandle(), llevel, debug_domains, _evt_list])
if not params.observe_only:
params.updateFromServer(server)
cmdline = params.parseActions()
@@ -294,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
@@ -391,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):
@@ -416,10 +431,15 @@ def main(server, eventHandler, params, tf = TerminalFilter):
else:
r = ""
extra = ''
if not event._reasons:
if event._close_matches:
extra = ". Close matches:\n %s" % '\n '.join(event._close_matches)
if event._dependees:
logger.error("Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)", r, event._item, ", ".join(event._dependees), r)
logger.error("Nothing %sPROVIDES '%s' (but %s %sDEPENDS on or otherwise requires it)%s", r, event._item, ", ".join(event._dependees), r, extra)
else:
logger.error("Nothing %sPROVIDES '%s'", r, event._item)
logger.error("Nothing %sPROVIDES '%s'%s", r, event._item, extra)
if event._reasons:
for reason in event._reasons:
logger.error("%s", reason)
@@ -480,7 +500,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:
@@ -501,7 +521,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

@@ -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
@@ -14,7 +15,7 @@ sqlversion = sqlite3.sqlite_version_info
if sqlversion[0] < 3 or (sqlversion[0] == 3 and sqlversion[1] < 3):
raise Exception("sqlite3 version 3.3.0 or later is required.")
class PRTable():
class PRTable(object):
def __init__(self, conn, table, nohist):
self.conn = conn
self.nohist = nohist
@@ -32,16 +33,20 @@ class PRTable():
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():
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():
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():
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():
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")
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,19 +33,17 @@ class Handler(SimpleXMLRPCRequestHandler):
PIDPREFIX = "/tmp/PRServer_%s_%s.pid"
singleton = None
class PRServer(SimpleXMLRPCServer):
def __init__(self, dbfile, logfile, interface, daemon=True):
''' constructor '''
SimpleXMLRPCServer.__init__(self, interface,
requestHandler=SimpleXMLRPCRequestHandler,
logRequests=False, allow_none=True)
self.dbfile=dbfile
self.daemon=daemon
self.logfile=logfile
self.working_thread=None
self.host, self.port = self.socket.getsockname()
self.db=prserv.db.PRData(dbfile)
self.table=self.db["PRMAIN"]
self.pidfile=PIDPREFIX % (self.host, self.port)
self.register_function(self.getPR, "getPR")
@@ -53,6 +53,32 @@ class PRServer(SimpleXMLRPCServer):
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:
return self.table.export(version, pkgarch, checksum, colinfo)
@@ -90,9 +116,11 @@ class PRServer(SimpleXMLRPCServer):
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
@@ -143,6 +171,11 @@ class PRServer(SimpleXMLRPCServer):
os.dup2(so.fileno(),sys.stdout.fileno())
os.dup2(se.fileno(),sys.stderr.fileno())
# Clear out all log handlers prior to the fork() to avoid calling
# event handlers not part of the PRserver
for logger_iter in logging.Logger.manager.loggerDict.keys():
logging.getLogger(logger_iter).handlers = []
# Ensure logging makes it to the logfile
streamhandler = logging.StreamHandler()
streamhandler.setLevel(logging.DEBUG)
@@ -157,10 +190,10 @@ class PRServer(SimpleXMLRPCServer):
pf.close()
self.work_forever()
self.delpid
self.delpid()
os._exit(0)
class PRServSingleton():
class PRServSingleton(object):
def __init__(self, dbfile, logfile, interface):
self.dbfile = dbfile
self.logfile = logfile
@@ -172,12 +205,11 @@ class PRServSingleton():
self.prserv = PRServer(self.dbfile, self.logfile, self.interface)
self.prserv.start()
self.host, self.port = self.prserv.getinfo()
del self.prserv.db
def getinfo(self):
return (self.host, self.port)
class PRServerConnection():
class PRServerConnection(object):
def __init__(self, host, port):
if is_local_special(host, port):
host, port = singleton.getinfo()
@@ -186,9 +218,6 @@ class PRServerConnection():
self.connection, self.transport = bb.server.xmlrpc._create_server(self.host, self.port)
def terminate(self):
# Don't wait for server indefinitely
import socket
socket.setdefaulttimeout(2)
try:
logger.info("Terminating PRServer...")
self.connection.quit()

View File

@@ -196,7 +196,11 @@ TARFILES = mega-manual.html mega-style.css figures/yocto-environment.png figures
figures/perf-wget-g-copy-to-user-expanded-stripped-unresolved-hidden.png figures/pybootchartgui-linux-yocto.png \
figures/pychart-linux-yocto-rpm.png figures/pychart-linux-yocto-rpm-nostrip.png \
figures/sched-wakeup-profile.png figures/sysprof-callers.png \
figures/sysprof-copy-from-user.png figures/sysprof-copy-to-user.png figures/cross-development-toolchains.png
figures/sysprof-copy-from-user.png figures/sysprof-copy-to-user.png figures/cross-development-toolchains.png \
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
endif
MANUALS = $(DOC)/$(DOC).html
@@ -210,7 +214,12 @@ XSLTOPTS = --xinclude
ALLPREQ = html pdf eclipse tarball
TARFILES = ref-manual.html ref-style.css figures/poky-title.png \
figures/buildhistory.png figures/buildhistory-web.png eclipse \
figures/cross-development-toolchains.png
figures/cross-development-toolchains.png figures/layer-input.png \
figures/package-feeds.png figures/source-input.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
MANUALS = $(DOC)/$(DOC).html $(DOC)/$(DOC).pdf $(DOC)/eclipse
FIGURES = figures
STYLESHEET = $(DOC)/*.css

View File

@@ -2,60 +2,60 @@ documentation
=============
This is the directory that contains the Yocto Project documentation. The Yocto
Project source repositories at http://git.yoctoproject.org/cgit.cgi have two
Project source repositories at http://git.yoctoproject.org/cgit.cgi have two
instances of the "documentation" directory. You should understand each of
these instances.
poky/documentation - The directory within the poky Git repository containing
the set of Yocto Project manuals. When you clone the
poky Git repository, the documentation directory
contains the manuals. The state of the manuals in this
directory is guaranteed to reflect the latest Yocto
Project release. The manuals at the tip of this
directory will also likely contain most manual
the set of Yocto Project manuals. When you clone the
poky Git repository, the documentation directory
contains the manuals. The state of the manuals in this
directory is guaranteed to reflect the latest Yocto
Project release. The manuals at the tip of this
directory will also likely contain most manual
development changes.
yocto-docs/documentation - The Git repository for the Yocto Project manuals.
This repository is where manual development
occurs. If you plan on contributing back to the
Yocto Project documentation, you should set up
a local Git repository based on this upstream
yocto-docs/documentation - The Git repository for the Yocto Project manuals.
This repository is where manual development
occurs. If you plan on contributing back to the
Yocto Project documentation, you should set up
a local Git repository based on this upstream
repository as follows:
git clone git://git.yoctoproject.org/yocto-docs
Changes and patches are first pushed to the
yocto-docs Git repository. Later, they make it
into the poky Git repository found at
git://git.yoctoproject.org/poky.
Changes and patches are first pushed to the
yocto-docs Git repository. Later, they make it
into the poky Git repository found at
git://git.yoctoproject.org/poky.
Manual Organization
===================
Folders exist for individual manuals as follows:
* adt-manual - The Yocto Project Application Development Toolkit (ADT)
User's Guide.
* bsp-guide - The Yocto Project Board Support (BSP) Developer's Guide
* adt-manual - The Yocto Project Application Developer's Guide.
* bsp-guide - The Yocto Project Board Support Package (BSP) Developer's Guide
* dev-manual - The Yocto Project Development Manual
* kernel-manual - The Yocto Project Kernel Architecture and Use Manual
* poky-ref-manual - The Yocto Project Reference Manual
* kernel-dev - The Yocto Project Linux Kernel Development Manual
* ref-manual - The Yocto Project Reference Manual
* yocto-project-qs - The Yocto Project Quick Start
* mega-manual - The aggregated manual comprised of all YP manuals and guides
* mega-manual - An aggregated manual comprised of all YP manuals and guides
* profile-manual - The Yocto Project Profile and Tracing Manual
Each folder is self-contained regarding content and figures. Note that there
is a sed file needed to process the links of the mega-manual. The sed file
is located in the tools directory. Also note that the figures folder in the
is located in the tools directory. Also note that the figures folder in the
mega-manual directory contains duplicates of all the figures in the YP folders
directories for all YP manuals and guides.
If you want to find HTML versions of the Yocto Project manuals on the web,
go to http://www.yoctoproject.org and click on the "Documentation" tab. From
If you want to find HTML versions of the Yocto Project manuals on the web,
go to http://www.yoctoproject.org and click on the "Documentation" tab. From
there you have access to archived documentation from previous releases, current
documentation for the latest release, and "Docs in Progress" for the release
documentation for the latest release, and "Docs in Progress" for the release
currently being developed.
In general, the Yocto Project site (http://www.yoctoproject.org) is a great
In general, the Yocto Project site (http://www.yoctoproject.org) is a great
reference for both information and downloads.
Makefile
@@ -66,8 +66,8 @@ tarballs, etc. Details on how the Makefile work are documented
inside the Makefile. See that file for more information.
To build a manual, you run the make command and pass it the name
of the folder containing the manual's contents.
For example, the following command run from the documentation directory
of the folder containing the manual's contents.
For example, the following command run from the documentation directory
creates an HTML and a PDF version of the ADT manual.
The DOC variable specifies the manual you are making:
@@ -86,9 +86,6 @@ Contains various templates, fonts, and some old PNG files.
tools
=====
Contains a tool to convert the DocBook files to PDF format. This folder also
contains the mega-manual.sed file, which is used by Makefile to process
cross-references from within the manual that normally go to an external
contains the mega-manual.sed file, which is used by Makefile to process
cross-references from within the manual that normally go to an external
manual.

View File

@@ -91,8 +91,10 @@
<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>)
located in the Source Directory before running 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>)
located in the Source Directory before running the
BitBake command that creates the tarball.
</para>
@@ -229,9 +231,11 @@
<title>Using a Cross-Toolchain Tarball</title>
<para>
If you want to simply install the cross-toolchain by hand, you can
If you want to simply install a cross-toolchain by hand, you can
do so by running the toolchain installer.
If you use this method to install the cross-toolchain and you
The installer includes the pre-built cross-toolchain, the
<filename>runqemu</filename> script, and support files.
If you use this method to install the cross-toolchain, you
might still need to install the target sysroot by installing and
extracting it separately.
For information on how to install the sysroot, see the
@@ -241,80 +245,61 @@
<para>
Follow these steps:
<orderedlist>
<listitem><para>Go to
<ulink url='&YOCTO_TOOLCHAIN_DL_URL;'></ulink>
and find the folder that matches your host development system
(i.e. <filename>i686</filename> for 32-bit machines or
<filename>x86-64</filename> for 64-bit machines).</para></listitem>
<listitem><para>Go into that folder and download the toolchain installer whose name
includes the appropriate target architecture.
For example, if your host development system is an Intel-based 64-bit system and
you are going to use your cross-toolchain for an Intel-based 32-bit target, go into the
<filename>x86_64</filename> folder and download the following installer:
<literallayout class='monospaced'>
poky-eglibc-x86_64-i586-toolchain-gmae-&DISTRO;.sh
</literallayout>
<note><para>As an alternative to steps one and two, you can
build the toolchain installer if you have a
<ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>.
If you need GMAE, you should use the
<filename>bitbake meta-toolchain-gmae</filename>
command.
Running the resulting installation script will support
such development.
If you are not concerned with GMAE, you can generate
the toolchain installer using
<filename>bitbake meta-toolchain</filename>.
Either of these methods requires you to still
install the target sysroot by installing and
extracting it separately.
For information on how to install the sysroot, see the
"<link linkend='extracting-the-root-filesystem'>Extracting the Root Filesystem</link>" section.
</para>
<para>A final method of building the toolchain installer
exists that has significant advantages over the previous
two methods.
This method results in a toolchain installer that
contains the sysroot that matches your target root
filesystem.
To build this installer, use the
<filename>bitbake image -c populate_sdk</filename>
command.</para>
<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 <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>
variable matches the architecture for which you are
building and that the <filename>SDKMACHINE</filename>
variable is correctly set if you are building
a toolchain for an architecture that differs from your
current development host machine.</para>
<para>When the BitBake command
completes, the toolchain installer will be in
<filename>tmp/deploy/sdk</filename> in the Build
Directory.</para>
</note></para></listitem>
<listitem><para>Once you have the installer, run it to install the toolchain.
<listitem><para>Get your toolchain installer using one of the
following methods:
<itemizedlist>
<listitem><para>Go to
<ulink url='&YOCTO_TOOLCHAIN_DL_URL;'></ulink>
and find the folder that matches your host
development system (i.e. <filename>i686</filename>
for 32-bit machines or <filename>x86_64</filename>
for 64-bit machines).</para>
<para>Go into that folder and download the toolchain
installer whose name includes the appropriate target
architecture.
The toolchains provided by the Yocto Project
are based off of the
<filename>core-image-sato</filename> image and
contain libraries appropriate for developing
against that image.
For example, if your host development system is a
64-bit x86 system and you are going to use
your cross-toolchain for a 32-bit x86
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
</literallayout></para></listitem>
<listitem><para>Build your own toolchain installer.
For cases where you cannot use an installer
from the download area, you can build your own as
described in the
"<link linkend='optionally-building-a-toolchain-installer'>Optionally Building a Toolchain Installer</link>"
section.</para></listitem>
</itemizedlist></para></listitem>
<listitem><para>Once you have the installer, run it to install
the toolchain.
You must change the permissions on the toolchain installer
script so that it is executable.</para>
<para>The following command shows how to run the installer given a toolchain tarball
for a 64-bit development host system and a 32-bit target architecture.
The example assumes the toolchain installer is located in <filename>~/Downloads/</filename>.
<para>The following command shows how to run the installer
given a toolchain tarball for a 64-bit x86 development host
system and a 32-bit x86 target architecture.
The example assumes the toolchain installer is located
in <filename>~/Downloads/</filename>.
<literallayout class='monospaced'>
$ ~/Downloads/poky-eglibc-x86_64-i586-toolchain-gmae-&DISTRO;.sh
$ ~/Downloads/poky-eglibc-x86_64-core-image-sato-i586.sh
</literallayout>
<note>
If you do not have write permissions for the directory into which you are installing
the toolchain, the toolchain installer notifies you and exits.
Be sure you have write permissions in the directory and run the installer again.
If you do not have write permissions for the directory
into which you are installing the toolchain, the
toolchain installer notifies you and exits.
Be sure you have write permissions in the directory and
run the installer again.
</note>
Once the tarball is expanded, the cross-toolchain is installed.
You will notice environment setup files for the cross-toolchain in the directory.
</para></listitem>
Once the tarball is expanded, the cross-toolchain is
installed.
You will notice environment setup files for the
cross-toolchain in the directory.</para></listitem>
</orderedlist>
</para>
</section>
@@ -537,6 +522,58 @@
</section>
</section>
<section id='optionally-building-a-toolchain-installer'>
<title>Optionally Building a Toolchain Installer</title>
<para>
As an alternative to locating and downloading a toolchain installer,
you can build the toolchain installer if you have a
<ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>.
</para>
<para>
You can build the toolchain
installer using <filename>bitbake meta-toolchain</filename>.
This method requires you to still install the target
sysroot by installing and extracting it separately.
For information on how to install the sysroot, see the
"<link linkend='extracting-the-root-filesystem'>Extracting the Root Filesystem</link>" section.
</para>
<para>
A final method of building the toolchain installer exists that has
significant advantages over the previous two methods.
This method results in a toolchain installer that contains the sysroot
that matches your target root filesystem.
To build this installer, use the
<filename>bitbake image -c populate_sdk</filename> command.
</para>
<para>
Remember, before using any <filename>bitbake</filename> command, you
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>
variable matches the architecture for which you are building and that
the
<ulink url='&YOCTO_DOCS_REF_URL;#var-SDKMACHINE'><filename>SDKMACHINE</filename></ulink>
variable is correctly set if you are building a toolchain designed to
run on an architecture that differs from your current development host
machine (i.e. the build machine).
</para>
<para>
When the BitBake command completes, the toolchain installer will be in
<filename>tmp/deploy/sdk</filename> in the Build Directory.
</para>
</section>
</chapter>
<!--
vim: expandtab tw=80 ts=4

View File

@@ -1243,11 +1243,11 @@
<literallayout class='monospaced'>
$ yocto-bsp list karch
Architectures available:
qemu
x86_64
i386
powerpc
i386
x86_64
arm
qemu
mips
</literallayout>
</para>

View File

@@ -1367,7 +1367,7 @@
<para>
You might also need these variables:
<itemizedlist>
<listitem><para><filename><ulink url='&YOCTO_DOCS_REF_URL;#var-SERIAL_CONSOLE'>SERIAL_CONSOLE</ulink></filename>
<listitem><para><filename><ulink url='&YOCTO_DOCS_REF_URL;#var-SERIAL_CONSOLES'>SERIAL_CONSOLES</ulink></filename>
(e.g. "115200 ttyS0")</para></listitem>
<listitem><para><filename><ulink url='&YOCTO_DOCS_REF_URL;#var-KERNEL_IMAGETYPE'>KERNEL_IMAGETYPE</ulink></filename>
(e.g. "zImage")</para></listitem>
@@ -1812,6 +1812,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
@@ -2924,6 +2926,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 +2942,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>
@@ -3465,7 +3513,7 @@
<para>
Following are the steps to set up the optional repository.
This examples assumes you are using RPM and the Apache 2
This example assumes you are using RPM and the Apache 2
server:
<orderedlist>
<listitem><para>
@@ -3496,7 +3544,7 @@
<literallayout class='monospaced'>
service httpd reload
</literallayout>
For Ubuntu, use the following:
For Ubuntu and Debian, use the following:
<literallayout class='monospaced'>
/etc/init.d/apache2 reload
</literallayout>
@@ -3749,54 +3797,58 @@
<title>Building Software from an External Source</title>
<para>
By default, the OpenEmbedded build system does its work from within the
<link linkend='build-directory'>Build Directory</link>.
The build process involves fetching the source files, unpacking them, and then patching them
if necessary before the build takes place.
By default, the OpenEmbedded build system uses the
<link linkend='build-directory'>Build Directory</link> to
build source code.
The build process involves fetching the source files, unpacking
them, and then patching them if necessary before the build takes
place.
</para>
<para>
Situations exist where you might want to build software from source files that are external to
and thus outside of the <link linkend='source-directory'>Source Directory</link>.
For example, suppose you have a project that includes a new BSP with a heavily customized
kernel, a very minimal image, and some new user-space recipes.
Situations exist where you might want to build software from source
files that are external to and thus outside of the
OpenEmbedded build system.
For example, suppose you have a project that includes a new BSP with
a heavily customized kernel.
And, you want to minimize exposing the build system to the
development team so that they can focus on their project and maintain everyone's workflow
as much as possible.
In this case, you want a kernel source directory on the development machine where the
development occurs.
development team so that they can focus on their project and
maintain everyone's workflow as much as possible.
In this case, you want a kernel source directory on the development
machine where the development occurs.
You want the recipe's
<ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink>
variable to point to the external directory and use it as is, not copy it.
variable to point to the external directory and use it as is, not
copy it.
</para>
<para>
To build from software that comes from an external source, all you need to do is
change your recipe so that it inherits the
To build from software that comes from an external source, all you
need to do is inherit
<ulink url='&YOCTO_DOCS_REF_URL;#ref-classes-externalsrc'><filename>externalsrc.bbclass</filename></ulink>
class and then sets the
<ulink url='&YOCTO_DOCS_REF_URL;#var-S'><filename>S</filename></ulink>
and then set the
<ulink url='&YOCTO_DOCS_REF_URL;#var-EXTERNALSRC'><filename>EXTERNALSRC</filename></ulink>
variable to point to your external source code.
Here are the statements to put in your recipe:
Here are the statements to put in your
<filename>local.conf</filename> file:
<literallayout class='monospaced'>
inherit externalsrc
S = "/some/path/to/your/package/source"
INHERIT += "externalsrc"
EXTERNALSRC_pn-myrecipe = "/some/path/to/your/source/tree"
</literallayout>
</para>
<para>
It is important to know that the <filename>externalsrc.bbclass</filename> assumes that the
source directory <filename>S</filename> and the Build Directory
<ulink url='&YOCTO_DOCS_REF_URL;#var-B'><filename>B</filename></ulink>
are different even though these directories are the same by default.
This assumption is important because it supports building different variants of the recipe
by using the
<ulink url='&YOCTO_DOCS_REF_URL;#var-BBCLASSEXTEND'><filename>BBCLASSEXTEND</filename></ulink>
variable.
You could allow the Build Directory to be the same as the source directory but you would
not be able to build more than one variant of the recipe.
Consequently, if you are building multiple variants of the recipe, you need to establish a
Build Directory that is different than the Source Directory.
By default, <filename>externalsrc.bbclass</filename> builds
the source code in a directory separate from the external source
directory as specified by
<ulink url='&YOCTO_DOCS_REF_URL;#var-EXTERNALSRC'><filename>EXTERNALSRC</filename></ulink>.
If you need to have the source built in the same directory in
which it resides, or some other nominated directory, you can set
<ulink url='&YOCTO_DOCS_REF_URL;#var-EXTERNALSRC_BUILD'><filename>EXTERNALSRC_BUILD</filename></ulink>
to point to that directory:
<literallayout class='monospaced'>
EXTERNALSRC_BUILD_pn-myrecipe = "/path/to/my/source/tree"
</literallayout>
</para>
</section>
@@ -4319,6 +4371,191 @@
</section>
</section>
<section id="examining-builds-using-toaster">
<title>Examining Builds using Toaster</title>
<para>
Toaster is a Web-based interface to the OpenEmbedded build system,
which uses BitBake.
Toaster offers features to record and analyze BitBake runs applied
to a specific target.
Using Toaster, 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>
<note>
<para>This release of Toaster provides you with information
about a BitBake run.
The tool does not allow you to configure and launch a build.
Future development includes plans to integrate the data examination
features of Toaster with the configuration and build launching
capabilities of
<ulink url='&YOCTO_HOME_URL;/tools-resources/projects/hob'>Hob</ulink>.
</para>
<para>For more information on using Hob to build an image,
see the
"<link linkend='image-development-using-hob'>Image Development Using Hob</link>"
section.</para>
</note>
<section id='starting-toaster'>
<title>Starting Toaster</title>
<para>
Getting set up to use and start Toaster is simple.
First, be sure you have met the following requirements:
<itemizedlist>
<listitem><para>You have set up your
<link linkend='source-directory'>Source Directory</link>.
See the
<link linkend='local-yp-release'>Yocto Project Release</link>
item for information on how to set up the Source
Directory.</para></listitem>
<listitem><para>Be sure your build machine has
<ulink url='http://en.wikipedia.org/wiki/Django_%28web_framework%29'>Django</ulink>
version 1.4 or greater installed.</para></listitem>
</itemizedlist>
</para>
<para>
Once you have met the requirements, follow these steps to
start Toaster running in the background of your shell:
<orderedlist>
<listitem><para>Set up your build environment by sourcing
the <filename>oe-init-build-env</filename> script.
</para></listitem>
<listitem><para>Edit your <filename>local.conf</filename>
configuration file as needed.</para></listitem>
<listitem><para>Start the Toaster service using this
command from within your build directory:
<literallayout class='monospaced'>
$ source toaster start
</literallayout></para></listitem>
<note>
The Toaster must be started and running in order
for it to collect data.
</note>
</orderedlist>
</para>
<para>
When Toaster starts, it creates some additional files in your
Build Directory.
Deleting these files will cause you to lose data or interrupt
Toaster:
<itemizedlist>
<listitem><para><emphasis><filename>toaster.sqlite</filename>:</emphasis>
Toaster's database file.</para></listitem>
<listitem><para><emphasis><filename>tstmain.log</filename>:</emphasis>
Toaster's log file.</para></listitem>
<listitem><para><emphasis><filename>tstmain.pid</filename>:</emphasis>
Contains the PID of the web server.</para></listitem>
<listitem><para><emphasis><filename>dsi.pid</filename>:</emphasis>
Contains the PID of th bridge.</para></listitem>
<listitem><para><emphasis><filename>bitbake-cookerdaemon.log</filename>:</emphasis>
The BitBake server's log file.</para></listitem>
</itemizedlist>
</para>
</section>
<section id='using-toaster'>
<title>Using Toaster</title>
<para>
Once Toaster is running, it logs information for any BitBake
run from your Build Directory.
This logging is automatic.
All you need to do is access and use the information.
</para>
<para>
You access the information one of two ways:
<itemizedlist>
<listitem><para>Open a Browser and type enter in the
<filename>http://localhost:8000</filename> URL.
</para></listitem>
<listitem><para>Use the <filename>xdg-open</filename>
tool from the shell and pass it the same URL.
</para></listitem>
</itemizedlist>
Either method opens the home page for the Toaster interface.
</para>
</section>
<section id='examining-toaster-data'>
<title>Examining Toaster Data</title>
<para>
The Toaster database is persistent regardless of whether you
start or stop the service.
</para>
<para>
Toaster's interface shows you a list of builds
(successful and unsuccessful) for which it has data.
You can click on any build to see related information.
This information includes configuration details, information
about tasks, all recipes and packages built and their
dependencies, packages installed in your final image,
execution time, CPU usage and disk I/O per task.
</para>
<!--
The home page of the interface into the database organizes
builds into areas:
<itemizedlist>
<listitem><para>Recent successful builds, which appear
in row format in a green area.</para></listitem>
<listitem><para>Recent failed builds, which appear
in row format in a red area.</para></listitem>
<listitem><para>Recent builds in progress, which appear
in row format in a yellow area.</para></listitem>
<listitem><para>All builds, which appear in row format at
the end of the page.</para></listitem>
</itemizedlist>
<para>
Each entry is linked to more detail on the particular build
or recipe.
You can click on the links to learn more information.
</para>
<para>
When you click on a failed recipe link, you can find out
information such as the work directory, the pathname to the
failing recipe, the exact error message, and precursor tasks.
</para>
<para>
Clicking on a successful build provides you with configuration,
task, and package information along with directory structure,
build time, CPU usage, and disk I/O information.
</para>
-->
</section>
<section id='stopping-toaster'>
<title>Stopping Toaster</title>
<para>
Stop the Toaster service with the following command:
<literallayout class='monospaced'>
$ source toaster stop
</literallayout>
The service stops but the Toaster database remains persistent.
</para>
</section>
</section>
<section id="platdev-oprofile">
<title>Profiling with OProfile</title>
@@ -4791,15 +5028,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

View File

@@ -1,553 +0,0 @@
<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<appendix id='dev-manual-kernel-appendix'>
<title>Kernel Modification Example</title>
<para>
Kernel modification involves changing or adding configurations to an existing kernel,
changing or adding recipes to the kernel that are needed to support specific hardware features,
or even altering the source code itself.
This appendix presents simple examples that modify the kernel source code,
change the kernel configuration, and add a kernel source recipe.
<note>
You can use the <filename>yocto-kernel</filename> script
found in the <link linkend='source-directory'>Source Directory</link>
under <filename>scripts</filename> to manage kernel patches and configuration.
See the "<ulink url='&YOCTO_DOCS_BSP_URL;#managing-kernel-patches-and-config-items-with-yocto-kernel'>Managing kernel Patches and Config Items with yocto-kernel</ulink>"
section in the Yocto Project Board Support Packages (BSP) Developer's Guide for
more information.</note>
</para>
<section id='modifying-the-kernel-source-code'>
<title>Modifying the Kernel Source Code</title>
<para>
This example adds some simple QEMU emulator console output at boot time by
adding <filename>printk</filename> statements to the kernel's
<filename>calibrate.c</filename> source code file.
Booting the modified image causes the added messages to appear on the emulator's
console.
</para>
<section id='understanding-the-files-you-need'>
<title>Understanding the Files You Need</title>
<para>
Before you modify the kernel, you need to know what Git repositories and file
structures you need.
Briefly, you need the following:
<itemizedlist>
<listitem><para>A local
<link linkend='source-directory'>Source Directory</link> for the
poky Git repository</para></listitem>
<listitem><para>Local copies of the
<link linkend='poky-extras-repo'><filename>poky-extras</filename></link>
Git repository placed within the Source Directory.</para></listitem>
<listitem><para>A bare clone of the
<link linkend='local-kernel-files'>Yocto Project Kernel</link> upstream Git
repository to which you want to push your modifications.
</para></listitem>
<listitem><para>A copy of that bare clone in which you make your source
modifications</para></listitem>
</itemizedlist>
</para>
<para>
The following figure summarizes these four areas.
Within each rectangular that represents a data structure, a
host development directory pathname appears at the
lower left-hand corner of the box.
These pathnames are the locations used in this example.
The figure also provides key statements and commands used during the kernel
modification process:
</para>
<para>
<imagedata fileref="figures/kernel-example-repos-generic.png" width="7in" depth="5in"
align="center" scale="100" />
</para>
<para>
Here is a brief description of the four areas:
<itemizedlist>
<listitem><para><emphasis>Local Source Directory:</emphasis>
This area contains all the metadata that supports building images
using the OpenEmbedded build system.
In this example, the
<link linkend='source-directory'>Source Directory</link> also
contains the
<link linkend='build-directory'>Build Directory</link>,
which contains the configuration directory
that lets you control the build.
Also in this example, the Source Directory contains local copies of the
<filename>poky-extras</filename> Git repository.</para>
<para>See the bulleted item
"<link linkend='local-yp-release'>Yocto Project Release</link>"
for information on how to get these files on your local system.</para></listitem>
<listitem><para><emphasis>Local copies of the&nbsp;<filename>poky-extras</filename>&nbsp;Git Repository:</emphasis>
This area contains the <filename>meta-kernel-dev</filename> layer,
which is where you make changes that append the kernel build recipes.
You edit <filename>.bbappend</filename> files to locate your
local kernel source files and to identify the kernel being built.
This Git repository is a gathering place for extensions to the Yocto Project
(or really any) kernel recipes that faciliate the creation and development
of kernel features, BSPs or configurations.</para>
<para>See the bulleted item
"<link linkend='poky-extras-repo'>The
<filename>poky-extras</filename> Git Repository</link>"
for information on how to get these files.</para></listitem>
<listitem><para><emphasis>Bare Clone of the Yocto Project kernel:</emphasis>
This bare Git repository tracks the upstream Git repository of the Linux
Yocto kernel source code you are changing.
When you modify the kernel you must work through a bare clone.
All source code changes you make to the kernel must be committed and
pushed to the bare clone using Git commands.
As mentioned, the <filename>.bbappend</filename> file in the
<filename>poky-extras</filename> repository points to the bare clone
so that the build process can locate the locally changed source files.</para>
<para>See the bulleted item
"<link linkend='local-kernel-files'>Yocto Project Kernel</link>"
for information on how to set up the bare clone.
</para></listitem>
<listitem><para><emphasis>Copy of the Yocto Project Kernel Bare Clone:</emphasis>
This Git repository contains the actual source files that you modify.
Any changes you make to files in this location need to ultimately be pushed
to the bare clone using the <filename>git push</filename> command.</para>
<para>See the bulleted item
"<link linkend='local-kernel-files'>Yocto Project Kernel</link>"
for information on how to set up the bare clone.
<note>Typically, Git workflows follow a scheme where changes made to a local area
are pulled into a Git repository.
However, because the <filename>git pull</filename> command does not work
with bare clones, this workflow pushes changes to the
repository even though you could use other more complicated methods to
get changes into the bare clone.</note>
</para></listitem>
</itemizedlist>
</para>
</section>
<section id='setting-up-the-local-yocto-project-files-git-repository'>
<title>Setting Up the Local Source Directory</title>
<para>
You can set up the
<link linkend='source-directory'>Source Directory</link>
through tarball extraction or by
cloning the <filename>poky</filename> Git repository.
This example uses <filename>poky</filename> as the root directory of the
local Source Directory.
See the bulleted item
"<link linkend='local-yp-release'>Yocto Project Release</link>"
for information on how to get these files.
</para>
<para>
Once you have Source Directory set up,
you have many development branches from which you can work.
From inside the local repository you can see the branch names and the tag names used
in the upstream Git repository by using either of the following commands:
<literallayout class='monospaced'>
$ cd poky
$ git branch -a
$ git tag -l
</literallayout>
This example uses the Yocto Project &DISTRO; Release code named "&DISTRO_NAME;",
which maps to the <filename>&DISTRO_NAME;</filename> branch in the repository.
The following commands create and checkout the local <filename>&DISTRO_NAME;</filename>
branch:
<literallayout class='monospaced'>
$ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
Branch &DISTRO_NAME; set up to track remote branch &DISTRO_NAME; from origin.
Switched to a new branch '&DISTRO_NAME;'
</literallayout>
</para>
</section>
<section id='setting-up-the-poky-extras-git-repository'>
<title>Setting Up the Local poky-extras Git Repository</title>
<para>
This example creates a local copy of the <filename>poky-extras</filename> Git
repository inside the <filename>poky</filename> Source Directory.
See the bulleted item "<link linkend='poky-extras-repo'>The
<filename>poky-extras</filename> Git Repository</link>"
for information on how to set up a local copy of the
<filename>poky-extras</filename> repository.
</para>
<para>
Because this example uses the Yocto Project &DISTRO; Release code
named "&DISTRO_NAME;", which maps to the <filename>&DISTRO_NAME;</filename>
branch in the repository, you need to be sure you are using that
branch for <filename>poky-extras</filename>.
The following commands create and checkout the local
branch you are using for the <filename>&DISTRO_NAME;</filename>
branch:
<literallayout class='monospaced'>
$ cd ~/poky/poky-extras
$ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
Branch &DISTRO_NAME; set up to track remote branch &DISTRO_NAME; from origin.
Switched to a new branch '&DISTRO_NAME;'
</literallayout>
</para>
</section>
<section id='setting-up-the-bare-clone-and-its-copy'>
<title>Setting Up the Bare Clone and its Copy</title>
<para>
This example modifies the <filename>linux-yocto-3.4</filename> kernel.
Thus, you need to create a bare clone of that kernel and then make a copy of the
bare clone.
See the bulleted item
"<link linkend='local-kernel-files'>Yocto Project Kernel</link>"
for information on how to do that.
</para>
<para>
The bare clone exists for the kernel build tools and simply as the receiving end
of <filename>git push</filename>
commands after you make edits and commits inside the copy of the clone.
The copy (<filename>my-linux-yocto-3.4-work</filename> in this example) has to have
a local branch created and checked out for your work.
This example uses <filename>common-pc-base</filename> as the local branch.
The following commands create and checkout the branch:
<literallayout class='monospaced'>
$ cd ~/my-linux-yocto-3.4-work
$ git checkout -b standard-common-pc-base origin/standard/common-pc/base
Branch standard-common-pc-base set up to track remote branch
standard/common-pc/base from origin.
Switched to a new branch 'standard-common-pc-base'
</literallayout>
</para>
</section>
<section id='building-and-booting-the-default-qemu-kernel-image'>
<title>Building and Booting the Default QEMU Kernel Image</title>
<para>
Before we make changes to the kernel source files, this example first builds the
default image and then boots it inside the QEMU emulator.
<note>
Because a full build can take hours, you should check two variables in the
<filename>build</filename> directory that is created after you source the
<filename>&OE_INIT_FILE;</filename> script.
You can find these variables
<filename>BB_NUMBER_THREADS</filename> and <filename>PARALLEL_MAKE</filename>
in the <filename>build/conf</filename> directory in the
<filename>local.conf</filename> configuration file.
By default, these variables are commented out.
If your host development system supports multi-core and multi-thread capabilities,
you can uncomment these statements and set the variables to significantly shorten
the full build time.
As a guideline, set both <filename>BB_NUMBER_THREADS</filename> and
<filename>PARALLEL_MAKE</filename> to twice the number
of cores your machine supports.
</note>
The following two commands <filename>source</filename> the build environment setup script
and build the default <filename>qemux86</filename> image.
If necessary, the script creates the build directory:
<literallayout class='monospaced'>
$ cd ~/poky
$ source &OE_INIT_FILE;
You had no conf/local.conf file. This configuration file has therefore been
created for you with some default values. You may wish to edit it to use a
different MACHINE (target hardware) or enable parallel build options to take
advantage of multiple cores for example. See the file for more information as
common configuration options are commented.
The Yocto Project has extensive documentation about OE including a reference manual
which can be found at:
http://yoctoproject.org/documentation
For more information about OpenEmbedded see their website:
http://www.openembedded.org/
You had no conf/bblayers.conf file. The configuration file has been created for
you with some default values. To add additional metadata layers into your
configuration please add entries to this file.
The Yocto Project has extensive documentation about OE including a reference manual
which can be found at:
http://yoctoproject.org/documentation
For more information about OpenEmbedded see their website:
http://www.openembedded.org/
### Shell environment set up for builds. ###
You can now run 'bitbake &lt;target&gt;>'
Common targets are:
core-image-minimal
core-image-sato
meta-toolchain
meta-toolchain-sdk
adt-installer
meta-ide-support
You can also run generated qemu images with a command like 'runqemu qemux86'
</literallayout>
</para>
<para>
The following <filename>bitbake</filename> command starts the build:
<literallayout class='monospaced'>
$ bitbake -k core-image-minimal
</literallayout>
<note>Be sure to check the settings in the <filename>local.conf</filename>
before starting the build.</note>
</para>
<para>
After the build completes, you can start the QEMU emulator using the resulting image
<filename>qemux86</filename> as follows:
<literallayout class='monospaced'>
$ runqemu qemux86
</literallayout>
</para>
<para>
As the image boots in the emulator, console message and status output appears
across the terminal window.
Because the output scrolls by quickly, it is difficult to read.
To examine the output, you log into the system using the
login <filename>root</filename> with no password.
Once you are logged in, issue the following command to scroll through the
console output:
<literallayout class='monospaced'>
# dmesg | less
</literallayout>
</para>
<para>
Take note of the output as you will want to look for your inserted print command output
later in the example.
</para>
</section>
<section id='changing-the-source-code-and-pushing-it-to-the-bare-clone'>
<title>Changing the Source Code and Pushing it to the Bare Clone</title>
<para>
The file you change in this example is named <filename>calibrate.c</filename>
and is located in the <filename>my-linux-yocto-3.4-work</filename> Git repository
(the copy of the bare clone) in <filename>init</filename>.
This example simply inserts several <filename>printk</filename> statements
at the beginning of the <filename>calibrate_delay</filename> function.
</para>
<para>
Here is the unaltered code at the start of this function:
<literallayout class='monospaced'>
void __cpuinit calibrate_delay(void)
{
unsigned long lpj;
static bool printed;
int this_cpu = smp_processor_id();
if (per_cpu(cpu_loops_per_jiffy, this_cpu)) {
.
.
.
</literallayout>
</para>
<para>
Here is the altered code showing five new <filename>printk</filename> statements
near the top of the function:
<literallayout class='monospaced'>
void __cpuinit calibrate_delay(void)
{
unsigned long lpj;
static bool printed;
int this_cpu = smp_processor_id();
printk("*************************************\n");
printk("* *\n");
printk("* HELLO YOCTO KERNEL *\n");
printk("* *\n");
printk("*************************************\n");
if (per_cpu(cpu_loops_per_jiffy, this_cpu)) {
.
.
.
</literallayout>
</para>
<para>
After making and saving your changes, you need to stage them for the push.
The following Git commands are one method of staging and committing your changes:
<literallayout class='monospaced'>
$ git add calibrate.c
$ git commit --signoff
</literallayout>
</para>
<para>
Once the source code has been modified, you need to use Git to push the changes to
the bare clone.
If you do not push the changes, then the OpenEmbedded build system will not pick
up the changed source files.
</para>
<para>
The following command pushes the changes to the bare clone:
<literallayout class='monospaced'>
$ git push origin standard-common-pc-base:standard/default/common-pc/base
</literallayout>
</para>
</section>
<section id='changing-build-parameters-for-your-build'>
<title>Changing Build Parameters for Your Build</title>
<para>
At this point, the source has been changed and pushed.
The example now defines some variables used by the OpenEmbedded build system
to locate your kernel source.
You essentially need to identify where to find the kernel recipe and the changed source code.
You also need to be sure some basic configurations are in place that identify the
type of machine you are building and to help speed up the build should your host support
multiple-core and thread capabilities.
</para>
<para>
Do the following to make sure the build parameters are set up for the example.
Once you set up these build parameters, they do not have to change unless you
change the target architecture of the machine you are building or you move
the bare clone, copy of the clone, or the <filename>poky-extras</filename> repository:
<itemizedlist>
<listitem><para><emphasis>Build for the Correct Target Architecture:</emphasis> The
<filename>local.conf</filename> file in the build directory defines the build's
target architecture.
By default, <filename>MACHINE</filename> is set to
<filename>qemux86</filename>, which specifies a 32-bit
<trademark class='registered'>Intel</trademark> Architecture
target machine suitable for the QEMU emulator.
In this example, <filename>MACHINE</filename> is correctly configured.
</para></listitem>
<listitem><para><emphasis>Optimize Build Time:</emphasis> Also in the
<filename>local.conf</filename> file are two variables that can speed your
build time if your host supports multi-core and multi-thread capabilities:
<filename>BB_NUMBER_THREADS</filename> and <filename>PARALLEL_MAKE</filename>.
If the host system has multiple cores then you can optimize build time
by setting both these variables to twice the number of
cores.</para></listitem>
<listitem><para><emphasis>Identify Your <filename>meta-kernel-dev</filename>
Layer:</emphasis> The <filename>BBLAYERS</filename> variable in the
<filename>bblayers.conf</filename> file found in the
<filename>poky/build/conf</filename> directory needs to have the path to your local
<filename>meta-kernel-dev</filename> layer.
By default, the <filename>BBLAYERS</filename> variable contains paths to
<filename>meta</filename> and <filename>meta-yocto</filename> in the
<filename>poky</filename> Git repository.
Add the path to your <filename>meta-kernel-dev</filename> location.
Be sure to substitute your user information in the statement.
Here is an example:
<literallayout class='monospaced'>
BBLAYERS = " \
/home/scottrif/poky/meta \
/home/scottrif/poky/meta-yocto \
/home/scottrif/poky/meta-yocto-bsp \
/home/scottrif/poky/poky-extras/meta-kernel-dev \
"
</literallayout></para></listitem>
<listitem><para><emphasis>Identify Your Source Files:</emphasis> In the
<filename>linux-yocto_3.4.bbappend</filename> file located in the
<filename>poky-extras/meta-kernel-dev/recipes-kernel/linux</filename>
directory, you need to identify the location of the
local source code, which in this example is the bare clone named
<filename>linux-yocto-3.4.git</filename>.
To do this, set the <filename>KSRC_linux_yocto</filename> variable to point to your
local <filename>linux-yocto-3.4.git</filename> Git repository by adding the
following statement.
Also, be sure the <filename>SRC_URI</filename> variable is pointing to
your kernel source files by removing the comment.
Finally, be sure to substitute your user information in the statement:
<literallayout class='monospaced'>
KSRC_linux_yocto_3_4 ?= "/home/scottrif/linux-yocto-3.4.git"
SRC_URI = "git://${KSRC_linux_yocto_3_4};protocol=file;nocheckout=1;branch=${KBRANCH},meta;name=machine,meta"
</literallayout></para></listitem>
</itemizedlist>
</para>
<note>
<para>Before attempting to build the modified kernel, there is one more set of changes you
need to make in the <filename>meta-kernel-dev</filename> layer.
Because all the kernel <filename>.bbappend</filename> files are parsed during the
build process regardless of whether you are using them or not, you should either
comment out the <filename>COMPATIBLE_MACHINE</filename> statements in all
unused <filename>.bbappend</filename> files, or simply remove (or rename) all the files
except the one your are using for the build
(i.e. <filename>linux-yocto_3.4.bbappend</filename> in this example).</para>
<para>If you do not make one of these two adjustments, your machine will be compatible
with all the kernel recipes in the <filename>meta-kernel-dev</filename> layer.
When your machine is comapatible with all the kernel recipes, the build attempts
to build all kernels in the layer.
You could end up with build errors blocking your work.</para>
</note>
</section>
<section id='building-and-booting-the-modified-qemu-kernel-image'>
<title>Building and Booting the Modified QEMU Kernel Image</title>
<para>
Next, you need to build the modified image.
Do the following:
<orderedlist>
<listitem><para>Your environment should be set up since you previously sourced
the <filename>&OE_INIT_FILE;</filename> script.
If it isn't, source the script again from <filename>poky</filename>.
<literallayout class='monospaced'>
$ cd ~/poky
$ source &OE_INIT_FILE;
</literallayout>
</para></listitem>
<listitem><para>Be sure old images are cleaned out by running the
<filename>cleanall</filename> BitBake task as follows from your build directory:
<literallayout class='monospaced'>
$ bitbake -c cleanall linux-yocto
</literallayout></para>
<para><note>Never remove any files by hand from the <filename>tmp/deploy</filename>
directory insided the build directory.
Always use the BitBake <filename>cleanall</filename> task to clear
out previous builds.</note></para></listitem>
<listitem><para>Next, build the kernel image using this command:
<literallayout class='monospaced'>
$ bitbake -k core-image-minimal
</literallayout></para></listitem>
<listitem><para>Finally, boot the modified image in the QEMU emulator
using this command:
<literallayout class='monospaced'>
$ runqemu qemux86
</literallayout></para></listitem>
</orderedlist>
</para>
<para>
Log into the machine using <filename>root</filename> with no password and then
use the following shell command to scroll through the console's boot output.
<literallayout class='monospaced'>
# dmesg | less
</literallayout>
</para>
<para>
You should see the results of your <filename>printk</filename> statements
as part of the output.
</para>
</section>
</section>
</appendix>
<!--
vim: expandtab tw=80 ts=4
-->

View File

@@ -156,7 +156,7 @@
"<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-layers'>BSP Layers</ulink>" section in the
Yocto Project Board Support Package (BSP) Developer's Guide.</para>
<note>Four BSPs exist that are part of the
Yocto Project release: <filename>atom-pc</filename>, <filename>beagleboard</filename>,
Yocto Project release: <filename>genericx86</filename>, <filename>beagleboard</filename>,
<filename>mpc8315e</filename>, and <filename>routerstationpro</filename>.
The recipes and configurations for these four BSPs are located and dispersed
within the <link linkend='source-directory'>Source Directory</link>.

View File

@@ -444,14 +444,14 @@
<para>
In summary, here is where you can get the project files needed for development:
<itemizedlist>
<listitem><para id='source-repositories'>:S<emphasis><ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi'>Source Repositories:</ulink></emphasis>
<listitem><para id='source-repositories'><emphasis><ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi'>Source Repositories:</ulink></emphasis>
This area contains IDE Plugins, Matchbox, Poky, Poky Support, Tools, Yocto Linux Kernel, and Yocto
Metadata Layers.
You can create local copies of Git repositories for each of these areas.</para>
<para>
<imagedata fileref="figures/source-repos.png" align="center" width="6in" depth="4in" />
</para></listitem>
<listitem><para><anchor id='index-downloads' />:<emphasis><ulink url='&YOCTO_DL_URL;/releases/'>Index of /releases:</ulink></emphasis>
<listitem><para><anchor id='index-downloads' /><emphasis><ulink url='&YOCTO_DL_URL;/releases/'>Index of /releases:</ulink></emphasis>
This area contains index releases such as
the <trademark class='trade'>Eclipse</trademark>
Yocto Plug-in, miscellaneous support, poky, pseudo, installers for cross-development toolchains,
@@ -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>
@@ -1405,7 +1407,7 @@
references - any commit that addresses a specific bug should include the
bug ID in the description (typically at the beginning) as follows:
<literallayout class='monospaced'>
Fixes YOCTO #&lt;bug-id&gt;
[YOCTO #&lt;bug-id&gt;]
&lt;detailed description of change&gt;
</literallayout></para></listitem>
@@ -1537,7 +1539,7 @@
<filename>git send-email</filename> command.
<note>In order to use <filename>git send-email</filename>, you must have the
the proper Git packages installed.
For Ubuntu and Fedora the package is <filename>git-email</filename>.</note></para>
For Ubuntu, Debian, and Fedora the package is <filename>git-email</filename>.</note></para>
<para>The <filename>git send-email</filename> command sends email by using a local
or remote Mail Transport Agent (MTA) such as
<filename>msmtp</filename>, <filename>sendmail</filename>, or through a direct

View File

@@ -72,10 +72,10 @@
<listitem><para><emphasis>Packages:</emphasis> The OpenEmbedded build system
requires certain packages exist on your development system (e.g. Python 2.6 or 2.7).
See "<ulink url='&YOCTO_DOCS_QS_URL;#packages'>The Packages</ulink>"
section in the Yocto Project Quick Start and the
section in the Yocto Project Quick Start and the
"<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system'>Required Packages for the Host Development System</ulink>"
section in the Yocto Project Reference Manual for the exact
package requirements and the installation commands to install
section in the Yocto Project Reference Manual for the exact
package requirements and the installation commands to install
them for the supported distributions.
</para></listitem>
<listitem id='local-yp-release'><para><emphasis>Yocto Project Release:</emphasis>
@@ -88,14 +88,14 @@
hierarchical set of files as the "Source Directory."
</note>
<itemizedlist>
<listitem><para><emphasis>Tarball Extraction:</emphasis>
If you are not going to contribute back into the Yocto
Project, you can simply go to the
<ulink url='&YOCTO_HOME_URL;'>Yocto Project Website</ulink>,
<listitem><para><emphasis>Tarball Extraction:</emphasis>
If you are not going to contribute back into the Yocto
Project, you can simply go to the
<ulink url='&YOCTO_HOME_URL;'>Yocto Project Website</ulink>,
select the "Downloads" tab, and choose what you want.
Once you have the tarball, just extract it into a
Once you have the tarball, just extract it into a
directory of your choice.</para>
<para>For example, the following command extracts the
<para>For example, the following command extracts the
Yocto Project &DISTRO; release tarball
into the current working directory and sets up the local Source Directory
with a top-level folder named <filename>&YOCTO_POKY;</filename>:
@@ -126,7 +126,7 @@
remote: Compressing objects: 100% (47428/47428), done.
remote: Total 183981 (delta 132271), reused 183703 (delta 132044)
Receiving objects: 100% (183981/183981), 89.71 MiB | 2.93 MiB/s, done.
Resolving deltas: 100% (132271/132271), done.
Resolving deltas: 100% (132271/132271), done.
</literallayout></para>
<para>For another example of how to set up your own local Git repositories, see this
<ulink url='&YOCTO_WIKI_URL;/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'>
@@ -168,9 +168,9 @@
Cloning into 'my-linux-yocto-3.8-work'...
done.
</literallayout></para></listitem>
<listitem id='poky-extras-repo'><para><emphasis>
The <filename>poky-extras</filename> Git Repository</emphasis>:
The <filename>poky-extras</filename> Git repository contains Metadata needed
<listitem id='meta-yocto-kernel-extras-repo'><para><emphasis>
The <filename>meta-yocto-kernel-extras</filename> Git Repository</emphasis>:
The <filename>meta-yocto-kernel-extras</filename> Git repository contains Metadata needed
only if you are modifying and building the kernel image.
In particular, it contains the kernel BitBake append (<filename>.bbappend</filename>)
files that you
@@ -178,17 +178,17 @@
image.
Pointing to these local files is much more efficient than requiring a download of the
kernel's source files from upstream each time you make changes to the kernel.</para>
<para>You can find the <filename>poky-extras</filename> Git Repository in the
<para>You can find the <filename>meta-yocto-kernel-extras</filename> Git Repository in the
"Yocto Metadata Layers" area of the Yocto Project Source Repositories at
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink>.
It is good practice to create this Git repository inside the Source Directory.</para>
<para>Following is an example that creates the <filename>poky-extras</filename> Git
<para>Following is an example that creates the <filename>meta-yocto-kernel-extras</filename> Git
repository inside the Source Directory, which is named <filename>poky</filename>
in this case:
<literallayout class='monospaced'>
$ cd ~/poky
$ git clone git://git.yoctoproject.org/poky-extras poky-extras
Cloning into 'poky-extras'...
$ git clone git://git.yoctoproject.org/meta-yocto-kernel-extras meta-yocto-kernel-extras
Cloning into 'meta-yocto-kernel-extras'...
remote: Counting objects: 690, done.
remote: Compressing objects: 100% (431/431), done.
remote: Total 690 (delta 238), reused 690 (delta 238)
@@ -223,10 +223,10 @@
information on BSP Layers.
<itemizedlist>
<listitem><para><emphasis>Tarball Extraction:</emphasis> You can download any released
BSP tarball from the same "Downloads" page of the
BSP tarball from the same "Downloads" page of the
<ulink url='&YOCTO_HOME_URL;'>Yocto Project Website</ulink>
to get the Yocto Project release.
Once on the "Download" page, look for "BSP" under the
Once on the "Download" page, look for "BSP" under the
"Type" heading.</para>
<para>Once you have the tarball, just extract it into a directory of your choice.
Again, this method just produces a snapshot of the BSP layer in the form

View File

@@ -56,7 +56,7 @@
<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_KERNEL_URL;'>Yocto Project Linux Kernel Development Manual</ulink> on
<ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;'>Yocto Project Linux Kernel Development Manual</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>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -1,392 +0,0 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='kernel-concepts'>
<title>Yocto Project Kernel Concepts</title>
<section id='concepts-org'>
<title>Introduction</title>
<para>
This chapter provides conceptual information about the kernel:
<itemizedlist>
<listitem><para>Kernel Goals</para></listitem>
<listitem><para>Kernel Development and Maintenance Overview</para></listitem>
<listitem><para>Kernel Architecture</para></listitem>
<listitem><para>Kernel Tools</para></listitem>
</itemizedlist>
</para>
</section>
<section id='kernel-goals'>
<title>Kernel Goals</title>
<para>
The complexity of embedded kernel design has increased dramatically.
Whether it is managing multiple implementations of a particular feature or tuning and
optimizing board specific features, both flexibility and maintainability are key concerns.
The Linux kernels available through the Yocto Project are presented with the embedded
developer's needs in mind and have evolved to assist in these key concerns.
For example, prior methods such as applying hundreds of patches to an extracted
tarball have been replaced with proven techniques that allow easy inspection,
bisection and analysis of changes.
Application of these techniques also creates a platform for performing integration and
collaboration with the thousands of upstream development projects.
</para>
<para>
With all these considerations in mind, the Yocto Project's kernel and development team
strives to attain these goals:
<itemizedlist>
<listitem><para>Allow the end user to leverage community best practices to seamlessly
manage the development, build and debug cycles.</para></listitem>
<listitem><para>Create a platform for performing integration and collaboration with the
thousands of upstream development projects that exist.</para></listitem>
<listitem><para>Provide mechanisms that support many different work flows, front-ends and
management techniques.</para></listitem>
<listitem><para>Deliver the most up-to-date kernel possible while still ensuring that
the baseline kernel is the most stable official release.</para></listitem>
<listitem><para>Include major technological features as part of the Yocto Project's
upward revision strategy.</para></listitem>
<listitem><para>Present a kernel Git repository that, similar to the upstream
<filename>kernel.org</filename> tree,
has a clear and continuous history.</para></listitem>
<listitem><para>Deliver a key set of supported kernel types, where each type is tailored
to meet a specific use (e.g. networking, consumer, devices, and so forth).</para></listitem>
<listitem><para>Employ a Git branching strategy that, from a developer's point of view,
results in a linear path from the baseline <filename>kernel.org</filename>,
through a select group of features and
ends with their BSP-specific commits.</para></listitem>
</itemizedlist>
</para>
</section>
<section id='kernel-big-picture'>
<title>Yocto Project Kernel Development and Maintenance Overview</title>
<para>
Kernels available through the Yocto Project, like other kernels, are based off the Linux
kernel releases from <ulink url='http://www.kernel.org'></ulink>.
At the beginning of a major development cycle, the Yocto Project team
chooses its kernel based on factors such as release timing, the anticipated release
timing of final upstream <filename>kernel.org</filename> versions, and Yocto Project
feature requirements.
Typically, the kernel chosen is in the
final stages of development by the community.
In other words, the kernel is in the release
candidate or "rc" phase and not yet a final release.
But, by being in the final stages of external development, the team knows that the
<filename>kernel.org</filename> final release will clearly be within the early stages of
the Yocto Project development window.
</para>
<para>
This balance allows the team to deliver the most up-to-date kernel
possible, while still ensuring that the team has a stable official release for
the baseline Linux kernel version.
</para>
<para>
The ultimate source for kernels available through the Yocto Project are released kernels
from <filename>kernel.org</filename>.
In addition to a foundational kernel from <filename>kernel.org</filename>, the
kernels available contain a mix of important new mainline
developments, non-mainline developments (when there is no alternative),
Board Support Package (BSP) developments,
and custom features.
These additions result in a commercially released Yocto Project Linux kernel that caters
to specific embedded designer needs for targeted hardware.
</para>
<para>
Once a kernel is officially released, the Yocto Project team goes into
their next development cycle, or upward revision (uprev) cycle, while still
continuing maintenance on the released kernel.
It is important to note that the most sustainable and stable way
to include feature development upstream is through a kernel uprev process.
Back-porting hundreds of individual fixes and minor features from various
kernel versions is not sustainable and can easily compromise quality.
</para>
<para>
During the uprev cycle, the Yocto Project team uses an ongoing analysis of
kernel development, BSP support, and release timing to select the best
possible <filename>kernel.org</filename> version.
The team continually monitors community kernel
development to look for significant features of interest.
The team does consider back-porting large features if they have a significant advantage.
User or community demand can also trigger a back-port or creation of new
functionality in the Yocto Project baseline kernel during the uprev cycle.
</para>
<para>
Generally speaking, every new kernel both adds features and introduces new bugs.
These consequences are the basic properties of upstream kernel development and are
managed by the Yocto Project team's kernel strategy.
It is the Yocto Project team's policy to not back-port minor features to the released kernel.
They only consider back-porting significant technological jumps - and, that is done
after a complete gap analysis.
The reason for this policy is that back-porting any small to medium sized change
from an evolving kernel can easily create mismatches, incompatibilities and very
subtle errors.
</para>
<para>
These policies result in both a stable and a cutting
edge kernel that mixes forward ports of existing features and significant and critical
new functionality.
Forward porting functionality in the kernels available through the Yocto Project kernel
can be thought of as a "micro uprev."
The many “micro uprevs” produce a kernel version with a mix of
important new mainline, non-mainline, BSP developments and feature integrations.
This kernel gives insight into new features and allows focused
amounts of testing to be done on the kernel, which prevents
surprises when selecting the next major uprev.
The quality of these cutting edge kernels is evolving and the kernels are used in leading edge
feature and BSP development.
</para>
</section>
<section id='kernel-architecture'>
<title>Kernel Architecture</title>
<para>
This section describes the architecture of the kernels available through the
Yocto Project and provides information
on the mechanisms used to achieve that architecture.
</para>
<section id='architecture-overview'>
<title>Overview</title>
<para>
As mentioned earlier, a key goal of the Yocto Project is to present the
developer with
a kernel that has a clear and continuous history that is visible to the user.
The architecture and mechanisms used achieve that goal in a manner similar to the
upstream <filename>kernel.org</filename>.
</para>
<para>
You can think of a Yocto Project kernel as consisting of a baseline Linux kernel with
added features logically structured on top of the baseline.
The features are tagged and organized by way of a branching strategy implemented by the
source code manager (SCM) Git.
For information on Git as applied to the Yocto Project, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#git'>Git</ulink>" section in the
Yocto Project Development Manual.
</para>
<para>
The result is that the user has the ability to see the added features and
the commits that make up those features.
In addition to being able to see added features, the user can also view the history of what
made up the baseline kernel.
</para>
<para>
The following illustration shows the conceptual Yocto Project kernel.
</para>
<para>
<imagedata fileref="figures/kernel-architecture-overview.png" width="6in" depth="7in" align="center" scale="100" />
</para>
<para>
In the illustration, the "Kernel.org Branch Point"
marks the specific spot (or release) from
which the Yocto Project kernel is created.
From this point "up" in the tree, features and differences are organized and tagged.
</para>
<para>
The "Yocto Project Baseline Kernel" contains functionality that is common to every kernel
type and BSP that is organized further up the tree.
Placing these common features in the
tree this way means features don't have to be duplicated along individual branches of the
structure.
</para>
<para>
From the Yocto Project Baseline Kernel, branch points represent specific functionality
for individual BSPs as well as real-time kernels.
The illustration represents this through three BSP-specific branches and a real-time
kernel branch.
Each branch represents some unique functionality for the BSP or a real-time kernel.
</para>
<para>
In this example structure, the real-time kernel branch has common features for all
real-time kernels and contains
more branches for individual BSP-specific real-time kernels.
The illustration shows three branches as an example.
Each branch points the way to specific, unique features for a respective real-time
kernel as they apply to a given BSP.
</para>
<para>
The resulting tree structure presents a clear path of markers (or branches) to the
developer that, for all practical purposes, is the kernel needed for any given set
of requirements.
</para>
</section>
<section id='branching-and-workflow'>
<title>Branching Strategy and Workflow</title>
<para>
The Yocto Project team creates kernel branches at points where functionality is
no longer shared and thus, needs to be isolated.
For example, board-specific incompatibilities would require different functionality
and would require a branch to separate the features.
Likewise, for specific kernel features, the same branching strategy is used.
</para>
<para>
This branching strategy results in a tree that has features organized to be specific
for particular functionality, single kernel types, or a subset of kernel types.
This strategy also results in not having to store the same feature twice
internally in the tree.
Rather, the kernel team stores the unique differences required to apply the
feature onto the kernel type in question.
<note>
The Yocto Project team strives to place features in the tree such that they can be
shared by all boards and kernel types where possible.
However, during development cycles or when large features are merged,
the team cannot always follow this practice.
In those cases, the team uses isolated branches to merge features.
</note>
</para>
<para>
BSP-specific code additions are handled in a similar manner to kernel-specific additions.
Some BSPs only make sense given certain kernel types.
So, for these types, the team creates branches off the end of that kernel type for all
of the BSPs that are supported on that kernel type.
From the perspective of the tools that create the BSP branch, the BSP is really no
different than a feature.
Consequently, the same branching strategy applies to BSPs as it does to features.
So again, rather than store the BSP twice, the team only stores the unique
differences for the BSP across the supported multiple kernels.
</para>
<para>
While this strategy can result in a tree with a significant number of branches, it is
important to realize that from the developer's point of view, there is a linear
path that travels from the baseline <filename>kernel.org</filename>, through a select
group of features and ends with their BSP-specific commits.
In other words, the divisions of the kernel are transparent and are not relevant
to the developer on a day-to-day basis.
From the developer's perspective, this path is the "master" branch.
The developer does not need to be aware of the existence of any other branches at all.
Of course, there is value in the existence of these branches
in the tree, should a person decide to explore them.
For example, a comparison between two BSPs at either the commit level or at the line-by-line
code <filename>diff</filename> level is now a trivial operation.
</para>
<para>
Working with the kernel as a structured tree follows recognized community best practices.
In particular, the kernel as shipped with the product, should be
considered an "upstream source" and viewed as a series of
historical and documented modifications (commits).
These modifications represent the development and stabilization done
by the Yocto Project kernel development team.
</para>
<para>
Because commits only change at significant release points in the product life cycle,
developers can work on a branch created
from the last relevant commit in the shipped Yocto Project kernel.
As mentioned previously, the structure is transparent to the developer
because the kernel tree is left in this state after cloning and building the kernel.
</para>
</section>
<section id='source-code-manager-git'>
<title>Source Code Manager - Git</title>
<para>
The Source Code Manager (SCM) is Git.
This SCM is the obvious mechanism for meeting the previously mentioned goals.
Not only is it the SCM for <filename>kernel.org</filename> but,
Git continues to grow in popularity and supports many different work flows,
front-ends and management techniques.
</para>
<para>
You can find documentation on Git at <ulink url='http://git-scm.com/documentation'></ulink>.
You can also get an introduction to Git as it applies to the Yocto Project in the
"<ulink url='&YOCTO_DOCS_DEV_URL;#git'>Git</ulink>"
section in the Yocto Project Development Manual.
These referenced sections overview Git and describe a minimal set of
commands that allows you to be functional using Git.
<note>
You can use as much, or as little, of what Git has to offer to accomplish what
you need for your project.
You do not have to be a "Git Master" in order to use it with the Yocto Project.
</note>
</para>
</section>
</section>
<section id='kernel-configuration'>
<title>Kernel Configuration</title>
<para>
Kernel configuration, along with kernel features, defines how a kernel
image is built for the Yocto Project.
Through configuration settings, you can customize a Yocto Project kernel to be
specific to particular hardware.
For example, you can specify sound support or networking support.
This section describes basic concepts behind Kernel configuration within the
Yocto Project and references you to other areas for specific configuration
applications.
</para>
<para>
Conceptually, configuration of a Yocto Project kernel occurs similarly to that needed for any
Linux kernel.
The build process for a Yocto Project kernel uses a <filename>.config</filename> file, which
is created through the Linux Kernel Configuration (LKC) tool.
You can directly set various configurations in the
<filename>.config</filename> file by using the <filename>menuconfig</filename>
tool as built by BitBake.
You can also define configurations in the file by using configuration fragments.
<note>
It is not recommended that you edit the <filename>.config</filename> file directly.
</note>
Here are some brief descriptions of the ways you can affect the
<filename>.config</filename> file:
<itemizedlist>
<listitem><para><emphasis>The <filename>menuconfig</filename> Tool:</emphasis>
One of many front-ends that allows you to define kernel configurations.
Some others are <filename>make config</filename>,
<filename>make nconfig</filename>, and <filename>make gconfig</filename>.
In the Yocto Project environment, you must use BitBake to build the
<filename>menuconfig</filename> tool before you can use it to define
configurations:
<literallayout class='monospaced'>
$ bitbake linux-yocto -c menuconfig
</literallayout>
After the tool is built, you can interact with it normally.
You can see how <filename>menuconfig</filename> is used to change a simple
kernel configuration in the
"<ulink url='&YOCTO_DOCS_DEV_URL;#configuring-the-kernel'>Configuring the Kernel</ulink>"
section of the Yocto Project Development Manual.
For general information on <filename>menuconfig</filename>, see
<ulink url='http://en.wikipedia.org/wiki/Menuconfig'></ulink>.
</para></listitem>
<listitem><para><emphasis>Configuration Fragments:</emphasis> A file with a
list of kernel options just as they would appear syntactically in the
<filename>.config</filename> file.
Configuration fragments are typically logical groupings and are assembled
by the OpenEmbedded build system to produce input used by the LKC
that ultimately generates the <filename>.config</filename> file.</para>
<para>The
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-KERNEL_FEATURES'>KERNEL_FEATURES</ulink></filename>
variable can be used to list configuration fragments.
For further discussion on applying configuration fragments, see the
"<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout-kernel'>Linux Kernel Configuration</ulink>"
section in the Yocto Project Board Support Package (BSP) Guide.
</para></listitem>
</itemizedlist>
</para>
</section>
<section id='kernel-tools'>
<title>Kernel Tools</title>
<para>
Since most standard workflows involve moving forward with an existing tree by
continuing to add and alter the underlying baseline, the tools that manage
the Yocto Project's kernel construction are largely hidden from the developer to
present a simplified view of the kernel for ease of use.
</para>
<para>
Fundamentally, the kernel tools that manage and construct the
Yocto Project kernel accomplish the following:
<itemizedlist>
<listitem><para>Group patches into named, reusable features.</para></listitem>
<listitem><para>Allow top-down control of included features.</para></listitem>
<listitem><para>Bind kernel configurations to kernel patches and features.</para></listitem>
<listitem><para>Present a seamless Git repository that blends Yocto Project value
with the <filename>kernel.org</filename> history and development.</para></listitem>
</itemizedlist>
</para>
</section>
</chapter>
<!--
vim: expandtab tw=80 ts=4
-->

View File

@@ -1,78 +0,0 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='kernel-doc-intro'>
<title>Yocto Project Kernel Architecture and Use Manual</title>
<section id='kernel-intro-section'>
<title>Introduction</title>
<para>
The Yocto Project presents kernels as a fully patched, history-clean Git
repositories.
Each repository represents selected features, board support,
and configurations extensively tested by the Yocto Project.
Yocto Project kernels allow the end user to leverage community
best practices to seamlessly manage the development, build and debug cycles.
</para>
<para>
This manual describes Yocto Project kernels by providing information
on history, organization, benefits, and use.
The manual consists of two sections:
<itemizedlist>
<listitem><para><emphasis>Concepts:</emphasis> Describes concepts behind a kernel.
You will understand how a kernel is organized and why it is organized in
the way it is. You will understand the benefits of a kernel's organization
and the mechanisms used to work with the kernel and how to apply it in your
design process.</para></listitem>
<listitem><para><emphasis>Using a Kernel:</emphasis> Describes best practices
and "how-to" information
that lets you put a kernel to practical use.
Some examples are how to examine changes in a branch and how to
save kernel modifications.</para></listitem>
</itemizedlist>
</para>
<para>
For more information on the Linux kernel, see the following links:
<itemizedlist>
<listitem><para>The Linux Foundation's guide for kernel development
process - <ulink url='http://www.linuxfoundation.org/content/1-guide-kernel-development-process'></ulink></para></listitem>
<listitem><para>A fairly encompassing guide on Linux kernel development -
<ulink url='http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=Documentation/HOWTO;hb=HEAD'></ulink></para></listitem>
</itemizedlist>
</para>
<para>
For more discussion on the Yocto Project kernel, you can see these sections
in the Yocto Project Development Manual:
<itemizedlist>
<listitem><para>
"<ulink url='&YOCTO_DOCS_DEV_URL;#kernel-overview'>Kernel Overview</ulink>"</para></listitem>
<listitem><para>
"<ulink url='&YOCTO_DOCS_DEV_URL;#kernel-modification-workflow'>Kernel Modification Workflow</ulink>"
</para></listitem>
<listitem><para>
"<ulink url='&YOCTO_DOCS_DEV_URL;#patching-the-kernel'>Patching the Kernel</ulink>"</para></listitem>
<listitem><para>
"<ulink url='&YOCTO_DOCS_DEV_URL;#configuring-the-kernel'>Configuring the Kernel</ulink>"</para></listitem>
</itemizedlist>
</para>
<para>
For general information on the Yocto Project, visit the website at
<ulink url='&YOCTO_HOME_URL;'></ulink>.
</para>
</section>
</chapter>
<!--
vim: expandtab tw=80 ts=4
-->

View File

@@ -1,918 +0,0 @@
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<chapter id='kernel-how-to'>
<title>Working with the Yocto Project Kernel</title>
<section id='actions-org'>
<title>Introduction</title>
<para>
This chapter describes how to accomplish tasks involving a kernel's tree structure.
The information is designed to help the developer that wants to modify the Yocto
Project kernel and contribute changes upstream to the Yocto Project.
The information covers the following:
<itemizedlist>
<listitem><para>Tree construction</para></listitem>
<listitem><para>Build strategies</para></listitem>
<listitem><para>Workflow examples</para></listitem>
</itemizedlist>
</para>
</section>
<section id='tree-construction'>
<title>Tree Construction</title>
<para>
This section describes construction of the Yocto Project kernel source repositories
as accomplished by the Yocto Project team to create kernel repositories.
These kernel repositories are found under the heading "Yocto Linux Kernel" at
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'>&YOCTO_GIT_URL;/cgit.cgi</ulink>
and can be shipped as part of a Yocto Project release.
The team creates these repositories by
compiling and executing the set of feature descriptions for every BSP/feature
in the product.
Those feature descriptions list all necessary patches,
configuration, branching, tagging and feature divisions found in a kernel.
Thus, the Yocto Project kernel repository (or tree) is built.
</para>
<para>
The existence of this tree allows you to access and clone a particular
Yocto Project kernel repository and use it to build images based on their configurations
and features.
</para>
<para>
You can find the files used to describe all the valid features and BSPs
in the Yocto Project kernel in any clone of the Yocto Project kernel source repository
Git tree.
For example, the following command clones the Yocto Project baseline kernel that
branched off of <filename>linux.org</filename> version 3.4:
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/linux-yocto-3.4
</literallayout>
For another example of how to set up a local Git repository of the Yocto Project
kernel files, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#local-kernel-files'>Yocto Project Kernel</ulink>" bulleted
item in the Yocto Project Development Manual.
</para>
<para>
Once you have cloned the kernel Git repository on your local machine, you can
switch to the <filename>meta</filename> branch within the repository.
Here is an example that assumes the local Git repository for the kernel is in
a top-level directory named <filename>linux-yocto-3.4</filename>:
<literallayout class='monospaced'>
$ cd ~/linux-yocto-3.4
$ git checkout -b meta origin/meta
</literallayout>
Once you have checked out and switched to the <filename>meta</filename> branch,
you can see a snapshot of all the kernel configuration and feature descriptions that are
used to build that particular kernel repository.
These descriptions are in the form of <filename>.scc</filename> files.
</para>
<para>
You should realize, however, that browsing your local kernel repository
for feature descriptions and patches is not an effective way to determine what is in a
particular kernel branch.
Instead, you should use Git directly to discover the changes in a branch.
Using Git is an efficient and flexible way to inspect changes to the kernel.
For examples showing how to use Git to inspect kernel commits, see the following sections
in this chapter.
<note>
Ground up reconstruction of the complete kernel tree is an action only taken by the
Yocto Project team during an active development cycle.
When you create a clone of the kernel Git repository, you are simply making it
efficiently available for building and development.
</note>
</para>
<para>
The following steps describe what happens when the Yocto Project Team constructs
the Yocto Project kernel source Git repository (or tree) found at
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'></ulink> given the
introduction of a new top-level kernel feature or BSP.
These are the actions that effectively create the tree
that includes the new feature, patch or BSP:
<orderedlist>
<listitem><para>A top-level kernel feature is passed to the kernel build subsystem.
Normally, this feature is a BSP for a particular kernel type.</para></listitem>
<listitem><para>The file that describes the top-level feature is located by searching
these system directories:
<itemizedlist>
<listitem><para>The in-tree kernel-cache directories, which are located
in <filename>meta/cfg/kernel-cache</filename></para></listitem>
<listitem><para>Areas pointed to by <filename>SRC_URI</filename> statements
found in recipes</para></listitem>
</itemizedlist>
For a typical build, the target of the search is a
feature description in an <filename>.scc</filename> file
whose name follows this format:
<literallayout class='monospaced'>
&lt;bsp_name&gt;-&lt;kernel_type&gt;.scc
</literallayout>
</para></listitem>
<listitem><para>Once located, the feature description is either compiled into a simple script
of actions, or into an existing equivalent script that is already part of the
shipped kernel.</para></listitem>
<listitem><para>Extra features are appended to the top-level feature description.
These features can come from the
<ulink url='&YOCTO_DOCS_REF_URL;#var-KERNEL_FEATURES'><filename>KERNEL_FEATURES</filename></ulink>
variable in recipes.</para></listitem>
<listitem><para>Each extra feature is located, compiled and appended to the script
as described in step three.</para></listitem>
<listitem><para>The script is executed to produce a series of <filename>meta-*</filename>
directories.
These directories are descriptions of all the branches, tags, patches and configurations that
need to be applied to the base Git repository to completely create the
source (build) branch for the new BSP or feature.</para></listitem>
<listitem><para>The base repository is cloned, and the actions
listed in the <filename>meta-*</filename> directories are applied to the
tree.</para></listitem>
<listitem><para>The Git repository is left with the desired branch checked out and any
required branching, patching and tagging has been performed.</para></listitem>
</orderedlist>
</para>
<para>
The kernel tree is now ready for developer consumption to be locally cloned,
configured, and built into a Yocto Project kernel specific to some target hardware.
<note><para>The generated <filename>meta-*</filename> directories add to the kernel
as shipped with the Yocto Project release.
Any add-ons and configuration data are applied to the end of an existing branch.
The full repository generation that is found in the
official Yocto Project kernel repositories at
<ulink url='&YOCTO_GIT_URL;/cgit.cgi'>http://git.yoctoproject.org/cgit.cgi</ulink>
is the combination of all supported boards and configurations.</para>
<para>The technique the Yocto Project team uses is flexible and allows for seamless
blending of an immutable history with additional patches specific to a
deployment.
Any additions to the kernel become an integrated part of the branches.</para>
</note>
</para>
</section>
<section id='build-strategy'>
<title>Build Strategy</title>
<para>
Once a local Git repository of the Yocto Project kernel exists on a development system,
you can consider the compilation phase of kernel development - building a kernel image.
Some prerequisites exist that are validated by the build process before compilation
starts:
</para>
<itemizedlist>
<listitem><para>The
<ulink url='&YOCTO_DOCS_REF_URL;#var-SRC_URI'><filename>SRC_URI</filename></ulink> points
to the kernel Git repository.</para></listitem>
<listitem><para>A BSP build branch exists.
This branch has the following form:
<literallayout class='monospaced'>
&lt;kernel_type&gt;/&lt;bsp_name&gt;
</literallayout></para></listitem>
</itemizedlist>
<para>
The OpenEmbedded build system makes sure these conditions exist before attempting compilation.
Other means, however, do exist, such as as bootstrapping a BSP, see
the "<link linkend='workflow-examples'>Workflow Examples</link>".
</para>
<para>
Before building a kernel, the build process verifies the tree
and configures the kernel by processing all of the
configuration "fragments" specified by feature descriptions in the <filename>.scc</filename>
files.
As the features are compiled, associated kernel configuration fragments are noted
and recorded in the <filename>meta-*</filename> series of directories in their compilation order.
The fragments are migrated, pre-processed and passed to the Linux Kernel
Configuration subsystem (<filename>lkc</filename>) as raw input in the form
of a <filename>.config</filename> file.
The <filename>lkc</filename> uses its own internal dependency constraints to do the final
processing of that information and generates the final <filename>.config</filename> file
that is used during compilation.
</para>
<para>
Using the board's architecture and other relevant values from the board's template,
kernel compilation is started and a kernel image is produced.
</para>
<para>
The other thing that you notice once you configure a kernel is that
the build process generates a build tree that is separate from your kernel's local Git
source repository tree.
This build tree has a name that uses the following form, where
<filename>${MACHINE}</filename> is the metadata name of the machine (BSP) and "kernel_type" is one
of the Yocto Project supported kernel types (e.g. "standard"):
<literallayout class='monospaced'>
linux-${MACHINE}-&lt;kernel_type&gt;-build
</literallayout>
</para>
<para>
The existing support in the <filename>kernel.org</filename> tree achieves this
default functionality.
</para>
<para>
This behavior means that all the generated files for a particular machine or BSP are now in
the build tree directory.
The files include the final <filename>.config</filename> file, all the <filename>.o</filename>
files, the <filename>.a</filename> files, and so forth.
Since each machine or BSP has its own separate build directory in its own separate branch
of the Git repository, you can easily switch between different builds.
</para>
</section>
<section id='workflow-examples'>
<title>Workflow Examples</title>
<para>
As previously noted, the Yocto Project kernel has built-in Git integration.
However, these utilities are not the only way to work with the kernel repository.
The Yocto Project has not made changes to Git or to other tools that
would invalidate alternate workflows.
Additionally, the way the kernel repository is constructed results in using
only core Git functionality, thus allowing any number of tools or front ends to use the
resulting tree.
</para>
<para>
This section contains several workflow examples.
Many of the examples use Git commands.
You can find Git documentation at
<ulink url='http://git-scm.com/documentation'></ulink>.
You can find a simple overview of using Git with the Yocto Project in the
"<ulink url='&YOCTO_DOCS_DEV_URL;#git'>Git</ulink>"
section of the Yocto Project Development Manual.
</para>
<section id='change-inspection-kernel-changes-commits'>
<title>Change Inspection: Changes/Commits</title>
<para>
A common question when working with a kernel is:
"What changes have been applied to this tree?"
</para>
<para>
In projects that have a collection of directories that
contain patches to the kernel, it is possible to inspect or "grep" the contents
of the directories to get a general feel for the changes.
This sort of patch inspection is not an efficient way to determine what has been
done to the kernel.
The reason it is inefficient is because there are many optional patches that are
selected based on the kernel type and the feature description.
Additionally, patches could exist in directories that are not included in the search.
</para>
<para>
A more efficient way to determine what has changed in the branch is to use
Git and inspect or search the kernel tree.
This method gives you a full view of not only the source code modifications,
but also provides the reasons for the changes.
</para>
<section id='what-changed-in-a-kernel'>
<title>What Changed in a Kernel?</title>
<para>
Following are a few examples that show how to use Git commands to examine changes.
Because Git repositories in the Yocto Project do not break existing Git
functionality, and because there exists many permutations of these types of
Git commands, many methods exist by which you can discover changes.
<note>
In the following examples, unless you provide a commit range,
<filename>kernel.org</filename> history is blended with Yocto Project
kernel changes.
You can form ranges by using branch names from the kernel tree as the
upper and lower commit markers with the Git commands.
You can see the branch names through the web interface to the
Yocto Project source repositories at
<ulink url='http://git.yoctoproject.org/cgit.cgi'></ulink>.
For example, the branch names for the <filename>linux-yocto-3.4</filename>
kernel repository can be seen at
<ulink url='http://git.yoctoproject.org/cgit.cgi/linux-yocto-3.4/refs/heads'></ulink>.
</note>
To see a full range of the changes, use the
<filename>git whatchanged</filename> command and specify a commit range
for the branch (<filename>&lt;commit&gt;..&lt;commit&gt;</filename>).
</para>
<para>
Here is an example that looks at what has changed in the
<filename>emenlow</filename> branch of the
<filename>linux-yocto-3.4</filename> kernel.
The lower commit range is the commit associated with the
<filename>standard/base</filename> branch, while
the upper commit range is the commit associated with the
<filename>standard/emenlow</filename> branch.
<literallayout class='monospaced'>
$ git whatchanged origin/standard/base..origin/standard/emenlow
</literallayout>
</para>
<para>
To see a summary of changes use the <filename>git log</filename> command.
Here is an example using the same branches:
<literallayout class='monospaced'>
$ git log --oneline origin/standard/base..origin/standard/emenlow
</literallayout>
The <filename>git log</filename> output might be more useful than
the <filename>git whatchanged</filename> as you get
a short, one-line summary of each change and not the entire commit.
</para>
<para>
If you want to see code differences associated with all the changes, use
the <filename>git diff</filename> command.
Here is an example:
<literallayout class='monospaced'>
$ git diff origin/standard/base..origin/standard/emenlow
</literallayout>
</para>
<para>
You can see the commit log messages and the text differences using the
<filename>git show</filename> command:
Here is an example:
<literallayout class='monospaced'>
$ git show origin/standard/base..origin/standard/emenlow
</literallayout>
</para>
<para>
You can create individual patches for each change by using the
<filename>git format-patch</filename> command.
Here is an example that that creates patch files for each commit and
places them in your <filename>Documents</filename> directory:
<literallayout class='monospaced'>
$ git format-patch -o $HOME/Documents origin/standard/base..origin/standard/emenlow
</literallayout>
</para>
</section>
<section id='show-a-particular-feature-or-branch-change'>
<title>Show a Particular Feature or Branch Change</title>
<para>
Developers use tags in the Yocto Project kernel tree to divide changes for significant
features or branches.
Once you know a particular tag, you can use Git commands
to show changes associated with the tag and find the branches that contain
the feature.
<note>
Because BSP branch, <filename>kernel.org</filename>, and feature tags are all
present, there could be many tags.
</note>
The <filename>git show &lt;tag&gt;</filename> command shows changes that are tagged by
a feature.
Here is an example that shows changes tagged by the <filename>systemtap</filename>
feature:
<literallayout class='monospaced'>
$ git show systemtap
</literallayout>
You can use the <filename>git branch --contains &lt;tag&gt;</filename> command
to show the branches that contain a particular feature.
This command shows the branches that contain the <filename>systemtap</filename>
feature:
<literallayout class='monospaced'>
$ git branch --contains systemtap
</literallayout>
</para>
<para>
You can use many other comparisons to isolate BSP and kernel changes.
For example, you can compare against <filename>kernel.org</filename> tags
such as the <filename>v3.4</filename> tag.
</para>
</section>
</section>
<section id='development-saving-kernel-modifications'>
<title>Development: Saving Kernel Modifications</title>
<para>
Another common operation is to build a BSP supplied by the Yocto Project, make some
changes, rebuild, and then test.
Those local changes often need to be exported, shared or otherwise maintained.
</para>
<para>
Since the Yocto Project kernel source tree is backed by Git, this activity is
much easier as compared to with previous releases.
Because Git tracks file modifications, additions and deletions, it is easy
to modify the code and later realize that you need to save the changes.
It is also easy to determine what has changed.
This method also provides many tools to commit, undo and export those modifications.
</para>
<para>
This section and its sub-sections, describe general application of Git's
<filename>push</filename> and <filename>pull</filename> commands, which are used to
get your changes upstream or source your code from an upstream repository.
The Yocto Project provides scripts that help you work in a collaborative development
environment.
For information on these scripts, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#pushing-a-change-upstream'>Using Scripts to Push a Change
Upstream and Request a Pull</ulink>" and
"<ulink url='&YOCTO_DOCS_DEV_URL;#submitting-a-patch'>Using Email to Submit a Patch</ulink>"
sections in the Yocto Project Development Manual.
</para>
<para>
There are many ways to save kernel modifications.
The technique employed
depends on the destination for the patches:
<itemizedlist>
<listitem><para>Bulk storage</para></listitem>
<listitem><para>Internal sharing either through patches or by using Git</para></listitem>
<listitem><para>External submissions</para></listitem>
<listitem><para>Exporting for integration into another Source Code
Manager (SCM)</para></listitem>
</itemizedlist>
</para>
<para>
Because of the following list of issues, the destination of the patches also influences
the method for gathering them:
<itemizedlist>
<listitem><para>Bisectability</para></listitem>
<listitem><para>Commit headers</para></listitem>
<listitem><para>Division of subsystems for separate submission or review</para></listitem>
</itemizedlist>
</para>
<section id='bulk-export'>
<title>Bulk Export</title>
<para>
This section describes how you can "bulk" export changes that have not
been separated or divided.
This situation works well when you are simply storing patches outside of the kernel
source repository, either permanently or temporarily, and you are not committing
incremental changes during development.
<note>
This technique is not appropriate for full integration of upstream submission
because changes are not properly divided and do not provide an avenue for per-change
commit messages.
Therefore, this example assumes that changes have not been committed incrementally
during development and that you simply must gather and export them.
</note>
<literallayout class='monospaced'>
# bulk export of ALL modifications without separation or division
# of the changes
$ git add .
$ git commit -s -a -m &lt;msg&gt;
or
$ git commit -s -a # and interact with $EDITOR
</literallayout>
</para>
<para>
The previous operations capture all the local changes in the project source
tree in a single Git commit.
And, that commit is also stored in the project's source tree.
</para>
<para>
Once the changes are exported, you can restore them manually using a template
or through integration with the <filename>default_kernel</filename>.
</para>
</section>
<section id='incremental-planned-sharing'>
<title>Incremental/Planned Sharing</title>
<para>
This section describes how to save modifications when you are making incremental
commits or practicing planned sharing.
The examples in this section assume that you have incrementally committed
changes to the tree during development and now need to export them.
The sections that follow
describe how you can export your changes internally through either patches or by
using Git commands.
</para>
<para>
During development, the following commands are of interest.
For full Git documentation, refer to the Git documentation at
<ulink url='http://github.com'></ulink>.
<literallayout class='monospaced'>
# edit a file
$ vi &lt;path&gt;/file
# stage the change
$ git add &lt;path&gt;/file
# commit the change
$ git commit -s
# remove a file
$ git rm &lt;path&gt;/file
# commit the change
$ git commit -s
... etc.
</literallayout>
</para>
<para>
Distributed development with Git is possible when you use a universally
agreed-upon unique commit identifier (set by the creator of the commit) that maps to a
specific change set with a specific parent.
This identifier is created for you when
you create a commit, and is re-created when you amend, alter or re-apply
a commit.
As an individual in isolation, this is of no interest.
However, if you
intend to share your tree with normal Git <filename>push</filename> and
<filename>pull</filename> operations for
distributed development, you should consider the ramifications of changing a
commit that you have already shared with others.
</para>
<para>
Assuming that the changes have not been pushed upstream, or pulled into
another repository, you can update both the commit content and commit messages
associated with development by using the following commands:
<literallayout class='monospaced'>
$ Git add &lt;path&gt;/file
$ Git commit --amend
$ Git rebase or Git rebase -i
</literallayout>
</para>
<para>
Again, assuming that the changes have not been pushed upstream, and that
no pending works-in-progress exist (use <filename>git status</filename> to check), then
you can revert (undo) commits by using the following commands:
<literallayout class='monospaced'>
# remove the commit, update working tree and remove all
# traces of the change
$ git reset --hard HEAD^
# remove the commit, but leave the files changed and staged for re-commit
$ git reset --soft HEAD^
# remove the commit, leave file change, but not staged for commit
$ git reset --mixed HEAD^
</literallayout>
</para>
<para>
You can create branches, "cherry-pick" changes, or perform any number of Git
operations until the commits are in good order for pushing upstream
or for pull requests.
After a <filename>push</filename> or <filename>pull</filename> command,
commits are normally considered
"permanent" and you should not modify them.
If the commits need to be changed, you can incrementally do so with new commits.
These practices follow standard Git workflow and the <filename>kernel.org</filename> best
practices, which is recommended.
<note>
It is recommended to tag or branch before adding changes to a Yocto Project
BSP or before creating a new one.
The reason for this recommendation is because the branch or tag provides a
reference point to facilitate locating and exporting local changes.
</note>
</para>
<section id='export-internally-via-patches'>
<title>Exporting Changes Internally by Using Patches</title>
<para>
This section describes how you can extract committed changes from a working directory
by exporting them as patches.
Once the changes have been extracted, you can use the patches for upstream submission,
place them in a Yocto Project template for automatic kernel patching,
or apply them in many other common uses.
</para>
<para>
This example shows how to create a directory with sequentially numbered patches.
Once the directory is created, you can apply it to a repository using the
<filename>git am</filename> command to reproduce the original commit and all
the related information such as author, date, commit log, and so forth.
<note>
The new commit identifiers (ID) will be generated upon re-application.
This action reflects that the commit is now applied to an underlying commit
with a different ID.
</note>
<literallayout class='monospaced'>
# &lt;first-commit&gt; can be a tag if one was created before development
# began. It can also be the parent branch if a branch was created
# before development began.
$ git format-patch -o &lt;dir&gt; &lt;first commit&gt;..&lt;last commit&gt;
</literallayout>
</para>
<para>
In other words:
<literallayout class='monospaced'>
# Identify commits of interest.
# If the tree was tagged before development
$ git format-patch -o &lt;save dir&gt; &lt;tag&gt;
# If no tags are available
$ git format-patch -o &lt;save dir&gt; HEAD^ # last commit
$ git format-patch -o &lt;save dir&gt; HEAD^^ # last 2 commits
$ git whatchanged # identify last commit
$ git format-patch -o &lt;save dir&gt; &lt;commit id&gt;
$ git format-patch -o &lt;save dir&gt; &lt;rev-list&gt;
</literallayout>
</para>
</section>
<section id='export-internally-via-git'>
<title>Exporting Changes Internally by Using Git</title>
<para>
This section describes how you can export changes from a working directory
by pushing the changes into a master repository or by making a pull request.
Once you have pushed the changes to the master repository, you can then
pull those same changes into a new kernel build at a later time.
</para>
<para>
Use this command form to push the changes:
<literallayout class='monospaced'>
$ git push ssh://&lt;master_server&gt;/&lt;path_to_repo&gt;
&lt;local_branch&gt;:&lt;remote_branch&gt;
</literallayout>
</para>
<para>
For example, the following command pushes the changes from your local branch
<filename>yocto/standard/common-pc/base</filename> to the remote branch with the same name
in the master repository <filename>//git.mycompany.com/pub/git/kernel-3.4</filename>.
<literallayout class='monospaced'>
$ git push ssh://git.mycompany.com/pub/git/kernel-3.4 \
yocto/standard/common-pc/base:yocto/standard/common-pc/base
</literallayout>
</para>
<para>
A pull request entails using the <filename>git request-pull</filename> command to compose
an email to the
maintainer requesting that a branch be pulled into the master repository, see
<ulink url='http://github.com/guides/pull-requests'></ulink> for an example.
<note>
Other commands such as <filename>git stash</filename> or branching can also be used to save
changes, but are not covered in this document.
</note>
</para>
</section>
</section>
<section id='export-for-external-upstream-submission'>
<title>Exporting Changes for External (Upstream) Submission</title>
<para>
This section describes how to export changes for external upstream submission.
If the patch series is large or the maintainer prefers to pull
changes, you can submit these changes by using a pull request.
However, it is common to send patches as an email series.
This method allows easy review and integration of the changes.
<note>
Before sending patches for review be sure you understand the
community standards for submitting and documenting changes and follow their best practices.
For example, kernel patches should follow standards such as:
<itemizedlist>
<listitem><para>
<ulink url='http://linux.yyz.us/patch-format.html'></ulink></para></listitem>
<listitem><para>Documentation/SubmittingPatches (in any linux
kernel source tree)</para></listitem>
</itemizedlist>
</note>
</para>
<para>
The messages used to commit changes are a large part of these standards.
Consequently, be sure that the headers for each commit have the required information.
For information on how to follow the Yocto Project commit message standards, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#how-to-submit-a-change'>How to Submit a
Change</ulink>" section in the Yocto Project Development Manual.
</para>
<para>
If the initial commits were not properly documented or do not meet those standards,
you can re-base by using the <filename>git rebase -i</filename> command to
manipulate the commits and
get them into the required format.
Other techniques such as branching and cherry-picking commits are also viable options.
</para>
<para>
Once you complete the commits, you can generate the email that sends the patches
to the maintainer(s) or lists that review and integrate changes.
The command <filename>git send-email</filename> is commonly used to ensure
that patches are properly
formatted for easy application and avoid mailer-induced patch damage.
</para>
<para>
The following is an example of dumping patches for external submission:
<literallayout class='monospaced'>
# dump the last 4 commits
$ git format-patch --thread -n -o ~/rr/ HEAD^^^^
$ git send-email --compose --subject '[RFC 0/N] &lt;patch series summary&gt;' \
--to foo@yoctoproject.org --to bar@yoctoproject.org \
--cc list@yoctoproject.org ~/rr
# the editor is invoked for the 0/N patch, and when complete the entire
# series is sent via email for review
</literallayout>
</para>
</section>
<section id='export-for-import-into-other-scm'>
<title>Exporting Changes for Import into Another SCM</title>
<para>
When you want to export changes for import into another
Source Code Manager (SCM), you can use any of the previously discussed
techniques.
However, if the patches are manually applied to a secondary tree and then
that tree is checked into the SCM, you can lose change information such as
commit logs.
This process is not recommended.
</para>
<para>
Many SCMs can directly import Git commits, or can translate Git patches so that
information is not lost.
Those facilities are SCM-dependent and you should use them whenever possible.
</para>
</section>
</section>
<section id='scm-working-with-the-yocto-project-kernel-in-another-scm'>
<title>Working with the Yocto Project Kernel in Another SCM</title>
<para>
This section describes kernel development in an SCM other than Git,
which is not the same as exporting changes to another SCM described earlier.
For this scenario, you use the OpenEmbedded build system to
develop the kernel in a different SCM.
The following must be true for you to accomplish this:
<itemizedlist>
<listitem><para>The delivered Yocto Project kernel must be exported into the second
SCM.</para></listitem>
<listitem><para>Development must be exported from that secondary SCM into a
format that can be used by the OpenEmbedded build system.</para></listitem>
</itemizedlist>
</para>
<section id='exporting-delivered-kernel-to-scm'>
<title>Exporting the Delivered Kernel to the SCM</title>
<para>
Depending on the SCM, it might be possible to export the entire Yocto Project
kernel Git repository, branches and all, into a new environment.
This method is preferred because it has the most flexibility and potential to maintain
the meta data associated with each commit.
</para>
<para>
When a direct import mechanism is not available, it is still possible to
export a branch (or series of branches) and check them into a new repository.
</para>
<para>
The following commands illustrate some of the steps you could use to
import the <filename>yocto/standard/common-pc/base</filename>
kernel into a secondary SCM:
<literallayout class='monospaced'>
$ git checkout yocto/standard/common-pc/base
$ cd .. ; echo linux/.git &gt; .cvsignore
$ cvs import -m "initial import" linux MY_COMPANY start
</literallayout>
</para>
<para>
You could now relocate the CVS repository and use it in a centralized manner.
</para>
<para>
The following commands illustrate how you can condense and merge two BSPs into a
second SCM:
<literallayout class='monospaced'>
$ git checkout yocto/standard/common-pc/base
$ git merge yocto/standard/common-pc-64/base
# resolve any conflicts and commit them
$ cd .. ; echo linux/.git &gt; .cvsignore
$ cvs import -m "initial import" linux MY_COMPANY start
</literallayout>
</para>
</section>
<section id='importing-changes-for-build'>
<title>Importing Changes for the Build</title>
<para>
Once development has reached a suitable point in the second development
environment, you need to export the changes as patches.
To export them, place the changes in a recipe and
automatically apply them to the kernel during patching.
</para>
</section>
</section>
<section id='bsp-creating'>
<title>Creating a BSP Based on an Existing Similar BSP</title>
<para>
This section overviews the process of creating a BSP based on an
existing similar BSP.
The information is introductory in nature and does not provide step-by-step examples.
For detailed information on how to create a new BSP, see
the "<ulink url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'>Creating a New BSP Layer Using the yocto-bsp Script</ulink>" section in the
Yocto Project Board Support Package (BSP) Developer's Guide, or see the
<ulink url='&YOCTO_WIKI_URL;/wiki/Transcript:_creating_one_generic_Atom_BSP_from_another'>Transcript:_creating_one_generic_Atom_BSP_from_another</ulink>
wiki page.
</para>
<para>
The basic steps you need to follow are:
<orderedlist>
<listitem><para><emphasis>Make sure you have set up a local Source Directory:</emphasis>
You must create a local
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>
by either creating a Git repository (recommended) or
extracting a Yocto Project release tarball.</para></listitem>
<listitem><para><emphasis>Choose an existing BSP available with the Yocto Project:</emphasis>
Try to map your board features as closely to the features of a BSP that is
already supported and exists in the Yocto Project.
Starting with something as close as possible to your board makes developing
your BSP easier.
You can find all the BSPs that are supported and ship with the Yocto Project
on the Yocto Project's Download page at
<ulink url='&YOCTO_HOME_URL;/download'></ulink>.</para></listitem>
<listitem><para><emphasis>Be sure you have the Base BSP:</emphasis>
You need to either have a local Git repository of the base BSP set up or
have downloaded and extracted the files from a release BSP tarball.
Either method gives you access to the BSP source files.</para></listitem>
<listitem><para><emphasis>Make a copy of the existing BSP, thus isolating your new
BSP work:</emphasis>
Copying the existing BSP file structure gives you a new area in which to work.</para></listitem>
<listitem><para><emphasis>Make configuration and recipe changes to your new BSP:</emphasis>
Configuration changes involve the files in the BSP's <filename>conf</filename>
directory.
Changes include creating a machine-specific configuration file and editing the
<filename>layer.conf</filename> file.
The configuration changes identify the kernel you will be using.
Recipe changes include removing, modifying, or adding new recipe files that
instruct the build process on what features to include in the image.</para></listitem>
<listitem><para><emphasis>Prepare for the build:</emphasis>
Before you actually initiate the build, you need to set up the build environment
by sourcing the environment initialization script.
After setting up the environment, you need to make some build configuration
changes to the <filename>local.conf</filename> and <filename>bblayers.conf</filename>
files.</para></listitem>
<listitem><para><emphasis>Build the image:</emphasis>
The OpenEmbedded build system uses BitBake to create the image.
You need to decide on the type of image you are going to build (e.g. minimal, base,
core, sato, and so forth) and then start the build using the <filename>bitbake</filename>
command.</para></listitem>
</orderedlist>
</para>
</section>
<section id='tip-dirty-string'>
<title>"-dirty" String</title>
<para>
If kernel images are being built with "-dirty" on the end of the version
string, this simply means that modifications in the source
directory have not been committed.
<literallayout class='monospaced'>
$ git status
</literallayout>
</para>
<para>
You can use the above Git command to report modified, removed, or added files.
You should commit those changes to the tree regardless of whether they will be saved,
exported, or used.
Once you commit the changes you need to rebuild the kernel.
</para>
<para>
To brute force pickup and commit all such pending changes, enter the following:
<literallayout class='monospaced'>
$ git add .
$ git commit -s -a -m "getting rid of -dirty"
</literallayout>
</para>
<para>
Next, rebuild the kernel.
</para>
</section>
</section>
</chapter>
<!--
vim: expandtab tw=80 ts=4
-->

View File

@@ -1,11 +0,0 @@
<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0">
<xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl" />
<xsl:param name="html.stylesheet" select="'kernel-style.css'" />
<xsl:param name="chapter.autolabel" select="1" />
<xsl:param name="appendix.autolabel" select="A" />
<xsl:param name="section.autolabel" select="1" />
<xsl:param name="section.label.includes.component.label" select="1" />
</xsl:stylesheet>

View File

@@ -1,27 +0,0 @@
<?xml version='1.0'?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
version="1.0">
<xsl:import
href="http://docbook.sourceforge.net/release/xsl/current/eclipse/eclipse3.xsl" />
<xsl:param name="chunker.output.indent" select="'yes'"/>
<xsl:param name="chunk.quietly" select="1"/>
<xsl:param name="chunk.first.sections" select="1"/>
<xsl:param name="chunk.section.depth" select="10"/>
<xsl:param name="use.id.as.filename" select="1"/>
<xsl:param name="ulink.target" select="'_self'" />
<xsl:param name="base.dir" select="'html/kernel-manual/'"/>
<xsl:param name="html.stylesheet" select="'../book.css'"/>
<xsl:param name="eclipse.manifest" select="0"/>
<xsl:param name="create.plugin.xml" select="0"/>
<xsl:param name="suppress.navigation" select="1"/>
<xsl:param name="generate.index" select="0"/>
<xsl:param name="chapter.autolabel" select="1" />
<xsl:param name="appendix.autolabel" select="A" />
<xsl:param name="section.autolabel" select="1" />
<xsl:param name="section.label.includes.component.label" select="1" />
</xsl:stylesheet>

View File

@@ -1,106 +0,0 @@
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
<book id='kernel-manual' lang='en'
xmlns:xi="http://www.w3.org/2003/XInclude"
xmlns="http://docbook.org/ns/docbook"
>
<bookinfo>
<mediaobject>
<imageobject>
<imagedata fileref='figures/kernel-title.png'
format='SVG'
align='left' scalefit='1' width='100%'/>
</imageobject>
</mediaobject>
<title>
The Yocto Project Kernel Architecture and Use Manual
</title>
<authorgroup>
<author>
<firstname>Bruce</firstname> <surname>Ashfield</surname>
<affiliation>
<orgname>Wind River Corporation</orgname>
</affiliation>
<email>bruce.ashfield@windriver.com</email>
</author>
</authorgroup>
<revhistory>
<revision>
<revnumber>0.9</revnumber>
<date>24 November 2010</date>
<revremark>The initial document draft released with the Yocto Project 0.9 Release.</revremark>
</revision>
<revision>
<revnumber>1.0</revnumber>
<date>6 April 2011</date>
<revremark>Released with the Yocto Project 1.0 Release.</revremark>
</revision>
<revision>
<revnumber>1.0.1</revnumber>
<date>23 May 2011</date>
<revremark>Released with the Yocto Project 1.0.1 Release.</revremark>
</revision>
<revision>
<revnumber>1.1</revnumber>
<date>6 October 2011</date>
<revremark>Released with the Yocto Project 1.1 Release.</revremark>
</revision>
<revision>
<revnumber>1.2</revnumber>
<date>April 2012</date>
<revremark>Released with the Yocto Project 1.2 Release.</revremark>
</revision>
<revision>
<revnumber>1.3</revnumber>
<date>October 2012</date>
<revremark>Released with the Yocto Project 1.3 Release.</revremark>
</revision>
<revision>
<revnumber>1.4</revnumber>
<date>Sometime in 2013</date>
<revremark>Released with the Yocto Project 1.4 Release.</revremark>
</revision>
</revhistory>
<copyright>
<year>&COPYRIGHT_YEAR;</year>
<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_KERNEL_URL;'>Yocto Project Kernel Architecture and Use Manual</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>
</bookinfo>
<xi:include href="kernel-doc-intro.xml"/>
<xi:include href="kernel-concepts.xml"/>
<xi:include href="kernel-how-to.xml"/>
<!-- <index id='index'>
<title>Index</title>
</index>
-->
</book>
<!--
vim: expandtab tw=80 ts=4
-->

View File

@@ -1,979 +0,0 @@
/*
Generic XHTML / DocBook XHTML CSS Stylesheet.
Browser wrangling and typographic design by
Oyvind Kolas / pippin@gimp.org
Customised for Poky by
Matthew Allum / mallum@o-hand.com
Thanks to:
Liam R. E. Quin
William Skaggs
Jakub Steiner
Structure
---------
The stylesheet is divided into the following sections:
Positioning
Margins, paddings, width, font-size, clearing.
Decorations
Borders, style
Colors
Colors
Graphics
Graphical backgrounds
Nasty IE tweaks
Workarounds needed to make it work in internet explorer,
currently makes the stylesheet non validating, but up until
this point it is validating.
Mozilla extensions
Transparency for footer
Rounded corners on boxes
*/
/*************** /
/ Positioning /
/ ***************/
body {
font-family: Verdana, Sans, sans-serif;
min-width: 640px;
width: 80%;
margin: 0em auto;
padding: 2em 5em 5em 5em;
color: #333;
}
h1,h2,h3,h4,h5,h6,h7 {
font-family: Arial, Sans;
color: #00557D;
clear: both;
}
h1 {
font-size: 2em;
text-align: left;
padding: 0em 0em 0em 0em;
margin: 2em 0em 0em 0em;
}
h2.subtitle {
margin: 0.10em 0em 3.0em 0em;
padding: 0em 0em 0em 0em;
font-size: 1.8em;
padding-left: 20%;
font-weight: normal;
font-style: italic;
}
h2 {
margin: 2em 0em 0.66em 0em;
padding: 0.5em 0em 0em 0em;
font-size: 1.5em;
font-weight: bold;
}
h3.subtitle {
margin: 0em 0em 1em 0em;
padding: 0em 0em 0em 0em;
font-size: 142.14%;
text-align: right;
}
h3 {
margin: 1em 0em 0.5em 0em;
padding: 1em 0em 0em 0em;
font-size: 140%;
font-weight: bold;
}
h4 {
margin: 1em 0em 0.5em 0em;
padding: 1em 0em 0em 0em;
font-size: 120%;
font-weight: bold;
}
h5 {
margin: 1em 0em 0.5em 0em;
padding: 1em 0em 0em 0em;
font-size: 110%;
font-weight: bold;
}
h6 {
margin: 1em 0em 0em 0em;
padding: 1em 0em 0em 0em;
font-size: 110%;
font-weight: bold;
}
.authorgroup {
background-color: transparent;
background-repeat: no-repeat;
padding-top: 256px;
background-image: url("figures/kernel-title.png");
background-position: left top;
margin-top: -256px;
padding-right: 50px;
margin-left: 0px;
text-align: right;
width: 740px;
}
h3.author {
margin: 0em 0me 0em 0em;
padding: 0em 0em 0em 0em;
font-weight: normal;
font-size: 100%;
color: #333;
clear: both;
}
.author tt.email {
font-size: 66%;
}
.titlepage hr {
width: 0em;
clear: both;
}
.revhistory {
padding-top: 2em;
clear: both;
}
.toc,
.list-of-tables,
.list-of-examples,
.list-of-figures {
padding: 1.33em 0em 2.5em 0em;
color: #00557D;
}
.toc p,
.list-of-tables p,
.list-of-figures p,
.list-of-examples p {
padding: 0em 0em 0em 0em;
padding: 0em 0em 0.3em;
margin: 1.5em 0em 0em 0em;
}
.toc p b,
.list-of-tables p b,
.list-of-figures p b,
.list-of-examples p b{
font-size: 100.0%;
font-weight: bold;
}
.toc dl,
.list-of-tables dl,
.list-of-figures dl,
.list-of-examples dl {
margin: 0em 0em 0.5em 0em;
padding: 0em 0em 0em 0em;
}
.toc dt {
margin: 0em 0em 0em 0em;
padding: 0em 0em 0em 0em;
}
.toc dd {
margin: 0em 0em 0em 2.6em;
padding: 0em 0em 0em 0em;
}
div.glossary dl,
div.variablelist dl {
}
.glossary dl dt,
.variablelist dl dt,
.variablelist dl dt span.term {
font-weight: normal;
width: 20em;
text-align: right;
}
.variablelist dl dt {
margin-top: 0.5em;
}
.glossary dl dd,
.variablelist dl dd {
margin-top: -1em;
margin-left: 25.5em;
}
.glossary dd p,
.variablelist dd p {
margin-top: 0em;
margin-bottom: 1em;
}
div.calloutlist table td {
padding: 0em 0em 0em 0em;
margin: 0em 0em 0em 0em;
}
div.calloutlist table td p {
margin-top: 0em;
margin-bottom: 1em;
}
div p.copyright {
text-align: left;
}
div.legalnotice p.legalnotice-title {
margin-bottom: 0em;
}
p {
line-height: 1.5em;
margin-top: 0em;
}
dl {
padding-top: 0em;
}
hr {
border: solid 1px;
}
.mediaobject,
.mediaobjectco {
text-align: center;
}
img {
border: none;
}
ul {
padding: 0em 0em 0em 1.5em;
}
ul li {
padding: 0em 0em 0em 0em;
}
ul li p {
text-align: left;
}
table {
width :100%;
}
th {
padding: 0.25em;
text-align: left;
font-weight: normal;
vertical-align: top;
}
td {
padding: 0.25em;
vertical-align: top;
}
p a[id] {
margin: 0px;
padding: 0px;
display: inline;
background-image: none;
}
a {
text-decoration: underline;
color: #444;
}
pre {
overflow: auto;
}
a:hover {
text-decoration: underline;
/*font-weight: bold;*/
}
div.informalfigure,
div.informalexample,
div.informaltable,
div.figure,
div.table,
div.example {
margin: 1em 0em;
padding: 1em;
page-break-inside: avoid;
}
div.informalfigure p.title b,
div.informalexample p.title b,
div.informaltable p.title b,
div.figure p.title b,
div.example p.title b,
div.table p.title b{
padding-top: 0em;
margin-top: 0em;
font-size: 100%;
font-weight: normal;
}
.mediaobject .caption,
.mediaobject .caption p {
text-align: center;
font-size: 80%;
padding-top: 0.5em;
padding-bottom: 0.5em;
}
.epigraph {
padding-left: 55%;
margin-bottom: 1em;
}
.epigraph p {
text-align: left;
}
.epigraph .quote {
font-style: italic;
}
.epigraph .attribution {
font-style: normal;
text-align: right;
}
span.application {
font-style: italic;
}
.programlisting {
font-family: monospace;
font-size: 80%;
white-space: pre;
margin: 1.33em 0em;
padding: 1.33em;
}
.tip,
.warning,
.caution,
.note {
margin-top: 1em;
margin-bottom: 1em;
}
/* force full width of table within div */
.tip table,
.warning table,
.caution table,
.note table {
border: none;
width: 100%;
}
.tip table th,
.warning table th,
.caution table th,
.note table th {
padding: 0.8em 0.0em 0.0em 0.0em;
margin : 0em 0em 0em 0em;
}
.tip p,
.warning p,
.caution p,
.note p {
margin-top: 0.5em;
margin-bottom: 0.5em;
padding-right: 1em;
text-align: left;
}
.acronym {
text-transform: uppercase;
}
b.keycap,
.keycap {
padding: 0.09em 0.3em;
margin: 0em;
}
.itemizedlist li {
clear: none;
}
.filename {
font-size: medium;
font-family: Courier, monospace;
}
div.navheader, div.heading{
position: absolute;
left: 0em;
top: 0em;
width: 100%;
background-color: #cdf;
width: 100%;
}
div.navfooter, div.footing{
position: fixed;
left: 0em;
bottom: 0em;
background-color: #eee;
width: 100%;
}
div.navheader td,
div.navfooter td {
font-size: 66%;
}
div.navheader table th {
/*font-family: Georgia, Times, serif;*/
/*font-size: x-large;*/
font-size: 80%;
}
div.navheader table {
border-left: 0em;
border-right: 0em;
border-top: 0em;
width: 100%;
}
div.navfooter table {
border-left: 0em;
border-right: 0em;
border-bottom: 0em;
width: 100%;
}
div.navheader table td a,
div.navfooter table td a {
color: #777;
text-decoration: none;
}
/* normal text in the footer */
div.navfooter table td {
color: black;
}
div.navheader table td a:visited,
div.navfooter table td a:visited {
color: #444;
}
/* links in header and footer */
div.navheader table td a:hover,
div.navfooter table td a:hover {
text-decoration: underline;
background-color: transparent;
color: #33a;
}
div.navheader hr,
div.navfooter hr {
display: none;
}
.qandaset tr.question td p {
margin: 0em 0em 1em 0em;
padding: 0em 0em 0em 0em;
}
.qandaset tr.answer td p {
margin: 0em 0em 1em 0em;
padding: 0em 0em 0em 0em;
}
.answer td {
padding-bottom: 1.5em;
}
.emphasis {
font-weight: bold;
}
/************* /
/ decorations /
/ *************/
.titlepage {
}
.part .title {
}
.subtitle {
border: none;
}
/*
h1 {
border: none;
}
h2 {
border-top: solid 0.2em;
border-bottom: solid 0.06em;
}
h3 {
border-top: 0em;
border-bottom: solid 0.06em;
}
h4 {
border: 0em;
border-bottom: solid 0.06em;
}
h5 {
border: 0em;
}
*/
.programlisting {
border: solid 1px;
}
div.figure,
div.table,
div.informalfigure,
div.informaltable,
div.informalexample,
div.example {
border: 1px solid;
}
.tip,
.warning,
.caution,
.note {
border: 1px solid;
}
.tip table th,
.warning table th,
.caution table th,
.note table th {
border-bottom: 1px solid;
}
.question td {
border-top: 1px solid black;
}
.answer {
}
b.keycap,
.keycap {
border: 1px solid;
}
div.navheader, div.heading{
border-bottom: 1px solid;
}
div.navfooter, div.footing{
border-top: 1px solid;
}
/********* /
/ colors /
/ *********/
body {
color: #333;
background: white;
}
a {
background: transparent;
}
a:hover {
background-color: #dedede;
}
h1,
h2,
h3,
h4,
h5,
h6,
h7,
h8 {
background-color: transparent;
}
hr {
border-color: #aaa;
}
.tip, .warning, .caution, .note {
border-color: #fff;
}
.tip table th,
.warning table th,
.caution table th,
.note table th {
border-bottom-color: #fff;
}
.warning {
background-color: #f0f0f2;
}
.caution {
background-color: #f0f0f2;
}
.tip {
background-color: #f0f0f2;
}
.note {
background-color: #f0f0f2;
}
.glossary dl dt,
.variablelist dl dt,
.variablelist dl dt span.term {
color: #044;
}
div.figure,
div.table,
div.example,
div.informalfigure,
div.informaltable,
div.informalexample {
border-color: #aaa;
}
pre.programlisting {
color: black;
background-color: #fff;
border-color: #aaa;
border-width: 2px;
}
.guimenu,
.guilabel,
.guimenuitem {
background-color: #eee;
}
b.keycap,
.keycap {
background-color: #eee;
border-color: #999;
}
div.navheader {
border-color: black;
}
div.navfooter {
border-color: black;
}
/*********** /
/ graphics /
/ ***********/
/*
body {
background-image: url("images/body_bg.jpg");
background-attachment: fixed;
}
.navheader,
.note,
.tip {
background-image: url("images/note_bg.jpg");
background-attachment: fixed;
}
.warning,
.caution {
background-image: url("images/warning_bg.jpg");
background-attachment: fixed;
}
.figure,
.informalfigure,
.example,
.informalexample,
.table,
.informaltable {
background-image: url("images/figure_bg.jpg");
background-attachment: fixed;
}
*/
h1,
h2,
h3,
h4,
h5,
h6,
h7{
}
/*
Example of how to stick an image as part of the title.
div.article .titlepage .title
{
background-image: url("figures/white-on-black.png");
background-position: center;
background-repeat: repeat-x;
}
*/
div.preface .titlepage .title,
div.colophon .title,
div.chapter .titlepage .title,
div.article .titlepage .title
{
}
div.section div.section .titlepage .title,
div.sect2 .titlepage .title {
background: none;
}
h1.title {
background-color: transparent;
background-image: url("figures/yocto-project-bw.png");
background-repeat: no-repeat;
height: 256px;
text-indent: -9000px;
overflow:hidden;
}
h2.subtitle {
background-color: transparent;
text-indent: -9000px;
overflow:hidden;
width: 0px;
display: none;
}
/*************************************** /
/ pippin.gimp.org specific alterations /
/ ***************************************/
/*
div.heading, div.navheader {
color: #777;
font-size: 80%;
padding: 0;
margin: 0;
text-align: left;
position: absolute;
top: 0px;
left: 0px;
width: 100%;
height: 50px;
background: url('/gfx/heading_bg.png') transparent;
background-repeat: repeat-x;
background-attachment: fixed;
border: none;
}
div.heading a {
color: #444;
}
div.footing, div.navfooter {
border: none;
color: #ddd;
font-size: 80%;
text-align:right;
width: 100%;
padding-top: 10px;
position: absolute;
bottom: 0px;
left: 0px;
background: url('/gfx/footing_bg.png') transparent;
}
*/
/****************** /
/ nasty ie tweaks /
/ ******************/
/*
div.heading, div.navheader {
width:expression(document.body.clientWidth + "px");
}
div.footing, div.navfooter {
width:expression(document.body.clientWidth + "px");
margin-left:expression("-5em");
}
body {
padding:expression("4em 5em 0em 5em");
}
*/
/**************************************** /
/ mozilla vendor specific css extensions /
/ ****************************************/
/*
div.navfooter, div.footing{
-moz-opacity: 0.8em;
}
div.figure,
div.table,
div.informalfigure,
div.informaltable,
div.informalexample,
div.example,
.tip,
.warning,
.caution,
.note {
-moz-border-radius: 0.5em;
}
b.keycap,
.keycap {
-moz-border-radius: 0.3em;
}
*/
table tr td table tr td {
display: none;
}
hr {
display: none;
}
table {
border: 0em;
}
.photo {
float: right;
margin-left: 1.5em;
margin-bottom: 1.5em;
margin-top: 0em;
max-width: 17em;
border: 1px solid gray;
padding: 3px;
background: white;
}
.seperator {
padding-top: 2em;
clear: both;
}
#validators {
margin-top: 5em;
text-align: right;
color: #777;
}
@media print {
body {
font-size: 8pt;
}
.noprint {
display: none;
}
}
.tip,
.note {
background: #f0f0f2;
color: #333;
padding: 20px;
margin: 20px;
}
.tip h3,
.note h3 {
padding: 0em;
margin: 0em;
font-size: 2em;
font-weight: bold;
color: #333;
}
.tip a,
.note a {
color: #333;
text-decoration: underline;
}
.footnote {
font-size: small;
color: #333;
}
/* Changes the announcement text */
.tip h3,
.warning h3,
.caution h3,
.note h3 {
font-size:large;
color: #00557D;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

File diff suppressed because it is too large Load Diff

View File

@@ -78,7 +78,7 @@
<listitem><para>The Yocto Project team runs manual and automated tests
using a small, fixed set of reference hardware as well as emulated
targets.</para></listitem>
<listitem><para>The Yocto Project uses an an autobuilder,
<listitem><para>The Yocto Project uses an autobuilder,
which provides continuous build and integration tests.</para></listitem>
</itemizedlist>
</para>
@@ -134,10 +134,10 @@
</question>
<answer>
<para>
Because you can use the same set of recipes to create output of
various formats, the output of an OpenEmbedded build depends on
Because you can use the same set of recipes to create output of
various formats, the output of an OpenEmbedded build depends on
how you start it.
Usually, the output is a flashable image ready for the target
Usually, the output is a flashable image ready for the target
device.
</para>
</answer>
@@ -168,12 +168,12 @@
</question>
<answer>
<para>
The OpenEmbedded build system can build packages in various
formats such as IPK for OPKG, Debian package
The OpenEmbedded build system can build packages in various
formats such as IPK for OPKG, Debian package
(<filename>.deb</filename>), or RPM.
You can then upgrade the packages using the package tools on
the device, much like on a desktop distribution such as
Ubuntu or Fedora.
You can then upgrade the packages using the package tools on
the device, much like on a desktop distribution such as
Ubuntu or Fedora.
However, package management on the target is entirely optional.
</para>
</answer>
@@ -189,7 +189,7 @@
<para>
GNOME Mobile is a subset of the <ulink url='http://www.gnome.org'>GNOME</ulink>
platform targeted at mobile and embedded devices.
The the main difference between GNOME Mobile and standard GNOME is that
The main difference between GNOME Mobile and standard GNOME is that
desktop-orientated libraries have been removed, along with deprecated libraries,
creating a much smaller footprint.
</para>
@@ -249,7 +249,7 @@
<note>
<para>For information on distributions that the Yocto Project
uses during validation, see the
uses during validation, see the
<ulink url='&YOCTO_WIKI_URL;/wiki/Distribution_Support'>Distribution Support</ulink>
Wiki page.</para>
<para>For notes about using the Yocto Project on a RHEL 4-based
@@ -297,8 +297,8 @@
</filename> = "0" in the <filename>.bb</filename> file but make sure the package is
manually marked as
machine-specific for the case that needs it.
The code that handles
<filename>SRC_URI_OVERRIDES_PACKAGE_ARCH</filename> is in
The code that handles
<filename>SRC_URI_OVERRIDES_PACKAGE_ARCH</filename> is in
the <filename>meta/classes/base.bbclass</filename> file.
</para>
</answer>
@@ -320,8 +320,8 @@
http_proxy = http://proxy.yoyodyne.com:18023/
ftp_proxy = http://proxy.yoyodyne.com:18023/
</literallayout>
The Yocto Project also includes a
<filename>site.conf.sample</filename> file that shows how to
The Yocto Project also includes a
<filename>site.conf.sample</filename> file that shows how to
configure CVS and Git proxy servers if needed.
</para>
</answer>
@@ -352,19 +352,19 @@
</question>
<answer>
<para>
If the same build is failing in totally different and random
If the same build is failing in totally different and random
ways, the most likely explanation is:
<itemizedlist>
<listitem><para>The hardware you are running the build on
<listitem><para>The hardware you are running the build on
has some problem.</para></listitem>
<listitem><para>You are running the build under
virtualization, in which case the virtualization
probably has bugs.</para></listitem>
<listitem><para>You are running the build under
virtualization, in which case the virtualization
probably has bugs.</para></listitem>
</itemizedlist>
The OpenEmbedded build system processes a massive amount of
data that causes lots of network, disk and CPU activity and
The OpenEmbedded build system processes a massive amount of
data that causes lots of network, disk and CPU activity and
is sensitive to even single-bit failures in any of these areas.
True random failures have always been traced back to hardware
True random failures have always been traced back to hardware
or virtualization issues.
</para>
</answer>
@@ -378,18 +378,18 @@
</question>
<answer>
<para>
This is a difficult question and you need to consult your lawyer
This is a difficult question and you need to consult your lawyer
for the answer for your specific case.
It is worth bearing in mind that for GPL compliance, there needs
to be enough information shipped to allow someone else to
It is worth bearing in mind that for GPL compliance, there needs
to be enough information shipped to allow someone else to
rebuild and produce the same end result you are shipping.
This means sharing the source code, any patches applied to it,
and also any configuration information about how that package
This means sharing the source code, any patches applied to it,
and also any configuration information about how that package
was configured and built.
</para>
<para>
You can find more information on licensing in the
You can find more information on licensing in the
"<ulink url='&YOCTO_DOCS_DEV_URL;#licensing'>Licensing</ulink>"
and "<ulink url='&YOCTO_DOCS_DEV_URL;#maintaining-open-source-license-compliance-during-your-products-lifecycle'>Maintaining Open Source License Compliance During Your Product's Lifecycle</ulink>"
sections, both of which are in the Yocto Project Development
@@ -410,7 +410,7 @@
"<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout-misc-recipes'>Miscellaneous BSP-Specific Recipe Files</ulink>"
section in the Yocto Project Board Support Packages (BSP)
Developer's Guide.
Set the <filename>HAVE_TOUCHSCREEN</filename> variable equal to
Set the <filename>HAVE_TOUCHSCREEN</filename> variable equal to
one as follows:
<literallayout class='monospaced'>
HAVE_TOUCHSCREEN=1
@@ -433,7 +433,7 @@
file.
See the "<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout-misc-recipes'>Miscellaneous BSP-Specific Recipe Files</ulink>"
section in the Yocto Project Board Support Packages (BSP)
Developer's Guide for information on creating these types of
Developer's Guide for information on creating these types of
miscellaneous recipe files.
</para>
<para>
@@ -454,32 +454,32 @@
</question>
<answer>
<para>
By default, the OpenEmbedded build system creates images
By default, the OpenEmbedded build system creates images
that are 1.3 times the size of the populated root filesystem.
To affect the image size, you need to set various
To affect the image size, you need to set various
configurations:
<itemizedlist>
<listitem><para><emphasis>Image Size:</emphasis>
The OpenEmbedded build system uses the
The OpenEmbedded build system uses the
<link linkend='var-IMAGE_ROOTFS_SIZE'><filename>IMAGE_ROOTFS_SIZE</filename></link>
variable to define the size of the image in Kbytes.
The build system determines the size by taking into
variable to define the size of the image in Kbytes.
The build system determines the size by taking into
account the initial root filesystem size before any
modifications such as requested size for the image and
any requested additional free disk space to be
modifications such as requested size for the image and
any requested additional free disk space to be
added to the image.</para></listitem>
<listitem><para><emphasis>Overhead:</emphasis>
Use the
Use the
<link linkend='var-IMAGE_OVERHEAD_FACTOR'><filename>IMAGE_OVERHEAD_FACTOR</filename></link>
variable to define the multiplier that the build system
applies to the initial image size, which is 1.3 by
variable to define the multiplier that the build system
applies to the initial image size, which is 1.3 by
default.</para></listitem>
<listitem><para><emphasis>Additional Free Space:</emphasis>
Use the
Use the
<link linkend='var-IMAGE_ROOTFS_EXTRA_SPACE'><filename>IMAGE_ROOTFS_EXTRA_SPACE</filename></link>
variable to add additional free space to the image.
The build system adds this space to the image after
it determines its
it determines its
<filename>IMAGE_ROOTFS_SIZE</filename>.
</para></listitem>
</itemizedlist>
@@ -495,11 +495,11 @@
</question>
<answer>
<para>
The Yocto Project team has tried to do this before but too
many of the tools the OpenEmbedded build system depends on,
such as <filename>autoconf</filename>, break when they find
The Yocto Project team has tried to do this before but too
many of the tools the OpenEmbedded build system depends on,
such as <filename>autoconf</filename>, break when they find
spaces in pathnames.
Until that situation changes, the team will not support spaces
Until that situation changes, the team will not support spaces
in pathnames.
</para>
</answer>
@@ -515,11 +515,11 @@
<para>
The toolchain configuration is very flexible and customizable.
It is primarily controlled with the
<filename><link linkend='var-TCMODE'>TCMODE</link></filename>
<filename><link linkend='var-TCMODE'>TCMODE</link></filename>
variable.
This variable controls which <filename>tcmode-*.inc</filename>
file to include from the
<filename>meta/conf/distro/include</filename> directory within
This variable controls which <filename>tcmode-*.inc</filename>
file to include from the
<filename>meta/conf/distro/include</filename> directory within
the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
</para>
@@ -528,33 +528,37 @@
The default value of <filename>TCMODE</filename> is "default"
(i.e. <filename>tcmode-default.inc</filename>).
However, other patterns are accepted.
In particular, "external-*" refers to external toolchains of
which there are some basic examples included in the
In particular, "external-*" refers to external toolchains of
which there are some basic examples included in the
OpenEmbedded Core (<filename>meta</filename>).
You can use your own custom toolchain definition in your own
layer (or as defined in the <filename>local.conf</filename>
You can use your own custom toolchain definition in your own
layer (or as defined in the <filename>local.conf</filename>
file) at the location
<filename>conf/distro/include/tcmode-*.inc</filename>.
</para>
<para>
In addition to the toolchain configuration, you also need a
In addition to the toolchain configuration, you also need a
corresponding toolchain recipe file.
This recipe file needs to package up any pre-built objects in
the toolchain such as <filename>libgcc</filename>,
<filename>libstdcc++</filename>, any locales, and
This recipe file needs to package up any pre-built objects in
the toolchain such as <filename>libgcc</filename>,
<filename>libstdcc++</filename>, any locales, and
<filename>libc</filename>.
An example is the
<filename>external-sourcery-toolchain.bb</filename>, which is
located in <filename>meta/recipes-core/meta/</filename> within
An example is the
<filename>external-sourcery-toolchain.bb</filename>, which is
located in <filename>meta/recipes-core/meta/</filename> within
the Source Directory.
</para>
<para>
For information on installing and using cross-development
toolchains, see the
For information on installing and using cross-development
toolchains, see the
"<ulink url='&YOCTO_DOCS_ADT_URL;#installing-the-adt'>Installing the ADT and Toolchains</ulink>"
section in the Yocto Project Application Developer's Guide.
For general information on cross-development toolchains, see
the
"<link linkend='cross-development-toolchain-generation'>Cross-Development Toolchain Generation</link>"
section.
</para>
</answer>
</qandaentry>
@@ -625,7 +629,7 @@
<literallayout class='monospaced'>
BB_FETCH_PREMIRRORONLY = "1"
</literallayout>
This statement limits the build system to pulling source
This statement limits the build system to pulling source
from the <filename>PREMIRRORS</filename> only.
Again, this technique is useful for reproducing builds.
</para>
@@ -634,7 +638,7 @@
<literallayout class='monospaced'>
BB_GENERATE_MIRROR_TARBALLS = "1"
</literallayout>
This statement tells the build system to generate mirror
This statement tells the build system to generate mirror
tarballs.
This technique is useful if you want to create a mirror server.
If not, however, the technique can simply waste time during
@@ -677,20 +681,22 @@
<answer>
<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
When you use BitBake to build an image, all the build output
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.
</para>
<para>
Within the Build Directory, is the <filename>tmp</filename>
Within the Build Directory, is the <filename>tmp</filename>
directory.
To remove all the build output yet preserve any source code or
downloaded files from previous builds, simply remove the
To remove all the build output yet preserve any source code or
downloaded files from previous builds, simply remove the
<filename>tmp</filename> directory.
</para>
</answer>

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

View File

@@ -102,10 +102,36 @@
<para>
Currently, the Yocto Project is supported on the following
distributions.
For additional information on distributions that support the
Yocto Project, see the
<ulink url='&YOCTO_WIKI_URL;/wiki/Distribution_Support'>Distribution Support</ulink> wiki page.
distributions:
<note>
<para>
Yocto Project releases are tested against the stable Linux
distributions in the following list.
The Yocto Project should work on other distributions but
validation is not performed against them.
</para>
<para>
In particular, the Yocto Project does not support
and currently has no plans to support
rolling-releases or development distributions due to their
constantly changing nature.
We welcome patches and bug reports, but keep in mind that
our priority is on the supported platforms listed below.
</para>
<para>
Refer to
<ulink url='&OE_HOME_URL;/index.php?title=OEandYourDistro'>OE and Your Distro</ulink> and
<ulink url='&OE_HOME_URL;/index.php?title=Required_software'>Required Software</ulink>
for information for information about dependencies and
requirements.
If you encounter problems, please go to
<ulink url='&YOCTO_BUGZILLA_URL;'>Yocto Project Bugzilla</ulink>
and submit a bug.
We are interested in hearing about your experience.
</para>
</note>
<itemizedlist>
<listitem><para>Ubuntu 10.04</para></listitem>
<listitem><para>Ubuntu 11.10</para></listitem>
@@ -116,8 +142,8 @@
<listitem><para>Fedora release 18 (Spherical Cow)</para></listitem>
<listitem><para>CentOS release 6.3 (Final)</para></listitem>
<listitem><para>CentOS release 6.4 (Final)</para></listitem>
<listitem><para>Debian GNU/Linux 6.0 (squeeze)</para></listitem>
<listitem><para>Debian GNU/Linux 7.0</para></listitem>
<listitem><para>Debian GNU/Linux 6.0 (Squeeze)</para></listitem>
<listitem><para>Debian GNU/Linux 7.0 (Wheezy)</para></listitem>
<listitem><para>openSUSE 12.2</para></listitem>
<listitem><para>openSUSE 12.3</para></listitem>
</itemizedlist>
@@ -147,11 +173,11 @@
</para>
<section id='ubuntu-packages'>
<title>Ubuntu</title>
<title>Ubuntu and Debian</title>
<para>
The following list shows the required packages by function
given a supported Ubuntu Linux distribution:
given a supported Ubuntu or Debian Linux distribution:
<itemizedlist>
<listitem><para><emphasis>Essentials:</emphasis>
Packages needed to build an image on a headless
@@ -266,30 +292,106 @@
Packages needed to build an image for a headless
system:
<literallayout class='monospaced'>
$ sudo yum -y install &CENTOS_HOST_PACKAGES_ESSENTIAL;
$ sudo yum install &CENTOS_HOST_PACKAGES_ESSENTIAL;
</literallayout></para></listitem>
<listitem><para><emphasis>Graphical Extras:</emphasis>
Packages recommended if the host system has graphics support:
<literallayout class='monospaced'>
$ sudo yum -y install SDL-devel xterm
$ sudo yum install SDL-devel xterm
</literallayout></para></listitem>
<listitem><para><emphasis>Documentation:</emphasis>
Packages needed if you are going to build out the
Yocto Project documentation manuals:
<literallayout class='monospaced'>
$ sudo yum -y install make docbook-style-dsssl docbook-style-xsl \
$ sudo yum install make docbook-style-dsssl docbook-style-xsl \
docbook-dtds docbook-utils fop libxslt dblatex xmlto
</literallayout></para></listitem>
<listitem><para><emphasis>ADT Installer Extras:</emphasis>
Packages needed if you are going to be using the
<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>:
<literallayout class='monospaced'>
$ sudo yum -y install autoconf automake libtool glib2-devel
$ sudo yum install autoconf automake libtool glib2-devel
</literallayout></para></listitem>
</itemizedlist>
</para>
</section>
</section>
<section id='required-git-tar-and-python-versions'>
<title>Required Git, tar, and Python Versions</title>
<para>
In order to use the build system, your host development system
must meet the following version requirements for Git, tar, and
Python:
<itemizedlist>
<listitem><para>Git 1.7.5 or greater</para></listitem>
<listitem><para>tar 1.24 or greater</para></listitem>
<listitem><para>Python 2.7.3 or greater not including
Python 3.x, which is not supported.</para></listitem>
</itemizedlist>
</para>
<para>
If your host development system does not meet all these requirements,
you can resolve this by either downloading a pre-built tarball
containing these tools, or building such a tarball on another
system.
Regardless of the method, once you have the tarball you simply
install it somewhere on you system, such as a directory in your
home directory, and then source the environment script provided,
which adds the tools into <filename>PATH</filename> and sets
any other environment variables required to run the tools.
Doing so gives you working versions of Git, tar, Python and
<filename>chrpath</filename>.
</para>
<para>
If downloading a pre-built tarball, locate the
<filename>*.sh</filename> at
<ulink url='&YOCTO_DL_URL;/releases/yocto/yocto-1.5/buildtools/'></ulink>.
</para>
<para>
If building your own tarball, do so using this command:
<literallayout class='monospaced'>
$ bitbake buildtools-tarball
</literallayout>
<note>
The <link linkend='var-SDKMACHINE'><filename>SDKMACHINE</filename></link>
variable determines whether you build tools for a 32-bit
or 64-bit system.
</note>
Once the build completes, you can find the file that installs the
the tools in the <filename>tmp/deploy/sdk</filename> subdirectory
of the
<ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>.
The file used to install the tarball has the string "buildtools"
in the name.
</para>
<para>
After you have either built the tarball or downloaded it, you need
to install it.
Install the tools by executing the <filename>*.sh</filename> file.
During execution, a prompt appears that allows you to choose the
installation directory.
For example, you could choose the following:
<literallayout class='monospaced'>
/home/your-username/sdk
</literallayout>
</para>
<para>
The final step before you can actually use the tools is to source
the tools environment with a command like the following:
<literallayout class='monospaced'>
$ source /home/your-username/sdk/environment-setup-i586-poky-linux
</literallayout>
Of course, you need to supply your installation directory and be
sure to use the right file (i.e. i585 or x86-64).
</para>
</section>
</section>
<section id='intro-getit'>

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'>
@@ -247,30 +271,30 @@
Differences include the following:
<itemizedlist>
<listitem><para><emphasis>Comment Continuation:</emphasis>
If a comment ends with a line continuation (\) character,
If a comment ends with a line continuation (\) character,
then the next line must also be a comment.
Any instance where this is not the case, now triggers
a warning.
You must either remove the continuation character, or be
Any instance where this is not the case, now triggers
a warning.
You must either remove the continuation character, or be
sure the next line is a comment.
</para></listitem>
<listitem><para><emphasis>Package Name Overrides:</emphasis>
The runtime package specific variables
The runtime package specific variables
<link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>,
<link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>,
<link linkend='var-RSUGGESTS'><filename>RSUGGESTS</filename></link>,
<link linkend='var-RSUGGESTS'><filename>RSUGGESTS</filename></link>,
<link linkend='var-RPROVIDES'><filename>RPROVIDES</filename></link>,
<link linkend='var-RCONFLICTS'><filename>RCONFLICTS</filename></link>,
<link linkend='var-RREPLACES'><filename>RREPLACES</filename></link>,
<link linkend='var-FILES'><filename>FILES</filename></link>,
<link linkend='var-ALLOW_EMPTY'><filename>ALLOW_EMPTY</filename></link>,
and the pre, post, install, and uninstall script functions
<filename>pkg_preinst</filename>,
<filename>pkg_postinst</filename>,
<filename>pkg_prerm</filename>, and
and the pre, post, install, and uninstall script functions
<filename>pkg_preinst</filename>,
<filename>pkg_postinst</filename>,
<filename>pkg_prerm</filename>, and
<filename>pkg_postrm</filename> should always have a
package name override.
For example, use <filename>RDEPENDS_${PN}</filename> for
For example, use <filename>RDEPENDS_${PN}</filename> for
the main package instead of <filename>RDEPENDS</filename>.
BitBake uses more strict checks when it parses recipes.
</para></listitem>
@@ -285,33 +309,34 @@
Differences include the following:
<itemizedlist>
<listitem><para><emphasis>Shared State Code:</emphasis>
The shared state code has been optimized to avoid running
The shared state code has been optimized to avoid running
unnecessary tasks.
For example,
<filename>bitbake -c rootfs some-image</filename> from
shared state no longer populates the target sysroot
For example,
<filename>bitbake -c rootfs some-image</filename> from
shared state no longer populates the target sysroot
since that is not necessary.
Instead, the system just needs to extract the output
package contents, re-create the packages, and construct
the root filesystem.
This change is unlikely to cause any problems unless
Instead, the system just needs to extract the output
package contents, re-create the packages, and construct
the root filesystem.
This change is unlikely to cause any problems unless
you have missing declared dependencies.
</para></listitem>
<listitem><para><emphasis>Scanning Directory Names:</emphasis>
When scanning for files in
<link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>,
the build system now uses <filename>FILESOVERRIDES</filename>
instead of <filename>OVERRIDES</filename> for the directory
names.
When scanning for files in
<link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>,
the build system now uses
<link linkend='var-FILESOVERRIDES'><filename>FILESOVERRIDES</filename></link>
instead of <link linkend='var-OVERRIDES'><filename>OVERRIDES</filename></link>
for the directory names.
In general, the values previously in
<filename>OVERRIDES</filename> are now in
<filename>OVERRIDES</filename> are now in
<filename>FILESOVERRIDES</filename> as well.
However, if you relied upon an additional value
However, if you relied upon an additional value
you previously added to <filename>OVERRIDES</filename>,
you might now need to add it to
<filename>FILESOVERRIDES</filename> unless you are already
adding it through the
<link linkend='var-MACHINEOVERRIDES'><filename>MACHINEOVERRIDES</filename></link>
you might now need to add it to
<filename>FILESOVERRIDES</filename> unless you are already
adding it through the
<link linkend='var-MACHINEOVERRIDES'><filename>MACHINEOVERRIDES</filename></link>
or <link linkend='var-DISTROOVERRIDES'><filename>DISTROOVERRIDES</filename></link>
variables, as appropriate.
For more related changes, see the
@@ -327,9 +352,9 @@
<title>Proxies and Fetching Source</title>
<para>
A new <filename>oe-git-proxy</filename> script has been added to
replace previous methods of handling proxies and fetching source
from Git.
A new <filename>oe-git-proxy</filename> script has been added to
replace previous methods of handling proxies and fetching source
from Git.
See the <filename>meta-yocto/conf/site.conf.sample</filename> file
for information on how to use this script.
</para>
@@ -339,15 +364,15 @@
<title>Custom Interfaces File (netbase change)</title>
<para>
If you have created your own custom
<filename>etc/network/interfaces</filename> file by creating
an append file for the <filename>netbase</filename> recipe,
you now need to create an append file for the
<filename>init-ifupdown</filename> recipe instead, which you can
find in the
If you have created your own custom
<filename>etc/network/interfaces</filename> file by creating
an append file for the <filename>netbase</filename> recipe,
you now need to create an append file for the
<filename>init-ifupdown</filename> recipe instead, which you can
find in the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>
at <filename>meta/recipes-core/init-ifupdown</filename>.
For information on how to use append files, see the
For information on how to use append files, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#using-bbappend-files'>Using .bbappend Files</ulink>"
in the Yocto Project Development Manual.
</para>
@@ -357,12 +382,12 @@
<title>Remote Debugging</title>
<para>
Support for remote debugging with the Eclipse IDE is now
separated into an image feature
(<filename>eclipse-debug</filename>) that corresponds to the
<filename>packagegroup-core-eclipse-debug</filename> package group.
Previously, the debugging feature was included through the
<filename>tools-debug</filename> image feature, which corresponds
Support for remote debugging with the Eclipse IDE is now
separated into an image feature
(<filename>eclipse-debug</filename>) that corresponds to the
<filename>packagegroup-core-eclipse-debug</filename> package group.
Previously, the debugging feature was included through the
<filename>tools-debug</filename> image feature, which corresponds
to the <filename>packagegroup-core-tools-debug</filename>
package group.
</para>
@@ -375,36 +400,36 @@
The following variables have changed:
<itemizedlist>
<listitem><para><emphasis><filename>SANITY_TESTED_DISTROS</filename>:</emphasis>
This variable now uses a distribution ID, which is composed
This variable now uses a distribution ID, which is composed
of the host distributor ID followed by the release.
Previously,
Previously,
<link linkend='var-SANITY_TESTED_DISTROS'><filename>SANITY_TESTED_DISTROS</filename></link>
was composed of the description field.
For example, "Ubuntu 12.10" becomes "Ubuntu-12.10".
You do not need to worry about this change if you are not
For example, "Ubuntu 12.10" becomes "Ubuntu-12.10".
You do not need to worry about this change if you are not
specifically setting this variable, or if you are
specifically setting it to "".
</para></listitem>
<listitem><para><emphasis><filename>SRC_URI</filename>:</emphasis>
The <filename>${</filename><link linkend='var-PN'><filename>PN</filename></link><filename>}</filename>,
<filename>${</filename><link linkend='var-PF'><filename>PF</filename></link><filename>}</filename>,
<filename>${</filename><link linkend='var-P'><filename>P</filename></link><filename>}</filename>,
and <filename>FILE_DIRNAME</filename> directories have been
dropped from the default value of the
The <filename>${</filename><link linkend='var-PN'><filename>PN</filename></link><filename>}</filename>,
<filename>${</filename><link linkend='var-PF'><filename>PF</filename></link><filename>}</filename>,
<filename>${</filename><link linkend='var-P'><filename>P</filename></link><filename>}</filename>,
and <filename>FILE_DIRNAME</filename> directories have been
dropped from the default value of the
<link linkend='var-FILESPATH'><filename>FILESPATH</filename></link>
variable, which is used as the search path for finding files
referred to in
<link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>.
If you have a recipe that relied upon these directories,
which would be unusual, then you will need to add the
variable, which is used as the search path for finding files
referred to in
<link linkend='var-SRC_URI'><filename>SRC_URI</filename></link>.
If you have a recipe that relied upon these directories,
which would be unusual, then you will need to add the
appropriate paths within the recipe or, alternatively,
rearrange the files.
The most common locations are still covered by
rearrange the files.
The most common locations are still covered by
<filename>${BP}</filename>, <filename>${BPN}</filename>,
and "files", which all remain in the default value of
<link linkend='var-FILESPATH'><filename>FILESPATH</filename></link>.
<link linkend='var-FILESPATH'><filename>FILESPATH</filename></link>.
</para></listitem>
</itemizedlist>
</itemizedlist>
</para>
</section>
@@ -412,10 +437,10 @@
<title>Target Package Management with RPM</title>
<para>
If runtime package management is enabled and the RPM backend
is selected, Smart is now installed for package download, dependency
If runtime package management is enabled and the RPM backend
is selected, Smart is now installed for package download, dependency
resolution, and upgrades instead of Zypper.
For more information on how to use Smart, run the following command
For more information on how to use Smart, run the following command
on the target:
<literallayout class='monospaced'>
smart --help
@@ -427,8 +452,8 @@
<title>Recipes Moved</title>
<para>
The following recipes were moved from their previous locations
because they are no longer used by anything in
The following recipes were moved from their previous locations
because they are no longer used by anything in
the OpenEmbedded-Core:
<itemizedlist>
<listitem><para><emphasis><filename>clutter-box2d</filename>:</emphasis>
@@ -478,7 +503,7 @@
The following list shows what has been removed or renamed:
<itemizedlist>
<listitem><para><emphasis><filename>evieext</filename>:</emphasis>
Removed because it has been removed from
Removed because it has been removed from
<filename>xserver</filename> since 2008.
</para></listitem>
<listitem><para><emphasis>Gtk+ DirectFB:</emphasis>
@@ -489,7 +514,7 @@
Removed because they were removed from the Xorg server in 2008.
</para></listitem>
<listitem><para><emphasis><filename>libxp / libxprintapputil / libxprintutil / printproto</filename>:</emphasis>
Removed because the XPrint server was removed from
Removed because the XPrint server was removed from
Xorg in 2008.
</para></listitem>
<listitem><para><emphasis><filename>libxtrap / xtrapproto</filename>:</emphasis>
@@ -501,7 +526,7 @@
as part of the release.
</para></listitem>
<listitem><para><emphasis><filename>lsbsetup</filename>:</emphasis>
Removed with functionality now provided by
Removed with functionality now provided by
<filename>lsbtest</filename>.
</para></listitem>
<listitem><para><emphasis><filename>matchbox-stroke</filename>:</emphasis>
@@ -509,8 +534,8 @@
</para></listitem>
<listitem><para><emphasis><filename>matchbox-wm-2 / matchbox-theme-sato-2</filename>:</emphasis>
Removed because they are not maintained.
However, <filename>matchbox-wm</filename> and
<filename>matchbox-theme-sato</filename> are still
However, <filename>matchbox-wm</filename> and
<filename>matchbox-theme-sato</filename> are still
provided.
</para></listitem>
<listitem><para><emphasis><filename>mesa-dri</filename>:</emphasis>
@@ -520,7 +545,7 @@
Removed because it was no longer useful.
</para></listitem>
<listitem><para><emphasis><filename>mutter</filename>:</emphasis>
Removed because nothing ever uses it and the recipe is
Removed because nothing ever uses it and the recipe is
very old.
</para></listitem>
<listitem><para><emphasis><filename>orinoco-conf</filename>:</emphasis>
@@ -528,27 +553,27 @@
</para></listitem>
<listitem><para><emphasis><filename>update-modules</filename>:</emphasis>
Removed because it is no longer used.
The kernel module <filename>postinstall</filename> and
<filename>postrm</filename> scripts can now do the same
The kernel module <filename>postinstall</filename> and
<filename>postrm</filename> scripts can now do the same
task without the use of this script.
</para></listitem>
<listitem><para><emphasis><filename>web</filename>:</emphasis>
Removed because it is not maintained. Superseded by
Removed because it is not maintained. Superseded by
<filename>web-webkit</filename>.
</para></listitem>
<listitem><para><emphasis><filename>xf86bigfontproto</filename>:</emphasis>
Removed because upstream it has been disabled by default
Removed because upstream it has been disabled by default
since 2007.
Nothing uses <filename>xf86bigfontproto</filename>.
</para></listitem>
<listitem><para><emphasis><filename>xf86rushproto</filename>:</emphasis>
Removed because its dependency in
Removed because its dependency in
<filename>xserver</filename> was spurious and it was
removed in 2005.
</para></listitem>
<listitem><para><emphasis><filename>zypper / libzypp / sat-solver</filename>:</emphasis>
Removed and been functionally replaced with Smart
(<filename>python-smartpm</filename>) when RPM packaging
Removed and been functionally replaced with Smart
(<filename>python-smartpm</filename>) when RPM packaging
is used and package management is enabled on the target.
</para></listitem>
</itemizedlist>

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

@@ -115,7 +115,17 @@
</para>
<para>
To use this class, you need to define a number of variables.
To use this class, you need to define a number of variables:
<itemizedlist>
<listitem><para><link linkend='var-ALTERNATIVE'><filename>ALTERNATIVE</filename></link>
</para></listitem>
<listitem><para><link linkend='var-ALTERNATIVE_LINK_NAME'><filename>ALTERNATIVE_LINK_NAME</filename></link>
</para></listitem>
<listitem><para><link linkend='var-ALTERNATIVE_TARGET'><filename>ALTERNATIVE_TARGET</filename></link>
</para></listitem>
<listitem><para><link linkend='var-ALTERNATIVE_PRIORITY'><filename>ALTERNATIVE_PRIORITY</filename></link>
</para></listitem>
</itemizedlist>
These variables list alternative commands needed by a package,
provide pathnames for links, default links for targets, and
so forth.
@@ -147,21 +157,30 @@
</section>
<section id='ref-classes-binconfig'>
<title>Binary Configuration Scripts - <filename>binconfig.bbclass</filename></title>
<title><filename>binconfig.bbclass</filename></title>
<para>
Before <filename>pkg-config</filename> had become widespread, libraries shipped shell
scripts to give information about the libraries and include paths needed
to build software (usually named <filename>LIBNAME-config</filename>).
This class helps to correct paths in shell scripts.
</para>
<para>
Before <filename>pkg-config</filename> had become widespread, libraries
shipped shell scripts to give information about the libraries and
include paths needed to build software (usually named
<filename>LIBNAME-config</filename>).
This class assists any recipe using such scripts.
</para>
<para>
During staging, BitBake installs such scripts into the
<filename>sysroots/</filename> directory.
BitBake also changes all paths to point into the <filename>sysroots/</filename>
directory so all builds that use the script will use the correct
directories for the cross compiling layout.
During staging, the OpenEmbedded build system installs such scripts
into the <filename>sysroots/</filename> directory.
Inheriting this class results in all paths in these scripts being
changed to point into the <filename>sysroots/</filename> directory so
that all builds that use the script use the correct directories
for the cross compiling layout.
See the
<link linkend='var-BINCONFIG_GLOB'><filename>BINCONFIG_GLOB</filename></link>
variable for more information.
</para>
</section>
@@ -179,7 +198,7 @@
<title>Pkg-config - <filename>pkgconfig.bbclass</filename></title>
<para>
<filename>pkg-config</filename> provides a standard way to get
<filename>pkg-config</filename> provides a standard way to get
header and library information.
This class aims to smooth integration of
<filename>pkg-config</filename> into libraries that use it.
@@ -198,7 +217,7 @@
<para>
Many software licenses require that source code and other materials be
released with the binaries.
released with the binaries.
To help with that task, the following classes are provided:
<itemizedlist>
<listitem><filename>archive-original-sources.bbclass</filename></listitem>
@@ -435,31 +454,51 @@
</section>
<section id='ref-classes-insane'>
<title>Generated Output Quality Assurance Checks - <filename>insane.bbclass</filename></title>
<title><filename>insane.bbclass</filename></title>
<para>
This class adds a step to the package generation process that sanity checks the
packages generated by the OpenEmbedded build system.
This class adds a step to the package generation process so that
output quality assurance checks are generated by the OpenEmbedded
build system.
A range of checks are performed that check the build's output
for common problems that show up during runtime.
Distribution policy usually dictates whether to include this class.
</para>
<para>
You can configure the sanity checks so that specific test failures either raise a warning or
an error message.
You can configure the sanity checks so that specific test failures
either raise a warning or an error message.
Typically, failures for new tests generate a warning.
Subsequent failures for the same test would then generate an error message
once the metadata is in a known and good condition.
You use the <filename>WARN_QA</filename> variable to specify tests for which you
want to generate a warning message on failure.
You use the <filename>ERROR_QA</filename> variable to specify tests for which you
want to generate an error message on failure.
Subsequent failures for the same test would then generate an error
message once the metadata is in a known and good condition.
</para>
<para>
The following list shows the tests you can list with the <filename>WARN_QA</filename>
and <filename>ERROR_QA</filename> variables:
Use the
<link linkend='var-WARN_QA'><filename>WARN_QA</filename></link> and
<link linkend='var-ERROR_QA'><filename>ERROR_QA</filename></link>
variables to control the behavior of
these checks at the global level (i.e. in your custom distro
configuration).
However, to skip one or more checks in recipes, you should use
<link linkend='var-INSANE_SKIP'><filename>INSANE_SKIP</filename></link>.
For example, to skip the check for symbolic link
<filename>.so</filename> files in the main package of a recipe,
add the following to the recipe.
You need to realize that the package name override, in this example
<filename>${PN}</filename>, must be used:
<literallayout class='monospaced'>
INSANE_SKIP_${PN} += "dev-so"
</literallayout>
Please keep in mind that the QA checks exist in order to detect real
or potential problems in the packaged output.
So exercise caution when disabling these checks.
</para>
<para>
The following list shows the tests you can list with the
<filename>WARN_QA</filename> and <filename>ERROR_QA</filename>
variables:
<itemizedlist>
<listitem><para><emphasis><filename>ldflags:</filename></emphasis>
Ensures that the binaries were linked with the
@@ -515,47 +554,47 @@
since <filename>pkg-config</filename> itself adds the correct sysroot prefix
when the files are accessed.</para></listitem>
<listitem><para><emphasis><filename>textrel:</filename></emphasis>
Checks for ELF binaries that contain relocations in their
<filename>.text</filename> sections, which can result in a
Checks for ELF binaries that contain relocations in their
<filename>.text</filename> sections, which can result in a
performance impact at runtime.</para></listitem>
<listitem><para><emphasis><filename>pkgvarcheck:</filename></emphasis>
Checks through the variables
<link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>,
<link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>,
Checks through the variables
<link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>,
<link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>,
<link linkend='var-RSUGGESTS'><filename>RSUGGESTS</filename></link>,
<link linkend='var-RCONFLICTS'><filename>RCONFLICTS</filename></link>,
<link linkend='var-RPROVIDES'><filename>RPROVIDES</filename></link>,
<link linkend='var-RREPLACES'><filename>RREPLACES</filename></link>,
<link linkend='var-RREPLACES'><filename>RREPLACES</filename></link>,
<link linkend='var-FILES'><filename>FILES</filename></link>,
<link linkend='var-ALLOW_EMPTY'><filename>ALLOW_EMPTY</filename></link>,
<filename>pkg_preinst</filename>,
<filename>pkg_postinst</filename>,
<filename>pkg_preinst</filename>,
<filename>pkg_postinst</filename>,
<filename>pkg_prerm</filename>
and <filename>pkg_postrm</filename>, and reports if there are
and <filename>pkg_postrm</filename>, and reports if there are
variable sets that are not package-specific.
Using these variables without a package suffix is bad practice,
and might unnecessarily complicate dependencies of other packages
within the same recipe or have other unintended consequences.
</para></listitem>
<listitem><para><emphasis><filename>xorg-driver-abi:</filename></emphasis>
Checks that all packages containing Xorg drivers have ABI
Checks that all packages containing Xorg drivers have ABI
dependencies.
The <filename>xserver-xorg</filename> recipe provides driver
The <filename>xserver-xorg</filename> recipe provides driver
ABI names.
All drivers should depend on the ABI versions that they have
been built against.
Driver recipes that include
All drivers should depend on the ABI versions that they have
been built against.
Driver recipes that include
<filename>xorg-driver-input.inc</filename>
or <filename>xorg-driver-video.inc</filename> will
or <filename>xorg-driver-video.inc</filename> will
automatically get these versions.
Consequently, you should only need to explicitly add
Consequently, you should only need to explicitly add
dependencies to binary driver recipes.
</para></listitem>
<listitem><para><emphasis><filename>libexec:</filename></emphasis>
Checks if a package contains files in
Checks if a package contains files in
<filename>/usr/libexec</filename>.
This check is not performed if the
<filename>libexecdir</filename> variable has been set
This check is not performed if the
<filename>libexecdir</filename> variable has been set
explicitly to <filename>/usr/libexec</filename>.
</para></listitem>
<listitem><para><emphasis><filename>staticdev:</filename></emphasis>
@@ -569,58 +608,225 @@
<filename>libtool</filename> adds the correct sysroot prefix when using the
files automatically itself.</para></listitem>
<listitem><para><emphasis><filename>desktop:</filename></emphasis>
Runs the <filename>desktop-file-validate</filename> program against any
<filename>.desktop</filename> files to validate their contents against
the specification for <filename>.desktop</filename> files.</para></listitem>
Runs the <filename>desktop-file-validate</filename> program
against any <filename>.desktop</filename> files to validate
their contents against the specification for
<filename>.desktop</filename> files.</para></listitem>
<listitem><para><emphasis><filename>already-stripped:</filename></emphasis>
Checks that produced binaries have not already been
stripped prior to the build system extracting debug symbols.
It is common for upstream software projects to default to
stripping debug symbols for output binaries.
In order for debugging to work on the target using
<filename>-dbg</filename> packages, this stripping must be
disabled.
</para></listitem>
<listitem><para><emphasis><filename>split-strip:</filename></emphasis>
Reports that splitting or stripping debug symbols from binaries
has failed.
</para></listitem>
<listitem><para><emphasis><filename>arch:</filename></emphasis>
Checks to ensure the architecture, bit size, and endianness
of all output binaries matches that of the target.
This test can detect when the wrong compiler or compiler options
have been used.
</para></listitem>
<listitem><para><emphasis><filename>installed-vs-shipped:</filename></emphasis>
Reports when files have been installed within
<filename>do_install</filename> but have not been included in
any package by way of the
<link linkend='var-FILES'><filename>FILES</filename></link>
variable.
Files that do not appear in any package cannot be present in
an image later on in the build process.
Ideally, all installed files should be packaged or not
installed at all.
These files can be deleted at the end of
<filename>do_install</filename> if the files are not
needed in any package.
</para></listitem>
<listitem><para><emphasis><filename>dep-cmp:</filename></emphasis>
Checks for invalid version comparison statements in runtime
dependency relationships between packages (i.e. in
<link linkend='var-RDEPENDS'><filename>RDEPENDS</filename></link>,
<link linkend='var-RRECOMMENDS'><filename>RRECOMMENDS</filename></link>,
<link linkend='var-RSUGGESTS'><filename>RSUGGESTS</filename></link>,
<link linkend='var-RPROVIDES'><filename>RPROVIDES</filename></link>,
<link linkend='var-RREPLACES'><filename>RREPLACES</filename></link>,
and
<link linkend='var-RCONFLICTS'><filename>RCONFLICTS</filename></link>
variable values).
Any invalid comparisons might trigger failures or undesirable
behavior when passed to the package manager.
</para></listitem>
<listitem><para><emphasis><filename>files-invalid:</filename></emphasis>
Checks for
<link linkend='var-FILES'><filename>FILES</filename></link>
variable values that contain "//", which is invalid.
</para></listitem>
<listitem><para><emphasis><filename>incompatible-license:</filename></emphasis>
Report when packages are excluded from being created due to
being marked with a license that is in
<link linkend='var-INCOMPATIBLE_LICENSE'><filename>INCOMPATIBLE_LICENSE</filename></link>.
</para></listitem>
<listitem><para><emphasis><filename>compile-host-path:</filename></emphasis>
Checks the <filename>do_compile</filename> log for indications
that paths to locations on the build host were used.
Using such paths might result in host contamination of the
build output.
</para></listitem>
<listitem><para><emphasis><filename>install-host-path:</filename></emphasis>
Checks the <filename>do_install</filename> log for indications
that paths to locations on the build host were used.
Using such paths might result in host contamination of the
build output.
</para></listitem>
<listitem><para><emphasis><filename>libdir:</filename></emphasis>
Checks for libraries being installed into incorrect
(possibly hardcoded) installation paths.
For example, this test will catch recipes that install
<filename>/lib/bar.so</filename> when
<filename>${base_libdir}</filename> is "lib32".
Another example is when recipes install
<filename>/usr/lib64/foo.so</filename> when
<filename>${libdir}</filename> is "/usr/lib".
</para></listitem>
<listitem><para><emphasis><filename>packages-list:</filename></emphasis>
Checks for the same package being listed multiple times through
the <link linkend='var-PACKAGES'><filename>PACKAGES</filename></link>
variable value.
Installing the package in this manner can cause errors during
packaging.
</para></listitem>
<listitem><para><emphasis><filename>perm-config:</filename></emphasis>
Reports lines in <filename>fs-perms.txt</filename> that have
an invalid format.
</para></listitem>
<listitem><para><emphasis><filename>perm-line:</filename></emphasis>
Reports lines in <filename>fs-perms.txt</filename> that have
an invalid format.
</para></listitem>
<listitem><para><emphasis><filename>perm-link:</filename></emphasis>
Reports lines in <filename>fs-perms.txt</filename> that
specify 'link' where the specified target already exists.
</para></listitem>
<listitem><para><emphasis><filename>pkgname:</filename></emphasis>
Checks that all packages in
<link linkend='var-PACKAGES'><filename>PACKAGES</filename></link>
have names that do not contain invalid characters (i.e.
characters other than 0-9, a-z, ., +, and -).
</para></listitem>
<listitem><para><emphasis><filename>pn-overrides:</filename></emphasis>
Checks that a recipe does not have a name
(<link linkend='var-PN'><filename>PN</filename></link>) value
that appears in
<link linkend='var-OVERRIDES'><filename>OVERRIDES</filename></link>.
If a recipe is named such that its <filename>PN</filename>
value matches something already in
<filename>OVERRIDES</filename> (e.g. <filename>PN</filename>
happens to be the same as
<link linkend='var-MACHINE'><filename>MACHINE</filename></link>
or
<link linkend='var-DISTRO'><filename>DISTRO</filename></link>),
it can have unexpected consequences.
For example, assignments such as
<filename>FILES_${PN} = "xyz"</filename> effectively turn into
<filename>FILES = "xyz"</filename>.
</para></listitem>
<listitem><para><emphasis><filename>unsafe-references-in-binaries:</filename></emphasis>
Reports when a binary installed in
<filename>${base_libdir}</filename>,
<filename>${base_bindir}</filename>, or
<filename>${base_sbindir}</filename>, depends on another
binary installed under <filename>${exec_prefix}</filename>.
This dependency is a concern if you want the system to remain
basically operable if <filename>/usr</filename> is mounted
separately and is not mounted.
<note>
Defaults for binaries installed in
<filename>${base_libdir}</filename>,
<filename>${base_bindir}</filename>, and
<filename>${base_sbindir}</filename> are
<filename>/lib</filename>, <filename>/bin</filename>, and
<filename>/sbin</filename>, respectively.
The default for a binary installed
under <filename>${exec_prefix}</filename> is
<filename>/usr</filename>.
</note>
</para></listitem>
<listitem><para><emphasis><filename>unsafe-references-in-scripts:</filename></emphasis>
Reports when a script file installed in
<filename>${base_libdir}</filename>,
<filename>${base_bindir}</filename>, or
<filename>${base_sbindir}</filename>, depends on files
installed under <filename>${exec_prefix}</filename>.
This dependency is a concern if you want the system to remain
basically operable if <filename>/usr</filename> is mounted
separately and is not mounted.
<note>
Defaults for binaries installed in
<filename>${base_libdir}</filename>,
<filename>${base_bindir}</filename>, and
<filename>${base_sbindir}</filename> are
<filename>/lib</filename>, <filename>/bin</filename>, and
<filename>/sbin</filename>, respectively.
The default for a binary installed
under <filename>${exec_prefix}</filename> is
<filename>/usr</filename>.
</note>
</para></listitem>
<listitem><para><emphasis><filename>var-undefined:</filename></emphasis>
Reports when variables fundamental to packaging (i.e.
<link linkend='var-WORKDIR'><filename>WORKDIR</filename></link>,
<link linkend='var-DEPLOY_DIR'><filename>DEPLOY_DIR</filename></link>,
<link linkend='var-D'><filename>D</filename></link>,
<link linkend='var-PN'><filename>PN</filename></link>, and
<link linkend='var-PKGD'><filename>PKGD</filename></link>) are
undefined during <filename>do_package</filename>.
</para></listitem>
<listitem><para><emphasis><filename>pkgv-undefined:</filename></emphasis>
Checks to see if the <filename>PKGV</filename> variable
is undefined during <filename>do_package</filename>.
</para></listitem>
<listitem><para><emphasis><filename>buildpaths:</filename></emphasis>
Checks for paths to locations on the build host inside the
output files.
Currently, this test triggers too many false positives and
thus is not normally enabled.
</para></listitem>
<listitem><para><emphasis><filename>perms:</filename></emphasis>
Currently, this check is unused but reserved.
</para></listitem>
</itemizedlist>
</para>
<note>
You can use the <filename>WARN_QA</filename> and
<filename>ERROR_QA</filename> variables to control the behavior of
these checks at the global level (i.e. in your custom distro
configuration).
However, to skip one or more checks in recipes, you should use
<link linkend='var-INSANE_SKIP'><filename>INSANE_SKIP</filename></link>.
For example, to skip the check for symbolic link
<filename>.so</filename> files in the main package of a recipe,
add the following to the recipe.
You need to realize that the package name override, in this example
<filename>${PN}</filename>, must be used:
<literallayout class='monospaced'>
INSANE_SKIP_${PN} += "dev-so"
</literallayout>
Please keep in mind that the QA checks exist in order to detect real
or potential problems in the packaged output.
So exercise caution when disabling these checks.
</note>
</section>
<section id='ref-classes-rm-work'>
<title>Removing Work Files During the Build - <filename>rm_work.bbclass</filename></title>
<para>
The OpenEmbedded build system can use a substantial amount of disk
The OpenEmbedded build system can use a substantial amount of disk
space during the build process.
A portion of this space is the work files under the
<filename>${TMPDIR}/work</filename> directory for each recipe.
Once the build system generates the packages for a recipe, the work
A portion of this space is the work files under the
<filename>${TMPDIR}/work</filename> directory for each recipe.
Once the build system generates the packages for a recipe, the work
files for that recipe are no longer needed.
However, by default, the build system preserves these files
for inspection and possible debugging purposes.
If you would rather have these files deleted to save disk space
If you would rather have these files deleted to save disk space
as the build progresses, you can enable <filename>rm_work</filename>
by adding the following to your <filename>local.conf</filename> file,
which is found in the
which is found in the
<ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>.
<literallayout class='monospaced'>
INHERIT += "rm_work"
</literallayout>
If you are modifying and building source code out of the work directory
for a recipe, enabling <filename>rm_work</filename> will potentially
result in your changes to the source being lost.
If you are modifying and building source code out of the work directory
for a recipe, enabling <filename>rm_work</filename> will potentially
result in your changes to the source being lost.
To exclude some recipes from having their work directories deleted by
<filename>rm_work</filename>, you can add the names of the recipe or
recipes you are working on to the <filename>RM_WORK_EXCLUDE</filename>
<filename>rm_work</filename>, you can add the names of the recipe or
recipes you are working on to the <filename>RM_WORK_EXCLUDE</filename>
variable, which can also be set in your <filename>local.conf</filename>
file.
Here is an example:
@@ -677,28 +883,37 @@
</section>
<section id='ref-classes-externalsrc'>
<title>Using External Source - <filename>externalsrc.bbclass</filename></title>
<title><filename>externalsrc.bbclass</filename></title>
<para>
You can use this class to build software from source code that is external to the
OpenEmbedded build system.
In other words, your source code resides in an external tree outside of the Yocto Project.
Building software from an external source tree means that the normal fetch, unpack, and
patch process is not used.
You can use this class to build software from source code that is
external to the OpenEmbedded build system.
Building software from an external source tree means that the build
system's normal fetch, unpack, and patch process is not used.
</para>
<para>
To use the class, you need to define the
<link linkend='var-S'><filename>S</filename></link> variable to point to the directory that contains the source files.
You also need to have your recipe inherit the <filename>externalsrc.bbclass</filename> class.
By default, the OpenEmbedded build system uses the
<link linkend='var-S'><filename>S</filename></link> and
<link linkend='var-B'><filename>B</filename></link> variables to
locate unpacked recipe source code and to build it, respectively.
When your recipe inherits <filename>externalsrc.bbclass</filename>,
you use the
<link linkend='var-EXTERNALSRC'><filename>EXTERNALSRC</filename></link>
and
<link linkend='var-EXTERNALSRC_BUILD'><filename>EXTERNALSRC_BUILD</filename></link>
variables to ultimately define <filename>S</filename> and
<filename>B</filename>.
</para>
<para>
This class expects the source code to support recipe builds that use the
<link linkend='var-B'><filename>B</filename></link> variable to point to the directory in
which the OpenEmbedded build system places the generated objects built from the recipes.
By default, the <filename>B</filename> directory is set to the following, which is separate from the
Source Directory (<filename>S</filename>):
By default, this class expects the source code to support recipe builds
that use the <link linkend='var-B'><filename>B</filename></link>
variable to point to the directory in which the OpenEmbedded build
system places the generated objects built from the recipes.
By default, the <filename>B</filename> directory is set to the
following, which is separate from the source directory
(<filename>S</filename>):
<literallayout class='monospaced'>
${WORKDIR}/${BPN}/{PV}/
</literallayout>
@@ -706,36 +921,17 @@
<link linkend='var-WORKDIR'><filename>WORKDIR</filename></link>,
<link linkend='var-BPN'><filename>BPN</filename></link>,
<link linkend='var-PV'><filename>PV</filename></link>,
<link linkend='var-S'><filename>S</filename></link>, and
<link linkend='var-B'><filename>B</filename></link> for more information.
</para>
<para>
You can build object files in the external tree by setting the
<filename>B</filename> variable equal to <filename>"${S}"</filename>.
However, this practice does not work well if you use the source for more than one variant
(i.e., "natives" such as <filename>quilt-native</filename>,
or "crosses" such as <filename>gcc-cross</filename>).
So, be sure there are no "native", "cross", or "multilib" variants of the recipe.
</para>
<para>
If you do want to build different variants of a recipe, you can use the
<link linkend='var-BBCLASSEXTEND'><filename>BBCLASSEXTEND</filename></link> variable.
When you do, the <link linkend='var-B'><filename>B</filename></link> variable must support the
recipe's ability to build variants in different working directories.
Most Autotools-based recipes support separating these directories.
The OpenEmbedded build system defaults to using separate directories for <filename>gcc</filename>
and some kernel recipes.
Alternatively, you can make sure that separate recipes exist that each
use the <filename>BBCLASSEXTEND</filename> variable to build each variant.
The separate recipes can inherit a single target recipe.
</para>
<para>
For information on how to use this class, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#building-software-from-an-external-source'>Building
Software from an External Source</ulink>" section in the Yocto Project Development Manual.
For more information on
<filename>externalsrc.bbclass</filename>, see the comments in
<filename>meta/classes/externalsrc.bbclass</filename> in the
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>.
For information on how to use <filename>externalsrc.bbclass</filename>,
see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#building-software-from-an-external-source'>Building Software from an External Source</ulink>"
section in the Yocto Project Development Manual.
</para>
</section>

View File

@@ -60,33 +60,43 @@
<para>
This list only represents features as shipped with the Yocto Project metadata:
<itemizedlist>
<listitem><para><emphasis>alsa:</emphasis> Include ALSA support (OSS compatibility
kernel modules installed if available).</para></listitem>
<listitem><para><emphasis>bluetooth:</emphasis> Include bluetooth support (integrated BT only)
<listitem><para><emphasis>alsa:</emphasis> Include ALSA support
(OSS compatibility kernel modules installed if available).
</para></listitem>
<listitem><para><emphasis>cramfs:</emphasis> Include CramFS support
<listitem><para><emphasis>bluetooth:</emphasis> Include
bluetooth support (integrated BT only).</para></listitem>
<listitem><para><emphasis>cramfs:</emphasis> Include CramFS
support.</para></listitem>
<listitem><para><emphasis>ext2:</emphasis> Include tools for
supporting for devices with internal HDD/Microdrive for
storing files (instead of Flash only devices).
</para></listitem>
<listitem><para><emphasis>ext2:</emphasis> Include tools for supporting for devices with internal
HDD/Microdrive for storing files (instead of Flash only devices)
<listitem><para><emphasis>ipsec:</emphasis> Include IPSec
support.</para></listitem>
<listitem><para><emphasis>ipv6:</emphasis> Include IPv6 support.
</para></listitem>
<listitem><para><emphasis>ipsec:</emphasis> Include IPSec support
<listitem><para><emphasis>irda:</emphasis> Include Irda support.
</para></listitem>
<listitem><para><emphasis>ipv6:</emphasis> Include IPv6 support
<listitem><para><emphasis>keyboard:</emphasis> Include keyboard
support (e.g. keymaps will be loaded during boot).
</para></listitem>
<listitem><para><emphasis>irda:</emphasis> Include Irda support
<listitem><para><emphasis>nfs:</emphasis> Include NFS client
support (for mounting NFS exports on device).
</para></listitem>
<listitem><para><emphasis>keyboard:</emphasis> Include keyboard support (e.g. keymaps will be
loaded during boot).
</para></listitem>
<listitem><para><emphasis>nfs:</emphasis> Include NFS client support (for mounting NFS exports on
device)</para></listitem>
<listitem><para><emphasis>pci:</emphasis> Include PCI bus support
</para></listitem>
<listitem><para><emphasis>pcmcia:</emphasis> Include PCMCIA/CompactFlash support
</para></listitem>
<listitem><para><emphasis>ppp:</emphasis> Include PPP dialup support</para></listitem>
<listitem><para><emphasis>smbfs:</emphasis> Include SMB networks client support (for mounting
Samba/Microsoft Windows shares on device)</para></listitem>
<listitem><para><emphasis>opengl:</emphasis>
Include the Open Graphics Library, which is a
cross-language, multi-platform application programming
interface used for rendering two and three-dimensional
graphics.</para></listitem>
<listitem><para><emphasis>pci:</emphasis> Include PCI bus
support.</para></listitem>
<listitem><para><emphasis>pcmcia:</emphasis> Include
PCMCIA/CompactFlash support.</para></listitem>
<listitem><para><emphasis>ppp:</emphasis> Include PPP dialup
support.</para></listitem>
<listitem><para><emphasis>smbfs:</emphasis> Include SMB networks
client support (for mounting Samba/Microsoft Windows shares
on device).</para></listitem>
<listitem><para><emphasis>systemd:</emphasis> Include support
for this <filename>init</filename> manager, which is a full
replacement of for <filename>init</filename> with parallel
@@ -94,17 +104,17 @@
features.
This <filename>init</filename> manager is used by many
distributions.</para></listitem>
<listitem><para><emphasis>usbgadget:</emphasis> Include USB Gadget Device support (for USB
networking/serial/storage)
</para></listitem>
<listitem><para><emphasis>usbhost:</emphasis> Include USB Host support (allows to connect external
keyboard, mouse, storage, network etc)
<listitem><para><emphasis>usbgadget:</emphasis> Include USB
Gadget Device support (for USB networking/serial/storage).
</para></listitem>
<listitem><para><emphasis>usbhost:</emphasis> Include USB Host
support (allows to connect external keyboard, mouse,
storage, network etc).</para></listitem>
<listitem><para><emphasis>wayland:</emphasis> Include the
Wayland display server protocol and the library that
supports it.</para></listitem>
<listitem><para><emphasis>wifi:</emphasis> Include WiFi support (integrated only)
</para></listitem>
<listitem><para><emphasis>wifi:</emphasis> Include WiFi support
(integrated only).</para></listitem>
</itemizedlist>
</para>
</section>

View File

@@ -6,7 +6,8 @@
<title>Images</title>
<para>
The OpenEmbedded build process supports several types of images to satisfy different needs.
The OpenEmbedded build system provides several example
images to satisfy different needs.
When you issue the <filename>bitbake</filename> command you provide a “top-level” recipe
that essentially begins the build for the type of image you want.
</para>

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>
@@ -356,7 +523,15 @@
<title><filename>build/tmp/deploy/</filename></title>
<para>
This directory contains any "end result" output from the OpenEmbedded build process.
This directory contains any "end result" output from the
OpenEmbedded build process.
The <link linkend='var-DEPLOY_DIR'><filename>DEPLOY_DIR</filename></link>
variable points to this directory.
For more detail on the contents of the <filename>deploy</filename>
directory, see the
"<link linkend='images-dev-environment'>Images</link>" and
"<link linkend='sdk-dev-environment'>Application Development SDK</link>"
sections.
</para>
</section>

File diff suppressed because it is too large Load Diff

View File

@@ -58,7 +58,7 @@
<itemizedlist>
<listitem><para><filename><link linkend='var-TARGET_ARCH'>TARGET_ARCH</link></filename>
</para></listitem>
<listitem><para><filename><link linkend='var-SERIAL_CONSOLE'>SERIAL_CONSOLE</link>
<listitem><para><filename><link linkend='var-SERIAL_CONSOLES'>SERIAL_CONSOLES</link>
</filename></para></listitem>
<listitem><para><filename><link linkend='var-PACKAGE_EXTRA_ARCHS'>PACKAGE_EXTRA_ARCHS</link>
</filename></para></listitem>

View File

@@ -201,7 +201,7 @@
The chain of events that occurs when <filename>gcc-cross</filename> is
bootstrapped is as follows:
<literallayout class='monospaced'>
gcc -> binutils-cross -> gcc-cross-initial -> linux_libc-headers -> eglibc-initial -> eglibc -> gcc-cross -> gcc-runtime
gcc -> binutils-cross -> gcc-cross-initial -> linux-libc-headers -> eglibc-initial -> eglibc -> gcc-cross -> gcc-runtime
</literallayout>
<itemizedlist>
<listitem><para><filename>gcc</filename>:
@@ -221,7 +221,7 @@
This tool is a "native" package (i.e. it is designed to run on
the build host).
</para></listitem>
<listitem><para><filename>linux_libc-headers</filename>:
<listitem><para><filename>linux-libc-headers</filename>:
Headers needed for the cross-compiler.
</para></listitem>
<listitem><para><filename>eglibc-initial</filename>:
@@ -263,7 +263,8 @@
The figure shows the commands you use to easily build out this
toolchain.
This cross-development toolchain is built to execute on the
<filename>SDKMACHINE</filename>, which might or might not be the same
<link linkend='var-SDKMACHINE'><filename>SDKMACHINE</filename></link>,
which might or might not be the same
machine as the Build Host.
<note>
If your target architecture is supported by the Yocto Project,
@@ -276,7 +277,7 @@
<para>
Here is the bootstrap process for the relocatable toolchain:
<literallayout class='monospaced'>
gcc -> binutils-crosssdk -> gcc-crosssdk-initial -> linux_libc-headers -> eglibc-initial -> nativesdk-eglibc -> gcc-crosssdk -> gcc-cross-canadian
gcc -> binutils-crosssdk -> gcc-crosssdk-initial -> linux-libc-headers -> eglibc-initial -> nativesdk-eglibc -> gcc-crosssdk -> gcc-cross-canadian
</literallayout>
<itemizedlist>
<listitem><para><filename>gcc</filename>:
@@ -296,7 +297,7 @@
finished cross-compiler.
This tool is a "native" binary that runs on the build host.
</para></listitem>
<listitem><para><filename>linux_libc-headers</filename>:
<listitem><para><filename>linux-libc-headers</filename>:
Headers needed for the cross-compiler.
</para></listitem>
<listitem><para><filename>eglibc-initial</filename>:
@@ -320,7 +321,9 @@
</para></listitem>
<listitem><para><filename>gcc-cross-canadian</filename>:
The final relocatable cross-compiler.
When run on the <filename>SDKMACHINE</filename>, this tool
When run on the
<link linkend='var-SDKMACHINE'><filename>SDKMACHINE</filename></link>,
this tool
produces executable code that runs on the target device.
</para></listitem>
</itemizedlist>
@@ -843,7 +846,7 @@
DEFAULTTUNE = "x86-64-x32"
baselib = "${@d.getVar('BASE_LIB_tune-' + (d.getVar('DEFAULTTUNE', True) \
or 'INVALID'), True) or 'lib'}"
#MACHINE = "atom-pc"
#MACHINE = "genericx86"
#DEFAULTTUNE = "core2-64-x32"
</literallayout></para></listitem>
<listitem><para>As usual, use BitBake to build an image that supports the x32 psABI.
@@ -1035,27 +1038,26 @@
<para>
The build system uses the
<filename><link linkend='var-S'>S</link></filename> variable as the
default directory used when searching files listed in
<filename><link linkend='var-S'>S</link></filename> variable as
the default directory used when searching files listed in
<filename>LIC_FILES_CHKSUM</filename>.
The previous example employs the default directory.
</para>
<para>
You can also use relative paths as shown in the following example:
Consider this next example:
<literallayout class='monospaced'>
LIC_FILES_CHKSUM = "file://src/ls.c;beginline=5;endline=16;\
md5=bb14ed3c4cda583abc85401304b5cd4e"
LIC_FILES_CHKSUM = "file://../license.html;md5=5c94767cedb5d6987c902ac850ded2c6"
LIC_FILES_CHKSUM = "file://${WORKDIR}/license.html;md5=5c94767cedb5d6987c902ac850ded2c6"
</literallayout>
</para>
<para>
In this example, the first line locates a file in
The first line locates a file in
<filename>${S}/src/ls.c</filename>.
The second line refers to a file in
<filename><link linkend='var-WORKDIR'>WORKDIR</link></filename>, which is the parent
of <filename><link linkend='var-S'>S</link></filename>.
<filename><link linkend='var-WORKDIR'>WORKDIR</link></filename>.
</para>
<para>
Note that <filename>LIC_FILES_CHKSUM</filename> variable is

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

@@ -9,6 +9,5 @@ s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5\/yocto-proj
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5\/dev-manual\/dev-manual.html\" target=\"_top\">Yocto Project Development Manual<\/a>/Yocto Project Development Manual/g
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5\/adt-manual\/adt-manual.html\" target=\"_top\">Yocto Project Application Developer's Guide<\/a>/Yocto Project Application Developer's Guide/g
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5\/bsp-guide\/bsp-guide.html\" target=\"_top\">Yocto Project Board Support Package (BSP) Developer's Guide<\/a>/Yocto Project Board Support Package (BSP) Developer's Guide/g
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5\/kernel-manual\/kernel-manual.html\" target=\"_top\">Yocto Project Kernel Architecture and Use Manual<\/a>/Yocto Project Kernel Architecture and Use Manual/g
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5\/kernel-ref\/kernel-ref.html\" target=\"_top\">Yocto Project Kernel Development Manual<\/a>/Yocto Project Kernel Development Manual/g
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5\/kernel-dev\/kernel-dev.html\" target=\"_top\">Yocto Project Linux Kernel Development Manual<\/a>/Yocto Project Linux Kernel Development Manual/g
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5\/ref-manual\/ref-manual.html\" target=\"_top\">Yocto Project Reference Manual<\/a>/Yocto Project Reference Manual/g

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"
@@ -156,8 +171,9 @@
<itemizedlist>
<listitem>
<para>A host system running a supported Linux distribution (i.e. recent releases of
Fedora, openSUSE, CentOS, and Ubuntu).
<para>A host system running a supported Linux distribution
(i.e. recent releases of Fedora, openSUSE, CentOS, Debian,
and Ubuntu).
If the host system supports multiple cores and threads, you can configure the
Yocto Project build system to decrease the time needed to build images
significantly.
@@ -184,36 +200,56 @@
<listitem><para>Fedora</para></listitem>
<listitem><para>openSUSE</para></listitem>
<listitem><para>CentOS</para></listitem>
<listitem><para>Debian</para></listitem>
</itemizedlist>
For a more detailed list of distributions that support the Yocto Project,
see the
"<ulink url='&YOCTO_DOCS_REF_URL;#detailed-supported-distros'>Supported Linux Distributions</ulink>" section
in the Yocto Project Reference Manual.
<note>
For notes about using the Yocto Project on a RHEL 4-based host, see the
<ulink url='&YOCTO_WIKI_URL;/wiki/BuildingOnRHEL4'>BuildingOnRHEL4</ulink>
wiki page.
</note>
</para>
<para>
The OpenEmbedded build system should be able to run on any modern distribution with Python 2.6 or 2.7.
Earlier releases of Python are known to not work and the system does not support Python 3 at this time.
This document assumes you are running one of the previously noted distributions on your Linux-based
host systems.
The OpenEmbedded build system should be able to run on any modern
distribution that has the following versions for Git, tar, and
Python.
<itemizedlist>
<listitem><para>Git 1.7.5 or greater</para></listitem>
<listitem><para>tar 1.24 or greater</para></listitem>
<listitem><para>Python 2.7.3 or greater excluding Python
3.x, which is not supported.</para></listitem>
</itemizedlist>
Earlier releases of Python are known to not work and the system
does not support Python 3 at this time.
If your system does not meet any of these three listed
version requirements, you can
take steps to prepare the system so that you can still use the build
system.
See the
"<ulink url='&YOCTO_DOCS_REF_URL;#required-git-tar-and-python-versions'>Required Git, tar, and Python Versions</ulink>"
section in the Yocto Project Reference Manual for information.
</para>
<note><para>
If you attempt to use a distribution not in the above list, you may or may not have success - you
are venturing into untested territory.
Refer to
<ulink url='&OE_HOME_URL;/index.php?title=OEandYourDistro'>OE and Your Distro</ulink> and
<ulink url='&OE_HOME_URL;/index.php?title=Required_software'>Required Software</ulink>
for information for other distributions used with the OpenEmbedded project, which might be
a starting point for exploration.
If you go down this path, you should expect problems.
When you do, please go to <ulink url='&YOCTO_BUGZILLA_URL;'>Yocto Project Bugzilla</ulink>
and submit a bug.
We are interested in hearing about your experience.
</para></note>
<para>
This document assumes you are running one of the previously noted
distributions on your Linux-based host systems.
</para>
<note>
<para>
If you attempt to use a distribution not in the above list,
you may or may not have success.
Yocto Project releases are tested against the stable Linux
distributions listed in the
"<ulink url='&YOCTO_DOCS_REF_URL;#detailed-supported-distros'>Supported Linux Distributions</ulink>"
section of the Yocto Project Reference Manual.
Refer to
<ulink url='&OE_HOME_URL;/index.php?title=OEandYourDistro'>OE and Your Distro</ulink> and
<ulink url='&OE_HOME_URL;/index.php?title=Required_software'>Required Software</ulink>
for information for information about dependencies and
requirements.
If you encounter problems, please go to
<ulink url='&YOCTO_BUGZILLA_URL;'>Yocto Project Bugzilla</ulink>
and submit a bug.
We are interested in hearing about your experience.
</para>
</note>
</section>
<section id='packages'>
@@ -249,11 +285,11 @@
</para>
<section id='ubuntu'>
<title>Ubuntu</title>
<title>Ubuntu and Debian</title>
<para>
The essential packages you need for a supported Ubuntu distribution
are shown in the following command:
The essential packages you need for a supported Ubuntu
or Debian distribution are shown in the following command:
<literallayout class='monospaced'>
$ sudo apt-get install &UBUNTU_HOST_PACKAGES_ESSENTIAL; libsdl1.2-dev xterm
</literallayout>
@@ -291,7 +327,7 @@
The essential packages you need for a supported CentOS
distribution are shown in the following command:
<literallayout class='monospaced'>
$ sudo yum -y install &CENTOS_HOST_PACKAGES_ESSENTIAL; SDL-devel xterm
$ sudo yum install &CENTOS_HOST_PACKAGES_ESSENTIAL; SDL-devel xterm
</literallayout>
<note>Depending on the CentOS version you are using, other requirements
and dependencies might exist.
@@ -308,9 +344,9 @@
<para>
You can download the latest Yocto Project release by going to the
<ulink url="&YOCTO_HOME_URL;">Yocto Project website</ulink>
clicking "Downloads" in the navigation pane to the left to view all
clicking "Downloads" in the navigation pane to the left to view all
available Yocto Project releases.
Be sure to scroll down and look for "Yocto Project" under the
Be sure to scroll down and look for "Yocto Project" under the
"Type" heading in the list.
Nightly and developmental builds are also maintained at
<ulink url="&YOCTO_AB_NIGHTLY_URL;"></ulink>.
@@ -395,7 +431,7 @@
<tip><para>
To help conserve disk space during builds, you can add the following statement
to your project's configuration file, which for this example
is <filename>&YOCTO_POKY;-build/conf/local.conf</filename>.
is <filename>&YOCTO_POKY;/build/conf/local.conf</filename>.
Adding this statement deletes the work directory used for building a package
once the package is built.
<literallayout class='monospaced'>
@@ -428,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
@@ -531,49 +572,67 @@
<section id='installing-the-toolchain'>
<title>Installing the Toolchain</title>
<para>
You can download a tarball installer, which includes the pre-built toolchain, the
<filename>runqemu</filename>
You can download a tarball installer, which includes the
pre-built toolchain, the <filename>runqemu</filename>
script, and support files from the appropriate directory under
<ulink url='&YOCTO_TOOLCHAIN_DL_URL;'></ulink>.
Toolchains are available for 32-bit and 64-bit development systems from the
<filename>i686</filename> and <filename>x86-64</filename> directories, respectively.
Each type of development system supports five target architectures.
The names of the tarball installer scripts are such that a string representing the
host system appears first in the filename and then is immediately followed by a
string representing the target architecture.
Toolchains are available for 32-bit and 64-bit x86 development
systems from the <filename>i686</filename> and
<filename>x86_64</filename> directories, respectively.
The toolchains the Yocto Project provides are based off the
<filename>core-image-sato</filename> image and contain
libraries appropriate for developing against that image.
Each type of development system supports five or more target
architectures.
</para>
<para>
The names of the tarball installer scripts are such that a
string representing the host system appears first in the
filename and then is immediately followed by a string
that represents the target architecture.
</para>
<literallayout class='monospaced'>
poky-eglibc-&lt;<emphasis>host_system</emphasis>&gt;-&lt;<emphasis>arch</emphasis>&gt;-toolchain-gmae-&lt;<emphasis>release</emphasis>&gt;.sh
poky-eglibc-&lt;<emphasis>host_system</emphasis>&gt;-&lt;<emphasis>image_type</emphasis>&gt;-&lt;<emphasis>arch</emphasis>&gt;.sh
Where:
&lt;<emphasis>host_system</emphasis>&gt; is a string representing your development system:
i686 or x86_64.
&lt;<emphasis>arch</emphasis>&gt; is a string representing the target architecture:
i586, x86_64, powerpc, mips, or arm.
&lt;<emphasis>image_type</emphasis>&gt; is a string representing the image you wish to
develop a Software Development Toolkit (SDK) for use against.
The Yocto Project builds toolchain installers using the
following BitBake command:
&lt;<emphasis>release</emphasis>&gt; is the version of Yocto Project.
bitbake core-image-sato -c do_populatesdk core-image-sato
&lt;<emphasis>arch</emphasis>&gt; is a string representing the tuned target architecture:
i586, x86_64, powerpc, mips, armv7a or armv5te
</literallayout>
<para>
For example, the following toolchain installer is for a 64-bit development
host system and a 32-bit target architecture:
For example, the following toolchain installer is for a 64-bit
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
</literallayout>
</para>
<literallayout class='monospaced'>
poky-eglibc-x86_64-i586-toolchain-gmae-&DISTRO;.sh
</literallayout>
<para>
Toolchains are self-contained and by default are installed into <filename>/opt/poky</filename>.
However, when you run the toolchain installer, you can choose an installation directory.
Toolchains are self-contained and by default are installed into
<filename>/opt/poky</filename>.
However, when you run the toolchain installer, you can choose an
installation directory.
</para>
<para>
The following command shows how to run the installer given a toolchain tarball
for a 64-bit development host system and a 32-bit target architecture.
for a 64-bit x86 development host system and a 32-bit x86 target architecture.
You must change the permissions on the toolchain
installer script so that it is executable.
</para>
@@ -589,7 +648,7 @@
<para>
<literallayout class='monospaced'>
$ ~/Downloads/poky-eglibc-x86_64-i586-toolchain-gmae-&DISTRO;.sh
$ ~/Downloads/poky-eglibc-x86_64-core-image-sato-i586.sh
</literallayout>
</para>
@@ -663,7 +722,7 @@
x86, x86-64, ppc, mips, or arm.
</literallayout>
<note>
For the <filename>qemu</filename> architecture,
For the <filename>qemu</filename> architecture,
<filename>ext3</filename> and <filename>tar</filename>
files start with the "lib32" string.
</note>

View File

@@ -2,7 +2,7 @@
BBPATH .= ":${LAYERDIR}"
# We have recipes-* directories, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb"
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "skeleton"
BBFILE_PATTERN_skeleton = "^${LAYERDIR}/"

View File

@@ -0,0 +1 @@
# CONFIG_RFKILL is not set

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