Compare commits

..

760 Commits

Author SHA1 Message Date
Laurentiu Palcu
7f017cab0b connman: bump PR and add some comments
The comments are for informing anyone who wants to change USERADD_PARAMs
to make sure it's in sync with the one in xserver-nodm-init, in order
for rootless X to work.

(From OE-Core rev: c4d0b1c5438039dab07103c151c0c5a76a4c9499)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-13 13:11:23 +01:00
Laurentiu Palcu
d8d95d10bd sanity.bbclass: warn the user if BBPATH contains wrong entries
If BBPATH references the working directory, the user is warned and asked
to fix the problem.

[Yocto #1465]

(From OE-Core rev: 73f10ae955ba217078fa2c5288b736ae8a30b184)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-13 13:11:22 +01:00
Gary Thomas
5a50eb1ce6 webkit-gtk: Apply work around for all PowerPC targets
The current patch for bug #1570 only applies to qemuppc but should be
applicable for all PowerPC targets.  Also update the patch so that
only one language backend, either ICU or PANGO, is built.

Also remove some old customizations (dependencies on darwin) as these
should now be handled in a layer specific .bbappend file.

(From OE-Core rev: 2782caf0f07f61cab92d2981c5e82914f22bd700)

Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-13 11:57:23 +01:00
Laurentiu Palcu
ca6d07c92c connman: make useradd parameters consistent with rootless X
Both connman and rootless X share the same xuser. However, useradd
parameters are not consistent and if connman runs useradd first,
rootless X will be broken.

[Yocto #2467]

(From OE-Core rev: 28087e7a9ddfd2d118aa907a29ed522bb8cbfc16)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-13 11:57:23 +01:00
Andreas Müller
5518a1a505 systemtap: update Upstream-Status and use correct syntax
patch was applied [1]

http://sourceware.org/git/gitweb.cgi?p=systemtap.git;a=commit;h=41df51cb6a6d3f09f8b57cb216dffa5ba335e326

(From OE-Core rev: 7fbe687da742be638d8c19f522d22fe9d6e8147a)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-13 11:57:22 +01:00
Khem Raj
e7d0a81a8f gcc-configure-common: Use build time sysroot for target gcc
Otherwise it assumes / as sysroot on build host and starts
searching for directories in there.

[RP: Tweak to add missing = for consistent syntax]
(From OE-Core rev: d132bcc41d9956f8cc171e34232d991e2b444689)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-13 11:57:22 +01:00
Jason Wessel
9f47c0f62e lsof: Fix cross 32 -> 64bit ranlib host contamination problem
When building on a 32bit host OS and building 64 bit binaries,
the cross ar and ranlib must be called, or you get an error
as follows:

   x86_64-wrs-linux-gcc    -m64 --sysroot=/opt/build/tmp/sysroots/qemux86-64 -o lsof dfile.o dmnt.o dnode.o dproc.o dsock.o dstore.o arg.o main.o misc.o node.o print.o proc.o store.o usage.o util.o -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -L./lib -llsof
   ./lib/liblsof.a: could not read symbols: Archive has no index; run ranlib to add one
   collect2: error: ld returned 1 exit status

(From OE-Core rev: 5c257ee55f9e0dd66fc1bbd6e9c08918e8820178)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-13 11:57:22 +01:00
Richard Purdie
1a9ad7f4d7 poky-tiny: eliminate mtrace rdepends
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-13 11:56:47 +01:00
Bruce Ashfield
6aff0d1575 meta-yocto/linux-yocto: fix routerstationpro build
The update from v3.0.24 to v3.0.32 removed a lock that the routerstationpro
BSP was using, and broke the build.

Updating the SRCREV to pickup a fix for the new lock and fix the board
build.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-13 11:42:07 +01:00
Richard Purdie
5ed855d12c openjade-native: Ensure we reautoconf the package
Currently since configure.in in is in a subdirectory, we don't reautoconf the
recipe. We really need to do this, to update things like the libtool script used
and fix various issues such as those that could creep in if a reautoconf is
triggered for some reason. Since this source only calls AM_INIT_AUTOMAKE to gain the
PACKAGE and VERSION definitions and that macro now errors if Makefile.am doesn't
exist, we need to add these definitions manually.

These changes avoid failures like:

----
| ...
| DssslApp.cxx:117:36: error: 'PACKAGE' was not declared in this scope
| DssslApp.cxx:118:36: error: 'VERSION' was not declared in this scope
| make[2]: *** [DssslApp.lo] Error 1
----

(From OE-Core rev: 6f0d830ed047f700702645d454054dfd6fea6f25)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-12 16:34:30 +01:00
Richard Purdie
7e62e24b6c cmd1.bbclass: Ensure ncurses is built and used for menuconfig tasks
Currently, the task just exits if something goes wrong. This adds the
ncurses-native dependency. It also adds a small delay before closing the
window so any messages displayed there can be seen.

Trying to get the kernel build system to correctly find and link with
our copy of ncurses is some kind of nightmare. I ended up having to add
it to HOST_LOADLIBES globally for this task which is rather nasty but I
couldn't find any other way.

[YOCTO #2513]

(From OE-Core rev: fe417e8a4d625c6933de72163d2fee52ac47f571)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-12 16:34:30 +01:00
Richard Purdie
cc96daa444 qt-x11-free.bbappend: Update to 4.8.1
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-12 13:10:00 +01:00
Richard Purdie
dfcfe119ee qt4: Drop 4.7.4
We have 4.8.1 now and 4.7.4 is obsolete.

(From OE-Core rev: cb945328fe019c246c520904c02ca29d3798df07)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-12 12:59:16 +01:00
Mark Hatle
d7b7f13492 rpm: Ensure pkgconfig deps don't stray from the package being built
Force pkg-config to only look in the install directory, and not be
able to fall back to system pkg-config directories for resolution.

(From OE-Core rev: 7afcfeb1db00c800485b2f3a89dad1ed84083979)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-12 11:10:36 +01:00
Mark Hatle
9786663f9c package_rpm: Verify that the package manifests are not empty
An empty manifest will cause a failure condition.  We ensure that any install
actions occur only with a manifest larger then size 0.  Also ensure that padding
is added to the end of the manifest, instead of the beginning to enable this
size check.  (Padding is required for very small manifest files..)

(From OE-Core rev: 9b115181a8b10ec1eb8eac355405695f63e2e011)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-12 11:10:36 +01:00
Mark Hatle
f182f53cc3 createrepo: For compatibility w/ RPM 5.4.9 remove RPMVSF_NOSIGNATURES flag
The RPMVSF_NOSIGNATURES flag was removed from RPM5 - 5.4.9 as a result of
additional -requires- package validation to help protect from malicious
packages.  The createrepo "dump" script has been updated to no longer use
this flag.  This remains compatible with prior versions of RPM.

(From OE-Core rev: 24786ccbbdd1188aad4d8508e1757d38798b6f81)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-12 11:10:36 +01:00
Mark Hatle
43dd3512aa rootfs_rpm.bbclass: Update database configuration file
Move the creation of the database configuration files to just before we
perform the install actions.  This ensures they will exist even in SDK or
other non-target filesystem images.

(From OE-Core rev: 113e015afd46e46c9ba0413ca15f0316fa2eec24)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-12 11:10:35 +01:00
Mark Hatle
7fe15f02b5 rpm: Bump PR numbers on componets that require RPM
With the recent RPM uprev, libzypp, sat-solver and zypper should be
rebuilt to ensure they get the right BerkleyDB and rpmdb interfaces.

(From OE-Core rev: a57002c854fed27d9c06a360da7133637afec2d6)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-12 11:10:35 +01:00
Mark Hatle
75c302ca80 package_rpm: Add capability to directly query packageorigin
Add functionality to RPM to directly query the packageorigin (path) from
the resolver database, instead of having to do this via an indirect method.

This results in a minor performance improvement.

(From OE-Core rev: a8ff3141fd78442bf328c9d3a489db88ad27486b)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-12 11:10:35 +01:00
Mark Hatle
b81d788c79 ossp-uuid: Add oss-uuid package and RPM 5.4.9 integration
RPM 5.4.9 now strongly encourages you to have the ossp-uuid library available.

Add this recipe, and change RPM to use the uuid functionality.

(From OE-Core rev: 8a2b55c5b7c544ec15113bc21e5c62276449c9c3)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-12 11:10:35 +01:00
Mark Hatle
bc4a29df84 rpm: Upgrade RPM to 5.4.9
Beside upreving RPM, add necessary integration patches to libzypp.

Also change the configuration of RPM to support PACKAGECONFIG flags.
RPM is highly configurable, the default configuration is good for
minimal OE-Core use.

(From OE-Core rev: bf94103d4c532ffdfdcdcc6d27c9f65f7824f8f8)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-12 11:10:35 +01:00
Mark Hatle
b2381b63b9 rpm: Upgrade RPM to 5.4.8 (db to 5.3.15)
RPM 5.4.8 requires db 5.3.x, so both are upgraded together.

(From OE-Core rev: c5898ef3fc3820ff9c44bc5b1b16e5def64aa877)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-12 11:10:35 +01:00
Saul Wold
99822cd4a0 gnomebase: add GNOME_COMPRESS_TYPE variable
Upstream Gnome projects are starting to migrate to the .xz compress format,
so we need to add this to allow recipes to override the default of .bz2 as
the upstreams make the transition.

[YOCTO #2241]

(From OE-Core rev: 0eddc176e73e74d4b1a7d3163d65f619fcd4baf0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-12 10:58:22 +01:00
Bogdan Marinescu
60543b931d nasm: updated to 2.10.01
Tested by compiling syslinux

(From OE-Core rev: ba22e4fcf07eb8007f6d500908d503f1d3dbdd16)

Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-11 13:55:55 +01:00
Laurentiu Palcu
107b1b0471 menu-cache: upgrade to 0.3.3
Other changes:
	- licence MD5 for menu-cache.h has changed because some whitespaces
	  were removed;

(From OE-Core rev: fe1e9b40d5d0dd8d4daa2751f4c86db26936fc30)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-11 13:55:01 +01:00
Laurentiu Palcu
7d25922736 ethtool: upgrade to 3.2
Other changes:
	- the HOMEPAGE URL since project hosting chenged to kernel.org;
	- licence MD5 for ethtool.c has changed because a new copyright
	  line from Sun has been added: "Portions Copyright (C) Sun
	  Microsystems 2008"

(From OE-Core rev: ca1400b51bab2451bd6025a7b79ddabb1ac3d295)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-11 13:55:01 +01:00
Laurentiu Palcu
b2846ba4d3 tzdata: upgrade to 2012c
Other changes:
	- the licence header shifted one line down, hence the start/end lines
	  used to compute the MD5 sum were incremented by 1;

(From OE-Core rev: 2f1daa8e25bfc72d1fd75788a8e70b193accc0cb)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-11 13:55:00 +01:00
Laurentiu Palcu
287fabd66f freetype: upgrade to 2.4.9
(From OE-Core rev: 6dc49f00248ffb937de45c4d075907774b4cd8fc)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-11 13:55:00 +01:00
Bruce Ashfield
35c5a8ce73 linux-libc-headers: set default LINUXLIBCVERSION to 3.4
The 3.4 kernel is released, and is the default for qemu* builds, so
we can safely update the default libc-headers version to 3.4.

Built and booted for qemu*

(From OE-Core rev: 3e57510bb11b350fbe15cae2fb5bf851956061ac)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-11 13:49:53 +01:00
Jason Wessel
a166085ff3 v86d: Fix cross link using host-cross ar
If building on 32bit host and creating 64bit libraries, the target
package builds should not invoke the 32bit hosts's ar.  Specifically
you will get an error message like:

x86_64-linux-gcc  -m64 --sysroot=/opt/qemux86-64/tmp/sysroots/qemux86-64 -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Llibs/x86emu v86_x86emu.o v86_mem.o v86_common.o  v86.o -lx86emu -o v86d
libs/x86emu/libx86emu.a: could not read symbols: Archive has no index; run ranlib to add one
collect2: error: ld returned 1 exit status

(From OE-Core rev: 4bb926513084dfa6ebf5598a177239315530276e)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-11 13:49:52 +01:00
Jason Wessel
616fab3981 libnewt: Fix cross link using autoconf detected AR
If building on 32bit host and creating 64bit libraries, the target
package builds should not invoke the 32bit hosts's ar.  Specifically
you will get an error message like:

x86_64-linux-gcc    -m64 --sysroot=/opt/qemux86-64/tmp/sysroots/qemux86-64 -g -o test test.o libnewt.a -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -lslang
libnewt.a: could not read symbols: Archive has no index; run ranlib to add one
collect2: error: ld returned 1 exit status

(From OE-Core rev: a02878d05e6b57f2455228785ea5f213a62ed976)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-11 13:49:52 +01:00
Paul Gortmaker
d411e7738d gitignore: add wildcard to match toplevel patch files
To support the basic workflow of trivial patches:

 git format-patch HEAD~.. ; git send-email --to foo@bar.com 0001-foo.patch

We don't want git status reporting on patches lying in the top
level dir in this case.

Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
(From OE-Core rev: f9c2d97d549e848127b741b967d90288c60f4d43)

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-11 13:49:52 +01:00
Khem Raj
abcc43634a augeas: Fix compilation failure
on uclibc we see this failure
too few arguments to function 'escape'

(From OE-Core rev: 4ea9c79cdcf0ffdc833b7a63e7a2b8388d6bf6e6)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-11 13:49:52 +01:00
Khem Raj
2215a96717 task-self-hosted.bb,task-core-lsb.bb: Conditionalize pth inclusion
pth is not portable to uclibc therefore we need to exclude it for
uclibc based systems.

(From OE-Core rev: 6482f276533f3a177e07def9d616958d9bbc10c6)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-11 13:49:52 +01:00
Khem Raj
429004f6a5 cmake.bbclass: Add OECMAKE_C_LINK_FLAGS and OECMAKE_CXX_LINK_FLAGS variables
In some cases we need to specify linker flags and right
now we do not have a way to communicate that to cmake
based systems. cmake defines CMAKE_C_LINK_FLAGS and CMAKE_CXX_LINK_FLAGS
for these needs. This patch therefore defines two local variables
namely OECMAKE_C_LINK_FLAGS and OECMAKE_CXX_LINK_FLAGS which
can be altered by recipes to tweak linker flags

(From OE-Core rev: 9e00a74749ba8e1cf0d15efe8e16af60b189e080)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-11 13:49:51 +01:00
Khem Raj
4b55c928c1 gcc-common: Replace use of TARGET_ARCH with TRANSLATED_TARGET_ARCH
TARGET_ARCH is poured into TRANSLATED_TARGET_ARCH
for gcc-cross family or gcc-crosssdk family
of recipes we have to check for TRANSLATED_TARGET_ARCH

(From OE-Core rev: 03f7322b1f4e1b1cf465a46cba3b82573384ab9e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-11 13:49:51 +01:00
Khem Raj
53981ad824 gcc-common: Enable hardfloat ABI when target is arm
We need to check target to be arm before enabling hard-float
ABI. There are crossdk targets or candian-cross targets built
for arm and we should not enable it for those class of recipes.

(From OE-Core rev: f48bb903218e14ba15dab452e8bb43ba25b9ea44)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-11 13:49:51 +01:00
Khem Raj
1a2f20d223 uclibc: Move to latest tip of master
This gets the important fix for eventfd syscall
handling which was exposed by glib 2.32 upgrade
without this patch core-image-sato would get stuck
and wont boot all the way through

Same patch is needed for 0.9.33 as well

(From OE-Core rev: 80fa01c6ea618ea32ab40d151d8be2347ede30b3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-11 13:49:51 +01:00
Khem Raj
2dcb935045 gnupg-2.0.19: Depend on npth for uclibc
(From OE-Core rev: 5bb9af52f59b91ff979d06178eeadbf91907bbe1)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-11 13:49:51 +01:00
Khem Raj
fb8fabb8ed gpgme: Depend on npth for uclibc
(From OE-Core rev: 854b4de95fe3a25a877506d762092962652b6770)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-11 13:49:50 +01:00
Khem Raj
de04115d13 npth: Add recipe
npth is modern version of pth
gnugp 2.1 will drop pth in favor of npth

npth works with uclibc too whereas pth does not

(From OE-Core rev: 1b6bebf02be5bb5879c06d6f79b434ee054717a7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-11 13:49:50 +01:00
Khem Raj
f6a4d74d8b libtool: Let -fstack-protector passed to link step
linker should add -lssp to linker cmdline when
-fstack-protector therefore add this knowledge to libtool
otherwise packages will fail to link

(From OE-Core rev: d1756ff379ab310bfa6323d8643b7e9d764f94bf)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-11 13:49:50 +01:00
Khem Raj
1988bc0ad4 pth: Mark incompatible with uclibc
pth does not work with uclibc

(From OE-Core rev: b7c12dd4424f0702c21b1b856af4578d9a4abc90)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-11 13:49:50 +01:00
Khem Raj
00330a3ad0 binutils_2.22: Backport to fix bogus textrels
This is reported by prelinker which does not
go well with textrels.

(From OE-Core rev: 7b1caeca8e5c0dd066bb940fe6d2dff4d22bf816)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-11 13:49:49 +01:00
Tom Zanussi
665f908387 linux-yocto/3.2: fix meta SRCREV typo
Remove a stray character at the end of the meta SRCREV.

(From OE-Core rev: 009f7734e880084a5b01d8377cb006dc82f1d278)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-11 12:09:21 +01:00
Kang Kai
0612cf3fcb hob2: create a standalone deploy image tool
[Yocto 2388]

Create a deploy image tool using the existing dialog including
DeployImageDialog and ImageSelectionDialog.

This tool writes bootable images to USB devices, and it can be run
directly without hob.

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 12:13:43 +01:00
Kang Kai
7828e9eee2 hob2: update DeployImageDialog for seperated tool
Part of [Yocto 2388]

Update class DeployImageDialog to get ready for a standalone deploy
image tool. The standalone tool can be run directly without hob, and
add a button to select image file. So adjust the layout of
DeployImageDialog.

(Bitbake rev: 399cfbaf36ccd4b934e25f915e64b87f32a3eb82)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 12:13:17 +01:00
Kang Kai
87ce7bdfd5 ui/crumbs/hig.py: check deploy process return value
Update function response_cb of DeployImageDialog to get deploy process
return value. According the return value tell user that deploy image
successfully or not.

(Bitbake rev: f78f6d43a68e0f1dc4d3e4164eed453fcb9c22a8)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 12:13:17 +01:00
Kang Kai
0c9927865c ui/crumbs/hig.py: remove extra spaces
Remove extra spaces at the end of line or blank line.

(Bitbake rev: 70b75a05a806fecf8be15b9ba66fec2eb87dcce4)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 12:13:16 +01:00
Kang Kai
0b6bb93558 ui/crumbs/hig.py: fix run time error
Commit 094742bed2 re-implement the
function popen_read(). If there is no USB device, it crashes with
"ExecutionError: Execution of 'ls /dev/disk/by-id/usb*' failed with exit
code 2:"

Replace popen_read() way with glob module to get the USB devices.

(Bitbake rev: 0c43fe72e3c6a12ac19173d8cbbad81af21c2d85)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 12:13:16 +01:00
Kang Kai
ac7b96420a ui/crumbs/utils.py: import module bb
When I try to call function which_terminal() of utils.py directly,
it complains NameError: global name 'bb' is not defined

So import module bb

(Bitbake rev: 9e370d9b1022112be2ac8f73feb182b1bba179b0)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 12:13:16 +01:00
Liming An
574b5ecfa5 Hob: fixed the index issue when set actived item for base image combo
The combo item index dosn't be increased as the insert a dummy item, when
execute the upadate base image combo operation.

[YOCTO #2500]

(Bitbake rev: 59e19634a84fcb4c34b92cdcf7a9ea807c9abb63)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 12:13:16 +01:00
Liming An
e91f1e28bc Hob: Change 'run image' work flow and image detail screen as ui design
Added the qemu_image_kernel selection view box to image detail screen GUI, and
changed the 'run image' button clicked work flow.

[YOCTO #2155]

(Bitbake rev: d548eb8a03cfba5c64c018898972bc0a0bdb280c)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 12:13:15 +01:00
Shane Wang
c0b92702d3 Hob: Interpret some special characters for label markup
Interpret some special characters for label markup, such as &, <, >, etc.
Otherwise, the message dialog can't show them, and worsely, it makes the
whole message blank.

[Yocto #2492]

(Bitbake rev: fb82f6eb5405274f702bd6d64cbe995fd4b74145)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 12:13:15 +01:00
Shane Wang
25785d8ddf Hob: add versions for compatibility check between Hob and templates
If a user uses a very old version of Hob and does some work,
later on he/she upgrade to the latest version of Hob, because
Hob may change the settings (add more config option into the Adv.
Settings dialog or remove some), then the old templates are not
loadable and workable for the new Hob.

Even though the user hasn't save any template before, the Hob could
remember the settings between Hob sessions as a default template,
(Remember we have a bug to ask Hob remember between sessions?),
the new Hob will also load the default template.

By adding versions, we can easily to fix the issue. If the versions
don't match, Hob will remove the old default template first and
initiate a new build, which has very very little impact on the user.
(Just can't remember from the previous session after the user upgrades
to a new and incompatible Hob)

[Yocto #2492]

(Bitbake rev: d5dd9a7af9d35c588528f9937430d1ef5de216c6)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 12:13:15 +01:00
Shane Wang
efd977010e Hob: lower the limitation for PyGTK
(Bitbake rev: d44af0185985cc46ba07a82875bbb4cd4a6d3dec)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 12:13:15 +01:00
Liming An
9703dcb398 Hob: fixed a definition not match issue when click choose directflb in package page
[YOCTO #2526]

(Bitbake rev: 3c285d386a4ca0a86798feb0c506673a2a312727)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 12:13:14 +01:00
Liming An
c8c8d75f23 Hob: fix entry of recipe page can't be edited in case after clicked clear button
cancel some inviable code and fixed this issue

(Bitbake rev: d2e2c917e4a93ec7fd344a2c703d526ce7b690cf)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 12:13:14 +01:00
Liming An
6ac1545453 Hob: clear the repeated function get_kernel_file_name
there are a repeated function in builder.py and imagedetailspage.py,
so combine them to one.

(Bitbake rev: 4bada20cd244a2dd6d72acd38f0cadc90453e60b)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 12:13:14 +01:00
Bruce Ashfield
7f806be2b0 meta-yocto: make 3.4 the default kernel for qemu*
The 3.4 kernel is available and has been built and booted on
all the qemu machines, so it now becomes the default for the
qemu machines, and machines that don't explicitly set a preferred
version.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2012-06-08 11:57:50 +01:00
Bruce Ashfield
70d7e13b14 linux-yocto/meta-yocto/3.2: fri2 and chiefriver machine updates
Picking up the oe-core commit:

    Bumping the 3.2 SRCREVs to pickup the following configuration changes for
    the new chiefriver BSP and the existing fri2 machines:

     5b4c9dc fri2: update base config
     cdfbb50 fri2: add usb-mass-storage to standard and preempt-rt
     3c1af06 fri2 update: drop NETDEVICE, e1xxx, usb-mass-storage, add iwlwifi feature
     26a4d79 iwlagn: Correct a comment typo
     ade9c57 iwlwifi: Add a feature for iwlwifi
     571b6cb fri2: Configuration update (usb, wifi, i2c)
     b257485 meta: add tmp/rc6 feature
     24c6494 chiefriver: create initial BSP infrastructure

    All branches are also updated with the following fix:

      1ce6700 efi: Add patch to fix 32bit EFI service mapping (rhbz 726701)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2012-06-08 11:57:50 +01:00
Bruce Ashfield
77d30c7174 linux-yocto/meta-yocto: introduce 3.4 bbappend
Creating the initial meta-yocto bbappend for the 3.4 kernel.
The routerstationpro and beaglboard are not initially marked as
compatible since full testing has not completed. Future updates
will remove this restriction.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2012-06-08 11:57:50 +01:00
Bruce Ashfield
5010afd2e0 linux-yocto/meta-yocto: add machine aliases for yocto BSPs
To avoid mapping machine names to kernel machine names in recipes,
we can define multiple KMACHINE names for a single in tree board.
This allows the tools to match a board description to multiple
different MACHINEs.

As a result, we can remove the explicit KMACHINE mappings from
the linux-yocto recipes and allow the KMACHINE=${MACHINE} default
to handle mappings. Individual recipes an bbappends can override
this as required.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2012-06-08 11:57:50 +01:00
Bruce Ashfield
b6ceefc36e linux-yocto/meta-yocto: remove 2.6.37 bbappend
With the introduction of the 3.4 kernel, the 2.6.37 kernel recipe is
removed, so we'll also remove the meta-yocto 2.6.37 bbappend.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2012-06-08 11:57:50 +01:00
Bruce Ashfield
1c33c54845 linux-yocto/meta-yocto: update to v3.2.18
Updating the 3.2 linux-yocto SRCREVs to pick up the v3.2.18
-stable release.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2012-06-08 11:57:50 +01:00
Bruce Ashfield
c3d7493f97 linux-yocto/meta-yocto: update to v3.0.32
Updating the kernel SRCREVs to pickup the v3.0.32 -stable release.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2012-06-08 11:57:50 +01:00
Bruce Ashfield
27c051f006 kern-tools: anchor KMACHINE test
Updating the kern-tools SRCREV to pick up the following fix:

    Out of tree feature descriptions (.scc files) take two forms: normal
    features and BSP descriptions.

    A normal feature is detected and added to the end of the current machine
    being processed. During tree processing, it's configuration and patches
    will be applied.

    A BSP description on the other hand must be matched based on three
    critera (which are in the .scc file via "define <foo>"):

      - machine
      - kernel type
      - architecture

    Since features that define machines are only explicitly added, they
    are removed from the list of features that should be automatically
    added.

    The criteria for removing them from the auto-add list is the
    definitions found in the .scc file. The existing check was simply
    for KMACHINE anywhere in the file. This meant that a conditional
    or even a comment containing that phrase would exclude a file.

    Properly anchoring the KMACHINE test to "^define.*KMACHINE" fixes the
    problem of overly agreesive exclusions.

(From OE-Core rev: 75a973328d50ef3c007edb7a471ea77fb97911ea)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:56:32 +01:00
Bruce Ashfield
7f44713308 linux-yocto/3.0: add cedartrail kernel features
Updating meta to move Kernel Features out of the BSP and add to
the Cedartrail Machine branch.

(From OE-Core rev: e44b616309dd8e442c7cd13c4c0b1a4ee41ac40f)

Signed-off-by: Kishore Bodke <kishore.k.bodke@intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:56:32 +01:00
Bruce Ashfield
3290146593 linux-yocto/3.2: fri2 and chiefriver machine updates
Bumping the 3.2 SRCREVs to pickup the following configuration changes for
the new chiefriver BSP and the existing fri2 machines:

 5b4c9dc fri2: update base config
 cdfbb50 fri2: add usb-mass-storage to standard and preempt-rt
 3c1af06 fri2 update: drop NETDEVICE, e1xxx, usb-mass-storage, add iwlwifi feature
 26a4d79 iwlagn: Correct a comment typo
 ade9c57 iwlwifi: Add a feature for iwlwifi
 571b6cb fri2: Configuration update (usb, wifi, i2c)
 b257485 meta: add tmp/rc6 feature
 24c6494 chiefriver: create initial BSP infrastructure

All branches are also updated with the following fix:

  1ce6700 efi: Add patch to fix 32bit EFI service mapping (rhbz 726701)

(From OE-Core rev: 0bef6360305c7d8cfa48e8132b3eeb2ac1b4236e)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:56:31 +01:00
Bruce Ashfield
d0402c6f58 linux-yocto: add 3.4 recipe
Introducing the 3.4 kernel recipe. At this point there are three
supported kernel 3.4, 3.2 and 3.0.

Build and boot tested on qemux86, qemux86-64, qemuarm, qemumips and
qemuppc

(From OE-Core rev: f85c3f727fd326fe6dd2f2c2b68c692515867737)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:56:31 +01:00
Bruce Ashfield
9cf8501444 linux-yocto: add machine aliases for yocto BSPs
To avoid mapping machine names to kernel machine names in recipes,
we can define multiple KMACHINE names for a single in tree board.
This allows the tools to match a board description to multiple
different MACHINEs.

As a result, we can remove the explicit KMACHINE mappings from
the linux-yocto recipes and allow the KMACHINE=${MACHINE} default
to handle mappings. Individual recipes an bbappends can override
this as required.

(From OE-Core rev: d3dc05a4b808136876cb257a568737abfaceeadd)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:56:31 +01:00
Bruce Ashfield
b0789103af linux-yocto: remove v2.6.37 recipe
With the introduction of the 3.4 kernel recipe, the 2.6.37 kernel
recipe is removed, keeping the supported list at three kernels.

(From OE-Core rev: 96ae45be42dcab338e9f8e3aebd2217146a79f87)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:56:31 +01:00
Bruce Ashfield
b047060cda linux-yocto/3.0: update to v3.0.32
Updating the 3.0 kernel SRCREVs to integrate the v3.0.32 -stable
release.

(From OE-Core rev: be8b5332ddc8e3e1a1fb8fb119c5ab5c7c290c99)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:56:30 +01:00
Bruce Ashfield
5af9811ef7 linux-yocto/3.2: update to v3.2.18
Updating the 3.2 kernel SRCREVs to pickup the -stable update
to v3.2.18.

(From OE-Core rev: 11f2e4b0dcfc66cd9982471173ba42c6e31b470a)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:56:30 +01:00
Bruce Ashfield
2da91914c9 kern-tools: remove unused code, meta branch and directory assumptions
Updating the kern-tools SRCREV to pick up fixes that remove unused
code, transition code (tree format changes) and to remove assumptions
about branch and directory naming.

There are no user visible changes with this update, but the plumbing
changes will be used in future updates for more generalized support.

The commit details are below:

 Author: Bruce Ashfield <bruce.ashfield@windriver.com>
 Date:   Fri May 11 12:13:12 2012 -0400

    kgit-publish: remove --remote option

    The ability to publish and automatically push a repository was
    never used, and is error prone. The complexit isn't needed in
    the script, so removing it is the best option.

    An explicit push after tree publication is suggested, or a
    wrapper script (specific to a particular infrastructure) around
    this script.

    (From OE-Core rev: 5b1a096211ebeb8dac4f1a39d96ae2f9a3d00634)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>

 Author: Bruce Ashfield <bruce.ashfield@windriver.com>
 Date:   Fri May 11 12:04:09 2012 -0400

    kern-tools: remove unused code, scripts and transition code

    The period of supporting old trees with a different meta
    branch name and directory structure are gone. So the cleanup
    and removal of the old structure can be completed.

    The meta branch and directory are now controlled via command line,
    or via the KMETA environment variable. No testing and conditional
    processing of the tree are required.

    Additionally, the generate_cfg script is no longer used, or is the
    branch conditing code in createme. So they can be safely removed
    from the tools and repository.

    Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>

 Author: Bruce Ashfield <bruce.ashfield@windriver.com>
 Date:   Thu May 10 12:18:19 2012 -0400

    kern-tools: remove meta tag and directory assumptions

    During repository sanity checks (createme) and during the
    checkpoint process, there were several assumptions about the tree
    that either relied on a tag, or a particular directory name.

    With this set of changes, simply passing the meta branch name is
    enough to sanitize and restore the checkpoint. If no meta branch
    name is passed, the default of 'meta' is used for both the branch
    and meta data directory name.

    Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:56:30 +01:00
Robert P. J. Day
ca0ce36173 README: Correct documentation URL in top-level README file
even though redirection takes care of this, might as well be
accurate.

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
[elizabeth.flanagan@intel.com: Fixed up submitted patch as it was corrupt as sent]
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:46:52 +01:00
Richard Purdie
e4f0176b67 gettext/shared-mime-info: Add missing patch upstream status field
(From OE-Core rev: d87ffe7bf7812c8732e792ee8720fe1626813a1d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:43:23 +01:00
Robert Yang
ea2a85035a rootfs_rpm.bbclass: save rpmlib rather than remove it
The rpmlib was removed when images that add
"remove_packaging_data_files" to ROOTFS_POSTPROCESS_COMMAND, which would
make the increment rpm image generation doesn't work in the second
build, since list_installed_packages would get incorrect value in the
second build, move the rpmlib to ${T} rather than remove it, and move it
back when INC_RPM_IMAGE_GEN =1.

[YOCTO #2440]

(From OE-Core rev: c30e79510c06701f10f659eedaa0fe785538ac17)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:43:23 +01:00
Robert Yang
1e71397c23 apt 0.7.14: do_compile failed with gcc 4.7
apt do_compile failed with gcc 4.7:

deb/deblistparser.cc: In member function 'virtual short unsigned int debListParser::VersionHash()':
deb/deblistparser.cc:212:13: error: redeclaration of 'char* I'
deb/deblistparser.cc:202:22: error: 'const char** I' previously declared here

Backport the patch from the upstream would fix the problem, both target and
native apt need it.

[YOCTO #2488]

(From OE-Core rev: fae7fc49052720f037bac128084851c09d420381)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:43:22 +01:00
Robert Yang
9e7c915114 apt-get 0.7.14: hangs at runtime
This patch had a little problem, it made a infinite loop:

for (K = CmdL.FileList + 1; *K != 0; J++)

But the value of "K" will nerver change, so the apt-get hangs, revert
this patch first, and will fix the problem in another patch.

Note: Increment the PR from 11 to 12

Revert "apt: Fix a latent bug exposed by gcc 4.7"

This reverts commit 9d526462fe.

[YOCTO #2488]

(From OE-Core rev: 1e381c83396a65c6c93b8fc1f4e35564c52bd042)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:43:22 +01:00
Xiaofeng Yan
9a519998f4 archiver.bbclass: Reduce some duplication for function get_licenses
The content to modify this bbclass is as follow:
- Use the existing functions to get license as a directory instead of
  rewriting it for avoiding code duplication.
- Use SPDXLICENSEMAP to map licenses

[YOCTO #2473]

(From OE-Core rev: 31bee6e7b0a23efc1555ab739ef10041803d5bb1)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:43:22 +01:00
Ross Burton
5be715a6ac connman: Document the ACL-breaking sed
(From OE-Core rev: 497234875b3a93def8ada2cff99d064f3a11d711)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:43:22 +01:00
Ross Burton
554afde11f connman: respect the 3g feature and enable/disable ofono support
[YOCTO #2357]

(From OE-Core rev: e510f6947f9e14c408b0e5e4f10cea3353b271c2)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:43:21 +01:00
Mark Hatle
17207058b2 insane.bbclass: Make ldd exec_prefix error reporting easier to read
Remove the long obtuse sysroot path from the ldd output.

Make the error message significantly easier to read and understand.

Old Style:
WARNING: QA Issue: keyutils: /home/mhatle/git/oss/oe-core/build-i386/tmp-eglibc/work/i586-oe-linux/keyutils-1.5.5-r1/packages-split/keyutils/sbin/request-key links to something under exec_prefix
WARNING: QA Issue: ldd reports:         libkeyutils.so.1 => /home/mhatle/git/oss/oe-core/build-i386/tmp-eglibc/sysroots/qemux86/usr/lib/libkeyutils.so.1 (0xdead1000)
        libc.so.6 => /home/mhatle/git/oss/oe-core/build-i386/tmp-eglibc/sysroots/qemux86/lib/libc.so.6 (0xdead2000)
        /lib/ld-linux.so.2 => /home/mhatle/git/oss/oe-core/build-i386/tmp-eglibc/sysroots/qemux86/lib/ld-linux.so.2 (0xdead3000)

New style:
WARNING: QA Issue: keyutils: /sbin/request-key, installed in the base_prefix, requires a shared library under exec_prefix (/usr): libkeyutils.so.1 => /usr/lib/libkeyutils.so.1 (0xdead1000)

(From OE-Core rev: 1583a8e2db6dd4843ff45acee458d4924f7d6ced)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:43:21 +01:00
Joe Slater
570c54262a gettext: install libgettextlib.a before removing it
In a multiple job build, Makefile can simultaneously
be installing and removing libgettextlib.a.  We serialize
the operations.

(From OE-Core rev: 2750546b2152eecdbb37e963a2495383f6944184)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:43:21 +01:00
Joe Slater
5094da3232 shared-mime-info: fix build race condition
The definition of install-data-hook in Makefile.am leads
to multiple, overlapping, executions of the install-binPROGRAMS
target.  We modify the definition to avoid that.

(From OE-Core rev: 6fef8f73143fdeed6da15444c11bce9a8b35668b)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:43:21 +01:00
Mark Hatle
3792f77128 shadow-native: Disable nscd support
Disabling nscd support prevents error messages when shadow utilities attempt
to trigger nscd to reload.  This does nothing unless the user is root, and even
if they are root, it's the wrong action to perform when creating a target fs.

(From OE-Core rev: eb6fb917b7a6745b296c8ae0a5bf66f498bf3576)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:43:20 +01:00
Song.Li
d56659e0a3 groff: Fix build on Fedora 17
Generally distros keep perl at /usr/bin/perl
But Fedora 17 also has /bin/perl,
this causes groff_1.20.1 build to put perl
interpreter path as /bin/perl
But we set perl location for target as /usr/bin/perl

This mismatch of perl path causes failure of rootfs image creation
like this:

| error: Failed dependencies:
|       bin/perl is needed by groff-1.20.1-r1.ppc603e

(From OE-Core rev: 79fc557683d4eeadaebeb00dfba53762956e4910)

Signed-off-by: Song.Li <song.li@windriver.com>

Sync up with the do_install_append_virtclass-native chunk.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:43:20 +01:00
Jesse Zhang
c9c7fe8c2b beecrypt: disable java
If java is installed on host, beecrypt will attempt to use it.

(From OE-Core rev: aa6e085b6b5114729f0aacd693d028d21858146f)

Signed-off-by: Jesse Zhang <sen.zhang@windriver.com>
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:43:20 +01:00
Scott Garman
64791642d4 runqemu-ifup: enable arp proxying
This allows core-image-sato to access the WAN.

Thanks to Dexuan Cui for proposing this fix.

Fixes [YOCTO #2329]

(From OE-Core rev: d294b1bddece429f2639676ddc97d2896fc58916)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:43:20 +01:00
Tom Zanussi
1a749e1b89 gnupg: disable CCID driver
The CCID driver driver is apparently unnecessary, so disable it.

Also remove the associated libusb dependency, since that won't be
needed either.

According to Scott Garman <scott.a.garman@intel.com>:

I'd just note that the CCID smartcard reader is a specific piece of
hardware that is unlikely to be used in a majority of our use cases.

(From OE-Core rev: 18be6fbde8fc9a6546ee865a4c43bd1eafa81a3c)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:43:19 +01:00
Tom Zanussi
038874c865 gnupg: add libusb to DEPENDS
gnupg apparently depends on libusb:

| error: Failed dependencies:
| 	 libusb-0.1-4 >= 0.1.3 is needed by gnupg-2.0.18-r1.core2

So add libusb to gnupg DEPENDS.

(From OE-Core rev: fd79e09c90e51a8f454f0fdd837c5141b9eadbde)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:43:19 +01:00
Cristian Iorga
47e954e821 telepathy-glib: update to 0.19.0
(From OE-Core rev: 55bbd54630d7213bb7a2927fedef9dbcff23f250)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:43:19 +01:00
Christopher Larson
61e06d3464 task-core-basic: drop portmap
Both rpcbind and portmap are RPC port mappers. Having both is redundant. Chose
rpcbind over portmap as rpcbind supports ipv6, nfs4, and builds without the
glibc rpc headers, which have been obsoleted in glibc 2.14.

(From OE-Core rev: f63add40c6bdfb3a19e59ac28f7d2ae5597f5bfd)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:43:19 +01:00
Christopher Larson
f822034e4f rpcbind: add and use startup script, move binaries
- Add init script from debian, tweaked for us
- Move binaries from bindir to sbindir, as debian does

(From OE-Core rev: 8576575ce9a1be8f7bec4e7c018d9be5c3b247df)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:43:18 +01:00
Andreas Müller
fa3b18efec systemtap: Unbreak build for systems with nss headers installed
* discussed on [1]
* patch sent to systemtap [2]

[1] http://lists.linuxtogo.org/pipermail/openembedded-core/2012-June/023377.html
[2] http://sourceware.org/ml/systemtap/2012-q2/msg00202.html

(From OE-Core rev: bd17907884e3a1e1d711125a4b8def5263e97edb)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-08 11:43:18 +01:00
Cristian Iorga
df8f55a919 ltp: Add patch to correct failing build
ltp makefile does not interpret correctly the result of git describe
command and assumes that it is working with a git repo, while in fact
working with a source code archive.
Added a patch to corect makefile system.

(From OE-Core rev: 13e52fafae0fb06b26d179a5cac6898babbadc51)

Signed-off-by: Cristian Iorga <cristian.iorga@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-05 23:05:00 +01:00
Denys Dmytriyenko
a1925696c4 pulseaudio: fix typo in the patch name, pulseaudo -> pulseaudio
No PR bump is needed.

(From OE-Core rev: f7a1fdfd82be60b92f4aa4a53fdae3192d1cec8b)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-05 23:05:00 +01:00
Elizabeth Flanagan
ae6d342b8d lsbinitscripts: Missing popt DEPENDS
Missing DEPENDS causes build to fail.

(From OE-Core rev: 44634755289ef6f10da5bdd46d45a2ef18626f20)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-05 23:05:00 +01:00
Elizabeth Flanagan
885e1f7e68 license.bbclass: optimize pkg runtime data
This fixes an ugly way I was trying to find pkg runtime
data for package and license manifest creation.

rootfs generation times for core-image-minimal:

Prior to patch
real	0m41.570s
user	1m40.466s
sys	0m6.768s

With patch
real	0m27.527s
user	0m9.833s
sys	0m3.496s

(From OE-Core rev: 664bbf3207c229eef5ef94a08713a652f33a8466)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>

Conflicts:

	meta/classes/license.bbclass
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-05 23:04:59 +01:00
Elizabeth Flanagan
f25a6c09da license.bbclass: Adding PV to package.manifest
Per request, adding the package version to the package manifest
file.

(From OE-Core rev: bf216369f3131ad38c0b2b92620e4805ca9eecb9)

Signed-off-by: Elizabeth Flanagan <elizabeth.flanagan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-05 23:04:59 +01:00
Radu Moisan
7f713b64bf dbus: update to version 1.4.20
Unstable version 1.5.12 also supported

(From OE-Core rev: 1a5ae9b47c6294f1969a6a36f9ffddc39a707849)

Signed-off-by: Radu Moisan <radu.moisan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-05 23:04:59 +01:00
Ross Burton
e618834b30 connman: just give xuser the extra rights it needs 2012-06-05 23:04:34 +01:00
Xiaofeng Yan
34f819e22e archiver.bbclass: Improve the usability for the archiver classes
The usability of the archiver classes can be improved, beyond the
simple addition of default values for the variables. A user could
well inherit just archiver rather than the individual useful classes,
and not realize it will do nothing.

[YOCTO #2472]

(From OE-Core rev: ce91f495e0c4ef3bf53ee8b2ea570061da38e14f)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-05 22:56:32 +01:00
Robert Yang
09a7dc9a46 generate-manifest-2.7.py: replace os.popen with os.unlink
The os.popen function would fail (more or less) silently if the executed
program cannot be found, and here what we need is os.system not os.popen
since it doesn't use the return value, use os.unlink() and ignore
exceptions from it would be better as Chris suggested.

[YOCTO #2454]

(From OE-Core rev: bc9f7d7b7eda1c45ad1aaee469ebe28ee1c0c96b)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-05 22:56:32 +01:00
Christopher Larson
d068a7577c external-sourcery-toolchain: forcibly create usr/lib
If the usr/lib directory doesn't exist, the toolchain can fail to even try to
find crti.o in a completely different directory. This causes a failure for the
case where baselib is lib64.

(From OE-Core rev: 3c368f4c989bee68953b6d0fbf2adc44f97cc100)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-05 22:56:32 +01:00
Christopher Larson
b90cc2ac4a tcmode-external-sourcery: pass -msgxx-glibc for x86
This is needed to work around an issue with the toolchain search paths. It can
pick up the wrong features.h without it, it seems, even with the system32
symlink in the oe sysroot. Investigate this further in the future.

(From OE-Core rev: fb94ed0eb11b2efc1d814b80a2a7c99b29e746b3)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-05 22:56:32 +01:00
Christopher Larson
286a4904d2 external-sourcery: extract src and dest sysroot paths from gcc
Rather than hardcoding the multilib path in a map, and hardcoding dest sysroot
symlink creation in a hook, now we just use -print-sysroot for both, and pass
the appropriate multilib args to the toolchain for particular tunes.

(From OE-Core rev: b9a9c28f7052884b2a6a33cf73cb6d7e2e3d11ff)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-05 22:56:32 +01:00
Xiaofeng Yan
9205cba286 task-core-lsb: Add another initscripts to an lsb image
Initscripts with stronger functions will replace the simple one,
which will avoid error when some packages need functions which could
be absent in the simple initscripts.

[YOCTO #2133]

(From OE-Core rev: b0d45a7bca3e448ceb4802540d42972a625997f8)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-05 22:56:31 +01:00
Xiaofeng Yan
6e416742ff lsbinitscripts: Patch file functions for confirming to an lsb image
Add the condition judgment to functions for avoiding to print error
information when system start up at first.

[YOCTO #2133]

(From OE-Core rev: 4b829c42ffaa878537fa2005e4d80324515a5ba8)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-05 22:56:31 +01:00
Xiaofeng Yan
d32f9004f8 lsbinitscripts: Add initscripts to enhance init functions in an lsb image
The version of initscripts has more functions than the simple.
There could be some errors for current initscripts when running
some programe because of absent some functions provided by initscripts.

[YOCTO #2133]

(From OE-Core rev: ca60a9092e4131d7029c77f2ed7842eea928abe5)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-05 22:56:31 +01:00
Laurentiu Palcu
718779e257 directfb-examples: upgrade to 1.5.3
(From OE-Core rev: b7f4a43e96ccf8982bab0b7df2eff0f170486e2a)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-05 22:56:31 +01:00
Laurentiu Palcu
96c65bdcd3 directfb: upgrade to 1.5.3
Also, backported a couple of patches from upstream that fix some
compilations issues for ARM and PPC.

(From OE-Core rev: 8acb86dfdae782c7627e36e23e1bcb703f8c79db)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-05 22:56:30 +01:00
Xin Ouyang
d0fac332cf cpan.bbclass: Fix config error while patches to Makefile.PL
If there is a patch to Makefile.PL, a Makefile.PL but no Makefile
will be placed in ${B}/.pc/xxx.patch/ after do_patch.
And no Makefile will be generated for *this* Makefile.PL.
While do_configure, the original code tries to sed Makefiles
matching with each Makefile.PL in {B}, so this would fail.

(From OE-Core rev: 7c99105d70a16aa9e42429224abed28743e627b2)

Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-05 22:56:30 +01:00
Xiaofeng Yan
b1f7bb912f local.conf.sample.extended: Change the usage about arhiver.bbclass
Change the usage about arhiver.bbclass due to the improvement for
usability of archiver.bbclass

[YOCTO #2472]

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
2012-06-05 22:54:46 +01:00
Robert Yang
0efe773c17 kernel.py: replace os.popen with subprocess.Popen
Replace os.popen with subprocess.Popen since the older function would
fail (more or less) silently if the executed program cannot be found

More info:
http://docs.python.org/library/subprocess.html#subprocess-replacements

[YOCTO #2454]

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
2012-06-05 22:49:19 +01:00
Scott Rifenbark
de4cdfd6bc documentation/kernel-manual/kernel-how-to.xml: Updated to kernel 3.4
According to Bruce Ashfield, we will be using linux-yocto-3.4.  So
I changed the linux-yocto-3.0 strings to linux-yocto-3.4.

(From yocto-docs rev: 23df0251b04ed7c31ad2297a4a7870861554beef)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:16:55 +01:00
Scott Rifenbark
614308eef0 documentation/dev-manual/dev-manual-kernel-appendix.xml: Comments removed
I removed two larges sections of old comments.

(From yocto-docs rev: df1b08b621f2b449c7575b86ec90c40f1606c43d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:16:55 +01:00
Scott Rifenbark
69536d42f1 documentation/dev-manual/dev-manual-kernel-appendix.xml: Updated Note
Updated a note to include information about what happens if you do a
kernel build and have your machine compatible with every possible
kernel.  This extra information is useful for rational.

Reported-by: Bruce Ashfield <bruce.ashfield@windriver.com>
(From yocto-docs rev: e631ec44be49d456add6a53ff3db89016d187370)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:16:55 +01:00
Scott Rifenbark
a23636b6aa documentation/yocto-project-qs/yocto-project-qs.xml: pre-built example fix
The example showing how to use pre-built images, the toolchain, and
filesystem was off a bit.  I changed some wording to indicate using the
.ext3 filetype of the filesystem.  Previously it talked about expanding
the tarball version but the example has been changed to use .ext3.
Also, the environment setup file has been mis-named forever.  It should
have i586 in it and not i686.  And, finally, the image name does not
have a release number as part of the name.

(From yocto-docs rev: c9953c9bb716ae5be183020c5143152226bf1de5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:16:54 +01:00
Scott Rifenbark
230e325582 documentation/dev-manual/dev-manual-bsp-appendix.xml: .bbappend example
The linux-yocto_3.2.bbappend example was out of date.  There is no
longer a kernel features statement in the last part of the section.
Only COMPATIBLE_MACHINE, KMACHINE, and KBRANCH remain.  I removed
the fourth one from the text description and the example code.

(From yocto-docs rev: 1a6d3cad48f1b52e5b029434ce655940c6024694)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:16:54 +01:00
Scott Rifenbark
31bfebd8c9 documentation/dev-manual/dev-manual-bsp-appendix.xml: Added note
Added a note telling the user that the commit ID strings in the
example might not match the actual commit ID strings found in
the .bbappend file.

(From yocto-docs rev: 5cb845361c8ce8b60dcafc28d1bc01d54badd67a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:16:54 +01:00
Scott Rifenbark
ad93aae260 documentation/yocto-project-qs/yocto-project-qs.xml: Minor wording changes
(From yocto-docs rev: f9547a52d97331f3e78b071a4293b9dbbc18480c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:16:54 +01:00
Scott Rifenbark
fcea677c80 documentation/poky-ref-manual/ref-images.xml: images defined
Fixes [YOCTO #2459]

I provided better definitions to the -dev and -sdk image types.
They now call out host development and target development.

(From yocto-docs rev: bd2c0db27d7eb038931550a96752f961ea6b1d9c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:16:54 +01:00
Scott Rifenbark
0bf437b2b2 documentation/poky-ref-manual/ref-images.xml: Updated core-image-sato-dev
The description had reference to a toolchain, which is evidently not
true.  I have re-worded the description so that it does not mention
inclusion of the toolchain.

Reported-by: Wolfgang Denk <wd@denx.de>
(From yocto-docs rev: 5a918d7d20133b85badd082c81cfe4af18709316)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:16:53 +01:00
Scott Rifenbark
a13ad005a3 documentation/adt-manual/adt-eclipse.xml: Added not and updated version
Fixes [YOCTO #2445]

Added a note telling the user not to install Eclipse from the distribution's
package repository but to rather be sure to install from the official
Eclipse download site.

Also, changed the tarball name from having a "3.7.1" in it to the
recent version of "3.7.2".

Reported-by: Lianhao Lu <lianhao.lu@intel.com>
(From yocto-docs rev: f50d0071e39a5e8424633a55ab2c3fdc75e9686d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:16:53 +01:00
Scott Rifenbark
3a062dde67 documentation/dev-manual/dev-manual-kernel-appendix.xml: Kernel example fixed
Due to a bug (2256) the example that changes the kernel configuration
through menuconfig did not work.  I have re-written the section
to now start with the default behavior of CONFIG_SMP=y and then
have the user change the configuration to where it is not set.

The changes include the reversing of the flow and the work-around
needed due to bug 2256.

(From yocto-docs rev: 6fa9eee12ed83f81470beb9792fb4fc1c5104f69)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:16:53 +01:00
Scott Rifenbark
0957740660 documentation: Added manual history for 1.3
Added entries for the Manual History table for upcoming 1.3 docs.

(From yocto-docs rev: 430b384035593cd05c4f286e20c01f0fe72da8ec)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:16:53 +01:00
Scott Rifenbark
b24d15ccf9 documentation/poky.ent: Updated for latest builds
To publish manuals for the "latest" set of docs, some variables
need changed.  DISTRO is 1.3, DSTRO_NAME is 1.2+snapshot, and
POKYVERSION is 8.0.

(From yocto-docs rev: e5a21791b4e588631910f102b660c1709ab7a0f4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:16:52 +01:00
Paul Eggleton
9286a8764e documentation/yocto-project-qs/yocto-project-qs.xml: Setup changes
Remove mercurial as this is no longer needed.
linuxdoc-tools was mentioned twice in the CentOS list.
We no longer support Fedora versions older than 15 so remove this note.

This commit applies to 1.2, 1.2.1, and 1.3.

(From yocto-docs rev: 4a7e8cc3d69d5c2f9aacedc5f7e2ff9657ef850f)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-31 21:16:52 +01:00
Zhai Edwin
348da93e28 webkit-gtk: Use glib as unicode backend to avoid browser crash
webkit-gtk depends on ICU for the unicode, but ICU is not safe when build and
target system owns different endian. ICU's community is not responsive to make
a patch for this, so glib is used as work around here.

[YOCTO #1570] got fixed

(From OE-Core rev: e3113827810e98eb1b012f0b280fb917199704c1)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 17:38:02 +01:00
Paul Eggleton
3e9f270a47 bitbake.conf: set an exclusion list for varflags in checksums
Set BB_SIGNATURE_EXCLUDE_FLAGS, which is used by the new varflag
checksum code in BitBake. The list is intended to cut out most of the
varflags that are generated internally, don't influence the output or
are already included in the checksum in some way. If need be this list
can be extended in the future. The existing vardepsexclude mechanism
can also be used to exclude undesired varflags, but they must be fully
specified, e.g.:

do_patch[vardepsexclude] += "do_patch[someflag]"

Implements [YOCTO #2517].

(From OE-Core rev: 2bed83c6237669b6fc6fa25b2a554efb73395ca6)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 17:38:02 +01:00
Richard Purdie
2f0303eefd bash: Update to new update-alternatives syntax
(From OE-Core rev: 6176dbd6ee770c0c2849f53b213866b61ac29ff1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 17:32:32 +01:00
Richard Purdie
9bab122135 bzip2: Update to new update-alternatives syntax
(From OE-Core rev: 75cd7692c97b07e05f304893995231e2d3390f8f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 17:32:32 +01:00
Richard Purdie
96a013573d kmod: Remove bashism from recipe
Without this, the installed files get mangled when a dash shell is used.

(From OE-Core rev: 59db7976fa870084af19d880e594b0e94678cf19)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 17:32:31 +01:00
Richard Purdie
0b8d5dad9c update-alternatives: Fix absolute symlink handling
After the class changes, absolute symlinks are not being handled correctly
by the class file. This adds handling for absolute symlinks to account for the
pkgdest directory, removing dangling symlink messages from recipes like bzip2.

(From OE-Core rev: ecea2fab2063a3c478a63e62ba0e80305674c5e0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 17:32:31 +01:00
Richard Purdie
b3e76b33f3 package.bbclass: Add warning about FILES containing '//'
'//' in a FILES variable causes hard to track down issues with
packaging. This adds a warning and attempts to auto-correct the issue to
try and make the problem more user friendly.

[YOCTO #2448]

(From OE-Core rev: 0e33e314b1d2d3779658696f13a274b20d698667)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 17:32:31 +01:00
Richard Purdie
8c2e3c9679 layer.conf/bitbake.conf: Tweak PATH
We want the help2man script in scripts/ to be found in preference to any from
the host system and from the native sysroot. It turns out to be tricky to
get the order right from layer.conf so we move the addition of the scripts
directory to bitbake.conf.

Without this, "bitbake libtasn1 -c cleansstate; bitbake help2man-native; bitbake libtasn1"
will fail due to finding the host system help2man before ours.

(From OE-Core rev: 859255dd30958db018d40ede94a76db36a98da7f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 17:32:31 +01:00
Paul Eggleton
534f31903b bitbake: include varflags in checksums
Add a dependency to each variable on a filtered list of its varflags.
This is intended to catch things such as SRC_URI checksums, varflags
controlling extra functionality from classes (e.g. the recently updated
update-alternatives class in OE-Core), etc. and ensure their values
influence the sstate checksums.

There is an exclusion list which needs to be set via bitbake.conf
(BB_SIGNATURE_EXCLUDE_FLAGS), if this is not set then the functionality
is disabled. The existing vardepsexclude mechanism can also be used to
exclude undesired varflags, but they must be fully specified, e.g.:

do_patch[vardepsexclude] += "do_patch[someflag]"

Implements [YOCTO #2517].

(Bitbake rev: 56c1ab18fcaf4ac245dcb412ed55e8e0af07883b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 17:23:32 +01:00
Paul Eggleton
43551f513d lib/bb/fetch2: ignore remote URIs when doing file checksums
Skip evaluating remote URIs when doing local file checksums, because we
don't need to process them and doing so will trigger a parse failure if
SRCREV is not fully specified. Whilst this is just delaying a check
until runtime (when do_fetch runs for the recipe) we're only validating
this here accidentally and if we did wish to check it during parsing it
ought to be done explicitly.

Fixes [YOCTO #2512]

(Bitbake rev: 99feb77c2de707f2d825566cf48371c48f450e3e)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 17:23:32 +01:00
Paul Eggleton
bb81db6f61 cooker: report recipe being parsed when ExpansionError occurs
When an ExpansionError occurs during parsing it is useful to know which
recipe was being parsed when it occurred.

(Bitbake rev: a2a8e8c9f5a1a30aacab696fd2b434939ee2c4e2)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 17:23:31 +01:00
Paul Eggleton
f0809ed788 cooker: fix UnboundLocalError when exception occurs during parsing
Fix a recent regression where we see the following additional error
after an error occurs during parsing:

ERROR: Command execution failed: Traceback (most recent call last):
  File "/home/paul/poky/poky/bitbake/lib/bb/command.py", line 84, in runAsyncCommand
    self.cooker.updateCache()
  File "/home/paul/poky/poky/bitbake/lib/bb/cooker.py", line 1202, in updateCache
    if not self.parser.parse_next():
  File "/home/paul/poky/poky/bitbake/lib/bb/cooker.py", line 1672, in parse_next
    self.virtuals += len(result)
UnboundLocalError: local variable 'result' referenced before assignment

(Bitbake rev: 1ae0181ba49ccfcb2d889de5dd1d8912b9e49157)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 17:23:31 +01:00
Paul Eggleton
64f88bf5d9 lib/bb/data_smart.py: don't report variable in ExpansionError if not set
If the variable name is not specified then don't confuse the error message
by starting off with "Failure expanding variable None...".

(Bitbake rev: 9cb16f3c73751e7cf6d495586a6193f06eb97b1f)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 17:23:31 +01:00
Paul Eggleton
5a975239ea hob: handle sanity check failures as a separate event
In order to show a friendlier error message that does not bury the
actual sanity error in our typical preamble about disabling sanity
checks, use a separate event to indicate that sanity checks failed.

This change is intended to work together with the related change to
sanity.bbclass in OE-Core.

Fixes [YOCTO #2336].

(Bitbake rev: 24b631acdaa143a4de39c6e1328849660c66f219)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 17:23:31 +01:00
Liming An
c8d78b2186 Hob: add the 'build new' be as the primary action for 'Image detail' page
As ui design, we should set at least one primary action for 'My Image' and
'Image detail' screen as the differnt selected image. if no 'run image' or
no 'save as template' or no 'deploy image' we should set 'build new image'

[YOCTO #2326]

(Bitbake rev: d848af637e9a14b627533bee65bf16f680dff854)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 17:23:30 +01:00
Liming An
6609a813bb Hob: Fixed a compatible issue for indicator icon view
Because some screen not support the alpha visual channel, so the function
'screen.get_rgba_colormap()' will return None, it's a compatible issue, so
change it by another way.

(Bitbake rev: e58ba1ad944ea1ba95a5ada80d4c88f0165bd1ca)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 17:23:30 +01:00
Robert Yang
cc3da1236c HOB: 'str' object has no attribute 'close'
For builddetailspage.py:
  The "f" was a stream in the past, it is a string now, so it doesn't
  need f.close(), and change its name to "branch".

  And we don't need the "2>&1" since bb.process.run() can handle it, it
  will raise exception when error occurs, we should handle the exception
  ourselves if we want to ignore the error.

For hig.py:
  Use bb.process.Popen() since it doesn't need the return value. If we
  use bb.process.run(), the parent process will wait for the child process
  to terminate to get the result.

[YOCTO #2511]

(Bitbake rev: ab10f3da1976581c371c43cdb88f405cf6fbcd95)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 17:23:30 +01:00
Kang Kai
9b6d3f48d2 hob2: set beginning folders for FileChooserDialog
Set begining folders FileChooserDialog for the select images and
some local directory configurations. That may make user feel more
convenient.

(Bitbake rev: 047ad35c0c869883509557aeb982e0b784ad2e71)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 17:23:29 +01:00
Richard Purdie
0d9e893711 Revert "meta: replace os.popen with subprocess.Popen"
This reverts commit e83d8e58a6b107eea87df0ec233a1bc932b2c6e as the conversion
is not correct. Its replacing readlines() calls which generate an array with
what are effectively strings. There are split("\n") calls missing in many
cases so this needs to be reverted until it gets fixed.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 14:21:29 +01:00
Paul Eggleton
bc386b8934 classes/sanity: fix a couple of grammatical errors in messages
(From OE-Core rev: 004ba67298e3e6e618df29597e9166c971a1941c)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 14:21:29 +01:00
Richard Purdie
0299499770 ccache: Separate out into its own class
Currently, ccache is used if it is present. When building from scratch it gives
no performance improvement and creates a ton of empty directories even when its
not in use.

This change moves ccache support to a bbclass file which the user can choose to
enable. This should make builds more determinstic and make it easier/clearer
to the end user when its being used and when it is not.

(From OE-Core rev: 2acf8da4f13c175ea818b9514677b7059de1e3e2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:49 +01:00
Richard Purdie
a92ff3ad42 scripts/cp-noerror: Add a special copy function to fix autotools issues
Currently we copy the aclocal directory to the build so that autotools
doesn't see .m4 files disappear when its processing them. This can happen
if for example, package X is being rebuilt at the same time as Y and it
gets uninstalled from sstate (assuming there are no dependencies between
X and Y). This code making the copy was added to avoid races but introduces
a race of its own, namely that the files can disappear during the copy.

This patch adds a cp-noerror script which silently ignores such errors
and gives the behaviour we need in this case. It hence fixes issues which
crop up for users and the autobuilder occasionally.

[YOCTO #2485]

(From OE-Core rev: 0f81fbc0df73675aeb79c724858799a3b6a02f85)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:49 +01:00
Valentin Popa
b3e9a99076 xz: updated to version 5.1.1alpha
The licenses are the same, only some white spaces added/removed.

(From OE-Core rev: da98266f3a228cf65f279db9810a5326c8bd5422)

Signed-off-by: Valentin Popa <valentin.popa@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:48 +01:00
Zhai Edwin
d63298e566 qemu: Add an option to remove host sdl/gl checking
Add an PACKAGECONFIG in qemu to disable GL acceleration:
* By default configure try best to enable GL acceleration and fail when missing
  host dependency(libSDL and libGL).
* End user can also choose to turn off GL capability, thus remove the host
  dependence in building.

[YOCTO #2407] got fixed.

(From OE-Core rev: cfa93553e17057a1ea9d81e3a415fc8260c54067)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:48 +01:00
Paul Eggleton
7a619c235f classes/sanity: send sanity check failure as a separate event for Hob
In order to show a friendlier error message within Hob that does not
bury the actual sanity error in our typical preamble about disabling
sanity checks, use a separate event to indicate that sanity checks
failed.

This change is intended to work together with the related change to
BitBake, however it has a check to ensure that it does not fail with
older versions that do not include that change.

Fixes [YOCTO #2336].

(From OE-Core rev: 49d8b7b8c3b18da64583637db207f1f064a5bdb2)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:48 +01:00
Radu Moisan
0fd6a47ddf foomatic-filters: update to version 4.0.15
(From OE-Core rev: 8bfec8bf80b111174e4a6cf01db019b38638b31a)

Signed-off-by: Radu Moisan <radu.moisan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:48 +01:00
Radu Moisan
42dec00892 mtd-utils: Update to version 1.5.0
(From OE-Core rev: f53a8aed0db26c6464751f340a7e010c45f76ebb)

Signed-off-by: Radu Moisan <radu.moisan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:47 +01:00
Radu Moisan
e95e077789 man-pages: update to version 3.41
(From OE-Core rev: b48cd36fd40d6784e203b3bac85b63643813a6db)

Signed-off-by: Radu Moisan <radu.moisan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:47 +01:00
Paul Eggleton
a8010cd5d7 classes/sanity: remove broken TARGET_ARCH check
The variable name has been typo'd as TARGE_ARCH since it was introduced
some time ago, so the check has never worked. Fixing the typo shows that
the test is not quite functional, so let's just remove it:

http://lists.linuxtogo.org/pipermail/openembedded-core/2011-October/010613.html

(From OE-Core rev: 897a9b1dddef385253b16ea7c193483e0ea679b6)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:47 +01:00
Laurentiu Palcu
b68e2d6ae2 libpciaccess: upgrade to 0.13.1
Removed also the fix_deletion_of_last_handle.patch because the new
version includes it.

(From OE-Core rev: b5753796e7f8b52e40aed51f4d5c8d329a31265e)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:46 +01:00
Laurentiu Palcu
7ed241c704 fontsproto: upgrade to 2.1.2
(From OE-Core rev: c718f63b263f41e48b2293b2cd67371940b10804)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:46 +01:00
Laurentiu Palcu
7bf02ebc52 fontconfig: upgrade to 2.9.0
Other changes:
	- licence checksums because the licence headers changed slightly:
	  several other authors were added and Keith Packard's name has been
	  replaced with "author(s)". That's it.
	- rebased the fix-pkgconfig.patch to apply on 2.9.0
	- removed all sed instructions in do_configure_append() that were
	  changing fc-arch/Makefile. In the new version the fc-arch/ directory
	  has been removed in order to make the package cross-compiling safe

(From OE-Core rev: 8e219dea0373dc3a37d51f63c41f1a8449029dd5)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:46 +01:00
Paul Eggleton
e8dac5a58a scripts/buildhistory-diff: add GitPython version check
Display an error if the user does not have at least version 0.3.1 of
GitPython installed.

(From OE-Core rev: 2f0f5a895504924b5a21699854678e9bc25b447c)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:46 +01:00
Paul Eggleton
1fe254f123 buildhistory_analysis: fix error when version specifier missing
Passing None to split_versions() will raise an exception, so check that
the version is specified before passing it in.

(From OE-Core rev: 90caa605bd24279e4a9204e279492754119a8a55)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:46 +01:00
Robert Yang
5996b2b58e meta: replace os.popen with subprocess.Popen
Replace os.popen with subprocess.Popen since the older function would
fail (more or less) silently if the executed program cannot be found

There are both bb.process.run() and bb.process.Popen() which wraps the
subprocess module, use it for simplifying the code.

Note: We don't need the "2>/dev/null" or "2>&1" since bb.process.run()
can handle it, it will raise exception when error occurs, we should
handle the exception ourselves if we want to ignore the error.

More info:
http://docs.python.org/library/subprocess.html#subprocess-replacements

[YOCTO #2454]

(From OE-Core rev: e83d8e58a6b107eea87df0ec233a1bc932b2c6ea)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:45 +01:00
Robert Yang
d760fb97f5 scripts: replace os.system with subprocess.call
Replace os.system with subprocess.call since the older function would
fail (more or less) silently if the executed program cannot be found

More info:
http://docs.python.org/library/subprocess.html#subprocess-replacements

[YOCTO #2454]

(From OE-Core rev: 57f843146ed62c04c23bc380dc8cb38aba264f1c)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:45 +01:00
Robert Yang
e40995e569 meta: replace os.system with subprocess.call
Replace os.system with subprocess.call since the older function would
fail (more or less) silently if the executed program cannot be found

More info:
http://docs.python.org/library/subprocess.html#subprocess-replacements

[YOCTO #2454]

(From OE-Core rev: a07d03cc6f67c88feb9813ae7deb6e4a93552dfe)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:45 +01:00
Mark Hatle
e4c35790d6 shadow-utils-native: remove unnecessary alternatives
(From OE-Core rev: b1ea93143a473f006b31ab22f88baf41661971a7)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:44 +01:00
Mark Hatle
9a686b3481 kmod: use new update-alternatives
(From OE-Core rev: 5879e0d3a2b3a6d000e33cadf4407c38ae1eb1ab)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:44 +01:00
Mark Hatle
c17ae6f07b sysklogd: use new update-alternatives
(From OE-Core rev: c32dca4013d851aeb9d661a25cab81daf213121f)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:44 +01:00
Mark Hatle
5cbc48638e psmisc: use new update-alternatives
(From OE-Core rev: 867864451baa875f48d87f4b8dbce80a90038243)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:44 +01:00
Mark Hatle
ddcf94ecd9 iputils: use new update-alternatives
(From OE-Core rev: dbd81c151305faf20f8e9e6f1a588d6ce4cfd49b)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:44 +01:00
Mark Hatle
0b5c423475 grep: use new update-alternatives
(From OE-Core rev: ca478f563575ff2262741821ec35d4dfbf9f4487)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:43 +01:00
Mark Hatle
2851d751a8 cpio: use new update-alternatives
(From OE-Core rev: 6dee3050a4a0c4f3cc9fec23a0bc02155d680863)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:43 +01:00
Mark Hatle
8a4a7a2619 opkg: use new update-alternatives
(From OE-Core rev: fc9c2fd512e592806b10d0273ca490c90072ff3f)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:43 +01:00
Mark Hatle
6d76d521a1 tar: use new update-alternatives
(From OE-Core rev: ed48d4b382dae08ac47bccdcb98b1e87dc6449cc)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:42 +01:00
Mark Hatle
76c08cc0d2 binutils: use new update-alternatives
(From OE-Core rev: f0ad3c8ce298ca492938e4ded2263c54213786f6)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:42 +01:00
Mark Hatle
cb2a93ee32 util-linux: use new update-alternatives
In addition to switching to the new update-alternatives, it was discovered
that the sln, shutdown, halt, reboot and related commands were never generated.
Remove these from the list.  (These appear to have been removed from util-linux
some time ago.)

(From OE-Core rev: 55c01de28a28a4cfe16d36663c190a874ef2e85d)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:42 +01:00
Mark Hatle
18b6e5ff59 psplash: use new update-alternatives
(From OE-Core rev: dc68ad07676833a2b8dba9540f35c0b70bf2fdfe)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:42 +01:00
Mark Hatle
4ca029b30f ncurses: use new update-alternatives
(From OE-Core rev: 54a92bdd0555d776efe92f7cf57a75039562556a)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:41 +01:00
Mark Hatle
07da870e5a dropbear: use new update-alternatives
(From OE-Core rev: e7164da229d8ccccb043a790b25c995a46a83c88)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:41 +01:00
Mark Hatle
3f810e2462 coreutils: use new update-alternatives
(From OE-Core rev: 4bed7f31535f16dbe1f8bbab58921f12f1696f6f)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:41 +01:00
Mark Hatle
92482cb496 busybox: use new update-alternatives
(From OE-Core rev: fbbc96aed5086f853a1179f1478ccd252af24094)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:41 +01:00
Mark Hatle
6b20156b0c openssh: use new update-alternatives
(From OE-Core rev: b417ced0573acde896332827bcc13b0f7c5bd9fe)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:40 +01:00
Mark Hatle
af3fc709c4 lrzsz: use new update-alternatives
(From OE-Core rev: df53826b5ee66bcafd7d091630b2d18477f3a672)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:40 +01:00
Mark Hatle
b607fa7658 sysvinit: use new update-alternatives
Also remove postinst and prerm which were not being used.

(From OE-Core rev: 60fd9974e5c9a0576059ebded6de7b599f9574e5)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:40 +01:00
Mark Hatle
b630ee1258 tinylogin: use BPN for alternatives
(From OE-Core rev: 60884b6bee6be7250caca2f229eda174bcefd959)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:40 +01:00
Mark Hatle
ad0f8b8673 patch: use BPN for alternatives
(From OE-Core rev: aa092530d3fdbfe6671ab6a05ecea2d71c4e11e4)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:39 +01:00
Mark Hatle
4547096a41 less: use BPN for alternatives
(From OE-Core rev: 3361ebfd61dc0d5914a506b1a06b92bd80734114)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:39 +01:00
Mark Hatle
78186993e0 mktemp: use BPN for alternatives
(From OE-Core rev: c1285844b9a46221c8e0b24ef29642bec312035b)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:39 +01:00
Mark Hatle
1a6f679d1b sed: use BPN for alternatives
(From OE-Core rev: cd059cb57efa2aad332ef2fc7f1f411afce82b73)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:39 +01:00
Mark Hatle
079f2fb981 shadow: use BPN for alternatives
(From OE-Core rev: 87d43530b434e5be139b845d6b96bbf2d885867d)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:38 +01:00
Mark Hatle
ae68cb6b00 time: use BPN for alternatives
(From OE-Core rev: 0a621679772d7996c6342ad1e99de484082d9987)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:38 +01:00
Mark Hatle
1fa4e0554c wget: use BPN for alternatives
(From OE-Core rev: 7e5c325df40012cf21cbbf9a38f4d476f62d7100)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:38 +01:00
Mark Hatle
4966bc5809 which: use BPN for alternatives
(From OE-Core rev: 3ddf0dbfe5b0dae2baa2719aa96f0bdea1fe7b80)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:38 +01:00
Mark Hatle
e4449c91fb update-alternatives.bbclass: Change from using PN to BPN
In order to better support multilib processing, switch from PN
to BPN.

(From OE-Core rev: 75f70ab534f6dfef961906fb5c252f9e5310d38f)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:37 +01:00
Mark Hatle
6ac7e9b598 update-alternatives.bbclass: Refactor the implementation
Refactor in order to:
  * Deprecate the old interfaces, but keep them for compatibility
  * Provide a new, interface -- capable of working with split packages
  * Each update-alternative will now set proper "per-file" provides

Note: this adds a warning message when the older deprecated behavior is
used.  The older behavior has been fully tested using oe-core.

(From OE-Core rev: 309117d26de6a87b16406a44a0cefcbaaf7b5d7a)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30 12:04:37 +01:00
Kang Kai
f28209d9d3 cooker.py: terminate the Parser processes
[Yocto 2142]

Force to exit HOB when hob is parsing recipes, the bitbake doesn't stop.
It hangs on function BitBakeServerConnection::terminate in file
server/process.py:
    else:
        self.procserver.join()
It is waiting for the children process quit.

In stage of parse recipes BBCooker spawns Parser processes as many as
cpu numbers. When quit the Parser processes they make their internal
Queue to call cancel_join_thread() to avoid block but don't work at
this time.
So force to terminate the Parser processes.

(Bitbake rev: bebef58b21bdff7a3ee1fa2449b7df19144f26fd)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:39:33 +01:00
Richard Purdie
fcd8021409 image.bbclass: Ensure ${S} is cleaned at the start of rootfs generation
Some image classes such as bootimg save files into ${S} as part of rootfs
generation. For correctness we should therefore clean this at the start of
image generation to ensure reproducibility.

I found this issue when some files I thought should disappear from my rootfs
would not disappear.

(From OE-Core rev: 363424cdc78cafa278008f973c2b4288297ebf8c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:28:49 +01:00
Richard Purdie
0254e8d7d9 glib-2.0: Clean up OECONF flags into one variable
Without this change, libelf was "floating" for linuxstdbase for example,
leading to build failures. This patch moves all the common options
into a common variable.

(From OE-Core rev: 382bd564d0675bded38459943ab1fe5dbc1e9ee7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:28:49 +01:00
Richard Purdie
37cf162998 libxml2/libxslt: Don't depend on ansidecl.h header
We don't DEPEND on binutils for ansidecl.h so ensure we should never
use the header. This makes builds determinstic and means something like:

bitbake binutils
bitbake libxml2 -c configure
bitbake binutils -c clean
bitbake libxml2

doen't fail to build.

(From OE-Core rev: fe6cabfb0c6f382ef6131e07437b90c2afbf5488)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:28:49 +01:00
Saul Wold
54cdbe67ef ltp: Add attr to DEPENDS list
(From OE-Core rev: a6d6432b508451d0847336dc980bc0541396e310)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:18:04 +01:00
Richard Purdie
fed063880e binutils: Drop old/stale/broken csl recipe
The patches this recipe refers to don't exist so nobody can have
been using this so lets just remove it.

(From OE-Core rev: 29916bfbbea3bb785e8e4d332848b19ebc0a3ea9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:18:04 +01:00
Martin Jansa
de0d55cd9e wpa-supplicant: don't let postinst fail when dbus-1 reload fails
* e.g. when upgrading in chroot
  Configuring wpa-supplicant.
  Reloading system message bus config: Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: Connection refused
  but that shouldn't be fatal

(From OE-Core rev: 96a1b26c62ef33f6d10fe7ac9dcf5f93c683d6e8)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:18:04 +01:00
Mark Hatle
d03e29fec2 package.bbclass: Add additional debugging for dependencies
When trying to understand why a QA wanring such as:

ERROR: QA Issue: foo rdepends on bar-dev

it is very difficult to figure out where the bar-dev dependency
comes from, since many of them are added dynamically.

This adds a debug statement that says which dependency adds an
rdepends to the system.

Also, while doing this work, it was noted that the same dependencies
were being scanned for over and over.  Instead we shorten the list
by only added to the dep list if the dependency was not already there.

(From OE-Core rev: 257b9e371143421b78a6991ef5401e564918c164)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:18:03 +01:00
Bogdan Marinescu
4f3f575a35 Updated distro-tracking-fields.inc
Updated metadata for lttng-tools.

(From OE-Core rev: fad8456ccfbc7b182465fc7f6508c004d106bfdb)

Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:18:03 +01:00
Bogdan Marinescu
f887fd6c00 lttng-tools: updated to 2.0.1
Removed patch for ARM compilation, as it seems that the upstream fixed
the ARM compilation problem in a slightly different way (tested by compiling
lttng-tools for MACHINE=qemuarm)

(From OE-Core rev: aa43a37da4f14b5a184f79b2ff43b0cd491e49af)

Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:18:03 +01:00
Bogdan Marinescu
02b91dbc79 lttng2-ust: updated to version 2.0.2
Tested with 'lttv' on core-image-lsb.

(From OE-Core rev: 871353ca368ef668750251b1d6a4d9de327f3131)

Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:18:03 +01:00
Nitin A Kamble
2f4eb4658e avahi: fix install issue
(From OE-Core rev: eb69c7f1063174e95a42cac7c83384ea9e4bec90)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:18:02 +01:00
Nitin A Kamble
bc56c0415a make-3.81: fix build with automake 1.12
(From OE-Core rev: 8dbb71a8bf33c6d2494dbbb74d3e944d788eca50)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:18:02 +01:00
Nitin A Kamble
e9e25428d4 findutils-4.2.31: fix build with automake 1.12
(From OE-Core rev: d91b315f602d60705e79381807810e20dd9bdc8d)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:18:02 +01:00
Nitin A Kamble
dfbeec647d gawk-3.1.5: fix build with automake 1.12
(From OE-Core rev: 013e837f96ea9d9daf53c497a965a021e686ba37)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:18:02 +01:00
Nitin A Kamble
58954a155e grep-2.5.1a: fix build with automake 1.12
(From OE-Core rev: addd517f17c4595fe03d9d5f0ad1d7daf86a3f39)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:18:02 +01:00
Nitin A Kamble
8939db4709 diffutils-2.8.1: fix build with automake 1.12
(From OE-Core rev: 60095f21a401aa2e9cf9841134680e1c427b4df6)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:18:01 +01:00
Nitin A Kamble
c170188511 grub-0.97: fix build with automake 1.12
(From OE-Core rev: e5a7b3af75fdc2dc2335d859faf5be2eb7f31f2e)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:18:01 +01:00
Nitin A Kamble
437f92c593 coreutils-native-6.9: fix build with automake 1.12
(From OE-Core rev: bc92089f82cae8ac5fb0ca4cd6b531e1ce5dcf5e)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:18:01 +01:00
Nitin A Kamble
04bdcbe62f gmp-4.2.1: fix build with automake 1.12
(From OE-Core rev: f48e5acc0dd3a61c80feb22698e3a7bb5986146b)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:18:01 +01:00
Nitin A Kamble
2c90a0a75b libcroco: fix build with automake 1.12
(From OE-Core rev: dda947447aee5bcf496d7bae2bf0fb6897e2e0f9)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:18:00 +01:00
Nitin A Kamble
204e2d64de libfm: fix build with automake 1.12
(From OE-Core rev: c4fea2a6cb0aa8ee5245a4bb4a9fe1f35fbe2a32)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:18:00 +01:00
Nitin A Kamble
55e24a4151 lighttpd: fix build with automake 1.12
(From OE-Core rev: 7d0a1dd058ecf14e11e6d6e58ff156b9c6b43218)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:18:00 +01:00
Nitin A Kamble
244417def8 minicom: fix build with automake 1.12
(From OE-Core rev: 8046c8285152e854e3d4fc47199bb65dbca8002e)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:17:59 +01:00
Nitin A Kamble
a23a7794f8 lrzsz: fix build with automake 1.12
(From OE-Core rev: 42d77fa2b90998d6a19e7a99d36c429e6faa5934)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:17:59 +01:00
Nitin A Kamble
133bff2ac2 findutils: fix build with automake 1.12
(From OE-Core rev: 872632691f15656f666d52a568fba443061693c0)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:17:59 +01:00
Nitin A Kamble
2a952c5687 glew: fix build with automake 1.12
(From OE-Core rev: df868f8c3c2b9c4c441747ee0b7429c0689ed246)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:17:59 +01:00
Nitin A Kamble
625d9745b9 libidn: fix build with automake 1.12
(From OE-Core rev: 45a57de50e14e42d202aef02030751b013f9eeb3)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:17:58 +01:00
Nitin A Kamble
8d63ffe927 texinfo: fix build with automake 1.12
(From OE-Core rev: 64789e3d444df7f2fb8206d73427b27bdc7bae25)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:17:58 +01:00
Nitin A Kamble
12f465d35d libcheck: fix build with automake 1.12
(From OE-Core rev: 5f2e979607d20230c61ee1a519f9b63b0eb620eb)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:17:58 +01:00
Nitin A Kamble
da1f0ef640 libmpc: fix build with automake 1.12
(From OE-Core rev: 7a667811afb3ce7178ee7050973a5c2c854405eb)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:17:58 +01:00
Nitin A Kamble
c4dde062bd systemtap: fix build with automake 1.12
(From OE-Core rev: 0ab7b586de076ae96cfa91b4f97815ea0893ef7f)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:17:57 +01:00
Nitin A Kamble
724f9ad8ce libtasn1: fix build with automake 1.12
(From OE-Core rev: 1bb75581291e72c6a61d2a937bda0696221fb1d3)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:17:57 +01:00
Nitin A Kamble
0d4d9bd61b shadow shadow-native: fix build with automake 1.12
(From OE-Core rev: dec7696b737e5921fcac0dbb346851e31a81537b)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:17:57 +01:00
Nitin A Kamble
2e45e31149 libxml2: fix build with automake 1.12
(From OE-Core rev: b126d638b7da9cc9e3c7f164e6dca3a1fce5c4ce)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:17:56 +01:00
Nitin A Kamble
85db7e794b rpm: fix build with automake 1.12
(From OE-Core rev: 8e78a88b664ffe32f182987eb0f5e5ea6345d416)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:17:56 +01:00
Nitin A Kamble
8512519bb2 popt: fix build with automake 1.12
(From OE-Core rev: 1bf680a5e8015e6245369aa23b21312c81c507cb)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:17:56 +01:00
Nitin A Kamble
05fe6c0ab9 mpfr: fix build with automake 1.12
(From OE-Core rev: 000bfb7961ad106a93be8fc98118c533bd6b690d)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:17:56 +01:00
Nitin A Kamble
fca50f021a gmp: fix build with automake 1.12
(From OE-Core rev: 902a528867292172bfb060a31767f7b5e39f40c1)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:17:55 +01:00
Jiajun Xu
cd3c0602a2 distro_tracking_fields: update information for ltp
Update information for recipe ltp 20120401

(From OE-Core rev: e1f818e0b534404897767897c167b2f5cd13ad07)

Signed-off-by: Jiajun Xu <jiajun.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:17:55 +01:00
Jiajun Xu
cfc882e2db ltp: Upgrade LTP to version 20120401
(From OE-Core rev: bbb9f831dbfcedf799021f2b0a1dd7aef3c0f928)

Signed-off-by: Jiajun Xu <jiajun.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:17:55 +01:00
Richard Purdie
ed14592700 fontconfig-native: Be clear about FILE search path
This avoids warnings from the new file checksum code.

(From OE-Core rev: 75abd412cd4294ec0bcd544630988dd2ed042ff8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:17:54 +01:00
Martin Jansa
277f18eeb2 wpa-supplicant: add wpa_supplicant.conf to CONFFILES and don't install it twice
* first we install ${WORKDIR}/wpa_supplicant.conf-sane
  install -m 600 ${WORKDIR}/wpa_supplicant.conf-sane ${D}${sysconfdir}/wpa_supplicant.conf
  and a bit later in do_install we were overwritting it with ${WORKDIR}/wpa_supplicant.conf
  install -m 644 ${WORKDIR}/wpa_supplicant.conf ${D}${sysconfdir}
* notice that this patch also changes .conf permissions from 644 back to 600

(From OE-Core rev: 583fdb62c73851b439bdf0c8e50f74073e566d5a)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:17:54 +01:00
Steffen Sledz
45e6085ed9 dropbear: fix include dependent PR generation
(From OE-Core rev: 4f08a113ff0aa2162b7f07dd44c7bcc160b8fc3e)

Signed-off-by: Steffen Sledz <sledz@dresearch-fe.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:17:54 +01:00
Robert Yang
c071fd9b85 oe/process.py: remove it since it is unused and duplicated
The meta/lib/oe/process.py is only used by oe_run and oe_popen in
meta/classes/utils.bbclass, and they will be removed, we have a better
one: bitbake/lib/bb/process.py, which can replace of it.

[YOCTO #2489]

(From OE-Core rev: d56062cbf92ef206bf06c767befacb66927a9a36)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:17:54 +01:00
Robert Yang
70caf1e1bc utils.bbclass: remove the unused oe_system
The following functions in meta/classes/utils.bbclass were not
used by anyone, and they didn't work when I tried to use them:

def oe_popen_env(d):
def oe_run(d, cmd, **kwargs):
def oe_popen(d, cmd, **kwargs):
def oe_system(d, cmd, **kwargs):

There error was:
AttributeError: type object 'str' has no attribute 'getVar'

We have bitbake/lib/bb/process.py to instead, so remove them.

[YOCTO #2489]

(From OE-Core rev: 15ad62ab1be060d8a7cdc2d28167ea3af4cfd5d5)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:17:53 +01:00
Paul Eggleton
bbd07d10e2 opkg-nogpg: add file path
There was no explicit path in FILESPATH for this recipe to allow it to
find files referred to in SRC_URI (files shared with the standard opkg
recipe). This problem may have been masked by the fetcher behaviour of
looking for files last in DL_DIR, thus if opkg has been fetched
beforehand there would have been no error.

(From OE-Core rev: 0ddf7861d36452c0fe40b4ce439a2954de507965)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:17:53 +01:00
Mihai Lindner
7f3ac86f99 sudo: fixed wrong chmod path
Placed $D between braces ${D} to be correctly expanded to the
workdir path, instead of a path relative to host rootfs.
Currently, bitbake sudo fails on host systems where sudo is not
installed.

(From OE-Core rev: 70562306a051ac93001851213441c9d5d6234517)

Signed-off-by: Mihai Lindner <mihaix.lindner@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:17:53 +01:00
Christopher Larson
6b48551ff7 bitbake.conf: add EXTERNAL_TOOLCHAIN to BB_HASHBASE_WHITELIST
(From OE-Core rev: f13aa28c879ac3e49b94d6fe1238f8b0db2a8666)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:15:14 +01:00
Richard Purdie
af16b9f59c bitbake.conf: Improve wget timeouts
The wget default is a 900 second timeout and 20 retries. This is way too long
for most of our usecases so this patch changes it to a 30 second timeout and
reduces retries from 5 to 2. We have good mirror infrastructure, this will
let us fall back to it easier.

(From OE-Core rev: 48429569b9f83fde8f9802cfd8674fa24178876c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:15:14 +01:00
Paul Eggleton
b52dfa23e1 lib/bb/fetch2: fix comments for verify_checksum
This function no longer returns a value, it raises errors instead, so
update the comments to reflect this.

(Bitbake rev: 8b61b9584a8b00378f9fd8f165dbd65dcfd3c14e)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:15:12 +01:00
Richard Purdie
e6d9af19d6 bitbake/exceptions: Handle reports from the field of exception code failures
Despite using python 2.6, there have been reports of issues where
bitbake is printing tracebacks with errors in the exception handling
code. This was masking the real error.

Since we need to do whatever we can to give the user good feedback about
errors, detect the tuple instead of namedtuple case and don't fault
in the exception handler but just give up trying to traceback any further.

In the reported cases, this gives a message the user can then understand.

(Bitbake rev: 9ec0429271e68527a55fc123dea5a1b959c6ec3b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:15:12 +01:00
Richard Purdie
0b14db4524 bitbake/utils.py: Ensure utils.which() returns full paths
If the path passed to which contains empty elements, it will search
the current working directory for the file which is correct baheviour.

Various pieces of code assume the path returned is a full path though.
This commit ensures we don't return relative paths.

(Bitbake rev: 4de24ccc10e40cc088b8515095df59f69b12715d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:15:12 +01:00
Richard Purdie
2d3ff5e6e1 bitbake/cooker: Ensure matchFile returns full pathnames
We should always be passing full pathnames around within bitbake. If
a file was referenced as a relative path to the current working
directory, it might not get passed through the abspath call and
hence the cwd would not get added as a prefix.

This change adds a second pass at ensuring we only return absolute paths.

(Bitbake rev: 72fc62ca124a24e2dbe404a3c83a49608a7c7931)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:15:11 +01:00
Liming An
f3a5ad170d Hob:fixed the issue of primary button is not an 'orange hob button'
In image detail page, the primary button should be an 'orange hob
button', there has a primary button is not, so change it.

[YOCTO #2326]

(Bitbake rev: 884a0b2d927404991b7e23d5bbfab096a5b7e849)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:15:11 +01:00
Richard Purdie
994ce7b071 BBHandler: Tweak some data store access methods to the preferred syntax
(Bitbake rev: d7ec0f90354e60c415a01429bf26746c1d63b7ad)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-25 11:15:11 +01:00
Saul Wold
6558abda67 qemu: disable vnc-jpeg compression
This is disabled by default to ensure a deterministic build, qemu
configure would sometimes detect the libjpeg and then enable this.
Since mostly qemu is used locally disable by default.

(From OE-Core rev: 0f795f81fe5ad3ef78c21a177eca90fbc8810f81)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:53:57 +01:00
Saul Wold
9180d38c47 qemu.inc: Remove mesa-xlib as PREFERRED_PROVIDER
The xserver-xorg uses and depends on mesa-dri, so we should
use the default PREFERRED_PROVIDER of libgl as mesa-dri.

This resolves the following:
ERROR: Multiple .bb files are due to be built which each provide virtual/libgl (/intel/poky/distro/meta/recipes-graphics/mesa/mesa-dri_7.11.bb /intel/poky/distro/meta/recipes-graphics/mesa/mesa-xlib_7.11.bb).
 This usually means one provides something the other doesn't and should.

(From OE-Core rev: cf8b4b95c6d84c097f4fc63662f181a59e0f9cb9)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:53:57 +01:00
Khem Raj
f83cdef08f xserver-xf86-config: Add xorg.conf for arm,mips,ppc,sh qemu machines
(From OE-Core rev: db0defb1d019a0e7c06d37dacc09842174e2f548)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:53:56 +01:00
Khem Raj
71a4bf3861 qemumachines: Enable xserver-xorg as default xserver
For qemux86 and qemux86-64 include qemu.inc after defining XSERVER

XSERVER variable is also weakly defined in task-core-x11.bb
which means we can not use ??= otherwise when building any qemu image
that uses task-core-x11.bb will get the wrong definition

So we define the XSERVER common set for qemu in qemu.inc
and as we know x86 and x86-64 qemu overrides the default
we include qemu.inc after that definition which means that
qemux86 and qemux86-64 get their own definitions and other
qemus get the definitions from qemu.inc. other non-qemu machine
will get their defintion from task which points to kdrive
as of now.

(From OE-Core rev: 62dba36166bc5faa32ba3e0664ae98b168cde6b1)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:53:56 +01:00
Laurentiu Palcu
bdb158594f Update to distro_tracking_fields.inc
The fields for the following packages were updated:

libdrm
xf86-video-vmware
xf86-input-mouse
xf86-video-vesa
xf86-video-intel
xf86-input-synaptics
mdadm
xextproto
xcmiscproto
scrnsaverproto
recordproto
xproto
kbproto
fontsproto
libxt
xtrans
libpciaccess
fontconfig
xcb-proto

(From OE-Core rev: 801bfa7edfbff1522964efab0c0ba40bbc52c601)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:47 +01:00
Laurentiu Palcu
8604b4cc98 xf86-input-synaptics: upgrade to 1.6.1
(From OE-Core rev: 0a1e60410234f0315b617593859b9deab89c2cd4)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:47 +01:00
Laurentiu Palcu
088fdc25e0 xf86-video-intel: upgrade to 2.19.0
(From OE-Core rev: e4db6a5f86b0e725c0ddbd114316d488a024b951)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:46 +01:00
Laurentiu Palcu
43eb69b0ad xf86-video-vesa: upgrade to 2.3.1
Also, licence checksum has changed because a new copyright line from
Red Hat has been added. The rest of licence file, however, is unchanged.

(From OE-Core rev: 21dd5de819251a611a8fe206b2d4bc390008c4f5)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:46 +01:00
Laurentiu Palcu
09928dba4a xf86-input-mouse: upgrade to 1.7.2
(From OE-Core rev: 44cb88f9acde3ef264a04311ff6c8c195ac9cd57)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:46 +01:00
Laurentiu Palcu
339891513c xtrans: upgrade to 1.2.7
(From OE-Core rev: c2943924d94c2418736b9e935b4b058e882b4752)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:46 +01:00
Laurentiu Palcu
2312e14fc9 libxt: upgrade to 1.1.3
(From OE-Core rev: 438705407d9af2b54c03648b23bb16411424d870)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:45 +01:00
Laurentiu Palcu
40d230b38b xcb-proto: upgrade to 1.7.1
(From OE-Core rev: 03b42a5981c98cc7c47b376ce91e46098c4b8eed)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:45 +01:00
Laurentiu Palcu
47ade5529e recordproto: upgrade to 1.14.2
(From OE-Core rev: b3d94113bb277b58dad9de021313bafa57c9780b)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:45 +01:00
Laurentiu Palcu
7a1eb3ca85 scrnsaverproto: upgrade to 1.2.2
(From OE-Core rev: 1b134f5240588c53e82effb1cc77ba91edabbcba)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:45 +01:00
Laurentiu Palcu
9dbfc172e6 xcmiscproto: upgrade to 1.2.2
(From OE-Core rev: 481bc016c4b029200c75feb5a91bd82a425810e3)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:45 +01:00
Laurentiu Palcu
f02e412738 xextproto: upgrade to 7.2.1
(From OE-Core rev: 02f6d0eede83208b48759319be2b5af99e15af59)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:44 +01:00
Laurentiu Palcu
0541ed4a48 kbproto: upgrade to 1.0.6
Also, shifted up one line the start and end lines for licence checksum
computation.

(From OE-Core rev: b34855ef05fc5373f55ea75efa617316016f9d83)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:44 +01:00
Laurentiu Palcu
87ca28b022 xproto: upgrade to 7.0.23
(From OE-Core rev: b7cd93644aaa50aac39ab23c0a2ca19415ba3989)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:44 +01:00
Laurentiu Palcu
27b6eaad43 libdrm: upgrade to 2.4.34
(From OE-Core rev: af3c8de7b6cbedddaf6bf89108879c89a52ff02e)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:44 +01:00
Laurentiu Palcu
37cceb5374 mdadm: upgrade to 3.2.5
(From OE-Core rev: 511b25110a5c0948f2be289daf0bf25f32466487)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:43 +01:00
Samuel Stirtzel
019b9e9916 valgrind: Enable valgrind for armv7
Valgrind supports the armv7 architecture, this patch allows armv7 users to build and use Valgrind

This patch was run-tested on a Gumstix Overo (armv7a cortex-a8)
* The test consisted of running valgrinds memcheck (memory leakage detection),
* and callgrind (profiling) on a Qt 4 application

(From OE-Core rev: 211ac8b39023d4998fb7d5a577b63a4960b08172)

Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:43 +01:00
Radu Moisan
52c9511922 gawk: update to 4.0.1
(From OE-Core rev: 345566c448f5cd628866cb0736d567f5a610b3db)

Signed-off-by: Radu Moisan <radu.moisan@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:43 +01:00
Marko Lindqvist
24038ec86e jpeg: update to upstream version 8d
* fix_for_automake_1.11.2.patch removed as issue resolved upstream
* Have README as license file instead of several source files that just
  refer to it

(From OE-Core rev: 330173c75426aa38919091da9ae8a9e90de9e0e2)

Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:42 +01:00
Martin Jansa
319b6f2708 glib-2.0: upgrade to 2.32.3
(From OE-Core rev: 1f73485a143f0aa6cd87636f3d36a7d1dfc40a3b)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:42 +01:00
Joshua Lock
9ab9c52cfc sanity.bbclass: check sanity at BuildStarted rather than ConfigParsed
This enables a user to use bitbake -e even when the sanity checks are
failing.

(From OE-Core rev: be317df78535120137ecaadf797e3f4dfe04119e)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:42 +01:00
Joshua Lock
9509ed472a sanity.bbclass: catch an extra exception in check_create_long_filename
The call to bb.mkdirhier() in check_create_long_filename() can fail with an
OSError, explicitly catch this and report something useful to the user.

(From OE-Core rev: b066906477eb0496a2babb3d8e87682a1b7df0de)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:41 +01:00
Joshua Lock
3898d081ab sanity.bbclass: add extra information when SSTATE_CACHE unusable
If the user does not have write permissions to SSTATE_CACHE, detected by
the check_create_long_filename() test failing with a "Permission denied"
value in strerror, then suggest they might want to use the location as
an entry in SSTATE_MIRRORS.

(From OE-Core rev: 719d44305508c75a9f2decacdff6558ca14277bb)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:41 +01:00
Joshua Lock
13a86cb33d sanity.bbclass: add newline to check_create_long_filename failure message
Each failure in the sanity message should be reported on a new line.

(From OE-Core rev: 9362702aa9dd82fed7e6d6e3cb1289521b802075)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:41 +01:00
Joshua Lock
2e12fcf3a1 sanity.bbclass: data.getVar(VAR, obj, exp) -> obj.getVar(VAR, exp)
Replace calls to data.getVar(VARIABLE, data_object, expand) to
direct calls to the getVar method the the data_object.

(From OE-Core rev: 41ee978b62a9c40f36f8ad0acef147e36edffa17)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:41 +01:00
Joshua Lock
1983045391 sanity.bbclass: copy the data store and finalise before running checks
At the ConfigParsed event the datastore has yet to be finalised and thus
appends and overrides have not been set.
To ensure the sanity check is being run against the configuration values
the user has set call finalize() on a copy of the datastore and pass that
for all sanity checks.

(From OE-Core rev: 71142172efc0f44a50216550c2b6cc3094fdc21d)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:40 +01:00
Joshua Lock
6a4c55df3c Revert "sanity.bbclass: check user can read and write to SSTATE_DIR"
This has caused problems for several users, including the Yocto Project
autobuilder. Since the message was added in order to be more user friendly
revert the change.

This reverts commit 0c0c4efbf92bcf0f8942f17c18525a4b4ed1798c.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:40 +01:00
Andreas Oberritter
e6de510025 python: bump PR of packages after update of distutils.bbclass
* Bump every recipe inheriting distutils or setuptools and
  not overriding do_install without calling distutils_do_install.

(From OE-Core rev: 61487342764684cacef765e221609fe16ffc2740)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:40 +01:00
Andreas Oberritter
dc290d16eb distutils.bbclass: don't delete .pyo files
* Deleting .pyo files causes them to get compiled on the target.
* First boot gets *really* slow for python based projects.
* No space gets saved on the target.
* The package manager doesn't know about the files and
  therefore fails to uninstall them, occupying space and causing
  uninstalled python scripts to remain executable.
* It's inconsistent, because python itself and autotools based
  projects already ship .pyo files.
* Probably .pyo files were deleted because .pyc files were
  available earlier, but this has changed and OE-Core's python
  now only generates optimized .pyo files. Deletion of .pyo was
  introduced in 2008, python/04-default-is-optimized.patch
  was introduced in 2009.

(From OE-Core rev: 25e186ad5b75bd2f93435857580bd16698e18e21)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:40 +01:00
Andreas Oberritter
3db152524f netbase: merge init script updates from upstream
* Read /proc/mounts only once.
* Support many more network filesystem types.
* Remaining differences to netbase 4.47:
  - Uses the mountvirtfs keyword instead of mountkernfs
  - Doesn't use lsb functions
  - Doesn't print a warning if /etc/network/options exists
  - Doesn't use --exclude parameter for ifup, because
    busybox doesn't support it.

(From OE-Core rev: faca42ee5249cf6aae9e53e44bb404de21dd4471)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:39 +01:00
Andreas Oberritter
b099511bd9 wpa-supplicant: fix packaging error since last commit
* wpa-passphrase has its own package, but commit
  4a4c568e25a08e9f222d723f9819582c9f895c58 broke it.

(From OE-Core rev: 7e4fcbb1ceac736c44bffc834f7e8f2b34ac4402)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:39 +01:00
Andreas Oberritter
a3976449ab libnss-mdns: fix postinst scripts
* On upgrade, postinst ocassionally returned 1, so use a
  conditional instead of &&.
* Use sed patterns in order to make it work more generally.

(From OE-Core rev: c678d4c42ed0075572c5fad17ca33773ad3f6447)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:39 +01:00
Andreas Oberritter
dd42988518 ppp: avoid host contamination
* Import patch from OE-Classic commit f7c547ede1bfc94c24f6315a23ff48a4c5b9ffaf.
* Fixes linking with libpcap (ppp filter).

(From OE-Core rev: ba1539f165470d6ee9b7b95b5067792e384e6aea)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:38 +01:00
Enrico Scholz
fce38e581f libtool: fixed parallel build related race
While building libtool, the libtool script itself will be regenerated
because OE modifies a dependency[1]. With -jX, this operation (-->
removal, creation of non-x file, 'chmod a+x') can happen at a time when
the script is going to be executed.  This can cause errors like:

| arm-linux-gnueabi-libtool: compile:  ccache arm-linux-gnueabi-gcc ...
| ...
| /bin/sh ./config.status libtool
| ...
| arm-linux-gnueabi-libtool: compile:  ccache arm-linux-gnueabi-gcc ...
| /bin/sh: ./arm-linux-gnueabi-libtool: Permission denied
| make[2]: *** [libltdl/libltdl_libltdl_la-lt__alloc.lo] Error 126

I am not sure whether the custom do_compile_prepend() is still needed.
For now only the issue above will be fixed by executing ./config.status
yet again.

[1] see 648290d5bf

(From OE-Core rev: e065c11b6066f8c1d37496b58dd853a684cd9136)

Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:38 +01:00
Xiaofeng Yan
5022c3ecd7 ncurses: Avoid occasional builling failure when having parallel processable task
ncurses failure non-gplv3 build (race issue) like the following \
error information:

| tic: error while loading shared libraries: /srv/home/pokybuild \
/yocto-autobuilder/yocto-slave/nightly-non-gpl3/build/build/tmp/\
work/x86_64-linux/ncurses-native-5.9-r8.1/ncurses-5.9/narrowc/lib\
/libtinfo.so.5: file too short
| ? tic could not build /srv/home/pokybuild/yocto-autobuilder/\
yocto-slave/nightly-non-gpl3/build/build/tmp/work/x86_64-linux/\
ncurses-native-5.9-r8.1/image/srv/home/pokybuild/yocto-autobuilder\
/yocto-slave/nightly-non-gpl3/build/build/tmp/sysroots/x86_64-linux\
/usr/share/terminfo
| make[1]: *** [install.data] Error 1

This is a race issue which is caused by
install.libs and install.data:

1) install.data needs run tic
2) tic needs libtinfo.so
3) install.libs would regenerate libtinfo.so
4) but install.data doesn't depend on install.libs, and they can run
   parallelly

So there would be errors in a very critical condition: tic is begining
to run at the same time when install.libs is generating libtinfo.so, and
this libtinfo.so is not integrity, then there would be the  above error.

Let task install.libs run before install.data for fixing this bug.

[YOCTO #2298]

(From OE-Core rev: 80e4833782edc5fbda2a7f5d003a854f127137ec)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:38 +01:00
Nitin A Kamble
76e1d4a7ac eglibc: package mtrace separately
add libc-mtrace as dependency for task-core-tools-debug

now eglibc-mtrace gets included in an sdk image and not in a non-sdk image.

This does not affect builds with uclibc.

This fixes bug: [YOCTO# 2374]

(From OE-Core rev: a2ad2870a54108027ed33e977470f5f72e0bce1b)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:37 +01:00
Robert Yang
bb4f829965 rpm 5.4.0: respect to the arch when choose the alternatives
There is a bug if we:
1) bitbake diffutils with MACHINE=crownbay
2) bitbake diffutils with MACHINE=qemux86
3) bitbake core-image-sato with MACHINE=crownbay

Then the diffutils.i586 would be installed to the crownbay's image, this
is because diffutils.i586 is newer than diffutils.core2, and rpm doesn't
respect to the arch priorities:

We have put the archs in order in _solve_dbpath:

crownbay/solvedb:core2/solvedb:i586/solvedb:all/solvedb

Fix rpm to respect to the order, for example, if it finds a pkg in both
core2/ and i586/, and the core2/ comes first, it should not use the one
in i586/ even if it's build time is newer.

Note: Don't worry about the _free(*ptr), it can check whether ptr is
NULL or not.

This is for the denzil branch, and the master branch also needs it.

[YOCTO #2360]

(From OE-Core rev: d76067ae100623dd6dd4858568b98522d1daf474)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:37 +01:00
Robert Yang
73538f548c package_rpm.bbclass: Fix incremental rpm image generation
Fix the incremental rpm image generation, it didn't work since the code
has been changed.

The btmanifest should have a ".manifest" suffix, so that it can be moved
to ${T} by rootfs_rpm.bbclass:
mv ${IMAGE_ROOTFS}/install/*.manifest ${T}/

Note: The locale pkgs would always be re-installed.

[YOCTO #2440]

(From OE-Core rev: 5149630746626c6d416f26ab9dd1c7213fcd8c50)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:37 +01:00
Paul Eggleton
66b0eceeca classes/base: add checksum file list at parse time
Connect the new fetcher file checksum code so that we get a list of the
files to be checksummed at parse time.

The file-checksums flag will not be read unless we are using a version
of BitBake that supports the function we call within it, so it is safe
to include this change even when the metadata will still be used with
older versions of BitBake.

Implements [YOCTO #2044].

(From OE-Core rev: f26065629b6397d129db930268b72164f8e5d3e4)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:37 +01:00
Christopher Larson
86d05a4299 external-sourcery-toolchain: ignore GNU_HASH issues with its packages
(From OE-Core rev: d29852ba60e7c7657ed3a4d8ac9dacfb0de416ad)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:36 +01:00
Christopher Larson
f60b4cb2f4 Rename 'external-csl' to 'external-sourcery'
This is a rename per the purchase of CodeSourcery by Mentor Graphics
Corporation, and associated naming change.

(From OE-Core rev: dead1540d769fc91a5bd171070a5c96a9f00a2c7)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:36 +01:00
Christopher Larson
844df77bcf tcmode-external-csl: preferred external-csl-toolchain's gdbserver
(From OE-Core rev: 98df23d4673f155cc807fa7c52537b299dfd5e7a)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:36 +01:00
Khem Raj
23fd086b6e gcc: Grok for callconvention-hard to enable hard float
If callconvention-hard is set then we build gcc defaulting
to hard-float ABI

(From OE-Core rev: 88dee5cf5265d3ea26fc9d471fc6155e48935dc7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:35 +01:00
Khem Raj
0fdd04febe eglibc: Add ARM hf dynamic linker support
The work is done in glibc upstream we backport
the relevant patches

(From OE-Core rev: 8df03a0b8bd92cf7b73b816dacf3e362cfce557a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:35 +01:00
Khem Raj
e108db7acc gcc-4.7: Add knowledge about arm hf dynamic loader
(From OE-Core rev: a0d9e602a778feab2201a0643fb7d555b71017b9)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-24 08:51:35 +01:00
Shane Wang
49694d650c Hob: Adjust the progress bar and set 100% only when all is done.
After parsing recipes, Hob will populate recipes and packages, which is probably
time exhaused. So, this patch is to adjust the progress bar and ensure 100% is
set if and only if all populations are done.

The patch also fixes "weird 18 second delay when parsing recipes" on build appliance.
Because Hob is doing something, but the progress bar shows 100% and wait there.

[Yocto #2341]

(Bitbake rev: 2c4a21dc8a588c8cf05549ddd9734731a46bea10)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-23 18:17:02 +01:00
Mark Hatle
799e076938 build.py: Add support for log and run filename changes
The format of the log file and run file are now selectable
using BB_LOGFMT and BB_RUNFMT, respectively.

The following values may be used:

{task} - task name
{taskfunc} - task.func or func, if task==func
{func} - function name, only available in BB_RUNFMT
{pid} - pid

The log/run files may be placed into a subdirectory that
is relative to T.

Default BB_LOGFMT is: log.{task}.{pid}
Default BB_RUNFMT is: run.{func}.{pid}

(Bitbake rev: 588da606eb81c52cb92d29041e1c67897427bfdf)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-23 18:15:24 +01:00
Mark Hatle
63aaecb057 build.py: Add additional debug messages
We now add a debug message when entering and exiting a python or
shell function.  This makes it easier to inspect a log and figure
out the run order from the logs.

(Bitbake rev: a0f554d0e722b6705844c6031fdcafa5d1a1c8a7)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-23 18:15:23 +01:00
Mark Hatle
d0de551d44 build.py: Cleanup exec_func_shell
exec_func_python and exec_func_shell are similar, but variable
usage has diverged sync the two up.  Since exec_func_python is first
use that as the guide for the later exec_func_shell variable naming.

(Bitbake rev: ccfe1a3a2419172799957676107f240badf3f062)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-23 18:15:23 +01:00
Mark Hatle
c9e38aed29 build.py: Add a log to capture task execution order
The new log.task_order contains an ordered list of the tasks as they
were executed in any given recipe.  The format of the lines is
<task> <pid>: <log file>

(Bitbake rev: 8662b43dcbd6e38a5b2ab9d6529af1fb08c146bf)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-23 18:15:23 +01:00
Robert Yang
094742bed2 replace os.popen with subprocess.Popen
Replace os.popen with subprocess.Popen since the older function would
fail (more or less) silently if the executed program cannot be found

There is a bb.process.run() which will invoke the Popen to run command,
use it for simplify the code.

For the:
p4file = os.popen("%s%s files %s" % (p4cmd, p4opt, depot))
...
for file in p4file:
    list = file.split()

in bitbake/lib/bb/fetch2/perforce.py, it should be an error in the past,
since it didn't use readline() to read the pipe, but directly used the
split() for the pipe. Use the bb.process.run would fix the problem since
bb.process.run will return strings.

More info:
http://docs.python.org/library/subprocess.html#subprocess-replacements

[YOCTO #2075]

(Bitbake rev: 8d6700255a6d4dda403c89b171a6d4a1883e5aae)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-23 11:35:11 +01:00
Robert Yang
10a0f9ed92 replace os.system with subprocess.call
Replace os.system with subprocess.call since the older function would
fail (more or less) silently if the executed program cannot be found

More info:
http://docs.python.org/library/subprocess.html#subprocess-replacements

[YOCTO #2075]

(Bitbake rev: f5b3bf115dc1ffbfb241a49cec0fc3654cb71021)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-23 11:35:11 +01:00
Enrico Scholz
358016f463 bitbake: support $BITBAKE_UI environment
Patch adds support for a $BITBAKE_UI environment variable which allows
to configure the preferred user interface. Although an '-u' option
(which will override the environment variable) exists already, it was
required to specify this option on every invocation of bitbake.

Because user interface is instanciated very early in the program it is
not possible to use bitbake.conf for setting up a default.  An
environment variable (which acts in a similar category like $PAGER or
$EDITOR) is a simple way for configuring the default.

(Bitbake rev: e3c213015953d1a0afb5ef4be59e1264990e5cee)

Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-23 11:35:11 +01:00
Paul Eggleton
8b8be74ed2 bitbake: implement checksums for local files in SRC_URI
Gathers a list of paths to have checksums calculated at parse time, and
processes these when calculating task hashes. Checksums are cached with
the file's current mtime. Thus, changing any local file in SRC_URI will
now cause the do_fetch taskhash to change, thus forcing a rebuild.

This change adds very roughly about an 8% increase in parse time (a few
seconds) and maybe a few seconds during runqueue generation, so a fairly
moderate performance hit.

Note that since paths are resolved at parse time, this will not force
a rebuild when files are introduced which would cause that resolved path
to be different - for example, where a machine-specific version of a file
was added without otherwise changing the recipe. This will need to be
handled in a future update.

Code to hook this into the signature generator was courtesy of
Richard Purdie <richard.purdie@linuxfoundation.org>.

Implements [YOCTO #2044].

(Bitbake rev: c993b7c457f8b7776e8a5dff253bfa0724bc2cae)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-23 11:35:04 +01:00
Paul Eggleton
d7b818b51f bitbake: refactor out codeparser cache into a separate class
We want to be able to reuse most this functionality for the file
checksum cache.

(Bitbake rev: 0fe3cb1438d297f90dd0fc6b26362ecbff75c76d)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-23 11:33:18 +01:00
Liming An
644b30adfb Hob: fixed the issue about the 'run image' page should have the primary bug
issues: when build a image for atom-pc, the output does not include live
image, and 'Save as template' should become the primary action on the screen

[YOCTO 2326]

(Bitbake rev: e9516c7e14d782b943cc6e6a2e5e2111edf03d8c)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-23 11:33:18 +01:00
Liming An
3ee1cfab7d Hob: fixed the line width of base image description view
As ui design, adjusted the line width for each base image description

[YOCTO 2310]

(Bitbake rev: 8bce98b23bc9cbc4da4464bfbaeb4e1a1aaca5c5)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-23 11:33:18 +01:00
Liming An
0d210ff8e8 Hob: fixed the issue about bug 'running image' workflow and related view
[YOCTO #2155]

(Bitbake rev: 5e14cb41e8ba26a3114ea2c8b8f83b271bc44b54)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-23 11:33:18 +01:00
Liming An
374ad22550 Hob: change the build failure scenario as ui design
change the top bar display in build 'issue' page

[YOCTO #2183]

(Bitbake rev: 0705d3db1ce6d0f29301e2428c990ab0d9b2860e)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-23 11:33:17 +01:00
Liming An
39a9267dee Hob: add '--select a machine--' and '--select a base image--' to GUI
[YOCTO #2175]

(Bitbake rev: 2729729012f035043fedc5098be2ec12b761166d)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-22 14:56:17 +01:00
Christopher Larson
532f96ddcc fetch2: quote/unquote url paths
This ensures we can handle things like %-encoded characters in the path
portion of urls.

(Bitbake rev: b1dbc24ebcc4e5100c32568c2c41fd982fb4bcce)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-22 14:56:16 +01:00
Dongxiao Xu
5c880fb301 Hob: Get image name internally when updating the image description
The image name shouldn't be passed from outside caller, since the image
name may not in the combobox list. Getting the name from
update_image_desc() internally.

(Bitbake rev: 6635cd7bc2a448d1324e9344100f97613f4272b5)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-22 14:56:16 +01:00
Dongxiao Xu
7690c45c71 Hob: Add filter for images listed in image combo
Define BBUI_IMAGE_WHITE_PATTERN variable to indicate which image is
allowed to be displayed in image combobox.

Define BBUI_IMAGE_BLACK_PATTERN variable to indicate which image is NOT
allowed to be displayed in image combobox.

This fixes [YOCTO #1581]

(Bitbake rev: 960461bc12945675af3081eb469f932f4a6eb1cd)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-22 14:56:16 +01:00
Shane Wang
e069e53536 Hob: reimplement the proxy page
This patch is to reimplement the proxy page in the "Advanced Settings" dialog
per the new design in https://bugzilla.yoctoproject.org/attachment.cgi?id=442
and https://bugzilla.yoctoproject.org/attachment.cgi?id=443.

[Yocto #2247]

(Bitbake rev: 911a60c09c1539a3f10c2bcdb26d40e458c31303)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-22 14:56:15 +01:00
Richard Purdie
33c4bf2096 fetch2: Also exclude urls containing wildcards from checksumming for now
Without this change, bitbake will try and checksum a wildcard which
will lead to fetch failures.

(Bitbake rev: ac53b88be58b0bed21730c0b61a8fc8e801a2f1b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-22 12:18:53 +01:00
Khem Raj
2219caa312 tune-mips64.inc: Add new tune file for mips64 big-endian
(From OE-Core rev: e6333825c3482a559a0c0499e17f8f48d3042ddf)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-21 09:59:04 +01:00
Khem Raj
0d2b369053 xserver-xorg: Fix build for mips64
mips64 N64 ABI has different size for int and pointer
which means the compiler will complain about conversions
which works fine for 32 bit since sizes are same.

amd64 is taken care of already so we take care of mips64
with this patch by understanding the difference in sizes
in compiler.h

(From OE-Core rev: de21917ba83f104a2d53941f40a9b2b8d35dce49)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-21 09:59:04 +01:00
Khem Raj
21d5cf88e5 site/sh-common: Add missing caches variables to build glib-2.32
This is on the same tone as done for other architectures

(From OE-Core rev: 7bdc3a07d3212d7fc820c77ba509e476cc7aa672)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-21 09:59:03 +01:00
Khem Raj
c141f9682c netbase: Add interface files for qemumips64 and qemush4
These files are alike other qemu machines they
help in creating a working network interface when
using qemumips64 or qemush4

(From OE-Core rev: 1e7406e4f2f93b6b4fa75716c4e901a96206be69)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-21 09:59:03 +01:00
Khem Raj
f13ef77b5d runqemu: Add qemush4 and qemumips64 knowledge
New machines need to be added and they also
have different kernel commandlines

(From OE-Core rev: 3a5432aec0faea49d2c04984cd169ceb35bba89f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-21 09:59:03 +01:00
Khem Raj
4cbc27c3e3 libc-package: Add sh4 and mips64 to arch options
needed for new architecture support

(From OE-Core rev: 75167eb890d8e4683f1e3852e3b77c67d160bea7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-21 09:59:03 +01:00
Khem Raj
9ecb454c81 eglibc-2.15: Support mips64
Add mips64 to binary locale arches
Enabling ports in addons causes wrong
machtype to be chosen for mips64 and
it always chose mips32 which is wrong
for mips64 so enable all the addons
we have and we were enabling them anyway

(From OE-Core rev: da7f9093ad7aa4188cc3d420668b0bda7d950a0f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-21 09:59:02 +01:00
Khem Raj
8bc899a1b8 kernel-arch.bbclass: Map mips64{el} to mips KARCH
(From OE-Core rev: 22ce249a814f750bc47ead9ce281fcbd63c775c8)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-21 09:59:02 +01:00
Khem Raj
efcd382596 binutils: Default to n64 when configured for mips64
Default ABI for mips64 is n64 so make it default in binutils

(From OE-Core rev: 99f859612e16d636702f9bb11825259d90e468f2)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-21 09:59:02 +01:00
Khem Raj
6174900a0e gcc-4.6, gcc-4.7: Add support for building mips64 cross compiler
Defaults to n64 ABI

(From OE-Core rev: 253f1f3aebd1a90c55efcc6d1f585204e7f3c371)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-21 09:59:02 +01:00
Khem Raj
fbfa7b75de site: Add mips64 eglibc and uclibc site files
(From OE-Core rev: 2e315d2d0de215811e8caa80b1f13fd0e9fa53e8)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-21 09:59:01 +01:00
Khem Raj
8262a6717f insane.bbclass: Add mips64{el} to known machines
(From OE-Core rev: 77dc886107e1b9cdaf6803141dc97c3ebfc22910)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-21 09:59:01 +01:00
Andrei Gherzan
f99ac52202 bb/fetch2/__init__.py: Don't try to compute checksums for directories
In this way we avoid failing the build while trying to fetch local
directories.

[YOCTO #2475]

(Bitbake rev: 39adb5741d9eee0879d3181be505400dffc60804)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-21 09:59:00 +01:00
Joshua Lock
b4c8c74a45 hob: update required pygtk to 2.22.0 and gtk+ to 2.20.0
(Bitbake rev: e67ccbbeaecd2d9f3267995c590052c6a3c5b9ce)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-20 09:24:26 +01:00
Joshua Lock
f9bffcab85 lib/bb/ui/crumbs/[package|recipe]selectionpage: include button
The indication of the included packages/recipes in the top right of the
GUI, per design, is a button which switches the Notebook to the included
tab.

(Bitbake rev: 494534cae6211d9055098562df1f35b56858f3ec)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-20 09:24:26 +01:00
Joshua Lock
f9aa3dadb1 lib/bb/ui/crumbs/imageconfiguration: fix combo boxes drop-down width
The width of the combo boxes drop down should match the combo box
itself.

(Bitbake rev: 93e66f494730d0840dd1d4f3ed924d91e6489995)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-20 09:24:25 +01:00
Joshua Lock
9e59dea411 lib/bb/ui/crumbs/hobwidget: use light text in HobIndicator
Dark text on a dark background is difficult to read. Further the design
document uses white text.

(Bitbake rev: a84304ccf06a012817a5e6495d53147efcbed960)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-20 09:24:25 +01:00
Joshua Lock
44a40f7a56 lib/bb/ui/crumbs/: replace custom HobNotebook
The custom HobNotebook widget was implemented to address perceived
deficiencies in the gtk.Notebook API.

Recent inspection reveals that the API is capable of all that Hob
requires of it and therefore maintaining a custom class to provide
similar functionality does not make sense.

Addresses [YOCTO #2276]

(Bitbake rev: e683caa9863bbb52480346669806f22173629a5e)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-20 09:24:25 +01:00
Liming An
881b81f266 Hob:add function about clicked a row to load image file for 'my images' page
[YOCTO #2238]

(Bitbake rev: b72ee3cf29a5badca3f8c1342356164270615aad)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-20 09:24:24 +01:00
Liming An
e80c1a3708 Hob: Apply a line length to consistantly display image descriptions
[YOCTO #2310]

(Bitbake rev: e9d65e06aaf20bd9f5ca02544c1bf976c6bff9be)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-20 09:24:24 +01:00
Enrico Scholz
05330d0665 knotty2: return exit code
'bitbake -u knotty2' never failed which was caused by main() not
propagating the exit code.

(Bitbake rev: 243e4ba405b88fd466bec7b4aa042d20aa6121ff)

Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-20 09:24:24 +01:00
Richard Purdie
b0b9ee29a2 bitbake/fetch: Spell out which fetcher backends support and recommend checksums
There were some hardcoded behaviours in the system for which backends
support checksums verses which backends recommend them verses which
don't recommend them.

This moves the functionality into specific fetchers and then makes the
general code generic. This cleans up the codebase and fixes some corner
cases such as trying to checksum directories returned by the git fetcher.

(Bitbake rev: ef6d268f7b8527541a7fb044cf95a973be4097f4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-20 09:24:23 +01:00
Richard Purdie
311c68bd06 bitbake/fetch: If checksums are available, check them for any file, local or remote
Currently, checksums are only checked for remote files. This changes
the check to apply to any file we have checksum data for. A mismatch
against a file is fatal but in the local case, no warnings are shown
about missing checksums.

(Bitbake rev: 80411b3acf2173a4a7d415102d16676eb98363e3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-20 09:24:23 +01:00
Richard Purdie
2f009e5b1e bitbake/fetch2: Improve visibility of checksum warnings when fetching from mirrors
When fetching from mirrors, checksum errors would get buried in the
logs. This raises their profile so a warning is logged on the console
when fetcher checksum issues are encountered, even if other attempts
are made to get the file (which may or may not have the same issue).

(Bitbake rev: d43fafd7f01b5534499b45213197d8ccececdbc4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-20 09:24:23 +01:00
Richard Purdie
d993f172e8 bitbake/fetch2: Improve stamp creation in mirror code
Under certain contitions such as local file:// mirrors of all files,
bitbake might not check checksums. This is not desirable and we should
always check the checksum where possible.

This only exception to this is the git mirror tarball case where the
checksum is unknown but we need to create the .done stamp for other
reasons. This patch preserves thta functionality but in a more specific
section of code where this doesn't interfere in normal checksums.

(Bitbake rev: 2592a43e422c06a6f6174ada562e9c8ba25e1ec1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-20 09:24:22 +01:00
Richard Purdie
2a167cb1fe bitbake/fetch2: Remove hardcoded file removal and use clean method
Under certain circumstances, bitbake could remove files which were
outside its control since it unconditionally removes ud.localpath.
In the file:// case this can point at external paths.

This patch converts it to use the clean() method which will remove
files when its safe to do so but not in the file:// case since the
file:// handler has an empty clean method. This means bitbake no
longer removes files outside its control and is generally much safer.

(Bitbake rev: 9ad1cebe2220b41da2141cdb3f0a403abb46d77c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-20 09:24:22 +01:00
Mark Hatle
f24d8df3af sstate.bbclass: Make sure we don't have an empty fixmepath file
Jason Wessel noticed that a package without any fixmepath entries would
generate a sed warning about no input files.  This patch resolves that
by ensuring that an empty fixmepath file never gets written into the
sstate archive.  Also we avoid a second message by only doing xargs if
we got input.

(From OE-Core rev: 326563d5a897ae2dba7cfd8d73579d3d979d72c8)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-18 15:25:13 +01:00
Gary Thomas
6d40b658f4 xserver-kdrive: Fix X server on PowerPC when built with GCC 4.7.x
Newer versions of GCC uncovered illegal code practice which can cause
runtime failures in the Xext/xace.c code.  This problem has been fixed upstream:
  http://cgit.freedesktop.org/xorg/xserver/patch/Xext/xace.c?id=6dae7f3792611aace1df0cca63bf50c50d93de43
  Subject: xace: Invalid reference to out-of-scope data.

Incorporate this patch into the recipe, with a PR bump.

(From OE-Core rev: 7d1bb144404de650c6e83dfd095d16a796cbcf46)

Signed-off-by: Gary Thomas <gary@mlbassoc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-18 15:25:12 +01:00
Bruce Ashfield
0312f864f7 linux-yocto: policy cleanups
Updating the meta SRCREVs to pickup configuration policy cleanups:

  49f931b meta/fishriver: remove redundant features and options
  51a6d3f meta/emenlow: remove redundant features and options
  101dd7f meta/crownbay: remove redundant features and options
  4110ecd meta/sugarbay: remove redundant features and options
  0f1304a meta/jasperforest: remove redundant features and options
  0a56a3b meta/common-pc-64: factor out SCSI CDROM option
  b71938a meta/common-pc-64: use usb-mass-storage feature
  0724f40 meta: add scsi cdrom feature
  438bca8 meta/common-pc: use usb-mass-storage feature
  c970881 meta: factor out SCSI options from the usb-mass-storage feature
  4c8135e meta: add scsi disk feature
  6872a81 meta: add scsi feature
  e706ec5 meta/sugarbay: factor out policy-related options
  8b7fbc2 meta/jasperforest: factor out policy-related options
  fea1b0e meta/fishriver: factor out policy-related options
  13bf9ab meta/emenlow: factor out policy-related options
  4748d50 meta/crownbay: factor out policy-related options
  44f592f meta/common-pc-64: factor out policy-related options
  5a3f5c7 meta/common-pc: factor out policy-related options
  1f5a10b meta/common-pc-64: use usb features
  4b87723 meta/common-pc: use usb features
  594ba05 meta: add ROOT_HUB_TT config option to the usb/ehci-hcd feature

(From OE-Core rev: b8ce5b4a8f6ea5021e284dfd486593dbcfbe0502)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-18 15:25:12 +01:00
Bruce Ashfield
08a917a25a kern-tools: update LICENSE field to GPLv2
The LICENSE field for kern-tools was generic and leads to QA warnings
from the license classs:

  "No generic license file exists for: GPL in any provider"

Updating to a specific GPL version that matches the source fixes the
warning.

(From OE-Core rev: 72101b324062642474d67ee90356489993a973d0)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-18 15:25:12 +01:00
Bruce Ashfield
62c5e6a161 linux-yocto: intel BSP config changes
Updating the meta SRCREV for the following fixes:

   1dfd60f meta/fishriver: move smp options from recipe-space
   012780a meta/emenlow: move smp options from recipe-space
   b59b1a5 meta/crownbay: move smp options from recipe-space
   74dc6ac meta/sugarbay: remove boot-live options
   a4bedcb meta/jasperforest: remove boot-live options
   4ae7b81 meta/sugarbay: use usb features
   30e7e8c meta/jasperforest: use usb features
   22d0c5d meta/fishriver: use usb features
   e262965 meta/emenlow: use usb features

(From OE-Core rev: 5bf86f42e25489ebe92d2c891ee7ee340d668e29)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-18 15:25:11 +01:00
Jiajun Xu
3e57b1d749 test-reexec: Add script to address issues when task re-execution
The script is used to address build issues when tasks of different
recipes are re-executed. The script goes through all available recipes
and their tasks. The test results are saved in ./reexeclogs. Force build
logs are saved with prefix "force". Build failure logs are saved with
prefix "failed".

[YOCTO #2123]

(From OE-Core rev: 6258a11f22103d68d02e329c2e7fb198202cc6ef)

Signed-off-by: Jiajun Xu <jiajun.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-18 15:25:11 +01:00
Lianhao Lu
f3c07ace4b multilib.bbclass: Added multilib specific package QA.
Added a new PACKAGEFUNCS function to check the multilib packages'
dependency.

(From OE-Core rev: f193729cdf0f3eccf96a8ce7bf5f599eca89a0d0)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-18 15:25:11 +01:00
Lianhao Lu
0b2bbdaab1 multilib.conf: Added multilib support for kmod.
(From OE-Core rev: 41ec6c1eb6998de6c1fd332510c1d71ba58f1b2c)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-18 15:25:11 +01:00
Lianhao Lu
8de572f95a (libc-)package.bbclass: Added MLPREFIX to locale packages.
Added multilib prefix to the locale related package names/dependencies.

(From OE-Core rev: a52f7cf2cc90d918e3250c410995dcc1f3bfd5ee)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-18 15:25:10 +01:00
Koen Kooi
b7c1ac8690 Revert "kmod: Use base_libdir for installing libkmod"
The commit breaks pkgconfig and after discussing it with the kmod and udev maintainers the conclusion was reached that putting the libraries in /lib instead of /usr/lib is not supported.

This reverts commit 6b74f2461735272bd950a4f060dab6e778a36f92.

(From OE-Core rev: 7163ebd92a799b8f000b2b6f303b20de468b5f90)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-17 21:13:11 +01:00
Martin Jansa
64a595286d xserver-xorg-lite: disable xmlto like full xserver-xorg does
* xmlto-native is unusable (see YOCTO #2416
  xmlto/xsltproc stylesheets cannot be found even when they are installed in sysroot)

* fails like this:
| make[2]: Entering directory `/OE/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/xserver-xorg-lite/xserver-xorg-lite-2_1.11.2-r2/xorg-server-1.11.2/doc'
| /OE/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/bin/xmlto   xhtml-nochunks Xserver-spec.xml
| /OE/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/bin/xmlto   xhtml-nochunks Xinput.xml
| xmlto: /OE/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/xserver-xorg-lite/xserver-xorg-lite-2_1.11.2-r2/xorg-server-1.11.2/doc/Xinput.xml does not validate (status 3)
| xmlto: Fix document syntax or use --skip-validation option
| /OE/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/xserver-xorg-lite/xserver-xorg-lite-2_1.11.2-r2/xorg-server-1.11.2/doc/Xinput.xml:3: warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
|                    "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
|                                                                             ^
| /OE/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/xserver-xorg-lite/xserver-xorg-lite-2_1.11.2-r2/xorg-server-1.11.2/doc/Xinput.xml:40: parser error : Entity 'ldquo' not defined
| btaining a copy of this software and associated documentation files (the &ldquo;
|                                                                                ^
| /OE/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/xserver-xorg-lite/xserver-xorg-lite-2_1.11.2-r2/xorg-server-1.11.2/doc/Xinput.xml:40: parser error : Entity 'rdquo' not defined
|  of this software and associated documentation files (the &ldquo;Software&rdquo;
|                                                                                ^
| /OE/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/xserver-xorg-lite/xserver-xorg-lite-2_1.11.2-r2/xorg-server-1.11.2/doc/Xinput.xml:42: parser error : Entity 'ldquo' not defined
| btaining a copy of this software and associated documentation files (the &ldquo;
|                                                                                ^
| /OE/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/xserver-xorg-lite/xserver-xorg-lite-2_1.11.2-r2/xorg-server-1.11.2/doc/Xinput.xml:42: parser error : Entity 'rdquo' not defined
|  of this software and associated documentation files (the &ldquo;Software&rdquo;
|                                                                                ^
| warning: failed to load external entity "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
| validity error : Could not load the external subset "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
| Document /OE/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/xserver-xorg-lite/xserver-xorg-lite-2_1.11.2-r2/xorg-server-1.11.2/doc/Xinput.xml does not validate
| xmlto: /OE/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/xserver-xorg-lite/xserver-xorg-lite-2_1.11.2-r2/xorg-server-1.11.2/doc/Xserver-spec.xml does not validate (status 3)
| xmlto: Fix document syntax or use --skip-validation option
| make[2]: *** [Xinput.html] Error 13
| make[2]: *** Waiting for unfinished jobs....
| /OE/shr-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/xserver-xorg-lite/xserver-xorg-lite-2_1.11.2-r2/xorg-server-1.11.2/doc/Xserver-spec.xml:4: warning: failed to load external entity "/xserver/doc/xml/xserver.ent"
|  <!ENTITY % defs SYSTEM "/xserver/doc/xml/xserver.ent"> %defs;
|                                                               ^
| Entity: line 1:
|  %defs;
|        ^

(From OE-Core rev: e8c61491cdd28caa51b567c6ce40155504f9eadb)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-17 21:13:10 +01:00
Joshua Lock
c2df43b5db sanity.bbclass: check user can read and write to SSTATE_DIR
The user needs read and write permissions to SSTATE_DIR, check
whether they have sufficient permissions and if not recommend
use of SSTATE_MIRRORS.

(From OE-Core rev: 0c0c4efbf92bcf0f8942f17c18525a4b4ed1798c)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-17 21:13:10 +01:00
Alexandru DAMIAN
cedfe1d50d xf86-video-vmware: update package to 12.0.2
This patch updates the package version for the vmware xorg driver
to 12.0.2, following upstream. No other changes made beside updating
the checksums.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-17 21:13:10 +01:00
Laurentiu Palcu
a97b9cba5a gnupg: Update to upstream version 2.0.19
(From OE-Core rev: ab3d5b40aadfe23282d35ebe3b777e3cc28583f7)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-17 21:13:09 +01:00
Bogdan Marinescu
3b481ccb59 gnutls: update to 2.12.19
Tested with curl in qemux86/core-image-lsb.

(From OE-Core rev: 041e4ef362921db606840c6de936a89975c818be)

Signed-off-by: Bogdan Marinescu <bogdan.a.marinescu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-17 21:13:09 +01:00
Xiaofeng Yan
9477419d52 archiver.bbclass: Add two default set for avoiding error when missing assignment
Add two default set(SOURCE_ARCHIVE_LOG_WITH_SCRIPTS, \
SOURCE_ARCHIVE_PACKAGE_TYPE) to archiver.bbclass for avoiding \
building error when forgetting to assign to them.

(From OE-Core rev: 5bda8f33b6763fb519543d0f9e35c970a31d39b8)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-17 21:13:09 +01:00
Joshua Lock
441c1f8faa meta/classes/sstate.bbclass: ensure sstate files have group R/W
In order to make sharing sstate files easier chmod them with 0664 permissions	so that they are readable and writable by the user and any other members of 	their group.

(From OE-Core rev: dae9ad8a0ba0343e3083694cdcb20f0d02927ad0)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-17 21:13:08 +01:00
Christopher Larson
6c0c7bb0dc kernel.bbclass: add deploy link to KERNEL_IMAGETYPE
It's common to provide a non-machine-suffixed link in DEPLOY_DIR_IMAGE, so
let's be consistent and do so here as well.

(From OE-Core rev: c1c8d2f3cffc540380c0a5fcdda48d64cbec333a)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-17 21:13:08 +01:00
Christopher Larson
0c7720027b oe.types: give the regex type more sane semantics
Currently, if a variable is unset or has an empty value, the regex type
will return a match object which always matches. Not all variable types
will necessarily have the same behavior for handling defaults. I believe
that returning a match object which matches nothing when a variable is
unset is superior to returning one which matches anything, and the user
can always explicitly request anything via '.*', if that's what they
want.

This constructs a null pattern object which will never match, and uses
it when encountering an unset or empty variable (currently, these two
things are one and the same, as maketype is handling the default. we may
well want to shift that logic into the individual types, giving them
more control over default behavior, but currently the behavior is at
least relatively consistent -- no difference between unset and empty
variables).

(From OE-Core rev: dc7e4a79d9a1884b4c5705ef3173613958204b50)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-17 21:13:08 +01:00
Christopher Larson
caee06405f csl-versions: fix bb.process.CmdError reference
(From OE-Core rev: 3c18344e8a6a4a0b7aad1d1322d02ab8accc9db1)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-17 21:13:08 +01:00
Saul Wold
8da5fa8ed6 xinetd: Update to 2.3.15
(From OE-Core rev: 17d7f2a9ee4c56bc697f05a8e703ddb02c262d99)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-17 21:13:07 +01:00
Saul Wold
d4e2656615 poky.conf: Change WARNS -> ERRORS
A major effort was completed as part of 1.2 to fix many WARNING
messages, change the level of those fixed areas to ERROR so we
do not backslide on our quality level

Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-05-16 07:35:20 +01:00
Andrei Gherzan
4910f28255 fotowall: Add #include ui_wizard.h to ExportWizard.cpp
App/ExportWizard.cpp depends on wizard.h which depends on ui_wizard. The last one
should be already generated before compiling ExportWizard.cpp.

[YOCTO #2297]

(From OE-Core rev: 2cf6e7cf81c0b864b5d51be60094a6eb3e584383)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-16 07:34:28 +01:00
Marko Lindqvist
120e29504c expat: update to upstream version 2.1.0
(From OE-Core rev: 445f2721f92bae4a9ae86e13f14775e924dc7f84)

Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-16 07:34:28 +01:00
Khem Raj
961db45af2 classes/mirrors.bbclass: Point snapshot.debian.org mirror to working location
If you point to snapshot.debian.net/archive/pool then it will fetch
you a html page which will end up in corrupt download. The locations
have changed for archives and here we point the mirror to right
location.

(From OE-Core rev: 15e8aa4cd773022b36a66f70e4f6436289f3d1bc)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-16 07:34:27 +01:00
Richard Purdie
f3ba3cb6af gdk-pixbuf: Fix lsb builds where dependency may be missing
We turn on the xlib depdendency for linuxstdbase builds but
were missing the dependency on libx11. This adds the missing
dependency.

(From OE-Core rev: 89c3eb5247d9d15f0beaf397d2aa5332007f229a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-15 19:44:37 +01:00
Peter Seebach
9f930c5852 tcmode-external-csl.inc: specify the path you couldn't find
While misconfiguring toolchains, I noticed that one of the
diagnostic messages gave me a little less information than I'd
like about what I'd done wrong.  Displaying the glob pattern
that couldn't be matched turns out to make it a lot easier to
figure out what you did wrong.  (Answer: Not enough coffee.)

(From OE-Core rev: 84d8b8846556cee191afb93016a2c38df8aaa7ba)

Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-15 19:44:37 +01:00
Peter Seebach
fd4516c2bf tcmode-external-csl.inc: Allow for overrides
Wind River uses binary toolchains provided by Code Sourcery, but which
have different values for a couple of the preset variables than the
generic toolchains the external-csl toolchain feature supports.  If
these values were ?= assignments, we could just assign values to them
and share the code, rather than keeping modified copies.

(From OE-Core rev: f3c50743917974f0eeab6d9eefc2e7b572a8a787)

Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-15 19:44:36 +01:00
Mark Hatle
75fcc7c806 sstate.bbclass: Optimize the generation and install path fixups
The fixmepath file that is generated contains a list of all of the files
that need their paths fixed.  In the previous version the fixmepath was
generated to include all of the files that sed may have changed.  In the
new version, we first grep the files to see if they contain a path that
needs to be changed, only then do we perform the sed operation on those files.

This results in a modest performance increate in the creation of the sstate
file.  The following numbers include the do_package and do_populate_sysroot
tasks on the perl recipe.

Before the change:
real    4m23.018s
user    1m57.067s
sys     1m33.327s

After the change:
real    4m13.083s
user    1m54.062s
sys     1m26.064s

However, a more significnt performance gain is felt during the
extraction/install of sstate cache files, as the fixmepaths file now has a
significantly smaller list of files to modify.

Before the change:
real    0m39.798s
user    0m11.158s
sys     0m12.642s

After the change:
real    0m25.511s
user    0m8.408s
sys     0m5.077s

(All numbers above were recorded with a cold filesystem cache on a machine
with 12 GB of ram.)

(From OE-Core rev: 46067264bedeff8248a2b2441733420fe6651f84)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-15 19:06:06 +01:00
Jason Wessel
d09e4df16b bitbake.conf: Add CCACHE_DIR to BB_HASHBASE_WHITELIST
The location of the ccache should not affect the sum in the sstate
files.

The end user should be free to use an external ccache via defining
CCACHE_DIR to a new value in local.conf or using the default per
package local ccache in the temp directory.

(From OE-Core rev: 8d49d92fc2e581820e410c6a4dceb30911d949e0)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-15 19:06:06 +01:00
Christopher Larson
e50ecfbb8c tcmode-external-csl: handle TUNE_PKGARCH=core2
(From OE-Core rev: 01dea384924293d0f99723073277bf6b1f4c7976)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-15 19:06:06 +01:00
Christopher Larson
7cf5fcefd3 tcmode-external-csl: avoid hardcoding a list of ia32 archs
(From OE-Core rev: 166a3f79d2538f40fb150c90b0f8e28987db8daa)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-15 19:06:05 +01:00
Christopher Larson
ee245bd77f tcmode-external-csl: drop unnecessary cppflags/ldflags
(From OE-Core rev: fdbc2290cb4b786cb0135daa500be5072e270cd0)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-15 19:06:05 +01:00
Richard Purdie
cf0db01c55 gdk-pixbuf: Allow empty -xlib package
There are things that depend on the -xlib package. There are two
possible ways to fix this, either recommend them instead of depending
on them, or allow the package to be empty. I'm doing the latter
since its a bit cleaner and less invasive.

This library is a bit pointless which is why there is little point
in adding the x dependency in the non-lsb case. If it becomes widly
used we can rethink this.

(From OE-Core rev: 7d49da7389b5bb0e74d9000b002ebf0bc554e85b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-15 18:51:13 +01:00
Peter Seebach
441623224b runqemu: replace bashism with working shell idiom
The =~ operator is not one of my favorites, not just due to portability
issues, but because it's not well known, and a lot of people might
not expect a regex operator.

The canonical shell idiom for this is to use case with alternation
and wildcards.  As a side note, if you are matching anything containing
core-image-sato, you don't need to also check for core-image-sato-sdk.

(From OE-Core rev: 716ae8dbd1fb29292c9fca0f59d3807a54508e87)

Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-15 18:51:13 +01:00
Darren Hart
389de8a24f ofono: Add python-pygobject to ofono-tests package DEPENDS
Some of the ofono-tests python scripts, such as test-modem and
receive-sms (22 in total) import gobject. Make the ofono-tests package
depend on python-pygobject.

Tested on the meta-intel fri2 BSP in a core-image-sato image. Assorted
ofono tests run correctly.

(From OE-Core rev: 30708f1b5bc3844e080ef863fdd22446700ba0b1)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-15 18:51:12 +01:00
Paul Eggleton
12b4543ac9 classes/rootfs_*: fix splitting package dependency strings
If a + character appears in a version specification within the list of
package dependencies, the version will not be removed from the list in
list_package_depends/recommends leading to garbage appearing in the
dependency graphs generated by buildhistory. To avoid any future
problems due to unusual characters appearing in versions, change the
regex to match almost any character.

Fixes [YOCTO #2451].

(From OE-Core rev: 36d1717e2ad4ca1620ee9f01b524b5ff2f499b26)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-13 20:09:56 +01:00
Joshua Lock
63ccc3f266 lib/bb/siggen.py: ensure dumped signatures have group R/W
We anticipate signatures being shared amongst peers in a group so ensure
they have rw-rw-r-- permissions to facilitate this.

(Bitbake rev: e4716f316152cafabebcefec7b387edeb02ad3eb)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-13 20:09:54 +01:00
Joshua Lock
fb7fa0159e lib/bb/siggen: use open() rather than the file constructor
The Python documentation states:
 "When opening a file, it’s preferable to use open() instead of invoking
the file constructor directly." [1]

Further in Python 3 direct use of the file constructor is no longer
possible.

1. http://docs.python.org/library/functions.html#open

(Bitbake rev: 759f953e29a7131614e5b1f0312edf2b17523675)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-13 20:09:53 +01:00
Richard Purdie
09b231deb1 bitbake/tests: Add test of the git fetcher
(Bitbake rev: 4dd2655caef1003b51c0600397a91f1c9526a67f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-13 20:09:53 +01:00
Richard Purdie
36462d5927 bitbake/fetch2/git: Set a default for the GITDIR variable
(Bitbake rev: 1a0cdc65812f1f12bf4bbea6540a3aaf0f81b4f7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-13 20:09:53 +01:00
Richard Purdie
279d0afd6e bitbake/fetch2/git: Don't set the branch name to None, that makes no sense
With floating revisions and no specified branch, the fetcher could fail
with some obtuse errors. This was due to the branch name being set to None
which makes no sense. This patch reworks some conditions to avoid this.

(Bitbake rev: 740c58d43cfb1445dd126e4827bb70ce988ca107)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-13 20:09:52 +01:00
Richard Purdie
d93e43a126 gdk-pixbuf: Drop unneeded RPROVIDES
(From OE-Core rev: cab85fd0b481cdbf36477348de75352be3f38ca2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-12 11:23:35 +01:00
Richard Purdie
c73779d150 package.bbclass: Drop dubious use of packages[0] from do_split_packages and do_split_locales
As the comment says, using packages[0] is rather broken and can be incorrect,
as demonstrated by the recent gdk-pixbuf change. Replacing it with PN is
a bit more correct and more likely to do what was originally intended
by this function.

(From OE-Core rev: 5d0144fe6bd1febc2d1e651bbcff891c80f20b88)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-12 11:23:35 +01:00
Richard Purdie
8da9bbfc43 oe-buildenv-internal: Fix BITBAKEDIR changes to work with existing autobuilder scritpts
The BITBAKEDIR change does not work well when the script is sourced from another script
since $2 may be unrelated. This change adds the logic onto the BDIR conditional and
which more external scripts would set, hence avoiding the problem.

(From OE-Core rev: ec8fbe0d1870285a4a972ddcfe83aa63d720cb80)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-12 08:43:15 +01:00
Khem Raj
e63b1791cd xserver-xorg: Fix build on powerpc
(From OE-Core rev: 8a11f42d3ed526fae0c0bb050d7d0519904591b4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-11 23:25:10 +01:00
Philip Balister
350a459dc3 Add option to oe-buildenv-internal script to change bitbake location.
Having bitbake inside the oe-core is annoying to some people. This commit
adds a second option to the oe-init-build-env script.

Run like this:

. ./oe-init-build-env ../build ../bitbake

for example. Without the second option, the old behavior is preserved.

(From OE-Core rev: 45510a0dd7a9321c29c5b21ac4053192f7ab9ad5)

Signed-off-by: Philip Balister <philip@balister.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-11 23:24:03 +01:00
Bruce Ashfield
c08ee52519 kernel-yocto: export GUILT_BASE to devshell
One of the patch backends to linux-yocto is guilt, which normally
tracks patches under .git. But .git isn't something that can be
checked into a SCM and repeated. So it has been moved under meta/patches
and committed to the meta branch.

If devshell is used, GUILT_BASE isn't set, so patch manipulations will
fail. We export GUILT_BASE and point it at the meta directory when
devshell is invoked for linux-yocto.

(From OE-Core rev: 10546e42a0db6a9585488536e29759239ef6e73b)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-11 23:23:31 +01:00
Richard Purdie
a246af9bf7 package.bbclass: Drop EXPORT_FUNCTIONS use against mapping_rename_hook
The usage of this function renaming and it being called using
bb.build.exec_func() causes needless indirection loops, confusing log
files and seems generally pointless.

This simplification makes the process much simpler and faster. I can't
come up with a good reason why the export_functions functionality is
needed for this function.

(From OE-Core rev: 74daad03ca29a03b0005f7d2b90a0347d5b583a5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-11 18:03:31 +01:00
Jason Wessel
a50af4d540 .gitignore: add /bitbake to the ignore list for external distributions
External distributions based on the oe-core will typically include
bitbake in the top level directory.  The idea is to make it easy
for external distributions to easily assemble a distribution
with a pristine version of oe-core, add avoid the git untracked messages:

 # Untracked files:
 #   (use "git add <file>..." to include in what will be committed)
 #
 #       bitbake/

[RP: remove leading slash]
(From OE-Core rev: 9cd30beba77497288eeb2545920bc23f2a77cf16)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-11 18:00:28 +01:00
Andreas Oberritter
78165633b3 e2fsprogs: fix packaging error for libext2fs
* libext2fs is located in base_libdir, not libdir

(From OE-Core rev: 683bc278d8695ecf4c8658ab39266279c6bf26d4)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-11 18:00:27 +01:00
Mark Hatle
b85bbc52d3 sstate.bbclass: Improve sstate_installpkg performance
In a pathological case, lots of files to process, the sstate_installpkg
performance was very poor.  It interated over each file and ran 3
individual sed commands per file.  Changing this to keep iterating
but running only a single command took about 1/3 time time.

However, when looking at the corresponding sstate_hardcode_path
function, it was clear we could optimize this further.

Using the same encoding logic to specify only the minimumal sed
operation necessary, and using xargs to avoid the os.system call the
install step was able to be performed in 13% of the original time.

Example timing numbers for perl:

3m7s original code
1m20s single sed, but interating
0m26s using xargs and limited sed

(From OE-Core rev: d9f655753fbdc8cbd8e705577430fed4f23732b3)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-11 18:00:27 +01:00
Xiaofeng Yan
31122b03bf gdk-pixbuf: Add --with-x11 when building lsb image
LSB Test Suite complains "No library libgdk_pixbuf_xlib-2.0.so.0" \
because of having "--without-x11" for gdk-pixbuf_2.24.1.bb.
Use the linuxstdbase override and also make it conditional on x11 \
being in DISTRO_FEATURES for passing lsb test.
Split libgdk_pixbuf_xlib to a single package.

(From OE-Core rev: 4cb21630cf87e6cc9a062f1c2be9fea25d3e218a)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-11 18:00:27 +01:00
Xiaofeng Yan
f755582792 task-core-lsb: Add libgdk-pixbuf-xlib to core-image-lsb
LSB Test Suite complains "No library libgdk_pixbuf_xlib-2.0.so.0" \
which are created by gdk-pixbuf_2.24.1.bb.
So add this library to core-image-lsb for passing lsb test.

[RP: Fix whitespace]
(From OE-Core rev: e79f19ef4fb59d6dc14ea139d4e4b132add80842)

Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-11 18:00:27 +01:00
Nitin A Kamble
95be1d650f eglibc: fix build with poky-tiny distro
This fixes bug [YOCTO #2443]

The prototype of findidx() has changed, but the code in xregex.c is
still using the old prototype. This issue stayed hidden because this
code only gets excercised when OPTION_POSIX_REGEXP_GLIBC is disabled
in the eglibc configuration.
  See the patch for further information.

(From OE-Core rev: 8691038efb0aca4a2cd61fce0c53d10092e48b75)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-11 17:50:50 +01:00
Christopher Larson
49afb622c9 typecheck.bbclass: update per current variable typing code
(From OE-Core rev: 13fcda4b158ce944d64b22bd5b63ce0f51faad67)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-11 17:50:50 +01:00
Khem Raj
539849c3da uclibc.inc: uclibc rtld does support GNU_HASH
(From OE-Core rev: a4b74a8244e8b55075082e6d5a59f35f8e437e9d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-11 17:50:50 +01:00
Saul Wold
2e1974d774 eglibc: Add patch to fix /var installation location
This address the packaging issues since it's installed in the wrong place
ERROR: For recipe eglibc-nativesdk, the following files/directories were installed but not shipped in any package:
ERROR:   /var
ERROR:   /var/db
ERROR:   /var/db/Makefile

(From OE-Core rev: 22a2297c712d3b3ca0335197943483218c92ef3e)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-11 17:50:50 +01:00
Peter Seebach
b88a0e5876 sanity.bbclass: Detect empty $PATH components too
Empty components in $PATH have the same effect as a . in $PATH,
and are a common side-effect of inserting a misspelled or unset
shell variable in $PATH.

(From OE-Core rev: ac4201b714c83c614113bfa735d0a2fc6f64db99)

Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-11 17:50:49 +01:00
Mark Hatle
4ba6a86632 blacklist.bbclass: Refactor, use PNBLACKLIST[pn]
Revise the handling from ANGSTROM_BLACKLIST to PNBLACKLIST[pn].

Refactor the code to eliminate references to the distribution and recipe
name in the message.

Change the skipPackage message message from:

ERROR: <recipe> was skipped: <distro> DOES NOT support <recipe> because <reason>

to:

ERROR: <recipe> was skipped: Recipe is blacklisted: <reason>

(From OE-Core rev: 0893457465e184550906844fbab2dec397201835)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-11 17:50:49 +01:00
Mark Hatle
866424804e blacklist: fix typo in name
(From OE-Core rev: 02a5fe21cad2ec29268de7f3a556bb827f726998)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>

Import directly from meta-openembedded commit: 	a63c374cdc785ade69d2998978d08280e671dc1f

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-11 17:50:49 +01:00
Saul Wold
710f12e1cd h264_qpel_mmx.patch: fix Upstream-Status tag
(From OE-Core rev: 1410f735bca5d1ad2ad1c75fa17288d223d078a0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-11 17:50:49 +01:00
Richard Purdie
59ca57cd23 bitbake/runqueue: Drop check_stamp_fn, it's obsolete and should not be used
This function was used by old code such as packaged staging but is thankfully
obsolete now and replaced with better mechanisms. Its time to remove it and
the horrible internal only variables associated with it.

(Bitbake rev: 2995b8d551e0532eca20f8862730acd062c608ad)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-11 11:54:27 +01:00
Richard Purdie
be4f8e368c bitbake/runqueue: Drop check_stamps function, it is obsolete and unused
This was originally used to check the consistency of the stamps in one function
call. This turns out to be inefficient, unnecessary and if it were necessary,
check_stamp_task() could be called in a loop. The function has been unmodified
for a while and likely contains bugs. Its best simply removed.

(Bitbake rev: 728ffde1bd69b880d48fe8523b1616956d13616e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-11 11:54:26 +01:00
Richard Purdie
d48d8aa1e7 bitbake/runqueue: Fix 'full' stamp checking to be more efficient and cache results
This should fix issues where bitbake would seemingly lock up when checking
certain configurations of stampfiles.

The cache is kept within the runqueue since that feels like the right
place to associate this cache data.

(Bitbake rev: e95755c4931b26d9f8102ed3652dff969145cfc9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-11 11:54:26 +01:00
Christopher Larson
4a2147f54f runqueue: drop unnecessary keys() in runqueue_process_waitpid
(Bitbake rev: d03dc07dea2f4e594fdbe4abe618670fe628a7c9)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-11 11:54:26 +01:00
Christopher Larson
e2c58b40d1 runqueue: handle task exit due to signal/stop
- for a normal exit, use WEXITSTATUS, rather than manually shifting
- for exit via signal, set the exit code to 128+N, per shell convention
- if a process was stopped, return and don't handle it, as the process can yet
  be continued

This should fix the case where bitbake says a task failed with an exit code of
0 (we assumed failure based on the overall status, but didn't pass all the
information along to task_fail).

(Bitbake rev: 84ea614bc56d35a414eb5bf5658891b340bfc569)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-11 11:54:26 +01:00
Liming An
6841abd172 Hob: change the workflow about click 'Run Image' to run directly after builded a qemu image
[YOCTO #2155]

(Bitbake rev: d8a1fc4613ce1d6c1d0e3dad53d7af15b2011fd5)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-09 21:56:47 +01:00
Liming An
71b277acb1 Hob: add group number show and 'bold' visible effect for Package view
as ui design, add number of packages for each group, and make the
text font to 'bold' when row be selected

[YOCTO #2195]

(Bitbake rev: 5812176a679a39a4d096134c871c3d24a7e505ea)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-09 21:56:46 +01:00
Liming An
a75562aa8b Hob: add original url show function with the tooltip hyperlink for user
When case about No browser, such as running in 'Build Appliance', user can't open
the hyper link, so add this work around for user. (Checking the browser is avaiable
or not is hard by different system and browser type)

[YOCTO #2340]

(Bitbake rev: 02cc701869bceb2d0e11fe3cf51fb0582cda01b0)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-09 21:56:46 +01:00
Liming An
cb9be92350 Hob: change the refresh icon speed to make it view clear
Because the arrow icon refresh so fast as the go backward by illusion, so adjust it slow.

[YOCTO #2335]

(Bitbake rev: ac4a8885fafdc0d1e79831334ead9a8ddb6e2472)

Signed-off-by: Liming An <limingx.l.an@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-09 21:56:46 +01:00
Saul Wold
54a1cf230b eglibc: Add patch to fix /var installation location
This address the packaging issues since it's installed in the wrong place
ERROR: For recipe eglibc-nativesdk, the following files/directories were installed but not shipped in any package:
ERROR:   /var
ERROR:   /var/db
ERROR:   /var/db/Makefile

(From OE-Core rev: 910452727fc277c1caec7612b36c37b58d845350)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-09 21:42:52 +01:00
Dongxiao Xu
9e2638240d libc-package.bbclass: Add MLPREFIX while dynamically set RDEPENDS
We need to add MLPREFIX when set RDEPENDS by setVar() function.

(From OE-Core rev: 9407895c88e46490d0ef9bb185f73466e7204c15)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-09 21:42:52 +01:00
Ting Liu
c77298120c image_types.bbclass: redefine EXTRA_IMAGECMD_jffs2 to leverage siteinfo
(From OE-Core rev: 7c803cea58737ea0abc62cd21c3813d955f07224)

Signed-off-by: Ting Liu <b28495@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-09 21:42:52 +01:00
Eric Bénard
3c97806c29 zlib: upgrade to 1.2.7
1.2.6 is no more fetchable and 1.2.7 fix some bugs, full changelog is
available here : http://zlib.net/ChangeLog.txt

(From OE-Core rev: 2f071e32128d8c022277c8af72dae47f60cf212b)

Signed-off-by: Eric Bénard <eric@eukrea.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-09 21:42:52 +01:00
Nitin A Kamble
3eff636ee8 guile: upgrade from 2.0.3 to 2.0.5
(From OE-Core rev: 29afcb7ad976db62f9a46abf305a47a24a99dbda)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-09 21:42:51 +01:00
Khem Raj
1e6c1169fe openssl: Fix build for mips64(el)
(From OE-Core rev: b2f89bd7bf3ae86b7db8cbef4b103d61cb68a218)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-09 21:42:51 +01:00
Peter Seebach
36784da878 sanity.bbclass: Implement initial toolchain sanity checks
This introduces a sanity check for the toolchain, which verifies
each tuning (including any multilibs), producing meaningful diagnostics
for problems, and also provides some higher-level tuning features.

The TUNEVALID and TUNECONFLICT/TUNECONFLICTS settings were not
implemented.  Listed one or two missing features in TUNEVALID,
also (in a previous patch) fixed the references to
features which didn't exist.

This patch also provides a whitelisting mechanism (which is completely
unused) to allow vendors providing prebuilt toolchain components to
restrict tunings to those based on or compatible with a particular ABI.

(From OE-Core rev: 2a91ff0ba0d587c516a5a972553280364853faa4)

Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-09 21:42:51 +01:00
Otavio Salvador
87b6197d1d qt4-graphics-system: set graphic system in profile instead of X11 session
To allow the use of Qt applications started manually to use the
configured graphics system the setting needs to be available in user
environment. This moves the setting to /etc/profile.d ensuring it is
set and available. This allow the removal of x11-common as dependency.

(From OE-Core rev: 3804784b6200f82f5d8d6f533ce5e1a36ee2aeac)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-09 21:42:50 +01:00
Khem Raj
f92f71c471 libatomics-ops: Make it build for SH4
(From OE-Core rev: 0023aa21687287754c972c5e8edd527822e4e7c0)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-09 21:42:50 +01:00
Martin Jansa
bc84461b32 kmod: fix upgrade path from module-init-tools
* PROVIDES does not need _${PN}
* CONFLICTS should be RCONFLICTS
* opkg needs RREPLACES to automatically remove older module-init-tools
  instead of just reporting it conflicts with kmod

SHR root@gjama ~ $ opkg install kmod
Installing kmod (7+git02629fa02e96763db7460a930239cc93649a52f8-r0.0) to root...
Downloading http://jama.dyndns-home.com/org.openembedded.shr-core//armv4t/kmod_7+git02629fa02e96763db7460a930239cc93649a52f8-r0.0_armv4t.ipk.
Removing package module-init-tools-depmod from root...
update-alternatives: removing //sbin/depmod as no more alternatives exist for it
Removing package module-init-tools from root...
update-alternatives: Linking //sbin/insmod to ../bin/busybox
update-alternatives: Linking //sbin/modprobe to ../bin/busybox
update-alternatives: Linking //sbin/rmmod to ../bin/busybox
update-alternatives: removing //sbin/modinfo as no more alternatives exist for it
update-alternatives: removing //bin/lsmod as no more alternatives exist for it
update-alternatives: Linking //sbin/lsmod to ../bin/busybox
Configuring kmod.
update-alternatives: Linking //sbin/insmod to /sbin/insmod.kmod
update-alternatives: Linking //sbin/modprobe to /sbin/modprobe.kmod
update-alternatives: Linking //sbin/rmmod to /sbin/rmmod.kmod
update-alternatives: Linking //sbin/modinfo to /sbin/modinfo.kmod
update-alternatives: Linking //bin/lsmod to /bin/lsmod.kmod
update-alternatives: Linking //sbin/lsmod to /bin/lsmod.kmod
update-alternatives: Linking //sbin/depmod to /sbin/depmod.kmod

(From OE-Core rev: 8de7f8045f28aecfe796afcdb013c557ce9d1372)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-09 21:01:52 +01:00
Khem Raj
6b5dbc8e33 kmod: Use base_libdir for installing libkmod
This also helps avoid QA errors about binaries
accessing contents from /usr/lib

Also fixes emptry libkmod problem since now
the files are installed in expected place

(From OE-Core rev: 6b74f2461735272bd950a4f060dab6e778a36f92)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-09 21:01:52 +01:00
Khem Raj
7f5e732208 kmod: Update to .8+ release
(From OE-Core rev: 8dd0e28809dba8ce6d42c127041c591664c81c59)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-09 21:01:51 +01:00
Bruce Ashfield
8880407c5e kern-tools: fix do_patch errors
The linux-yocto repository and scripts can support a mode of
meta data management that merges a base meta branch to every
BSP branch. In this case, the scripts don't have to restore
a checkpoint for the meta data to be globally accessible.

The decision to restore or not is made based on whether or
not the meta branch is part of all branches or not.

The linux-yocto recipes have a sanity check to determine if
the requested SRCREV for meta data matches the head of the
meta branch (via do_validate_branches). If the wrong commit
is at the head, the meta branch is moved aside and the branch
reset to the right commit. This creates two meta branches that
contain the base meta data.

The test for integrated meta data mistakes this for a globally
merged set of meta data and doesn't restore the checkpoint, which
leads to build failures.

The immediate fix is to allow two branches to have the meta
data. The long term fix is to make the detection only consider
if the build branch contains the meta data.

(From OE-Core rev: bd794b92d12ceda2728520701e980b7a3cabd23d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-09 21:01:51 +01:00
Martin Jansa
d36a73f7c4 kmod: include libkmod also from libdir
* until it's decided it should be installed in base_libdir or libdir
* fixes libkmod packaging

(From OE-Core rev: 87249372b4a9951f9e4dc6acece950718382a164)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-09 21:01:51 +01:00
Bruce Ashfield
b186795083 meta-yocto/linux-yocto-3.0: update branch mappings for new tools
Updates to the kern-tools to be more flexible and support multiple
upstream repository formats means that KMACHINE should really only
map to a machine and that KBRANCH should specify branch information.

To adapt to this change, we split the hardware reference boards into
KMACHINE and KBRANCH mappings.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-08 16:17:49 +01:00
Bruce Ashfield
bdc258eb99 linux-yocto/3.0: mm/msync: tweak tmpfs patch for syscall msync
Bumping the routerstationpro SRCREV for the following fix:

    mm/msync: tweak tmpfs patch for syscall msync

    Commit 1c3ae5441 "mm: msync: fix issues of sys_msync on tmpfs"
    fixes the problem that sys_msync fails with tmpfs on MIPS CPU which
    has feature "cache alias".

    But it makes POSIX test cases mlockall/3-6 3-7 fail on MIPS.
    Case mlockall/3-6 creates a share memory, and maps it to memory.
      fd = shm_open(SHM_NAME, O_RDWR|O_CREAT, S_IRUSR|S_IWUSR);
      foo = mmap(NULL, BUF_SIZE, PROT_WRITE, MAP_SHARED, fd, 0);
    Then calls mlockall to lock all of the virtual address space:
      if (mlockall(MCL_CURRENT) == -1) {
    At last tests whether the virtual address spaces are locked:
      page_ptr = (void*) ((long)foo - ((long)foo % page_size));
      result = msync(page_ptr, page_size, MS_SYNC|MS_INVALIDATE);
    It espects msync returns -1 with EBUSY but returns 0.
    Case mlockall/3-7 creates a normal file to mmap, and it fails too.

    Tweak the patch to:
    1 Moved the CONFIG_TMPFS block down in the loop so that the normal
      vma flag checking will perform.
    2 There may be other VMAs in the list after this VMA which belongs
      to tmpfs file, and we should sync them after the tmpfs one. So
      remove the break loop clauses.

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

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
2012-05-08 16:09:35 +01:00
Bruce Ashfield
987c55877d kern-tools: integrate minor fixes
Updating the SRCREV to pick up two minor fixes:

1/2:
    kgit-init: correct spelling of createme

    kgit-init copies the kern-tools scripts and intends to copy createme.

    The typo is in the usage() of updateme as well.

    (From OE-Core rev: 043871d7e5d2d19c2ff43e54d2ff180c09e8903e)

Signed-off-by: Michel Thebeau <michel.thebeau@windriver.com>

2/2:
    kconf_check: fix bad quoting around missing_required.cfg

    missing_required.cfg won't have it's path truncated (if applicable), since
    the quoting it wrong.

    Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
    Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-08 16:06:42 +01:00
Bruce Ashfield
921e67bc82 linux-yocto: streamline support for multiple upstream repo types
In order to support repositories of various types (with or without
meta data, branched, pristine, custom, etc) information about the
type of processing that is required was passed to the processing
phases via variables.

The combination of variables involved in coordinating the processing
creates a learning curve and overly complicates recipe extensions.

With minor tweaks to the kern-tools, adding flexibility and keying
off the existence of the meta branch it is possible to remove all
of the variables that were added to support different repository
types.

(From OE-Core rev: 06e5f45c8f38925cd5902a3a3f436f5e9451dd16)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-08 16:06:42 +01:00
Bruce Ashfield
6636f840d4 linux-yocto/3.2: configuration and pch merge
Updating the 3.2 SRCREVs to import the following meta/config
changes:

   6b3d4e0 meta: add mei feature
   519abac meta: add usb/uhci-hcd feature
   a67c5a3 meta/crownbay: use usb features
   0855066 meta: add usb/ohci-hcd feature
   15f1a99 meta: add usb/ehci-hcd feature
   8fa6408 meta: add usb/xhci-hcd feature
   c724a55 meta: add usb/base feature
   b55b3a1 sys940x: Cleanup sys940x.scc
   93f2e97 sys940x: Use PHYSICAL_START of 0x200000 to boot
   aaa034b sys940x: Add common standard and preempt-rt features
   e2b1286 sys940x: Add efi-ext to standard and preempt-rt configs
   d188c21 sys940x: Move emgd-1.10 data to the standard scc file
   72d9369 fri2: Cleanup fri2-$KTYPE.scc files re efi-ext.scc
   dbcb120 fri2: Use emgd-1.10 feature and branch

And the following driver fix:

   f39a0a9 pch_gbe: Do not abort probe on bad MAC

(From OE-Core rev: 612047a20ca400b932ccc634ddb759460d69fdce)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-08 16:06:42 +01:00
Zhai Edwin
38467c458f pango: Fix modules load failure in multilib environment
Multi-libs of Pango need different modules, thus different config files and
utils. This patch separate config file and utils with different MLPREFIX to
avoid conflict.

[YOCTO #2356] got fixed.

(From OE-Core rev: 80c431989eef64d2c34a9cddb7fb95b7b9768706)

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-08 16:06:42 +01:00
Scott Garman
c4a7a24cb5 openssl: fix incorrect INC_PR
Restore INC_PR to r15 to prevent breakage with out of tree openssl
recipes (e.g, meta-oe).

(From OE-Core rev: 370b186b7c39897b868a5e3798a11a285277f145)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-08 16:06:41 +01:00
Richard Purdie
87741fd6ea xcb-util-image: Add missing dependency on xcb-util
(From OE-Core rev: 616552506708d6dbb35a716be5bdff345edf2be0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-08 14:49:17 +01:00
Richard Purdie
b0adc50a72 sed: Explicitly disable acl for deterministic builds
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-08 14:49:17 +01:00
Martin Jansa
dd289637bf libgdbus: delete from oe-core
* as suggested here:
  http://lists.linuxtogo.org/pipermail/openembedded-core/2012-May/022071.html

(From OE-Core rev: 7da4a24fc5a781602aff20d25f4b9162e60810fc)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-08 14:49:16 +01:00
Martin Jansa
110511c2c1 libsoup: delete from oe-core
* as suggested here:
  http://lists.linuxtogo.org/pipermail/openembedded-core/2012-May/022060.html

(From OE-Core rev: 95849df48d1f3802a593d57d7917bc420cbf811a)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-08 14:49:16 +01:00
Richard Purdie
4a158688e6 xeyes/pong-clock: Update recipes
(From OE-Core rev: a1bdb86c6fcb925cef10e613dd553c766e359188)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-08 14:49:16 +01:00
Richard Purdie
67f6baa72a meta-demoapps: Remove except for xeyes and pong-clock
http://lists.linuxtogo.org/pipermail/openembedded-core/2012-May/022059.html

As proposed by Martin Jansa with a couple of changes from me.

(From OE-Core rev: 204ee7391c19f9b2fa7f8b2ef46d04c7ccf5bd42)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-08 14:49:16 +01:00
Martin Jansa
71e56f8d89 evolution-data-server: delete old 2.20.0 version
* evolution-data-server_git.bb provides 2.30.2 from 2010-06-20 and is default for a while

(From OE-Core rev: 3138acfe6bcd86e41900a2d5e90851e30ea44bec)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-08 14:49:15 +01:00
Martin Jansa
fb129e0467 evolution-data-server: delete unused patch parallelmake.patch
(From OE-Core rev: 557d81e4c323fb0f919b5ea466555b13d95b7584)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-08 14:49:15 +01:00
Martin Jansa
cf4f26078a dbus-glib: bump PR to rebuild after glib upgrade
* some apps had issues in runtime when dbus-glib wasn't rebuilt and
  reinstalled after glib upgrade, see:
  http://www.shr-project.org/trac/ticket/1980

(From OE-Core rev: af04af955b1443861a9f7e5fbf87a93546f9acd9)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-08 14:49:15 +01:00
Scott Garman
4b88d37116 distro_tracking: updates for upgraded recipes
libpng, openssl, openssh, and opensp

(From OE-Core rev: d9e67aade8dbfd6ebd6836c703f65a043510043b)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-08 14:49:15 +01:00
Scott Garman
cc9b58e7a7 opensp: upgrade to 1.5.2
Removed all patches, they've been integrated upstream. :)

Added --disable-doc-build to prevent creation of docs, which
otherwise fails with the following configure error:

could not find xmlto; set XMLTO or consider --disable-doc-build

Removed configure_prepend step that was deleting the m4/ directory,
since some macros needed for the build are defined there, and I've
not encountered any problems with keeping them there in my testing.

(From OE-Core rev: cbd055917b04bf8fc640eee289e443230de139a2)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-08 14:49:15 +01:00
Scott Garman
e11c495886 openssh: upgrade to 6.0p1
LICENSE checksum changed due to a trivial difference in the credits
list.

(From OE-Core rev: ce1fc60b0044bccf6cf8432700d6c0b6f042dae2)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-08 14:49:14 +01:00
Dongxiao Xu
649782175a qt4: move functions from python to shell style
In qt4's do_configure operation, it will refer to some variables that
are derived from 'd', however these variable values may be not correct
in multilib case since the extraction of these variables happens before
the multilib handler.

The fix is to move these python style functions back to shell style.

This fixes [YOCTO #2355]

[RP: Fix whitepace]
(From OE-Core rev: 977ba301a1063a84b865ddf7367c35827fbffc86)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-08 14:49:14 +01:00
Richard Purdie
38da655788 glib-2.0: Fix issues with libelf dependency creeping in
(From OE-Core rev: 2929e7d590862d9649458c90804e79a1dce40423)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-07 16:42:48 +01:00
Richard Purdie
18261968c2 connman: Disable tist plugin on powerpc
This plugin doesn't build on powerpc due to powerpc's terminal ioctl defintions
being incompatible with assumptions being made by this module. Until someone has
need and can test this on powerpc, disabling is the safest option.

(From OE-Core rev: 672846b0262add037daa2c9e434fe09388b58da8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-07 16:42:48 +01:00
Khem Raj
f22cf1bedf image.bbclass,kernel.bbclass: Use kmod-native instead of module-init-tools-cross
(From OE-Core rev: 74fcf61224dc3e12e753c5de793591677275dffd)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-07 16:42:47 +01:00
Khem Raj
884c7c6eee module-init-tools: Delete
Since its provided by kmod

(From OE-Core rev: 27bc204010b9dccb30847d7b3216f8b1e106f64e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-07 16:42:47 +01:00
Martin Jansa
bc2c2fe1f6 kmod: disable man pages generation because we don't have working xsltproc
(From OE-Core rev: 7d782a6ef77072d7f0fe50d8208c24c9e9ea9507)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-07 16:42:47 +01:00
Khem Raj
b4bc0a7f1b kmod: Add recipes
kmod is replacement for module-init-tools

(From OE-Core rev: 716606f5446534e48b45fcc017e8bbdfe7f15e26)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-07 16:42:47 +01:00
Saul Wold
7903a285ee libsoup: Fix for glib-2.0 2.32.2
(From OE-Core rev: d3efcf15cee6734b4bf2277346ceba9a991fbd0f)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-07 16:42:46 +01:00
Saul Wold
22f682b857 libgdbus: Fix for glib-2.0 2.32.2
(From OE-Core rev: 0e33eade3fec1d9df052332d37d266405467a354)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-07 16:42:46 +01:00
Martin Jansa
9355a8e5c1 evolution-data-server: enable deprecated glib API
* we have very old version and deprecated g_atexit is used even in current master
  http://git.gnome.org/browse/evolution-data-server/log/libedataserver/e-categories.c

(From OE-Core rev: 155ea975f5e0287f9ed49413785d1948c56601a5)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-07 16:42:46 +01:00
Martin Jansa
3ea2db0b9d libsoup-2.4: upgrade to 2.38.1
* newer webkit-efl needs 2.37.4 or newer

(From OE-Core rev: 271c3afd8b72e321981b193be6deb968027e6149)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-07 16:42:46 +01:00
Martin Jansa
b072f0c124 gobject-introspection: upgrade to 1.32.1
* simplify SRC_URI
* add COPYING to LIC_FILES_CHKSUM

(From OE-Core rev: 117cb418dedd35afce35598fd68a18721db6e9c9)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-07 16:42:46 +01:00
Martin Jansa
825e42f880 glib-2.0: upgrade to 2.32.2
(From OE-Core rev: 82551379ddd5440f3cdbbe2f7028e2af050e5788)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-07 16:42:45 +01:00
Martin Jansa
2dc824643a glib-2.0: upgrade to 2.32.1
* g_once_init_enter.patch shouldn't be needed after upstream commit
  794c1a30bc27b4c8d77537813acb1213d5ac80f2

* LIC_FILES_CHKSUM change is only because PCRE was upgraded and now
  pcre.h says "Copyright (c) 1997-2012 University of Cambridge" instead
  of 2010 and COPYING file
  "Please see the file LICENCE in the PCRE distribution for licensing
  details."  but LICENSE file is not part of glib distribution (but still
  BSD in standalone PCRE)

(From OE-Core rev: 231a3e046900f8fae2e0aa4fe5f2bee4c290b0b0)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-07 16:42:45 +01:00
Tomas Frydrych
feee16b828 site/arm-common: alignment values for guin32, guin64 and unsigned long
These are required to build recent versions of glib-2.0

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-07 16:42:45 +01:00
Saul Wold
3cd886a60b site/powerpc-common: alignment values for guin32, guin64 and unsigned long
These are required to build recent versions of glib-2.0

(From OE-Core rev: e9fd8e3d01091aebbc4b3584d9febc695836e4c3)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-07 16:42:45 +01:00
Saul Wold
7fecfa96bc site/mips-common: alignment values for guin32, guin64 and unsigned long
These are required to build recent versions of glib-2.0

(From OE-Core rev: 8fa607c1430674bee1f1f80d33f8939d7f0b1100)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-07 16:42:44 +01:00
Dongxiao Xu
7a49d88d22 Hob: Clear the building status if command failed
We may meet certain command failure during build time, for example,
out of memory. In this case, we need to clear the "building" status.

This fixes [YOCTO #2371]

(Bitbake rev: 283dbbbf5d34adb4c9e3aa87e3925fdebe21ff42)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-07 11:03:01 +01:00
Richard Purdie
b478649e49 bitbake/tests/fetch: Add simple http fetcher tests
(Bitbake rev: 27b89561781f19fd95308433bec06fa8b7b354e8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-07 11:03:00 +01:00
Richard Purdie
d4d4aab8dc bitbake/fetch2/wget: Add fallback/default wget commands
(Bitbake rev: 9586808572d06de4127f6a524e87e9ad75232423)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-07 11:03:00 +01:00
Richard Purdie
c77bcfbfe3 bitbake/fetch2/wget: Remove unneeded function indirection and reindent
(Bitbake rev: 769b92b14a1dfbbf697b8f4bf9a5a828807fd885)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-07 11:03:00 +01:00
Richard Purdie
3d74d5eed9 bitbake/fetch2/wget: Remove unnecessary use of OVERRIDES
This allows some simplifications of the function and is slightly faster.

(Bitbake rev: 5999dc9985ad087c036611bfaa59b090a08781a6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-07 11:03:00 +01:00
Richard Purdie
c9da0e31f8 bitbake/fetch2: When unpacking, only use PATH variable if its set
(Bitbake rev: ffec38675c0d78ee9fcd1d8f5a746d162145554e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-07 11:03:00 +01:00
Richard Purdie
2605ca19c5 bitbake/fetch2: Remove WORKDIR reference, should use passed parameter
(Bitbake rev: 9384dfaf644365c731be26572443287ce8f190b2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-07 11:03:00 +01:00
Tom Zanussi
3b78ad8041 yocto-bsp: clarify help with reference to meta-intel
The current yocto-bsp help assumes knowledge that the meta-intel layer
needs to be cloned before it's put into the BBLAYERS.  Avoid the
guesswork and state the details explicitly in the help.

Also, the shorter 'usage' string doesn't mention it at all; it would
help to at minimum mention it and refer the user to the detailed help.

Fixes [YOCTO #2330].

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-06 10:00:39 +01:00
Tom Zanussi
c0d92e51a1 yocto-kernel: use BUILDDIR to find bblayers.conf
The current code assumes that builddir == srcdir/build, which it
obviously isn't sometimes.  Use BUILDDIR to get the actual builddir
being used.

Fixes [YOCTO #2219].

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-06 10:00:31 +01:00
Paul Eggleton
db89f1826b poky.conf: use correct version string for Ubuntu 12.04
Since it is an LTS release, the final version string was not
"Ubuntu 12.04" but "Ubuntu 12.04 LTS", so use this when doing the tested
host distribution check.

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-06 09:57:14 +01:00
Darren Hart
203231f1f8 initrdscripts: Update install.sh to work with mmc devices
Fixes [YOCTO #2385]

The installer only searches for hd[ab] sd[ab]. Some newer BSPs have mmcblk
devices that should be used as the install target. These devices also have a
partition prefix (mmcblk0p1 instead of mmcblk01). As they are detected
asynchronously, it is necessary to add the rootwait kernel parameter to avoid
a race condition trying to mount the root device.

As BSPs like the FRI2 and the sys940x have mmc devices and will have a 1.2
release, we should push this to 1.2.1. The changes are perfectly contained and
easily verified.

Test for an mmcblk device and add the p partition prefix if necessary. Add the
rootwait kernel parameter when an mmcblk device is detected.  Replace the series
of explicit umount commands with a single umount using a wildcard. This will
find all the partitions and will not try to unmount non-existant devices. Avoid
copy and paste errors by replacing /dev/${device}${pX} references with the
previously assigned rootfs, bootfs, and swap variables.

These changes have been tested on the FRI2 Sato image which installed to
/dev/mmcblk0 as well as the N450 Sato image which installed to /dev/sda. Both
were successful.

(From OE-Core rev: bf403680d72e360c7382f540ea25cfdcbe77b4e5)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-06 09:55:48 +01:00
Bernhard Reutner-Fischer
c048ff9f9d runqemu: be sh neutral
Now runs with dash and busybox' ash as well as with bash

(From OE-Core rev: 2b93ed90736ed08c25561e24343a5ef2b8f7dbef)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-06 09:55:48 +01:00
Bernhard Reutner-Fischer
56f243e4ce runqemu: minor tweaks
(From OE-Core rev: cda565317eefbac1b7fb268d3d8720ebae8057fa)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-06 09:55:47 +01:00
Bernhard Reutner-Fischer
215a1ea026 runqemu: add and use error()
(From OE-Core rev: d77186606efdbb03fd92e7ee9e9ee2f9be601ba5)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-06 09:55:47 +01:00
Bernhard Reutner-Fischer
987bc36d13 runqemu: simplify process_filename()
(From OE-Core rev: 042efbe653b699bd33175117e1363d87e4602e4f)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-06 09:55:47 +01:00
Bernhard Reutner-Fischer
e99f652ede runqemu: use modern, single-char name of test(1)
I do not have "[[", just "[". Be gentle to users of legacy-free setups,
also by using '=' instead of the double notation.

(From OE-Core rev: e96ba42a977f4c07aa196ce379ecd73e4ddc23c5)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-06 09:55:47 +01:00
Bernhard Reutner-Fischer
97482d61cf runqemu: Use OE_TMPDIR
The error message erroneously talked about TMPDIR.
Just use OE_TMPDIR everywhere to make the name of the variable obvious.

(From OE-Core rev: 7b633d0a4cf9aa05e6243974bab2b780c246f8ba)

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-06 09:55:46 +01:00
Andreas Oberritter
0ff3fa7cd9 gcc-4.6: disable cloog, change syntax to disable ppl
* Backported from 523df15bcc21e1749771cca757613f3520243b8e
  as suggested by Khem.

* Original commit message:

  If build system has those libraries installed
  gcc configure will pick them up. We want
  consistent builds so we disable them since we
  do not (yet) support them

(From OE-Core rev: 9de1de7c2c4e9f5accb4dd082fe819a711defbfb)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-06 09:55:46 +01:00
Khem Raj
722d74ebb5 uclibc: Return correct endianness for mips64
Regular expression did not check for mips64

(From OE-Core rev: 945b817d381bdb68202982536daaaaff78ad5761)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-06 09:55:46 +01:00
Jason Wessel
23d149856d terminal.bbclass, oe-buildenv-internal: pass SCREENDIR environment variable
Some versions of the screen utility provided from the host OS vendor
write the socket directory to $HOME/.screen.  When using a shared home
directory across many servers, one sets the SCREENDIR environment
variable to avoid collisions in the shared home directory.  This
results in problems launching a devshell where it is not entirely
obvious what happened because the SCREENDIR environment variable
got stripped from the environment prior to setting up the screen
in detached mode.

Example:
   % bitbake -c devshell busybox
   # ...Please connect in another terminal with "screen -r devshell"

   % screen -r devshell
   There is no screen to be resumed matching devshell.

The temporary work around was to do something like:
   sh -c "unset SCREENDIR; screen -r devshell"

This patch adds SCREENDIR to the white list to ensure screen
works properly on systems where a developer needs to use
the SCREENDIR with shared home directories.

(From OE-Core rev: 5568a8f5a1c65bae021b2e36d735d3153acc6d72)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-06 09:55:46 +01:00
Peter Seebach
7b078123b7 conf/machine: Clean up configuration values.
This cleans up and/or corrects a few values from machine includes
for consistency with future toolchain sanity checks, and also adds
the TUNEVALID and TUNECONFLICTS to documentation.conf.

(From OE-Core rev: 6ffe53c721a80cf156b44f59b564f2e899c6af50)

Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-06 09:55:46 +01:00
Richard Purdie
7f11bbb9bb bitbake: Fixup bitbake-selftest
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-04 17:41:47 +01:00
Richard Purdie
12ebec4c94 bitbake: Add start of bitbake regression/self testing
This adds some basic unit testing for the codeparser and data store code. Many of
the actual test cases were taken from work by Chris Larson's OE-Signatures work but with
changes to adapt to the current bitbake APIs we need to test.

I also imported CoW tests written by Holger Freyther from the original bitbake-test
codebase: http://svn.berlios.de/wsvn/bitbake/trunk/bitbake-tests/tests/ and
some tests from the doctests that were removed in commit:
http://git.openembedded.org/bitbake/commit?id=3a11c2807972bbbddffde2fa67fc380d159da467

(Bitbake rev: ae4a95780e3e08cf73c854efa8cd93379e00c4e5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-04 16:58:35 +01:00
Koen Kooi
2ee0d3f054 connman: enable TI shared transport plugin when wifi or bluetooth are requested
This plugin manages the firmware loading for the TI wl12xx series of bluetooth/wifi/fm chips.

The double --enable-tist when both bluetooth and wireless are enabled is ugly, but harmless

The background on the plugin: https://bugs.meego.com/show_bug.cgi?id=8418

(From OE-Core rev: 22254a32f05e9212411216bf1a4e48fd86b9c3ef)

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-04 16:45:00 +01:00
Andreas Oberritter
f60cdd4d56 busybox: port improvements to simple.script from Debian (udhcpc)
* Support resolvconf
* Avoid bashism $((metric++))
* Use 'domain' instead of 'search' for domain parameter

(From OE-Core rev: 3d4ccf98b83fe662f375cd5b029fdd602824c0e8)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-04 16:44:59 +01:00
Andreas Oberritter
84eb62d8b2 busybox: remove unused patches for simple.script (udhcpc)
* OE-Core provides its own copy of simple.script.

(From OE-Core rev: 3a36efc17c8504b00a7a277a67a7b10caa4d1cdc)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-04 16:44:59 +01:00
Andreas Oberritter
97911d3931 gcc-4.6: explicitly disable ppl
* Fixes the following error after a system library upgrade
| .../mipsel-oe-linux/4.6.4/cc1: error while loading shared libraries: libppl.so.10: cannot open shared object file: No such file or directory

(From OE-Core rev: 2c0fb8265d4876db537850f4b20c898dde3a0f4c)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-04 16:44:59 +01:00
Paul Eggleton
3fd5d4db3b buildhistory: fix multiple commit of images and packages at the same time
The echo line here was merging multiple lines into one, and the result
was that if both image and package changes had to be comitted then only
the image changes were being committed and the package changes could
potentially be merged into the next package change. Quoting the variable
reference fixes this.

Fixes [YOCTO #2411]

(From OE-Core rev: 2086bb86885951d0a74342e30ff205c24cb93f0d)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-04 16:44:58 +01:00
Richard Purdie
dfd0116a52 bitbake/utils: Convert vercmp_string() to use vercmp internally
Having two different version comparision algorithms in bitbake has never seemed
like a sensible idea. Worryingly, they also return different results to each other.

The vercmp_string API is relatively unused with no users in OE-Core or BitBake
itself for example. This patch converts it to use vercmp internalls, bringing
consitency to the comparisions which is easy now we have other recently added
functions. Yes, this changes behaviour but in this case I'd prefer we were
consistent than having two different comparisions.

(Bitbake rev: a569c816e016447d60624c59a750709d59a0f455)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-04 16:44:57 +01:00
Jeff Polk
1c34d5822d bitbake/fetch2: Fix spelling error in network access error message
(Bitbake rev: b766630ed7e099fffe817928a2811272677a1b26)

Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-04 16:44:57 +01:00
Jeff Polk
ca8e06e8a0 fetch2/git: Allow file:// URLs without checking for network access
Don't check for network access before grabbing the the current head,
cloning, or updating a clone when the protocol is 'file'.

(Bitbake rev: d5847bc5254b9d2f28a6b574f6157d1286add27c)

Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-04 16:44:57 +01:00
Saul Wold
2e9bb9d103 gcc-package-target: add libexec for plugin
Fixes:

ERROR: For recipe gcc, the following files/directories were installed but not shipped in any package:
ERROR:   /usr/libexec/gcc/i586-poky-linux/4.7.1/plugin/gengtype
(From OE-Core rev: 0be64cda0a20ca3aab75ee0cc360236d2dc40c95)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:10 +01:00
Christopher Larson
0de1832166 kernel.bbclass: move kernel-vmlinux up in PACKAGES
If KERNEL_IMAGETYPE is vmlinux, the expectation is most likely that there will
be no kernel image package, but we still want a vmlinux package for debugging,
so move kernel-vmlinux in front of kernel-image in PACKAGES.

(From OE-Core rev: b62a44a9bf7b268296aeed64469390aa7efc2e73)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:10 +01:00
Jason Wessel
76551e02ed runqemu: Fix TAP='TUNSETGROUP: Invalid argument' by falling back to tunctl -u
By default the runqemu script tries to set the group permissions on any
tap device it creates.  The TUNSETGROUP ioctl is not implemented on some
popular host enterprise linux distributions.

Internally the script will exit as follows:

++ /opt/qemux86/bitbake_build/tmp/sysroots/x86_64-linux/usr/bin/tunctl -b -g 100
+ TAP='TUNSETGROUP: Invalid argument'
+ STATUS=1
+ '[' 1 -ne 0 ']'
+ echo 'tunctl failed:'
tunctl failed:
+ echo TUNSETGROUP: Invalid argument

This patch implements a fallback to using the userid as the owner of
the tap device which is supported by all 2.6 kernels, the default remains
to try and use the groupid first.

(From OE-Core rev: 3af2bc59776fb738bd795160512a2f3f49ce6d32)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:09 +01:00
Martin Jansa
e8005eb936 qt-4.8.1: fix creating /include directory in build host root
(From OE-Core rev: 7d3fd68480d54a8ef0d91a772df3506cd45ef2c2)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:09 +01:00
Nitin A Kamble
1cd72bd132 qt4: fix compilation issue
gcc 4.7 uncovers a type mismatch in the code. And this commit fixes the issue:

| /srv/home/nitin/builds/build-gcc47/tmp/sysroots/qemux86/usr/include/glib-2.0/glib/gthread.h:58:7: error: 'union' tag used in naming 'struct _GMutex' [-Werror=permissive]
| In file included from ./wtf/Platform.h:1217:0,
|                  from ./config.h:30,
|                  from wtf/gobject/GOwnPtr.cpp:19:
| wtf/gobject/GTypedefs.h:55:16: note: 'struct _GMutex' was previously declared here
NOTE: package qt4-x11-free-4.8.1-r41.1: task do_compile: Failed

(From OE-Core rev: 1923455340fca5e4b68a2c3ac3566a99baa93cd9)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:09 +01:00
Martin Jansa
c9e9d8baf4 site/ix86-common, site/x86_64-linux: alignment values for guin32, guin64 and unsigned long
These are required to build recent versions of glib-2.0

(From OE-Core rev: bb996003547f9b93b734ddac11407b4eb42ecfac)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:09 +01:00
Martin Jansa
74f42238ef gtk-engines: fix build with glib-2.32
(From OE-Core rev: 93a4f4a8e7c298c5a19e757ae797328369da104e)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:08 +01:00
Andreas Oberritter
d3e0f1fcda nfs-utils: don't try to unload nfsd module
* When nfsserver get's stopped, "modprobe -r nfsd" may
  hang indefinitely. As there's no need to unload the
  module, just remove the call to modprobe.

(From OE-Core rev: aba81b64679ec0b1809946cb480e261af47f7625)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:08 +01:00
Saul Wold
faf1a72ce3 pulseaudio: disable tcpwrap by default
This ensures that tcpwrapper usage is always disabled, this was
inconsistent because it would test for libwrap and sometimes enable
and sometimes not.

This ensures consistent build reproducibility.

(From OE-Core rev: afa0efc3473fb5ba88d95594e382da2e03145c3b)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:08 +01:00
Saul Wold
5e77a844d5 builder: Add Please Wait Dialog Box
Add dialog box while bitbake starts hob to inform user
to please wait for the hob screen to become visible.

(From OE-Core rev: d4d8dd9e272ee651b98bb336e96be601af366d41)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:08 +01:00
Saul Wold
188dff3daf gnutls: Update to 2.12.18
Change the SRC_URI to use the GNU_MIRROR

(From OE-Core rev: 753b22012f10c393c191d3116b9d38ee4be6d112)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:07 +01:00
Saul Wold
68eadb4847 xauth: Update to 1.0.7
(From OE-Core rev: 7f020c1e8429ab510f4c41ac7b7abfdd4db308fb)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:07 +01:00
Saul Wold
a46a711934 bigreqsproto: Update to 1.1.2
(From OE-Core rev: cb96670f21707f8ae7ad58a6cb67cfaa6d7871a3)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:07 +01:00
Saul Wold
02a0202511 xkbcomp: Update to 1.2.4
(From OE-Core rev: 7bab740e59bc25c9887d1e38e8106073b0c8c5af)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:07 +01:00
Saul Wold
15c1c20d91 mc: Update to 4.8.3
(From OE-Core rev: b947c322efbe6984467717004105e2f8ed7588d8)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:06 +01:00
Saul Wold
034cebebb2 util-linux: Update to 2.21.1
(From OE-Core rev: 2114d734b9c4ace980ef9fa30dd5b5f76f49b934)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:06 +01:00
Saul Wold
6362e9c01e cairo: Update to 1.12.2
Clean up some packaging issues, cairo-sphinx was installed
and is a testing tool that does not need to be packaged

(From OE-Core rev: 6a0dac89932b41502bb55a2dae07d835ca3c6245)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:06 +01:00
Saul Wold
db62a4f4ed xhost: Update to 1.0.5
(From OE-Core rev: eb087d8dacab9e4a7ea1fce35cd86b0c71f0a630)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:06 +01:00
Saul Wold
667ef5b25a xmodmap: Update to 1.0.7
(From OE-Core rev: 6615decca17874dcd212d7a17bb3078808a705fb)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:05 +01:00
Saul Wold
fa7cd14e02 libtasn1: Update to 2.12
Use the GUN_MIRROR correctly

(From OE-Core rev: 7ab772c7de029734ccffd239ddc2a4e2953a1bb0)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:05 +01:00
Saul Wold
0d47891213 resolvconf: Update to 1.65
(From OE-Core rev: 066e9a8aa13d33f0f96f036dfcbf48e0e0dab80f)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:05 +01:00
Nitin A Kamble
0432cc1d1f distro-tracking: update as per recent recipe upgrades
(From OE-Core rev: 59522839dcfa6a9e95b0a8d0e1e2f210fc02e75d)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:05 +01:00
Nitin A Kamble
7b08f6a9a1 python: upgrade from 2.7.2 to 2.7.3
bin/python2 link is provided by the python install process,
so no need to create it.

rebase these patches to the newer code:
 fix_for_using_different_libdir.patch
 04-default-is-optimized.patch
remove this patch as it is upstream now:
 sys_platform_is_now_always_linux2.patch

Change default python version to 2.7.3 in the distro config

(From OE-Core rev: 5d92a95ea9b480235b7c9ca5949a681376eba725)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:04 +01:00
Nitin A Kamble
4f4ab8bfe3 gdb: upgrade from 7.4 to 7.4.1
(From OE-Core rev: a93e087d98f6b537d26932be85c80402337d15cb)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>

[Fixed sha256 - sgw]

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:04 +01:00
Nitin A Kamble
d911601b4d quilt: upgrade from 0.51 to 0.60
(From OE-Core rev: 0e6843e7a3ed3b12e5f2bc6273047c2be5e47489)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:04 +01:00
Nitin A Kamble
754667c8ce makedepend: upgrade from 1.0.3 to 1.0.4
(From OE-Core rev: 4b3ab58c4319607aaa9ce6075d221a48b359feae)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:04 +01:00
Christopher Larson
8dbb57754b tcmode-external-csl: use the existing precompiled locale files
(From OE-Core rev: 3679de3e7085504a3f717e54d8adc9a0d53c5840)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:03 +01:00
Christopher Larson
9c62f635ab libc-package: rework ''precompiled' locale handling
There were a couple problems with the handling of precompiled locales.

- it gathered the list of locales from the directories - this breaks due to
  the naming mismatch, e.g. en_US.UTF-8 vs en_US.utf8.
- it retained its hardcoded assumption that the non-suffixed locale (en_US, as
  opposed to en_US.*) is UTF-8, while the others are otherwise. Hardcoding
  this is both inflexible and just plain wrong for some toolchains. It's most
  common in desktop distros for 'en_US' to be non-utf8, and ''en_US.UTF-8' is
  utf8, and this is the case in some external toolchains as well.

The code now uses the SUPPORTED file to hold the knowledge it needs. This file
not only holds the list of locales to generate, but also maps the locale names
to the charsets they correspond to. The code now uses this to assemble its
charset map, falling back to the '.' suffix as charset when the locale is not
in the map. For precompiled, it now uses the locale->charset knowledge it has,
thereby allowing non-utf8 non-suffixed locale names, whereas for
non-precompiled, it reverts to the previous assumption, renaming the utf8
locale and forcibly suffixing the others.

So, a person maintaining an external toolchain recipe is responsible for
ensuring that the SUPPORTED file they provide matches up with the compiled
locales in the toolchain, if they want to utilize precompiled locales.

I believe in the long term the compiled case should do the same thing
precompiled does, and use SUPPORTED or a similar mechanism to encode the
knowledge, and if people want all the non-suffixed names to be utf8, they can
change that file to do so. This would avoid the hardcoded assumption in the
code, as well as consolidating the behavior between the compiled and
precompiled cases.

(From OE-Core rev: 3f36058923ccda25a3dd85046542e65b6034c09e)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:03 +01:00
Christopher Larson
b9918a31ce tclibc-eglibc: drop hardcoded locale-base-en-us/en-gb
This is handled by IMAGE_LINGUAS, so hardcoding it here is at best unnecessary
duplication.

(From OE-Core rev: 7808c7ee9277170fbfb22bcf0575285174c2718a)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:03 +01:00
Christopher Larson
1fbde9091f external-csl-toolchain: update SUPPORTED to match toolchain
(From OE-Core rev: 65f3868c25df053ddf6ad2201ea0d68dc5c68fb1)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:03 +01:00
Christopher Larson
fa514172ed external-csl-toolchain: cleanup, simplify, use base_libdir
(From OE-Core rev: be158f5cb6650b761ac2f3649d071c051329a799)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:03 +01:00
Christopher Larson
6b20562501 external-csl-toolchain: silence .a/.debug QA warnings
(From OE-Core rev: a5f204130ff1232deb5f4b449961296d397630b4)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:02 +01:00
Christopher Larson
6826ffe03d external-csl-toolchain: split out a libstdc++-staticdev package
This silences one of the QA warnings.

(From OE-Core rev: 3412a1d69201951dd097e4d9a4abcec124d34d68)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:02 +01:00
Christopher Larson
c44aca85db csl-versions.inc: capture version in signatures
We want to ensure that changing external toolchain version will change the
metadata checksums of target recipes. This will do so via ensuring that any
variable which references TOOLCHAIN_OPTIONS also pulls in the toolchain
version variables.

(From OE-Core rev: 041a61368350dfbca825d2b2781543ea22678161)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:02 +01:00
Christopher Larson
df914695b5 base.bbclass: use isinstance for base_eventhandler
(From OE-Core rev: 86556a2bfa23ba69fea2ade14599054b186150cd)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:02 +01:00
Christopher Larson
5d540ca314 bitbake.conf: shift build config summary control to here
(From OE-Core rev: 164df0708d9add81be7d1fd56d487253062756d8)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:01 +01:00
Christopher Larson
b877b1a8bf libsndfile1: use PACKAGECONFIG for alsa distro feature
(From OE-Core rev: af593b5a3a8e1e552b34ca2785894ac468763024)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:01 +01:00
Christopher Larson
a8bd795aa3 libpcap: use PACKAGECONFIG for bluetooth distro feature
(From OE-Core rev: 78821b3a893c8934d0f0f54df46cdbbc37f082d8)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:01 +01:00
Christopher Larson
f855c3e632 distcc: use PACKAGECONFIG for x11 distro feature
(From OE-Core rev: c2bebf05752ec01144e32dbf2bbe4cfa86ae67df)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:01 +01:00
Christopher Larson
67228abee6 mesa: add missing flex-native/bison-native deps
A quick glance at configure.ac shows that both are required to build mesa, but
we were relying on their being built implicitly via other recipes in the
dependency chain. Make it explicit.

(From OE-Core rev: 4fb71999fad9e844850831caf2431ee8731787db)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:00 +01:00
Kang Kai
98f21d6e3d create-recipe: base on autospectacle.pl to create recipe file
[Yocto 1656]
create-recipe is based on original autospectacle.pl from project Meego.
Add feature to create a recipe .bb file. It requires a parameter to be
told where to download source package, then download and parse.
Create recipe file according to parse results.

(From OE-Core rev: e1f3a0bcce7b24d6c48e6c92c54bcb03858a5748)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:00 +01:00
Kang Kai
a5e76f3a7b autospectacle.pl: pull it from meego as a base
This autospectacle.pl is from meego project
http://meego.gitorious.org/meego-developer-tools/autospectacle

And take its latest
commit f462b759c6f569f35283d0885c97ae53b010bb03
as base of Yocto 1656: Recipe creation/import script.

(From OE-Core rev: 74b1d119cf3712a64d627a2adc1adcf7b8cd4123)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:00 +01:00
Saul Wold
845bcf0b1b libgcc: Add MLPREFIX to sanity check skip
Fixes:
ERROR: QA Issue: non -staticdev package contains static .a library: lib32-libgcov-dev path '/work/x86-pokymllib32-linux/lib32-libgcc-4.7.0+svnr186651-r0/packages-split/lib32-libgcov-dev/usr/lib/i586-pokymllib32-linux/4.7.1/libgcov.a'
ERROR: QA run found fatal errors. Please consider fixing them.
ERROR: Function failed: do_package_qa
ERROR: Logfile of failure stored in: /srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-multilib/build/build/tmp/work/x86-pokymllib32-linux/lib32-libgcc-4.7.0+svnr186651-r0/temp/log.do_package.9691
NOTE: package lib32-libgcc-4.7.0+svnr186651-r0: task do_package: Failed
ERROR: Task 1077 (virtual:multilib:lib32:/srv/home/pokybuild/yocto-autobuilder/yocto-slave/nightly-multilib/build/meta/recipes-devtools/gcc/libgcc_4.7.bb, do_package) failed with exit code '1'
(From OE-Core rev: dd303065890e44f6f2c986988938c3599ea94e4f)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-03 15:48:00 +01:00
Scott Rifenbark
d89f7b9cab documentation/Makefile: Fixed figures publishing bug
I discovered a bug when publishing documents.  There are two scp
commands that copy a document's files and figures to the appropriate
directory in the srifenbark@yocto-www:~/www.yoctoproject.or-docs
server where the manuals are published.  The second scp command
had a "/figures" at the end.  This was causing a new "figures"
directory to be created within the "figures" directory.  This
redundancy shows up as missing figures in the manuals if a new figure
or changed figure is ever added to the book after initial
publishing.  I removed the extra "/figures" at the end of the scp
command.

(From yocto-docs rev: cef3634e695f61bfb8465f1fb7a88e4e8a9a00f1)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:56 +01:00
Scott Rifenbark
004a1f3846 documentation/yocto-project-qs/yocto-project-qs.xml: added quotes
Need quotes around the INHERIT statement.

Reported-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
(From yocto-docs rev: 96f03be0d2595b4b788d8bb2110fe8801279f3f9)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:55 +01:00
Scott Rifenbark
44be9bfbb0 documentation/dev-manual/dev-manual-kernel-appendix.xml: grammar fix
(From yocto-docs rev: d2baa57b68f67900854ee89985e3c53b8cfa1bf0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:55 +01:00
Scott Rifenbark
96645d1df4 documentation/dev-manual/dev-manual-kernel-appendix.xml: Removed KMACHINE
The example that compliles the altered code will not run now when the
KMACHINE statement is in the linux-yocto_3.2.bbappend file.  I have
commented it out of the book.

(From yocto-docs rev: 3f67b34daf1ad598b4d07f5e2a60d8c63da754b2)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:55 +01:00
Scott Rifenbark
257fd0da64 documentation/dev-manual/dev-manual-kernel-appendix.xml: updated KSRC
The KSRC example needs "_3_2" at the end of the variable.

(From yocto-docs rev: e6bcbe8504f72777a03e9b08de95d5e2741700a3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:55 +01:00
Scott Rifenbark
a22b2a8609 documentation/dev-manual/dev-manual-kernel-appendix.xml: added quotes
Turns out the KSRC_linux_yocto ?= /home/scottrif/linux-yocto-3.2.git
statement in the linux-yocto_3.2.bbappend file in poky-extras needs
quote characters around the pathname.  I updated the example
statement.

(From yocto-docs rev: eac1b53c04398152b41ac280fdc030615c165112)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:54 +01:00
Scott Rifenbark
71f80259f1 documentation/dev-manual/dev-manual-kernel-appendix.xml: kernel machine update
Found two instances of "yocto/standard/common-pc/base".  this should
now be "standard/default/common-pc/base".

(From yocto-docs rev: a2f4ac3885de1157e6d718cfea9b29a67c76aeb0)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:54 +01:00
Scott Rifenbark
c6a0cc926f documentation/dev-manual/dev-manual-kernel-appendix.xml: 3.0 to 3.2
The kernel used for example is no linux-yocto_3.2.  I changed
all occurences of yocto_3.0 over to yocto_3.2

(From yocto-docs rev: 7ee8f86fd0f44197901c851a16c58aa5f6851b1f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:54 +01:00
Scott Rifenbark
ec4cb41714 documentation/dev-manual/dev-manual-kernel-appendix.xml: formatting fix
(From yocto-docs rev: 20c12b6ef59132f2eef62d45574b9af837971731)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:54 +01:00
Scott Rifenbark
6a415d218a documentation/dev-manual/dev-manual-kernel-appendix.xml: altered example
The example code with the printk statements needed to be altered.
And the wording supporting the example was modifyied to be more
generic.

(From yocto-docs rev: f76465e920c3959230196814f17890065c613730)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:53 +01:00
Scott Rifenbark
505e125ac2 documentation/dev-manual/dev-manual-kernel-appendix.xml: updated cpuinit
Looks like calibrate_delay(void) changed in the example.  Updated
to the most recent code.

(From yocto-docs rev: f1abcbf730c4b50ceb925e41181429c04eb2d55e)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:53 +01:00
Scott Rifenbark
5a4dc0f442 documentation/dev-manual/dev-manual-kernel-appendix.xml: output updated
Updated the example sets up the bare clone.  The shell output changed
because the upstream repo changed to
"origin/standard/default/common-pc/base".

(From yocto-docs rev: cc3a8dde7b7f70174225ec95303d0280697d674b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:53 +01:00
Scott Rifenbark
9c6e16d7b0 documentation/Makefile: Added denzil specific .PNG file logic
A new figure was needed in the Kernel appendix.  I added that
figure to the block of code that creates the tarball for the
denzil branch.

(From yocto-docs rev: 352093f3eabf64052d78a41fd997993d09aa10ef)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:53 +01:00
Scott Rifenbark
db3de06a01 documentation/dev-manual: New figure just for denzil
New image needed for Denzil.  I created a new file named
"kernel-example-repos-denzil.png" and copied it to the
Figures folder.  I also deleted the
"kernel-example-repos.png" image.

(From yocto-docs rev: 97105187735c15e452580a0174897517c1860f2c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:52 +01:00
Scott Rifenbark
7fd4991534 documentation/dev-manual/dev-manual-bsp-appendix.xml: updated hddimg example
In the "Building and Booting the Image" section there is an example
.hddimg file.  I updated the file to be the actual file used during
the BSP example build.

(From yocto-docs rev: 165feb4d501a2ed984b742ea9f10e6c2037972da)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:52 +01:00
Scott Rifenbark
9770d73779 documentation/dev-manual/dev-manual-bsp-appendix.xml: BBLAYER update
For 1.2 you evidently need to add $HOME/poky/meta-intel to your
bblayers.conf file.

(From yocto-docs rev: d5565d9aa14590622373996a037cc16d34e9107f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:52 +01:00
Scott Rifenbark
8596fb0084 documentation/dev-manual/dev-manual-bsp-appendix.xml: wording updated
Wording for linux-yocto_3.2.bbappend file updated to support the
addition o fhte KBRANCH variable.

(From yocto-docs rev: 267d7dffc05dc495dbd27b6435bea7ba48cd4cfa)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:52 +01:00
Scott Rifenbark
fbbe63c6fc documentation/dev-manual/dev-manual-bsp-appendix.xml: mymachine.conf
edited it to now include the PREFERRED_VERSION variable.

(From yocto-docs rev: 72d8f7bfcad0fff191c998f90369499a78d62696)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:52 +01:00
Scott Rifenbark
d5198e605a documentation/dev-manual/dev-manual-bsp-appendix.xml: recipes-kernel update
The section on changing recipes-kernel was way out of date.
I updated all relavent changes.

(From yocto-docs rev: 91538864e6da8c4d0a495e52feafe01ce7afea9d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:52 +01:00
Scott Rifenbark
3f9f899002 documentation/dev-manual/dev-manual-bsp-appendix.xml: 3.2 for 3.0
Kernel used in now 3.2 and not 3.0.

(From yocto-docs rev: 974cb0c3665a2767a04ab6261692e93cc2f9200b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:51 +01:00
Scott Rifenbark
e96c33bad7 documentation/dev-manual/dev-manual-bsp-appendix.xml: added layerdepends
The layer.conf file now uses a LAYERDEPENDS variable.  I added that
to the example.

(From yocto-docs rev: 237eb7ba897479935ac4c3165ce2cb350143a1e3)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:51 +01:00
Scott Rifenbark
c7f56de150 documentation/dev-manual/dev-manual-bsp-appendix.xml: changed kernel
The kernel in mymachine.conf had to be changed from 3.0 to 3.2

(From yocto-docs rev: cd94a4d45a062e9282de15dfda25983c500c0548)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:51 +01:00
Scott Rifenbark
5b1738e53d documentation/dev-manual/dev-manual-bsp-appendix.xml: Output updated
The output for creating and switching to the denzil branch
for meta-intel needed updated.

(From yocto-docs rev: ad29c8f73ab3cec930f21939744cff322b43dfdc)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:51 +01:00
Scott Rifenbark
726c2796aa documentation/dev-manual/dev-manual-bsp-appendix.xml: Bad variable
The variable substitution had to be changed from
"&DISTRO_NAME;-6.0.0.tar.bz2" to "&DISTRO_NAME;-&POKYVERSION;.tar.bz2".

(From yocto-docs rev: 258b4c7fb46d2e6fb2da7bf2f59cd4f5c035b15b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:50 +01:00
Scott Rifenbark
1abb969b2e documentation/dev-manual/dev-manual-bsp-appendix.xml: Added link
Created a link to the Yocto Project Files term.

(From yocto-docs rev: 9d92248cb5dd862095e815c008e1f47e7518856a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:50 +01:00
Scott Rifenbark
6f74c604aa documentation/dev-manual/dev-manual-bsp-appendix.xml: typo corrected.
(From yocto-docs rev: bf3ff12492ba34cd287269a5352f6a3846d2d0bc)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:50 +01:00
Scott Rifenbark
4d623561eb documentation/dev-manual/dev-manual-bsp-appendix.xml: Bad variable
Had to remove "poky-" from the front of this variable that resolves
to a YP Files top-level name from the tarball.

(From yocto-docs rev: a9ccf2bec4f2f916e854d10aa992f0c45eb0ed3f)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:49 +01:00
Scott Rifenbark
23eff79b1d documentation/dev-manual/dev-manual-model.xml: Fixed a bad link title.
(From yocto-docs rev: facfa3fc60c26f55d5e2cc598b494435d63af827)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:49 +01:00
Scott Rifenbark
52e4e82e5a documentation/dev-manual/dev-manual-model.xml: Better wording.
(From yocto-docs rev: be77083d5820cf195aea0e17bb9cf25ec706b4dc)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:49 +01:00
Scott Rifenbark
b85c4e5227 documentation/dev-manual/dev-manual-model.xml: Added BitBake
Throughout the documentation set I have refered to the YP build
system generically in order to avoid use of the "Poky" term.  Richard
has suggested that we refer to the actual thing that does the building.
So I have added BitBake to this particular sentence to refer to the
tool.

(From yocto-docs rev: eaed76bbf97bd34205eace952a1efbc600890815)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:49 +01:00
Scott Rifenbark
b3749265c9 documentation/dev-manual/dev-manual-model.xml: Fixed poor references.
(From yocto-docs rev: f56a9e4e3bc98deade6384a992d0118fb8c098ff)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:48 +01:00
Scott Rifenbark
065d5e3ee9 documentation/dev-manual/figures/kernel-overview-3.png: Removed file
This file was replaced by a release-specific file named
"kernel-overview-3-denzil.

(From yocto-docs rev: 85220f16ce10086372f9d81c61cb4e3eb40d52e4)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:48 +01:00
Scott Rifenbark
ab62371795 documentation: release-specific figure needed for denzil in dev-manual
dev-manual/dev-manual-model.xml:  The Bare Clone and Copy of the Bare
Clone figures are out of date for denzil.  These needed to be
re-done so they use "linux-yocto-3.2.git" and "my-linux-yocto-3.0-work"
as the root names.  This presents a Makefile issue when making the
denzil and pre-denzil versions of the manuals.  Whenever you use a
different figure for a different release, you need to involve the
BRANCH variable in the Makefile.  This is necessary because you are
using different figures in the generated tarballs.  The set of figures
could be unique to the release.  The outdated figure is
"kernel-overview-3.png" and will eventually be removed (later commit).
I created a new figure named "kernel-overview-3-denzil.png" and used
that in the dev-manual-model.xml file.

documentation/Makefile:  I updated the Makefile to test for a
"denzil" release build and if so include the new file in the
generated tarball.  This commit adds the new .PNG file as well.
Fixed the Makefile so that if you don't supply a BRANCH value, it
uses the latest figures (denzil).

(From yocto-docs rev: b3550d7640343cd5459efb04c591b81a1e41bc1b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:48 +01:00
Scott Rifenbark
8cd58dee92 documentation/dev-manual/dev-manual-model.xml: Wording change
Changed the Note wording to work with the list and not be specific
to a number of supported kernels.

(From yocto-docs rev: 04b941264c001fc2f8e105637436b8d95a770357)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:48 +01:00
Scott Rifenbark
7166e7dda3 documentation/dev-manual/dev-manual-model.xml: Updated wording for list
The list specifically named four kernels supported.  I changed it so
it would say "several kernels".

(From yocto-docs rev: 8134eae4bce85e18a4402606e2cac6cb422cf0cf)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:48 +01:00
Scott Rifenbark
2ffb797a71 documentation/dev-manual/dev-manual-model.xml: BSP Layer step updated
Several things out-of-date for step five of the BSP Creation overview.

(From yocto-docs rev: 6bf1c93315c2fe604dbe468a29d9e2159bf7aceb)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:47 +01:00
Scott Rifenbark
2329826dce documentation/dev-manual/dev-manual-model.xml: Fixed link
The link and wording to the YP Downloads page on the website was
wrong.  Fixed it up.

(From yocto-docs rev: 191856e4441bcea078868d22d019f4f1cdd62512)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:47 +01:00
Scott Rifenbark
8273cc0d09 documentation/dev-manual/dev-manual-common-tasks.xml: Font corrected.
(From yocto-docs rev: 18f790affe7697193765e034888d369490188313)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:47 +01:00
Scott Rifenbark
6830a21b4d documentation/dev-manual/dev-manual-common-tasks.xml: Section name fixed.
(From yocto-docs rev: d3f7909958b2eac8cd313c0aeb8232a7920016aa)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:47 +01:00
Scott Rifenbark
6fe0548ec8 documentation/dev-manual/dev-manual-common-tasks.xml: fixed path
Added more detail to the pathname for the example
formfactor_0.0.bbappend file.

(From yocto-docs rev: 4bd9ac9f189689ddb8806c750545223e1e55cd4b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:47 +01:00
Scott Rifenbark
6adda78462 documentation/dev-manual/dev-manual-common-tasks.xml: link and output fixed
Fixed a reference to Yocto Project Files and provided a link.

Put in an updated version of the meta/recipes-bsp/formfactor/
formfactor_0.0.bb file in the example.

(From yocto-docs rev: 031113db6d67beaee2e4f8225c7d4d2bc9380b05)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:46 +01:00
Scott Rifenbark
6f588de2d0 documentation/dev-manual/dev-manual-start.xml: shell output examples updated
Updated various shell output examples created from cloning various
Git repositories, etc.

(From yocto-docs rev: 76024b2648c383bf19e6fee81d54c6a992e8d593)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:46 +01:00
Scott Rifenbark
d48518562f documentation/dev-manual/dev-manual-start.xml: updated output for bare clone
Updated the shell output example when user creates a bare clone
of kernel.  We use linux-yocto-3.2 here.

(From yocto-docs rev: 69e3aa7a42d03cff23379432f5d1b496157d5c0d)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:46 +01:00
Scott Rifenbark
661acaec76 documentation/dev-manual/dev-manual-newbie.xml: Tag example fixed
The example that creates a local branch based on a release tag
in the "Repositories, Tags, and Branches" section was not optimal.
Darren Hart informed me that naming a local branch the same name
as a tag confuses Git.  Plus, the "-b" option was mis-placed.
Renamed the local branch to have "my-" in front of it and moved
the "-b" option earlier in the command.

(From yocto-docs rev: 29f4ea267ef687431e09eca4634fcb6cc48a6f81)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:46 +01:00
Scott Rifenbark
88b3ff0951 documentation/dev-manual/dev-manual-newbie.xml: Fixed branch example
The example in the "Repositories, Tags, and Branches" section that
creates a local branch that tracks the upstream branch is incorrect.
The syntax should be "git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;

Fixed it.

(From yocto-docs rev: ec80d43ad97370771c9cd7f7e6a4637db5f80e9b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:45 +01:00
Scott Rifenbark
0bb47e87a9 documentation/dev-manual/dev-manual-newbie.xml: Link added for TOPDIR
(From yocto-docs rev: 56d07f8251b78ae8cef3a78836b16eccb2849b89)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:45 +01:00
Scott Rifenbark
c8953cc337 documentation/dev-manual/dev-manual-intro.xml: Hob and BA added
Added Hob and Build Appliance to the list of other stuff the user
might want to reference.

(From yocto-docs rev: 4c94654e53e422e5e0a54476e3ca88e682f177af)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:45 +01:00
Scott Rifenbark
491b29151a documentation/dev-manual/dev-manual-start.xml: Misc fixes
Better wording for the role of BitBake.  Updated shell output for
the clone of poky.

(From yocto-docs rev: eab184de2bd2b22def9dbe0c93b153ec9334402b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:45 +01:00
Paul Eggleton
5bcbfdb3cf documentation/yocto-project-qs/yocto-project-qs.xml: Package requirements
The following packages no longer need to be installed on the host
system:

* python-psyco
* help2man
* cvs
* hg

Additionally, linuxdoc-tools was mentioned twice in the Fedora list.

(From yocto-docs rev: 89fc20a1a54f92165323cb2dbcfc5063c0205369)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:44 +01:00
Scott Rifenbark
0cd29aaf67 documentation/dev-manual/dev-manual-common-tasks.xml: Fix cusomizing example
As suggested by Paul Eggleton and Richard Purdie, the example that
describes another method for creating a cusomt image was modified
so that it is based on an existing recipe instead of requiring a
new image.

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

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:44 +01:00
Richard Purdie
0c243d399a Update version to 1.15.2 (correspdoning to Yocto 1.2 release)
(Bitbake rev: 270a05b0b4ba0959fe0624d2a4885d7b70426da5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 20:50:41 +01:00
Saul Wold
ba27fd8735 eglibc-package: remove /var
This is a newly installed directory and Makefile that is not needed
in an embedded setup

It fixes:
ERROR: For recipe eglibc, the following files/directories were installed but not shipped in any package:
ERROR:   /var
ERROR:   /var/db
ERROR:   /var/db/Makefile

(From OE-Core rev: 35b5fb2dd2131d4c7dc6635c14c6e08ea6926457)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 12:38:10 +01:00
Saul Wold
5ef8c0b69b Fix a couple of missing Upstream-Status
(From OE-Core rev: 7555519e4878380c106f120e48aaa971bb6ac00f)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 12:38:10 +01:00
Dongxiao Xu
84fe5c0093 distro_tracking_fields: Change for ofono, iptables, etc
(From OE-Core rev: 046f55ea8e9286560660cee4d2d50f7b539c3e3b)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 12:38:10 +01:00
Kang Kai
2227c5f800 alsa-tools: update to 1.0.25
Update to version 1.0.25.
Add option "--prefix" to GITCOMPILE_ARGS and FILES_${PN} to package
the installed but not shipped files.

(From OE-Core rev: f5da0cdc2ac2e14704319a83bd39e1e0e85ffaed)

Signed-off-by: Kang Kai <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 12:38:09 +01:00
Andreas Oberritter
e3a5089dbb opkg-collateral: import fixes from OE-Classic
* Set lists_dir to /var/lib/opkg

  commit 16808bc4817492beba512f4e73bce8c232d1eafa
  Author: Marcin Juszkiewicz <hrw@openembedded.org>
  Date:   Mon Mar 17 23:40:48 2008 +0000

* Update new options sample and move the opkg.conf to correct place

  commit cc9825d97962287df75e164aec456901292e1b7f
  Author: Tick Chen <ticktock35@gmail.com>
  Date:   Mon Dec 29 19:41:47 2008 +0800

(From OE-Core rev: ffe93e2a099e4cadb1829dc12a58a6d7bef9a5a7)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 12:38:09 +01:00
Martin Jansa
275c2f8c60 opkg-utils: bump SRCREV for Packages cache fix and other fixes
(From OE-Core rev: 5863e2ae81b7840d6cb9b80641a7fd69ce4d6f1f)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 12:38:09 +01:00
Martin Jansa
76546d1d3e xorg: add more native BBCLASSEXTENDs from meta-oe
* We have now .bbappends in meta-oe, but adding native BBCLASSEXTEND
  doesn't add any maintenance cost to oe-core and makes recipe upgrades
  easier (no need to wait for .bbappend renames ready for meta-oe).

(From OE-Core rev: 320816f96b81b8eac02b5bbdbd3d8c79d0095a00)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 12:38:09 +01:00
Khem Raj
60e2345f1b busybox: Pass HOST_CC_ARCH through CONFIG_EXTRA_CFLAGS
The -mabi option is part of HOST_CC_ARCH which does not
appear in CFLAGS. This is for completeness since compiler
already defaults to n64 it wont matter that much

(From OE-Core rev: 2aa0540515efc15957101e24224b425ee00446d9)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 12:38:08 +01:00
Khem Raj
cde6bce4b7 gdb: Add support for building gdb target for SH4
(From OE-Core rev: d478424fbe01942577ab541174df191528556554)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 12:38:08 +01:00
Khem Raj
cc18e7c0b9 pcmanfm: Add sh3/sh4 to supported hosts
(From OE-Core rev: f64dfe61234eee27b61f994ec9598bf9e820d271)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 12:38:08 +01:00
Khem Raj
b11dc75d19 gcc-cross.inc: Fix cross testing script
shift the cmdline argument after determining
there is atleast 1 argument to shift otherwise
it ends up in error when no argument is specified

(From OE-Core rev: 4cd306ab0c9404a31f38c7e5fb67fe32fdca3d4b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 12:38:08 +01:00
Khem Raj
339154100f gdb: Dont need lttng-ust for SH4
(From OE-Core rev: ad9e844e5349a5bbea1ce60b75e5b1e55db9039e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 12:38:08 +01:00
Khem Raj
551f5d19cd musicbrainz: Specify libpthread on cmdline for uclibc
uclibc librt needs some functionality from libpthread

(From OE-Core rev: 302e212ae00e06078da6085dcb2b541ab02f6f6e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 12:38:08 +01:00
Khem Raj
1797037e76 gettext,m4: Add -lrt to LDFLAGS for uclibc
uclibc has recently got posix_spawn implementation
and the implementation resided in librt so we link
-lrt to get the configure tests using uclibc provided
definitions and not the gnu-lib wrappers

Let libintl.a live in -staticdev package

(From OE-Core rev: 68e07a5ff114b5f413a5eeedeb551d82bc77774c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 12:38:07 +01:00
Khem Raj
d1dfd24324 glib-2.0: Dont disable iconv for uclibc
Currently we stub out iconv in glib when building
for uclibc which is not needed and infact results
in building systems with false hope of having
iconv and they misbehave during runtime

(From OE-Core rev: d13b1dc1897af733cc2ec22df50ae9d1fd0b48af)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 12:38:07 +01:00
Khem Raj
2baaea2691 uclibc-0.9.33: Update to tip of 0.9.33 branch
(From OE-Core rev: ce0007e7561e67f57f6e6ba3a63f327a21a6cf96)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 12:38:07 +01:00
Khem Raj
2fc2dba386 uclibc-git: Update to latest git tip
(From OE-Core rev: 0ba05b985b59f7200005e8fd28be6ebca019c46c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 12:38:07 +01:00
Peter Seebach
df13d0708b tune-sh4.inc: Fix spelling of big-endian feature set
In tune-sh3, tune-xscale, and tune-sh4, several FEATURES lines referred
to nonexistent features like "sh3eb" when they should have referred to "sh3
bigendian" or the like.  Caught by the TUNEVALID sanity check.

(From OE-Core rev: e63fb1e9918bff6f91bbab09b29248ab8b649e84)

Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 12:38:07 +01:00
Martin Jansa
88bb7ce9e9 ofono: upgrade to 1.6
* 1.5 is not compatible with glib-2.32 and newer
  | In file included from gisi/client.h:30:0,
  |                  from gisi/client.c:33:
  |/OE/shr-core/tmp-eglibc/sysroots/spitz/usr/include/glib-2.0/glib/gtypes.h:28:2: error: #error "Only <glib.h> can be included directly."

(From OE-Core rev: 72684aac1d97469ee5cf9ef0d017a8b933e2a6d6)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 12:38:07 +01:00
Dongxiao Xu
813bbb8485 iptables: upgrade to version 1.4.13
Remove a patch since it is already in upstream.

(From OE-Core rev: 90f32e0fffaef55415088f523e282ca3c08fa7ee)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 12:38:07 +01:00
Dongxiao Xu
2e14c61e56 bluez-hcidump: upgrade to version 2.4
(From OE-Core rev: dbab058af2ef513c1ff358fc620f3e7937a30ab9)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 12:38:06 +01:00
Dongxiao Xu
39ead67edc telepathy-glib: upgrade to version 0.18.1
(From OE-Core rev: d4ae664263df2ebe8bbed913b4c6b56b02bc0a45)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 12:38:06 +01:00
Dongxiao Xu
0597a49d2d telepathy-mission-control: upgrade to version 5.12.0
(From OE-Core rev: e3297c55b3f6a1e2fe032b0b0a980955c8ba9106)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 12:38:06 +01:00
Dongxiao Xu
3d3726a7dc gst-fluendo-mpegdemux: upgrade to version 0.10.70
(From OE-Core rev: f0b3234ef2f6e2b0ea47fba382ccc1e963aeb67c)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-01 12:38:06 +01:00
Richard Purdie
f39ba520d6 qt-4.8.1: Fix compile failures on qemux86
(From OE-Core rev: b8dc9182ed8959ce5a6aa285c3c7f78df2432ac3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:30 +01:00
Nitin A Kamble
c2e4b5d066 tcl: fix target recipe build issue on older distros
the builddir is put in front of the LD_LIBRARY_PATH, causing dynamically
linking of target library with native tclsh.

Fix this behavior to cross build tcl correctly.

This issue got exposed when eglibc-2.15 was configured for the target.

(From OE-Core rev: 76e8df78bdb641b045e34dcf01d7b9eb626401dc)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:30 +01:00
Richard Purdie
9da5a7bedf tcmode-default.inc: Update to eglibc 2.15 everywhere
(From OE-Core rev: 08a251a8dcbac85e0627a886bfff0907d950da7f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:30 +01:00
Richard Purdie
4a0c704c80 package_rpm: Only rebuild the indexes if the packages have changed
This change farms the solvedb creation out to a separate script which
handles creation of the index, only if mtime of any of the packages
has changed.

For a core-image-minimal set of rpm's this saves ~20s of a 45s rootfs
build. For core-image-sato it saves 1 minute of a 5 minute rootfs build.
The more packages in the system, the bigger the saving will be.

(From OE-Core rev: 3021136e7b42ab64ca16f30c88467c4b00d51ee0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:30 +01:00
Lianhao Lu
53cf1a8977 xorg-app: Use ${libdir} and ${datadir} for packaging.
Used ${libdir} and ${datadir} instead of hard coded direcotries for
packaging.

Also included INC_PR in PR.

(From OE-Core rev: ff533176a875663be797058bc35fa8ff3f9f8147)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:29 +01:00
Lianhao Lu
e38bc26da7 avahi: not using hard coded libdir.
Used ${libdir} instead of the hard docoded libdir.

(From OE-Core rev: 5f2263a89ab6d6aad47f5a524c84a42713d358de)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:29 +01:00
Lianhao Lu
3ed11d6178 popt: Fixing pkgconfig file installation issue.
Install the pkgconfig files into $(libdir) instead of $(prefix)/lib/.

(From OE-Core rev: 2addeb2639b798934d12d2f959dcac5a4ac697c2)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:29 +01:00
Richard Purdie
7670afc0ca qt4: Make 4.8.1 the default version
(From OE-Core rev: 35aea9a7e7709217a051a72252a2893b68b6d178)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:29 +01:00
Richard Purdie
6723f6be76 qt4: Add missing patch headers
(From OE-Core rev: ec2f6e1fb655289f5ef51f2b1fa86d5fedccfc61)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:29 +01:00
Ken Werner
69dc3c384f Qt 4.8 GCC 4.7 fixes
This change introduces two new patches to Qt 4.8. One prevents the build
system from using the -fuse-ld=gold GCC flag as this isn't upstream and
therefore not supported by many toolchains out there. The second patch
fixes a compile time error when using toolchains based on GCC 4.7.

(From OE-Core rev: c98d60923b84bcd285644cecaed1fa0455747a2f)

Signed-off-by: Ken Werner <ken.werner@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:28 +01:00
Richard Purdie
e3bafe8ae1 xf86-video-vesa: Add recommendation for xserver libint10 module which this driver needs
Without this module, the driver doesn't work correctly.

(From OE-Core rev: 04e5102e6d9f2332dd39467c3261d610338358fc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:28 +01:00
Richard Purdie
b67fccc81e package_rpm.bbclass: Replace shell provides/requires script with python version
The existing shell script is a fork bomb and forks off hundreds of
grep/cur/wc calls as it reads from its input stream and iterates over
the file data table for each line of input. This patch replaces the
shell code with python code which doesn't exec anything and hence runs
much faster without the exec() overhead. This speeds up rpm packaging
considerably, as can be measured simply by timing it, or watching the
processor utilisation.

(From OE-Core rev: 2fb5f72b47840ed7f540df181595878e3f5ba4c6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:28 +01:00
Richard Purdie
c1c9144f67 mesa: Fix mklibs patch to simply remove troublesome uname usage
Without this we started seeing the -mx32 flag being passed to the compiler
for things like arm builds which makes no sense.

(From OE-Core rev: 288b7a9d0e6093f85e4a1d3e34d4332b9c43b47b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:28 +01:00
Richard Purdie
36361c0165 tcmode-default.inc: Default to gcc 4.7
(From OE-Core rev: f5fb611f79ddb256252335e2549ddd2a0e45a772)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:27 +01:00
Khem Raj
0611c3c1a2 gcc-package-sdk: Package plugin files generated by gcc-4.7
(From OE-Core rev: e2ce49ca28fe7f6054406bc276a3402cfc04f545)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:27 +01:00
Khem Raj
8250ca8b32 gcc-4.7: Do not use --with-header option for cross-gcc
(From OE-Core rev: 11cbd871e0969931d5c81ec53684446f4293faf1)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:27 +01:00
Khem Raj
9f32853544 gcc-4.7: Let cpp specs honor include searches in relocated install tree
Fix from Yocto Bug 2074

(From OE-Core rev: fe32e09ccbef3a9896955e8d4c3113c53f95de48)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:27 +01:00
Khem Raj
8e6a742220 gcc-4.7: Use full relative path in require directive
This will help in meta-linaro where it will be able
to utilize maximum recipes from OE-Core and thereby
keep close compatibility with OE-Core gcc recipes

(From OE-Core rev: 3c9f7eb2e2d70869a71a584eb1ba670b50a88379)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:26 +01:00
Khem Raj
38e961ace3 libgcc-4.7: Package libgcov nativesdk correctly
(From OE-Core rev: 2bcc03b6787d4bb0731c047bf25c945228136e5f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:26 +01:00
Khem Raj
79a5da9eda gcc-4.7: Lower the internal consistency check level to release
This should help in speeding up compilation at the expense
of a bit less info when gcc ICEs but we dont get many gcc
ICEs and therefore using --enable-checking=release is
right balance

(From OE-Core rev: a84c097cc7c52a856601e546880440d9375b0e30)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:26 +01:00
Khem Raj
529173ab4a gcc-4.7: Disable cloog and ppl
If build system has those libraries installed
gcc configure will pick them up. We want
consistent builds so we disable them since we
do not (yet) support them

(From OE-Core rev: 523df15bcc21e1749771cca757613f3520243b8e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:26 +01:00
Khem Raj
4155ed41d8 gcc-package-target: Add the dangling files to specific packages
create a new package to have lto dev packages bundled

(From OE-Core rev: b98fb95c594117d165a31795b6fa7b6cb583d598)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:25 +01:00
Khem Raj
e6716c54ec gcc-crosssdk-intermediate: Use --with-native-system-header-dir for 4.7
--with-native-system-header-dir is relative to sysroot which
is what we want --with-headers is deprecated anyway

(From OE-Core rev: 2f7ac32b57e047cdaf01e0b6f77509117dbbd14c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:25 +01:00
Khem Raj
0e70f544ac gcc-cross-canadian_4.7.bb: Override ARCH_FLAGS_FOR_TARGET
We need -isystem=${target_includedir} in there

(From OE-Core rev: 573949096d51bde4961b2301c20c966c324a66bd)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:25 +01:00
Khem Raj
e06d1f2d85 gcc-4.7: Define own do_configure_prepend
gcc-4.7 does not define STANDARD_INCLUDE_DIR

(From OE-Core rev: 149a9911a00c79475d00382dcc384f355fbcdd02)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:25 +01:00
Khem Raj
aafa59064b gcc-4.7: Add recipes
Add new recipes for gcc-4_7-branch right now gcc 4.7.0
is latest release from this branch

(From OE-Core rev: 3f8fee75e598ad0994acc5da0a612e6eca4f35f6)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:24 +01:00
Khem Raj
173f424808 gcc-configure-common.inc: Use libc-uclibc override
Its better than duplicating the overrides

(From OE-Core rev: 7159dad19f8cfd3e7e95523da63e91370744da7f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:24 +01:00
Khem Raj
1dd054518f gcc-4.6: Specify complete paths in require directive
This is needed for adjusting meta-linaro where linaro
gcc recipes leverage the core recipe infrastructure and
modifies minimal to keep compatibility with OE-Core
so that any changes in OE-Core gcc recipes does not
trigger changes in meta-linaro.

(From OE-Core rev: cb01b2a4fc82e62eacc4441fddc3fdfb04a3acf3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:24 +01:00
Khem Raj
85f8b5c106 gcc-4.6: Remove redundant overrides
Use libc-uclibc override instead of TARGET_OS
override

(From OE-Core rev: 57392b5c3c9d14ba6568a98fc4fb0dadbdb9d9cb)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:24 +01:00
Khem Raj
271e4e02f9 libgcc_4.6: Package libgcov nativesdk correctly
(From OE-Core rev: b32e26310d5b635b7ef1a6408dc14d400d799477)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:23 +01:00
Khem Raj
9ce94ea4a4 gcc-configure: Render --with-local-prefix harmless
this option by default points to /usr/local no matter
what so we cant let it sit on sidelines otherwise it
will access host machine's /usr/local which may not
be desired. So disable this option. This also helps in making
gcc's shared state more consistent

(From OE-Core rev: eee3658366e1ae9d3e429b3d3c968938d8d0f00e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:23 +01:00
Khem Raj
f7337ee8c4 gcc: Stash the gcc-cross builddir to reuse in libgcc and gcc-runtime
Currently we stash the libgcc install tree and then reuse that
to populate libgcc recipe later. This mechanism does not work
for gcc 4.7/trunk since now libstdc++ needs access to build tree
of libgcc. This patch stashes the gcc-cross build tree
and then reuses this in libgcc as well as in gcc-runtime
recipe builds.

Now we build libgcc in the libgcc recipe instead of just
using the prebuilt install tree

core-image-minimal build/run tested on all qemu machines

(From OE-Core rev: 7cf9f0597648c0bdaa080976d74acfbfc4c8443d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:23 +01:00
Khem Raj
f66cc57e72 gcc-configure: Pass distinct target flags
When building gcc-cross-canadian libgcc is built using
headers from gcc-crosssdk and not the target sysroot
because we do not pass proper CFLAGS for target bits
so it ends up using CFLAGS that were meant for compiling
canadian gcc itself. It does not show up as a problem
when building SDK with eglibc because eglibc-nativesdk
and eglibc have identical headers. The problem shows
up clearly when you try to build uclibc based meta-toolchain
since then nativesdk libc and target libc are different

(From OE-Core rev: 0e904103e9bd7fdb31bfcc129067511f9f45701b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:23 +01:00
Khem Raj
49aeaa3f67 tcmode-default: Use SDKGCCVERSION ?= "${GCCVERSION}"
Usually they should be same if not defined to be different
by user. In this case if I override GCCVERSION in local.conf
then SDKGCCVERSION will also follow the suite.

(From OE-Core rev: 1f9c07d8a086a3dc3bb68eaabd56a1b1730306ff)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:22 +01:00
Richard Purdie
71b78f0483 classes: Add recipe class to overrides
We have currently no override to detect a recipe being build cross, crosssdk
or for target at times we can use virtclass-native and virtclass-nativesdk to
override stuff in recipes but we dont have way to modify a variables
based on recipe type always.

This patch adds in such an override and in particular makes a target override
class available.

With this change now we can say:

EXTRA_OECONF_class-target = "...."
EXTRA_OECONF_class-native = "..."
EXTRA_OECONF_class-nativesdk = "..."
EXTRA_OECONF_class-crosssdk= "..."

Based of an original patch by Khem Raj

(From OE-Core rev: cf332fd9bf685f6d42b11c1f0c37b934c7f5bcbe)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-30 11:37:22 +01:00
Richard Purdie
c47a869308 netbase: Correctly set FILESEXTRAPATHS to include the version
[YOCTO #2366]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 12:41:17 +01:00
Richard Purdie
a3d15ff6f6 poky-floating-revisions.inc: Catch up with eds-dbus rename
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 11:01:27 +01:00
Martin Jansa
844149d392 bitbake.conf: use TUNE_PKGARCH instead of TARGET_ARCH in SDK_NAME
* also use weak assignment for SDK_NAME_PREFIX as suggested by khem
* TUNE_PKGARCH is not 100% right too, because such SDK image usually has few
  machine specific packages included (e.g. base-files, securetty, opkg configs)
  but those are not important for SDK users so it's better to have one SDK for
  whole e.g. armv7a-vfp-neon then 6 SDK for each machine which would work the
  same.
  You can see diff between crespo and om-gta04 SDK here:
  http://build.shr-project.org/shr-core/sdk/oecore-i686-armv7a-vfp-neon-toolchain-efl-crespo-om-gta04.diff

(From OE-Core rev: 5a1f172d35be610688842a8a9a84f24edb9aeb51)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:59:54 +01:00
Denis 'GNUtoo' Carikli
8809f2be92 xev: move from meta-demoapps
* The location where xev was located didn't contain xorg-app-common.inc,
  but still xev requires it. So moving it fixes that issue.
* File checksums and License checksums were also added.

(From OE-Core rev: 764bc41950513bede2ff763d0db55961f00318da)

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@no-log.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:59:54 +01:00
Nitin A Kamble
e3a6524579 quilt: fix perl path in target perl scripts
While building on distros like fedora17, which has /bin/perl,
the target perl scripts get perl path also as /bin/perl.
And that is not correction path of perl on the target.

This commit avoids this error.

| error: Failed dependencies:
|       /bin/perl is needed by quilt-0.51-r2.i586
NOTE: package core-image-sato-sdk-1.0-r0: task do_rootfs: Failed
ERROR: Task 8
(/home/nitin/prj/poky.git/meta/recipes-sato/images/core-image-sato-sdk.bb,
do_rootfs) failed with exit code '1'

(From OE-Core rev: f091895d7dacd601f52edb0f0a08bdfa7e6d2461)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:20 +01:00
Saul Wold
c2b663f5f8 boost: Ensure we use our user-config.jam file
This change ensures we use the user-config.jam Configuration
that we created and will not use anything from the user's home
directory.

[YOCTO #2302]

(From OE-Core rev: 555f2fc374728b3b379f2ad59c8c5fc34aeb194a)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:19 +01:00
Mark Norman
391ffb088d uclibc SDK not including libpthread_nonshared.a
Modified the uclibc PACKAGES list order to ensure the uclibc-dev package is
processed before uclibc-staticdev to allow *_nonshared.a libraries to be
packaged in the uclibc-dev package.  The *_nonshared.a libraries are required
by the SDK.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:19 +01:00
Saul Wold
41296357a9 evolation-data-server: Rename from eds-dbus
[YOCTO #2316]

(From OE-Core rev: 6189a8a05620974c098d548c26502453f371fe26)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:19 +01:00
Otavio Salvador
cc34134e71 u-boot: update 2012.04 to 2012.04.01 release
(From OE-Core rev: 90b7227f48c8250851d4c1a298364062a79403e6)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:18 +01:00
Otavio Salvador
1b6cba6969 u-boot-mkimage: update 2012.04 to 2012.04.01 release
(From OE-Core rev: bf8819a1aafeeaa3ce4c8eeda09f882bd9e18600)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:18 +01:00
Otavio Salvador
967bd67c37 u-boot-fw-utils: update 2012.04 to 2012.04.01 release
(From OE-Core rev: e6a6f2fb4bae146fc3077f782090e91904e00a08)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:18 +01:00
Shane Wang
baf99e60d6 distro_tracking_fields: manual checks for some recipes
(From OE-Core rev: d3db94fe50c0da90d751112a083a39c872030897)

Signed-off-by: Shane Wang <shane.wang@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:18 +01:00
Scott Garman
0f95925b4c runqemu-ifup: enable ip masquerading for QEMU NAT addresses
Fix the IP masquerading settings so that networked QEMU sessions can
reach external networks.

This is a partial fix for [YOCTO #2329].

(From OE-Core rev: 14c4ce77b5c3738a8a9ea7d724de7ce9efff18c4)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:17 +01:00
Scott Garman
2874efa132 openssl: upgrade to 1.0.0i
Addresses CVE-2012-2110

Fixes bug [YOCTO #2368]

(From OE-Core rev: 88d17caf6d0eb241f54b1af1704405d5f47eadc5)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:17 +01:00
Scott Garman
34e6d297e3 libpng: upgrade to 1.2.49
License hasn't changed, just updated the md5 checksums due to trivial
date changes within the text (and the position of the license text
within png.h).

Addresses CVE-2011-3045

Fixes [YOCTO #2352]

(From OE-Core rev: a2009fd8548d818c4e647dae554b98074bd3eecd)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:17 +01:00
Andrei Gherzan
949f0acf22 python: Add patch to avoid warning about sunaudiodev module
sunaudiodev module is sunos specific so we avoid a warning by not.
adding this module to missing variable.

[YOCTO #1937]

(From OE-Core rev: a92847ed7671386225c0738d62780a9f1b043789)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:17 +01:00
Andrei Gherzan
27cd16fa12 python: Add patch to avoid warning about _tkinter
_tkinter module needs tk module along with tcl. tk is not yet integrated
in yocto so we skip the check for this module.
Avoid a warning by not adding this module to missing variable.

[YOCTO #1937]

(From OE-Core rev: 3f1be431054b3947bee9a2503eea1a3cefb38f4c)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:16 +01:00
Andrei Gherzan
3d8284487d python: Add patch to avoid warning about bsddb module
_bsddb module can be built only with db version between 4.1 and 4.7.
Avoid a warning by not adding this module to missing variable.

[YOCTO #1937]

(From OE-Core rev: d974ad03c58d7a221ebe3d59c57607928fbbd435)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:16 +01:00
Andrei Gherzan
1174fa7f0c python: Add patch to search for db.h in inc_dirs and remove warning
python should search for db.h in inc_dirs and not in a hardcoded path.
If db.h is found but HASHVERSION is not 2 we avoid a warning by not.
adding this module to missing variable.

[YOCTO #1937]

(From OE-Core rev: 79d0332f21769338a9f904308d8a808486e10fea)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:16 +01:00
Andrei Gherzan
fcb368f767 python: Add patch for 64bit platform
This patch was added for 64bit host machines. In the compile process python
is checking if platform is a 64bit platform using sys.maxint which is the host's
value. The patch fixes this issue so that python would check if TARGET machine
is 64bit not the HOST machine. In this way will have "dl" and "imageop" modules
built if HOST machine is 64bit but the target machine is 32bit.

[YOCTO #1937]

(From OE-Core rev: 4993f50744882ee384cb8fb106ad209f0d887b3f)

Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:16 +01:00
Tasslehoff Kjappfot
77a3de5ff0 boost: set python-root correctly
[RP: Fix whitespace]
(From OE-Core rev: 7bd803c9535afe5933d41f92da5208ae773e2abb)

Signed-off-by: Tasslehoff Kjappfot <tasskjapp@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:15 +01:00
Andreas Oberritter
931910c51c {kernel, module}.bbclass: don't run depmod for module packages during do_rootfs
* depmod already gets executed by pkg_postinst_kernel-image.

* If you build a module using module.bbclass, pkg_postinst returns 1 in
  do_rootfs, causing pkg_postinst to run again on first boot. To improve
  this situation, I copied pkg_postinst from kernel.bbclass to module.bbclass.
  This was rejected by Koen, because he doesn't like the code from
  kernel.bblcass, which uses ${STAGING_DIR_KERNEL}. Richard then suggested
  that calling depmod during do_rootfs wasn't necessary at all, because
  it already gets done by kernel-image.

(From OE-Core rev: c7809c03080925b5e9171df5c9175c7c6420b376)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:15 +01:00
Martin Jansa
d7a6e09dc4 kernel.bbclass: unify white spaces
* indentation was with spaces and tabs, unify to use tabs instead of
  spaces, for shell code and populate_packages_preppend,
  because "python populate_packages" expects tabs (or 8 spaces)
* and use 4 spaces for anonymous python

(From OE-Core rev: 24472a794e1787ebcd700dde66018a31069aa50b)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:15 +01:00
Martin Jansa
03d978b1ac kernel.bbclass: merge uboot_mkimage improvements from meta-oe
* allows to detect ENTRYPOINT from kernel binary marked with UBOOT_ENTRYSYMBOL
  used e.g. by ben-nanonote

(From OE-Core rev: 9ce6bd1d58b4418d3a53be417c18a0e57314462a)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:15 +01:00
Richard Purdie
7ad49364fd utils.bbclass: Testing via env in create_wrapper is a nice idea but breaks things
For example, pseudo-native wants to set LD_LIBRBARY_PATH but setting this
into the environment here causes the existing pseudo (running during do_install)
to poke into paths in /opt and this breaks builds.

The simplest fix is simply not to do this. Comments tweaks to match the code.

(From OE-Core rev: 1efa999ed02186c9c58cb48418e0c62ecdc82ac7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:14 +01:00
Nitin A Kamble
0816a3f355 libproxy: fix compilation with gcc 4.7
(From OE-Core rev: 7298e0c48198587d41319d0068aa3511afa6d1c5)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:14 +01:00
Scott Garman
e79ecb1d32 distro_tracking: manual check updates
Manual check updates for the following recipes:

libpng
libgdbus
expat
chrpath
e2fsprogs
opensp
nfs-utils

(From OE-Core rev: a6d331ffb25ce81f7e42b18e12068413aab1358c)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:14 +01:00
Otavio Salvador
fb65e5b73d u-boot: add 2012.04 release
(From OE-Core rev: 146439ca1ef1da55769363cde012ed8b279e79dd)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:14 +01:00
Otavio Salvador
8545bea9a0 u-boot-mkimage: add 2012.04 release
(From OE-Core rev: e1b1b6313b57d069ef77bc6e1e1ebbb8f6fdda4e)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:13 +01:00
Otavio Salvador
79591eb7d2 u-boot-fw-utils: add 2012.04 release
(From OE-Core rev: 0f4552cde971a0de247b865b25136b03be91dc39)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:13 +01:00
Otavio Salvador
01d57e6548 u-boot.inc: fix compilation when using 'gold' as linker
(From OE-Core rev: 2e79fcd673dadeab6358fe22d47c8534c14de03e)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:13 +01:00
Paul Eggleton
8f0517a6b3 dpkg-native: fix deb-based rootfs construction failure on Fedora 16
Backport a fix from 1.16.x upstream to use fd instead of stream-based
I/O in dpkg-deb, which avoids the use of fflush() on an input stream
(the behaviour of which is undefined by POSIX, and appears to have
changed in the version of glibc introduced in Fedora 16 and presumably
other systems).

Fixes [YOCTO #1858].

(From OE-Core rev: 2aefac2a2c508da11a73e29d82947ac627d31118)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:13 +01:00
Damien Lespiau
2b05d35455 bootimg.bbclass: Tweak iso images to become hybrid images
This allows iso images to be written to usb keys and booted on systems which
have a BIOS which support this. There is no real down side to tweaking the iso
images in this way.

[YOCTO #1763 partial]

(From OE-Core rev: 9a946554e4843841c2ec3cbb2575e80d0ccdc29f)

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:12 +01:00
Saul Wold
c65dc38417 kernel: Fix packaging issue
Remove /etc since it is empty, when creating a machine that does not
deliver any module config files, the /etc is empty and is then warned
about not being shipped, so we remove it.

This occurs in the routerstationpro with the following warning:
WARNING: For recipe linux-yocto, the following files/directories were installed but not shipped in any package:
WARNING:   /etc

(From OE-Core rev: 963742f5a9bce2dfedd58350af754d256e2211cb)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:12 +01:00
Saul Wold
8b6f915ebb distro_tracking: Update Manual Check
Update the manual check dates for:
sqlite3
libcap
libcheck
console-tools
psmisc
boost
sysfsutils
less
unzip
zip
usbutils
sysstat
cracklib
libexif
qemugl
glew
squashfs-tools
lame
libmad
lsb

(From OE-Core rev: e2e297d8a3b5a89b5730432e998669341c50c172)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:12 +01:00
Saul Wold
74b77be820 sqlite3: Upgrade to 3.7.11
(From OE-Core rev: 2529511030e8708134c465c7ae3bfd24b8025263)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:12 +01:00
Saul Wold
6acd250977 lame: Upgrade to 3.99.5
(From OE-Core rev: 1a5b92bf19baa77ae3b360659f7eefdd04e52937)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:11 +01:00
Saul Wold
db6a6e744f sysstat: Upgrade to 10.0.3
(From OE-Core rev: 204a0fda526d245382286287a0c361c7f7bbeb80)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:11 +01:00
Saul Wold
b4d6cedcc3 quilt: move empty quiltrc to native sysconfdir
patch.bbclass orignally pointed at /usr/bin/quiltrc for an empty
version to ensure that no user setting were picked up, change this
to /etc/quiltrc in the Native sysroot since we now have a native
sysconfdir.

Make sure that the quiltrc is actually installed in the Native
sysconfdir, not the target, so fix this after the recipe split.

(From OE-Core rev: 1af73900cea82e63fb0f94e6f057144f723146ec)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:11 +01:00
Saul Wold
67fbab3dd5 gcc: Add plugins package for ARM, fix /usr/incude packaging
WARNING: For recipe gcc, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/include
WARNING:   /usr/lib/gcc/arm-poky-linux-gnueabi/4.6.4/plugin/libgcc
WARNING:   /usr/lib/gcc/arm-poky-linux-gnueabi/4.6.4/plugin/libgcc/config
WARNING:   /usr/lib/gcc/arm-poky-linux-gnueabi/4.6.4/plugin/libgcc/config/arm
WARNING:   /usr/lib/gcc/arm-poky-linux-gnueabi/4.6.4/plugin/libgcc/config/arm/bpabi-lib.h
(From OE-Core rev: aff48c514174ba5fa3bb1e5df5293376b567da09)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:11 +01:00
Saul Wold
08920d7380 xserver-kdrive: Add xkb to existing docs list
WARNING: For recipe xserver-kdrive, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/share/man
WARNING:   /usr/share/man/man5
WARNING:   /usr/share/man/man1
WARNING:   /usr/share/man/man1/Xephyr.1
WARNING:   /usr/share/man/man1/Xserver.1
(From OE-Core rev: 93bd303d4af91769ae943841036a1b956ac2e940)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:11 +01:00
Saul Wold
af7caf9250 libgcc: Package additional *crt*.o files for PPC
WARNING: For recipe libgcc, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/lib/powerpc-poky-linux/4.6.4/ecrti.o
WARNING:   /usr/lib/powerpc-poky-linux/4.6.4/ncrti.o
WARNING:   /usr/lib/powerpc-poky-linux/4.6.4/ecrtn.o
WARNING:   /usr/lib/powerpc-poky-linux/4.6.4/ncrtn.o
(From OE-Core rev: b17c02d223455680324227f8de17feb8ab3e7b68)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:10 +01:00
Saul Wold
96268a459c binutils: add embedspu for ppc builds
WARNING: For recipe binutils, the following files/directories were installed but not shipped in any package:
WARNING:   /usr/bin/embedspu
(From OE-Core rev: 447d77b9e33a68f748c96a152eae19148e43ed7c)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:10 +01:00
Jonas Danielsson
898e1bfbe8 bluez4: make alsa support conditional upon DISTRO_FEATURES
Do not enable alsa in bluez4 unless it's included in DISTRO_FEATURES.

(From OE-Core rev: 36e434ecd05754d8c99d416f706da4a1b11b729e)

Signed-off-by: Jonas Danielsson <jonas.danielsson@lundinova.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:10 +01:00
Ken Werner
b8909556e3 bdwgc: Set ARM_INSTRUCTION_SET to "arm"
The bdwgc recipe uses a version of libatomic that fails when building in Thumb
mode. This has been fixed upstream already. The
pulseaudio/libatomics-ops_1.2.bb has the same issue and sets the
ARM_INSTRUCTION_SET to "arm" (probably until a new version gets pulled in).
This patch applies the same workaround to the bdwgc/bdwgc_20110107.bb recipe.

(From OE-Core rev: a648afcdd045a38d3c6729499a48ab7212a0b3c3)

Signed-off-by: Ken Werner <ken.werner@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:10 +01:00
Robert Yang
c312cf768f qt4-x11-free: enable -accessibility and -sm
Is it possible to enable the "-sm -accessibility" in oe-core, please?
There is a meta-kde layer which requires the "-sm -accessibility", but
they are disabled in meta/recipes-qt/qt4/qt4.inc:

QT_DISTRO_FLAGS ?= "-no-accessibility -no-sm"

I checked the log of the qt4, can't find the related log for
"-no-accessibility -no-sm".

Another way is use the bbappend, but it would be great if it can be
enabled in oe-core.

This only enables for qt4-x11, doesn't enable for qt4-embedded, and
have done testing on: qemux86, qemuarm, qemumips, qemuppc.

(From OE-Core rev: 678973a9ad258b466295a666cbcd56df15a57c7c)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:09 +01:00
Darren Hart
688b1ca792 gthumb: Disable parallel make for gthumb install
With PARALLEL_MAKE set to 14, I frequently see the gthumb do_install
task hang. Make is spinning at 100% CPU and the build makes no
more progress.

The following work-around proposed by Richard Purdie allows progress
to be made.

(From OE-Core rev: 01e14ae25c133e46603d01a72d0372c111e12f11)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
CC: Joshua Lock <josh@linux.intel.com>
CC: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:09 +01:00
Mark Hatle
6a390763b1 console-tools: Use update-alternatives
Use update-alternatives and sync to the way the replace kbd package
does things.  Using update-alternatives ensures that the proper provides
are setup in the packages.

(From OE-Core rev: 9c2aa2da7cb9ceec02c5d42d18a623a51f922cea)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:09 +01:00
Mark Hatle
a253b0e85e kbd: Use update-alternatives
Change to use ALTERNATIVE_LINKS from update-alternatives.  This ensures
the links are created consistently and the package provides are
correct.

(From OE-Core rev: 728569a3db005a935e6b08d6aac3e23e88d486df)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:09 +01:00
Mark Hatle
469a4b9d8a gzip: Use update-alternatives class
Switch to using the update-alternatives class.  Need this for
consistency and to ensure the necessary package provides get set.

(From OE-Core rev: e0626a0270fb0f4ff128e761c13d44162723434c)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:08 +01:00
Mark Hatle
46ffeed918 findutils: Use update-alternatives
Change to using update-alternatives to ensure that we're consistently
using the class, and the package provides are being setup properly.

(From OE-Core rev: be2dbd1abfb4e0e6989d1c34c09047e439d8194e)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:08 +01:00
Mark Hatle
f264a10d4f shadow: Use update-alternatives
Switch to using ALTERNATIVE_LINKS to ensure the update-alternatives are setup
properly, along with the package provides.

[RP: Fix links so as not to need the bbclass changes]
(From OE-Core rev: cb27e78bfc059d6878dcda8b7a27a078f7a871e4)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:08 +01:00
Mark Hatle
f517fb89c5 net-tools: Use update-alternatives
Switch to using ALTERNATIVE_LINKS to ensure the update-alternatives are setup
properly, along with the package provides.

(From OE-Core rev: 9f44708774cdcf623700b336d5a3a7bc40f91f0a)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:08 +01:00
Mark Hatle
f8d6a50bd8 hdparm: Use update-alternatives
Switch to using update-alternatives, this ensures that the
call to update-alternatives and package provides are correct.

(From OE-Core rev: a9b046297c10ca2b2368012803cd719ff59292d7)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:08 +01:00
Andreas Oberritter
967442e36e wpa-supplicant: move wpa_passphrase to bindir
* wpa_passphrase doesn't require special privileges.

(From OE-Core rev: 4a4c568e25a08e9f222d723f9819582c9f895c58)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:07 +01:00
Andreas Oberritter
81c02e0ed7 wpa-supplicant: remove unused files
* defconfig, init.sh, wpa_supplicant-0.5.7-always-scan.patch,
  wpa_supplicant-fix-deprecated-dbus-function.patch and
  wpa_supplicant_default.conf are not used by the recipe.
* default-sane gets installed but is unused.

(From OE-Core rev: 740b5baa511b40ee7bc3050770b6d5102e00f8f5)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:07 +01:00
Andreas Oberritter
84fce2ac62 python: use PKGSUFFIX for libpython2
* python-nativesdk shouldn't provide libpython2, but
  libpython2-nativesdk.

(From OE-Core rev: 6691d036fff6ba6d7e50a6add8e30cb47e1e60ed)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>

[PR Bump - sgw]

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:07 +01:00
Otavio Salvador
4b3edb984b connman: backport test script fixes
Those fixes are required to get the test scripts to work with current
0.79 DBus API.

(From OE-Core rev: 0d6abd0ff634604cdde2b80f625d6ca2a015948a)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:07 +01:00
Khem Raj
c85de4be15 connman: Fix linking with gold linker
Fixes errors like below

/home/kraj/work/angstrom/build/tmp-angstrom_2010_x-eglibc/sysroots/x86_64-linux/usr/libexec/armv5te-angstrom-linux-gnueabi/gcc/arm-angstrom-linux-gnueabi/4.6.3/ld:
error: hidden symbol '__start___debug' is not defined locally
/home/kraj/work/angstrom/build/tmp-angstrom_2010_x-eglibc/sysroots/x86_64-linux/usr/libexec/armv5te-angstrom-linux-gnueabi/gcc/arm-angstrom-linux-gnueabi/4.6.3/ld:
error: hidden symbol '__stop___debug' is not defined locally
collect2: ld returned 1 exit status
make[1]: *** [plugins/loopback.la] Error 1

(From OE-Core rev: 0bc79de634841c57868be3d7d8b0fd8bf47ccc18)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:06 +01:00
Martin Donnelly
3fd422eda8 augeas: Add libxml2 dependency
This patch fixes the following Augeas configure error.

| checking for LIBXML... no
| configure: error: Package requirements (libxml-2.0) were not met:
|
| No package 'libxml-2.0' found
|
| Consider adjusting the PKG_CONFIG_PATH environment variable if you
| installed software in a non-standard prefix.
|
| Alternatively, you may set the environment variables LIBXML_CFLAGS
| and LIBXML_LIBS to avoid the need to call pkg-config.
| See the pkg-config man page for more details.
| ERROR: oe_runconf failed

(From OE-Core rev: 72edbba1ad212986be74aaa15eb9c785c6456d30)

Signed-off-by: Martin Donnelly <martin.donnelly@ge.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:06 +01:00
Nitin A Kamble
9f17530dcc automake: upgrade from 1.11.2 to 1.11.3
Removed already upstream patch:
  automake/automake_1.11.2_fix_for_pkglibexec_SCRIPTS.patch

Rebased these patches to the newer code:
  automake/prefer-cpio-over-pax-for-ustar-archives.patch
  automake/python-libdir.patch

Changed the tarball name from bz2 to gz, as the bz2 tar ball
is not published for the 1.11.3 version.

[RP: Fix python.m4 to preserve the tweaks that allow us to build python modules]
(From OE-Core rev: 94bf72aeae035ffade75bd9343937888bbb09c82)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:06 +01:00
Andreas Oberritter
54a6f8498e qt4: move from 4.8.0 to 4.8.1
* No changes other than source checksums and PR at recipe level.
* DEFAULT_PREFERENCE still set to -1

(From OE-Core rev: 6a21cf0068234152b3f13866dc7c05adc6d0d9c9)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:05 +01:00
Martin Jansa
343c85f77d libusb*: import native support from meta-oe
(From OE-Core rev: 971361a4fac5622858f71a87c478e16ef02c4d76)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:05 +01:00
Martin Jansa
e910451889 pango: import native support and --disable-introspection from meta-oe
* see http://git.openembedded.org/meta-openembedded/commit/?id=3f4c8edc60b3426dd96f76504169d742a04c1ce1
  for details about --disable-introspection

(From OE-Core rev: f3ff6f0d0ae3cef6f30a80fc64c251aec9dd1a01)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:05 +01:00
Martin Jansa
e1d82bf900 tiff: import native support from meta-oe
(From OE-Core rev: fef8ef18e4aa441739137769d753dc882281e8fc)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:05 +01:00
Martin Jansa
009fa28404 cairo: import native support from meta-oe
(From OE-Core rev: d8f4551d96c952cb62e8d96f9d5d491be9151279)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:04 +01:00
Martin Jansa
6ae4d4f30a pixman: add native support and perl-native to DEPENDS from meta-oe
(From OE-Core rev: 94cb365fdc54e119de958657f7ccf25f9f769017)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:04 +01:00
Martin Jansa
1408f19404 librsvg: import native support from meta-oe
(From OE-Core rev: 5a8bcd72d9e49e727c02a0ff66c5bdc83637335a)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:04 +01:00
Marko Katic
755256c33a xcb-util-render: Add recipe that provides libxcb-render-util
Xcb-util was split into separate packages in the 0.3.6 -> 0.3.8 transition.
This library was previously provided by xcb-util and is now a separate package.

(From OE-Core rev: 7703a00515b3cc8f7d3855cf3654ee243ef7b146)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:04 +01:00
Marko Katic
43ed8bb50d xcb-util-image: Add recipe that provides libxcb-image.
Xcb-util was split into separate packages in the 0.3.6 -> 0.3.8 transition.
This library was previously provided by xcb-util and is now a separate package.

(From OE-Core rev: b554e29f356e3af27beaffb5b538265d010cd08e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:03 +01:00
Marko Katic
fdc948f816 xcb-util-keysyms: Add recipe that provides libxcb-keysyms.
Xcb-util was split into separate packages in the 0.3.6 -> 0.3.8 transition.
This library was previously provided by xcb-util and is now a separate package.

(From OE-Core rev: e93c121b66f689df98b953b164abc4bd61351e37)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:03 +01:00
Marko Katic
3bf4f5b1d6 xcb-util-wm: Add recipe that provides libxcb-icccm and libxcb-ewmh
Xcb-util was split into separate packages in the 0.3.6 -> 0.3.8 transition.
These libraries were previously provided by xcb-util and are now a separate package.

(From OE-Core rev: ee488dd2c33bb3f2818f28bd5db670f09d53ce1f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:03 +01:00
Marko Katic
99f4b6f6f7 xcb_util.inc: Remove packaging and modify SRC_URI for multiple ${BPN} names
Xcb-util was split into separate packages during the 0.3.6 -> 0.3.8 transition.
Update xcb_util.inc to reflect that by removing the older packaging.
Libxcbatom, libxcbaux and libxcbevent are merged into libxcbutil.
Libxcbicccm, libxcbimage, libxcbkeysyms and libxcbwm are now separate packages.
Libxcbproperty and libxcbreply were made obsolete with this commit:

http://cgit.freedesktop.org/xcb/util/commit/?id=81c62e7a04213abefa1ea82819887aaaa3c31a74

(From OE-Core rev: da4a2d49cd1674eddef80c58e5f2effc0035e477)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:03 +01:00
Saul Wold
2a4ccf560e xf86-input-evdev: Upgrade to 2.7.0
(From OE-Core rev: 18c0547fb870ccbdd6b08b4ad449591dfc8bba5c)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:02 +01:00
Saul Wold
8e1d23ddec xf86-input-vmmouse: Upgrade to 12.8.0
(From OE-Core rev: d5440f4d8b2df46916669a21ff916812df00efdb)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:02 +01:00
Saul Wold
c45085ef30 xf86-video-vmware: Upgrade to 12.0.1
(From OE-Core rev: 647078a9213f5a1c80c8fa25a5e06c271f5f6e8c)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-26 10:05:02 +01:00
Richard Purdie
492a58cabd self-hosted-image: Update poky revision to point at the 1.2 release branch
(From OE-Core rev: fd989e1bceef6df36619ba8944c8141abefd282e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-24 10:21:11 +01:00
Richard Purdie
cd591cc2c0 self-hosted-image: Update poky revision to point at the 1.2 release branch
(From OE-Core rev: 117ca04008415ed0e6e10dcd373ab5f685b3225a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-24 10:17:52 +01:00
Dongxiao Xu
f6864c1eed sanity.bbclass: Add a new case to issue sanity_check()
Judge if "SanityCheck" event is received, it will issue the
sanity_check() and send "SanityCheckPassed" back if succeeded.

(From OE-Core rev: 19704f9e69ecf09531687385b478b47f49fe372d)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-24 10:14:49 +01:00
Dongxiao Xu
2a6e1b0a0c Hob: Issue sanity check after parse is completed
In original scheme, sanity check is part of the parsing process. If a
sanity check fails, it means the parsing is failed and values in Hob
GUI may not correct.

With this commit, Hob will actively issue sanity_check() after the
parsing is completed.

This fixes [YOCTO #2361]

(Bitbake rev: 36968815dcc91759eeacb308bf4b294af416eee5)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-24 10:14:48 +01:00
Dongxiao Xu
544553b12b Hob: Add proxy setting into setting's md5
If user changed the proxy setting, we will reparse configuration because
it may need sanity check.

(Bitbake rev: 0be54917cd88ea8f110027a7840ac69a411fd589)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-24 10:14:48 +01:00
Dongxiao Xu
86abb3699a event.py: Add SanityCheck and SanityCheckPassed events
(Bitbake rev: 4d7bf9d813229b78b1cd87d06f7042e7923b7db4)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-24 10:14:47 +01:00
Richard Purdie
f52d2dc851 self-hosted-image: Update poky revision to point at the 1.2 release branch
(From OE-Core rev: 85bebd85c4f6603ac8fc1290121c34b92cc434f9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-23 23:13:23 +01:00
Lianhao Lu
bd4b249015 pseudo: PR bump.
Bump PR value due to the commit
c6c701f424aeb502d20ff02d02712e56f4e259a5.

(From OE-Core rev: b6ee2880fccf04923ede31256ea418451cbf2e46)

Signed-off-by: Lianhao Lu <lianhao.lu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-23 23:10:18 +01:00
Scott Rifenbark
f79aa01630 documentation: Updated Manual Revision Tables again.
After some discussion from Song and Richard, the dates in the
manual revision table has been updated to "April 2012" for the
1.2 release.

(From yocto-docs rev: b3fc2ec7c5aedb8ea0a2d502bdcd7e8f4092ed96)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-23 23:04:47 +01:00
Scott Rifenbark
fd7c1df7b6 documentation: Replacements for "1.1" and "edison", etc.
I did a quick and dirty scrub over the manuals for the strings
"1.1" and "edison".  I found some instances that were not properly
variablized.  Also, discovered some references to the
linux-yocto-3.0-1.1.x.  All but one instance of this needed changed
to linux-yocto-3.2.

(From yocto-docs rev: 620fb4b7626defcefc8a039de09ae4599ee7f454)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-23 23:04:46 +01:00
Scott Rifenbark
564e311a8d documentation: Manual Revision Tables updated
Five tables updated for the five manuals that have the tables.
Used "May 2012" as the date.

(From yocto-docs rev: 0d4d46ba300c07ff9c73186506be5b409bef9d1b)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-23 23:04:46 +01:00
Scott Rifenbark
73a2db9144 documentation/yocto-project-qs/yocto-project-qs.xml: Added Build Appliance
Added a blurb about the Build Appliance to the start of the QS.

(From yocto-docs rev: b2766121c05740300fd5a6cea2f3b8a2f62db6e5)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-23 23:04:46 +01:00
Tom Zanussi
1450c9ee72 documentation/dev-manual/dev-manual-common-tasks.xml: removed kernel26
kernel26 is now obsolete so remove mention of it from the docs.
Removed from docs.

(From yocto-docs rev: 7b9da106d746192f802095584b04e3ee8347eabd)

Signed-off-by: Tom Zanussi <tom.zanussi@intel.com>
Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-23 23:04:45 +01:00
Scott Rifenbark
6b64283afe documentation/poky-ref-manual/ref-images.xml: added link
added the link for the Build Appliance page to the description of the
self-hosted image.

(From yocto-docs rev: 719ba4308489b29eefa7f08ddffb65bd5e41fc2c)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-23 23:04:45 +01:00
Joshua Lock
402972682d scripts/hob: disable sanity checks when launching
This enables us to use the GUI to change any settings which might cause
sanity checks to fail, such as the proxy configuration.

(From OE-Core rev: fe98d1c7159636f123b27292bbd4cc224b532bf0)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-23 23:04:43 +01:00
Joshua Lock
4a224311ac sanity.bbclass: add variable to disable the sanity checks
It's useful for Hob to be able to disable the sanity checks completely
without marking them as passed so that the user can get into the GUI to
configure their settings, etc.

Add a variable, DISABLE_SANITY_CHECKS, to do so.

(From OE-Core rev: b022641f939bcfcdaddddc4db3af4d2dc70de832)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-23 23:04:43 +01:00
Richard Purdie
3639c6a19b python: Fix various contamination issues leading to broken/missing c modules
The move of libcrypto to /lib instead of /usr/lib has broken the _hashlib module
compilation. There were also a number of other failing modules which should
have been building correctly. This turned out partly to be the /lib issue
but also due to a number of native paths creeping into compiler commandlines.

These changes add in /lib as part of the searh directory and remove
a number of host contamination issues within setup.py. Post release we
should really further go through this file and just delete large sections
of it as its hard to be sure what strange paths python is injecting as
search paths.

This patch also fixes issues where re-execution of the compile task
would corrupt the Makefile in various ways, again leading to puzzling
paths within the configuration.

(From OE-Core rev: 20e2761e1da1cb5dcd267e161f2a6b6a429e9f39)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-23 23:04:43 +01:00
Richard Purdie
1ee9588a9e bitbake.conf: Add a STAGING_BASELIBDIR variable that recipes can use to find base_libdir
(From OE-Core rev: 4697911991caa2f2a21dd43f54e0c4404d722873)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-23 23:04:43 +01:00
Joshua Lock
7ddb8c8b68 hob: enable sanity checks after launch
To ensure the users configuration is sanity tested enable the sanity
checks after the GUI has started but before any parsing is done.

(Bitbake rev: 244ce2b900ae6cecbeeccfe2056e61c132476261)

Signed-off-by: Joshua Lock <josh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-23 23:04:22 +01:00
Richard Purdie
fb0d7fc34f self-hosted-image: Update poky revision to point at the 1.2 release branch
(From OE-Core rev: b19af63)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-22 16:08:27 +01:00
Richard Purdie
9018cc1664 poky-tiny: Drop now unneeded DISTRO_FEATURES_LIBC_TOOLCHAIN (after gettext fix)
After the recent gettext dependency fix (commit 6e5cb40dfa
"gettext.bbclass: Ensure we don't overwrite other DEPENDS_GETTEXT values",
its no longer necessary to have to have these options to build meta-toolchain.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-22 16:04:25 +01:00
Richard Purdie
939e6947ae initramfs-live-boot: Disable unionfs until its issue with the system rootdir are resolved
There are issues with the current unionfs when making a union mount over "/".
Until these are resolved we can't use unionfs for live booting so disable this
temporarily as a workaround.

unionfs is usable in other circumstances.

[YOCTO #2331 workaround]

(From OE-Core rev: 60ee26ae23132b916019d58e20b8c2e1ddd2b471)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-22 16:00:26 +01:00
Richard Purdie
604fc2adce pseudo: Drop nativesdk wrapper and link against old memcpy symbol
The -nativesdk pseudo wrapper setting LD_LIBRARY_PATH turned out to be a
bad idea since it can mix up different libc and lib-dl verisons which
may or may not work depending on the phase of the moon.

As an alternative to solving the original problem, this patch drops the
symbol version requirement on memcpy which allows pseudo to work with
libc's back to 2.7 which should be sufficient for our supported targets
using nativesdk.

[YOCTO #2299]
[YOCTO #2351]

(From OE-Core rev: c6c701f424aeb502d20ff02d02712e56f4e259a5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-22 16:00:19 +01:00
Richard Purdie
ea3db01838 pseudo: Fix bashisms
(From OE-Core rev: 90e22bbb316088fa951d51e75de4e5424bd51ed6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-22 16:00:11 +01:00
Richard Purdie
6123ee024b package.bbclass: Ensure kernel modules get stripped
Kernel modules are not marked as executable but we do expect to strip them.
This patch adds in missing code to ensure we do this. Without this images
are getting sigificantly bloated in size.

(From OE-Core rev: 00b0a5f2f51bb3f88bbb9ae558c2859e3c1c406c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-22 16:00:03 +01:00
Richard Purdie
6e5cb40dfa gettext.bbclass: Ensure we don't overwrite other DEPENDS_GETTEXT values
In particular, this overwrites the value from cross-canadian.bbclass in
some cases which isn't the desired behaviour and unnecessarily
complicates/breaks the dependency chain.

(From OE-Core rev: 751ead4fa7d4120de906a1d9cb1d5a29357bebad)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-22 15:59:56 +01:00
Richard Purdie
a4d913d925 qemu: Backport a patch to solve SSE2 instruction emulation issues
This fix addresses various issues seen in qemux86-64 images:
 * scroll bars in matchbox-terminal not working
 * files not appearing in pcmanfm
 * warnings on the console from glib/gobject about invalid gdouble values

Its due to an emulation issue in qemu which the backported patch fixes.

I managed to debug it to a specific function, Khem found the qemu patch
to backport, thanks Khem!

[YOCTO #1906]

(From OE-Core rev: 69d083f8b8d8f7d095ed5682d305870c4d93fe62)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-22 15:59:47 +01:00
Scott Rifenbark
1a03b7dfba documentation/bsp-guide/bsp.xml: spelling corrected.
Reported-by: Robert P. J. Day <rpjday@crashcourse.ca>
(From yocto-docs rev: c0ee8ce391114f7a5b4f1c59fdf997ba4f3bcf75)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-18 16:41:15 +01:00
Scott Rifenbark
16645ccf1c documentation/poky-ref-manual/ref-images.xml: Added self-hosted image
I added the self-hosted-image to the list of images.

(From yocto-docs rev: a8265cb523705a374d23bf60aab5b7969ad937fc)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-18 16:41:15 +01:00
Richard Purdie
8da833f316 self-hosted-image: Update poky revision to point at the 1.2 release branch
(From OE-Core rev: 00256125873ff6f1630743a712e882e5f473a9d2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-18 16:00:41 +01:00
Richard Purdie
647238f609 poky.conf: Update post release branching
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-04-18 15:57:06 +01:00
984 changed files with 22212 additions and 17165 deletions

2
.gitignore vendored
View File

@@ -1,5 +1,7 @@
bitbake
*.pyc
*.pyo
/*.patch
build*/conf/local.conf
build*/conf/bblayers.conf
build*/downloads

2
README
View File

@@ -18,7 +18,7 @@ e.g. for the hardware support. Poky is in turn a component of the Yocto Project.
The Yocto Project has extensive documentation about the system including a
reference manual which can be found at:
http://yoctoproject.org/community/documentation
http://yoctoproject.org/documentation
OpenEmbedded-Core is a layer containing the core metadata for current versions
of OpenEmbedded. It is distro-less (can build a functional image with

View File

@@ -40,7 +40,7 @@ from bb import cooker
from bb import ui
from bb import server
__version__ = "1.15.1"
__version__ = "1.15.2"
logger = logging.getLogger("BitBake")
@@ -56,10 +56,11 @@ class BBConfiguration(object):
def get_ui(config):
if config.ui:
interface = config.ui
else:
interface = 'knotty'
if not config.ui:
# modify 'ui' attribute because it is also read by cooker
config.ui = os.environ.get('BITBAKE_UI', 'knotty')
interface = config.ui
try:
# Dynamically load the UI based on the ui name. Although we

38
bitbake/bin/bitbake-selftest Executable file
View File

@@ -0,0 +1,38 @@
#!/usr/bin/env python
#
# Copyright (C) 2012 Richard Purdie
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os
import sys, logging
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname(__file__)), 'lib'))
import unittest
try:
import bb
except RuntimeError as exc:
sys.exit(str(exc))
tests = ["bb.tests.codeparser",
"bb.tests.cow",
"bb.tests.data",
"bb.tests.fetch",
"bb.tests.utils"]
for t in tests:
__import__(t)
unittest.main(argv=["bitbake-selftest"] + tests)

120
bitbake/bin/image-writer Executable file
View File

@@ -0,0 +1,120 @@
#!/usr/bin/env python
# Copyright (c) 2012 Wind River Systems, Inc.
#
# 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
import os
import sys
sys.path.insert(0, os.path.join(os.path.dirname(os.path.dirname( \
os.path.abspath(__file__))), 'lib'))
try:
import bb
except RuntimeError as exc:
sys.exit(str(exc))
import gtk
import optparse
import pygtk
from bb.ui.crumbs.hig import DeployImageDialog, ImageSelectionDialog, CrumbsMessageDialog
from bb.ui.crumbs.hobwidget import HobAltButton, HobButton
# I put all the fs bitbake supported here. Need more test.
DEPLOYABLE_IMAGE_TYPES = ["jffs2", "cramfs", "ext2", "ext3", "btrfs", "squashfs", "ubi", "vmdk"]
Title = "USB Image Maker"
class DeployWindow(gtk.Window):
def __init__(self, image_path=''):
super(DeployWindow, self).__init__()
if len(image_path) > 0:
valid = True
if not os.path.exists(image_path):
valid = False
lbl = "<b>Invalid image file path: %s.</b>\nPress <b>Select Image</b> button to select an image." % image_path
else:
image_path = os.path.abspath(image_path)
extend_name = os.path.splitext(image_path)[1][1:]
if extend_name not in DEPLOYABLE_IMAGE_TYPES:
valid = False
lbl = "<b>Undeployable imge type: %s</b>\nPress <b>Select Image</b> button to select an image." % extend_name
if not valid:
image_path = ''
crumbs_dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
button = crumbs_dialog.add_button("Close", gtk.RESPONSE_OK)
HobButton.style_button(button)
crumbs_dialog.run()
crumbs_dialog.destroy()
self.deploy_dialog = DeployImageDialog(Title, image_path, self,
gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT
| gtk.DIALOG_NO_SEPARATOR, None, standalone=True)
close_button = self.deploy_dialog.add_button("Close", gtk.RESPONSE_NO)
HobAltButton.style_button(close_button)
close_button.connect('clicked', gtk.main_quit)
make_button = self.deploy_dialog.add_button("Make USB image", gtk.RESPONSE_YES)
HobAltButton.style_button(make_button)
self.deploy_dialog.connect('select_image_clicked', self.select_image_clicked_cb)
self.deploy_dialog.connect('destroy', gtk.main_quit)
response = self.deploy_dialog.show()
def select_image_clicked_cb(self, dialog):
cwd = os.getcwd()
dialog = ImageSelectionDialog(cwd, DEPLOYABLE_IMAGE_TYPES, Title, self, gtk.FILE_CHOOSER_ACTION_SAVE )
button = dialog.add_button("Cancel", gtk.RESPONSE_NO)
HobAltButton.style_button(button)
button = dialog.add_button("Open", gtk.RESPONSE_YES)
HobAltButton.style_button(button)
response = dialog.run()
if response == gtk.RESPONSE_YES:
if not dialog.image_names:
lbl = "<b>No selections made</b>\nClicked the radio button to select a image."
crumbs_dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
button = crumbs_dialog.add_button("Close", gtk.RESPONSE_OK)
HobButton.style_button(button)
crumbs_dialog.run()
crumbs_dialog.destroy()
dialog.destroy()
return
# get the full path of image
image_path = os.path.join(dialog.image_folder, dialog.image_names[0])
self.deploy_dialog.set_image_text_buffer(image_path)
self.deploy_dialog.set_image_path(image_path)
dialog.destroy()
def main():
parser = optparse.OptionParser(
usage = """%prog [-h] [image_file]
%prog writes bootable images to USB devices. You can
provide the image file on the command line or select it using the GUI.""")
options, args = parser.parse_args(sys.argv)
image_file = args[1] if len(args) > 1 else ''
dw = DeployWindow(image_file)
if __name__ == '__main__':
try:
main()
gtk.main()
except Exception:
import traceback
traceback.print_exc(3)

View File

@@ -103,7 +103,13 @@ Show debug logging for the specified logging domains
.TP
.B \-P, \-\-profile
profile the command and print a report
.SH ENVIRONMENT VARIABLES
bitbake uses the following environment variables to control its
operation:
.TP
.B BITBAKE_UI
The bitbake user interface; overridden by the \fB-u\fP commandline option.
.SH AUTHORS
BitBake was written by

View File

@@ -21,7 +21,7 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
__version__ = "1.15.1"
__version__ = "1.15.2"
import sys
if sys.version_info < (2, 6, 0):

View File

@@ -174,8 +174,19 @@ def exec_func(func, d, dirs = None):
lockfiles = None
tempdir = data.getVar('T', d, 1)
bb.utils.mkdirhier(tempdir)
runfile = os.path.join(tempdir, 'run.{0}.{1}'.format(func, os.getpid()))
# or func allows items to be executed outside of the normal
# task set, such as buildhistory
task = data.getVar('BB_RUNTASK', d, 1) or func
if task == func:
taskfunc = task
else:
taskfunc = "%s.%s" % (task, func)
runfmt = data.getVar('BB_RUNFMT', d, 1) or "run.{func}.{pid}"
runfn = runfmt.format(taskfunc=taskfunc, task=task, func=func, pid=os.getpid())
runfile = os.path.join(tempdir, runfn)
bb.utils.mkdirhier(os.path.dirname(runfile))
with bb.utils.fileslocked(lockfiles):
if ispython:
@@ -206,6 +217,8 @@ def exec_func_python(func, d, runfile, cwd=None):
olddir = None
os.chdir(cwd)
bb.debug(2, "Executing python function %s" % func)
try:
comp = utils.better_compile(code, func, bbfile)
utils.better_exec(comp, {"d": d}, code, bbfile)
@@ -215,13 +228,15 @@ def exec_func_python(func, d, runfile, cwd=None):
raise FuncFailed(func, None)
finally:
bb.debug(2, "Python function %s finished" % func)
if cwd and olddir:
try:
os.chdir(olddir)
except OSError:
pass
def exec_func_shell(function, d, runfile, cwd=None):
def exec_func_shell(func, d, runfile, cwd=None):
"""Execute a shell function from the metadata
Note on directory behavior. The 'dirs' varflag should contain a list
@@ -234,18 +249,18 @@ def exec_func_shell(function, d, runfile, cwd=None):
with open(runfile, 'w') as script:
script.write('#!/bin/sh -e\n')
data.emit_func(function, script, d)
data.emit_func(func, script, d)
if bb.msg.loggerVerboseLogs:
script.write("set -x\n")
if cwd:
script.write("cd %s\n" % cwd)
script.write("%s\n" % function)
script.write("%s\n" % func)
os.chmod(runfile, 0775)
cmd = runfile
if d.getVarFlag(function, 'fakeroot'):
if d.getVarFlag(func, 'fakeroot'):
fakerootcmd = d.getVar('FAKEROOT', True)
if fakerootcmd:
cmd = [fakerootcmd, runfile]
@@ -255,11 +270,15 @@ def exec_func_shell(function, d, runfile, cwd=None):
else:
logfile = sys.stdout
bb.debug(2, "Executing shell function %s" % func)
try:
bb.process.run(cmd, shell=False, stdin=NULL, log=logfile)
except bb.process.CmdError:
logfn = d.getVar('BB_LOGFILE', True)
raise FuncFailed(function, logfn)
raise FuncFailed(func, logfn)
bb.debug(2, "Shell function %s finished" % func)
def _task_data(fn, task, d):
localdata = data.createCopy(d)
@@ -290,8 +309,23 @@ def _exec_task(fn, task, d, quieterr):
bb.fatal("T variable not set, unable to build")
bb.utils.mkdirhier(tempdir)
# Determine the logfile to generate
logfmt = localdata.getVar('BB_LOGFMT', True) or 'log.{task}.{pid}'
logbase = logfmt.format(task=task, pid=os.getpid())
# Document the order of the tasks...
logorder = os.path.join(tempdir, 'log.task_order')
try:
logorderfile = file(logorder, 'a')
except OSError:
logger.exception("Opening log file '%s'", logorder)
pass
logorderfile.write('{0} ({1}): {2}\n'.format(task, os.getpid(), logbase))
logorderfile.close()
# Setup the courtesy link to the logfn
loglink = os.path.join(tempdir, 'log.{0}'.format(task))
logbase = 'log.{0}.{1}'.format(task, os.getpid())
logfn = os.path.join(tempdir, logbase)
if loglink:
bb.utils.remove(loglink)
@@ -314,6 +348,7 @@ def _exec_task(fn, task, d, quieterr):
# Handle logfiles
si = file('/dev/null', 'r')
try:
bb.utils.mkdirhier(os.path.dirname(logfn))
logfile = file(logfn, 'w')
except OSError:
logger.exception("Opening log file '%s'", logfn)
@@ -340,6 +375,7 @@ def _exec_task(fn, task, d, quieterr):
bblogger.addHandler(errchk)
localdata.setVar('BB_LOGFILE', logfn)
localdata.setVar('BB_RUNTASK', task)
event.fire(TaskStarted(task, localdata), localdata)
try:

View File

@@ -1,11 +1,12 @@
# ex:ts=4:sw=4:sts=4:et
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
#
# BitBake 'Event' implementation
# BitBake Cache implementation
#
# Caching of bitbake variables before task execution
# Copyright (C) 2006 Richard Purdie
# Copyright (C) 2012 Intel Corporation
# but small sections based on code from bin/bitbake:
# Copyright (C) 2003, 2004 Chris Larson
@@ -42,7 +43,7 @@ except ImportError:
logger.info("Importing cPickle failed. "
"Falling back to a very slow implementation.")
__cache_version__ = "143"
__cache_version__ = "144"
def getCacheFile(path, filename, data_hash):
return os.path.join(path, filename + "." + data_hash)
@@ -75,9 +76,13 @@ class RecipeInfoCommon(object):
for task in tasks)
@classmethod
def flaglist(cls, flag, varlist, metadata):
return dict((var, metadata.getVarFlag(var, flag, True))
def flaglist(cls, flag, varlist, metadata, squash=False):
out_dict = dict((var, metadata.getVarFlag(var, flag, True))
for var in varlist)
if squash:
return dict((k,v) for (k,v) in out_dict.iteritems() if v)
else:
return out_dict
@classmethod
def getvar(cls, var, metadata):
@@ -127,6 +132,7 @@ class CoreRecipeInfo(RecipeInfoCommon):
self.stamp = self.getvar('STAMP', metadata)
self.stamp_base = self.flaglist('stamp-base', self.tasks, metadata)
self.stamp_extrainfo = self.flaglist('stamp-extra-info', self.tasks, metadata)
self.file_checksums = self.flaglist('file-checksums', self.tasks, metadata, True)
self.packages_dynamic = self.listvar('PACKAGES_DYNAMIC', metadata)
self.depends = self.depvar('DEPENDS', metadata)
self.provides = self.depvar('PROVIDES', metadata)
@@ -153,6 +159,7 @@ class CoreRecipeInfo(RecipeInfoCommon):
cachedata.stamp = {}
cachedata.stamp_base = {}
cachedata.stamp_extrainfo = {}
cachedata.file_checksums = {}
cachedata.fn_provides = {}
cachedata.pn_provides = defaultdict(list)
cachedata.all_depends = []
@@ -184,6 +191,7 @@ class CoreRecipeInfo(RecipeInfoCommon):
cachedata.stamp[fn] = self.stamp
cachedata.stamp_base[fn] = self.stamp_base
cachedata.stamp_extrainfo[fn] = self.stamp_extrainfo
cachedata.file_checksums[fn] = self.file_checksums
provides = [self.pn]
for provide in self.provides:
@@ -703,4 +711,115 @@ class CacheData(object):
for info in info_array:
info.add_cacheData(self, fn)
class MultiProcessCache(object):
"""
BitBake multi-process cache implementation
Used by the codeparser & file checksum caches
"""
def __init__(self):
self.cachefile = None
self.cachedata = self.create_cachedata()
self.cachedata_extras = self.create_cachedata()
def init_cache(self, d):
cachedir = (d.getVar("PERSISTENT_DIR", True) or
d.getVar("CACHE", True))
if cachedir in [None, '']:
return
bb.utils.mkdirhier(cachedir)
self.cachefile = os.path.join(cachedir, self.__class__.cache_file_name)
logger.debug(1, "Using cache in '%s'", self.cachefile)
try:
p = pickle.Unpickler(file(self.cachefile, "rb"))
data, version = p.load()
except:
return
if version != self.__class__.CACHE_VERSION:
return
self.cachedata = data
def internSet(self, items):
new = set()
for i in items:
new.add(intern(i))
return new
def compress_keys(self, data):
# Override in subclasses if desired
return
def create_cachedata(self):
data = [{}]
return data
def save_extras(self, d):
if not self.cachefile:
return
glf = bb.utils.lockfile(self.cachefile + ".lock", shared=True)
i = os.getpid()
lf = None
while not lf:
lf = bb.utils.lockfile(self.cachefile + ".lock." + str(i), retry=False)
if not lf or os.path.exists(self.cachefile + "-" + str(i)):
if lf:
bb.utils.unlockfile(lf)
lf = None
i = i + 1
continue
p = pickle.Pickler(file(self.cachefile + "-" + str(i), "wb"), -1)
p.dump([self.cachedata_extras, self.__class__.CACHE_VERSION])
bb.utils.unlockfile(lf)
bb.utils.unlockfile(glf)
def merge_data(self, source, dest):
for j in range(0,len(dest)):
for h in source[j]:
if h not in dest[j]:
dest[j][h] = source[j][h]
def save_merge(self, d):
if not self.cachefile:
return
glf = bb.utils.lockfile(self.cachefile + ".lock")
try:
p = pickle.Unpickler(file(self.cachefile, "rb"))
data, version = p.load()
except (IOError, EOFError):
data, version = None, None
if version != self.__class__.CACHE_VERSION:
data = self.create_cachedata()
for f in [y for y in os.listdir(os.path.dirname(self.cachefile)) if y.startswith(os.path.basename(self.cachefile) + '-')]:
f = os.path.join(os.path.dirname(self.cachefile), f)
try:
p = pickle.Unpickler(file(f, "rb"))
extradata, version = p.load()
except (IOError, EOFError):
extradata, version = self.create_cachedata(), None
if version != self.__class__.CACHE_VERSION:
continue
self.merge_data(extradata, data)
os.unlink(f)
self.compress_keys(data)
p = pickle.Pickler(file(self.cachefile, "wb"), -1)
p.dump([data, self.__class__.CACHE_VERSION])
bb.utils.unlockfile(glf)

View File

@@ -0,0 +1,90 @@
# Local file checksum cache implementation
#
# Copyright (C) 2012 Intel Corporation
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import os
import stat
import bb.utils
import logging
from bb.cache import MultiProcessCache
logger = logging.getLogger("BitBake.Cache")
try:
import cPickle as pickle
except ImportError:
import pickle
logger.info("Importing cPickle failed. "
"Falling back to a very slow implementation.")
# mtime cache (non-persistent)
# based upon the assumption that files do not change during bitbake run
class FileMtimeCache(object):
cache = {}
def cached_mtime(self, f):
if f not in self.cache:
self.cache[f] = os.stat(f)[stat.ST_MTIME]
return self.cache[f]
def cached_mtime_noerror(self, f):
if f not in self.cache:
try:
self.cache[f] = os.stat(f)[stat.ST_MTIME]
except OSError:
return 0
return self.cache[f]
def update_mtime(self, f):
self.cache[f] = os.stat(f)[stat.ST_MTIME]
return self.cache[f]
def clear(self):
self.cache.clear()
# Checksum + mtime cache (persistent)
class FileChecksumCache(MultiProcessCache):
cache_file_name = "local_file_checksum_cache.dat"
CACHE_VERSION = 1
def __init__(self):
self.mtime_cache = FileMtimeCache()
MultiProcessCache.__init__(self)
def get_checksum(self, f):
entry = self.cachedata[0].get(f)
cmtime = self.mtime_cache.cached_mtime(f)
if entry:
(mtime, hashval) = entry
if cmtime == mtime:
return hashval
else:
bb.debug(2, "file %s changed mtime, recompute checksum" % f)
hashval = bb.utils.md5_file(f)
self.cachedata_extras[0][f] = (cmtime, hashval)
return hashval
def merge_data(self, source, dest):
for h in source[0]:
if h in dest:
(smtime, _) = source[0][h]
(dmtime, _) = dest[0][h]
if smtime > dmtime:
dest[0][h] = source[0][h]
else:
dest[0][h] = source[0][h]

View File

@@ -5,10 +5,10 @@ import os.path
import bb.utils, bb.data
from itertools import chain
from pysh import pyshyacc, pyshlex, sherrors
from bb.cache import MultiProcessCache
logger = logging.getLogger('BitBake.CodeParser')
PARSERCACHE_VERSION = 2
try:
import cPickle as pickle
@@ -32,133 +32,56 @@ def check_indent(codestr):
return codestr
pythonparsecache = {}
shellparsecache = {}
pythonparsecacheextras = {}
shellparsecacheextras = {}
class CodeParserCache(MultiProcessCache):
cache_file_name = "bb_codeparser.dat"
CACHE_VERSION = 2
def parser_cachefile(d):
cachedir = (d.getVar("PERSISTENT_DIR", True) or
d.getVar("CACHE", True))
if cachedir in [None, '']:
return None
bb.utils.mkdirhier(cachedir)
cachefile = os.path.join(cachedir, "bb_codeparser.dat")
logger.debug(1, "Using cache in '%s' for codeparser cache", cachefile)
return cachefile
def __init__(self):
MultiProcessCache.__init__(self)
self.pythoncache = self.cachedata[0]
self.shellcache = self.cachedata[1]
self.pythoncacheextras = self.cachedata_extras[0]
self.shellcacheextras = self.cachedata_extras[1]
def init_cache(self, d):
MultiProcessCache.init_cache(self, d)
# cachedata gets re-assigned in the parent
self.pythoncache = self.cachedata[0]
self.shellcache = self.cachedata[1]
def compress_keys(self, data):
# When the dicts are originally created, python calls intern() on the set keys
# which significantly improves memory usage. Sadly the pickle/unpickle process
# doesn't call intern() on the keys and results in the same strings being duplicated
# in memory. This also means pickle will save the same string multiple times in
# the cache file. By interning the data here, the cache file shrinks dramatically
# meaning faster load times and the reloaded cache files also consume much less
# memory. This is worth any performance hit from this loops and the use of the
# intern() data storage.
# Python 3.x may behave better in this area
for h in data[0]:
data[0][h]["refs"] = self.internSet(data[0][h]["refs"])
data[0][h]["execs"] = self.internSet(data[0][h]["execs"])
for h in data[1]:
data[1][h]["execs"] = self.internSet(data[1][h]["execs"])
return
def create_cachedata(self):
data = [{}, {}]
return data
codeparsercache = CodeParserCache()
def parser_cache_init(d):
global pythonparsecache
global shellparsecache
cachefile = parser_cachefile(d)
if not cachefile:
return
try:
p = pickle.Unpickler(file(cachefile, "rb"))
data, version = p.load()
except:
return
if version != PARSERCACHE_VERSION:
return
pythonparsecache = data[0]
shellparsecache = data[1]
codeparsercache.init_cache(d)
def parser_cache_save(d):
cachefile = parser_cachefile(d)
if not cachefile:
return
glf = bb.utils.lockfile(cachefile + ".lock", shared=True)
i = os.getpid()
lf = None
while not lf:
shellcache = {}
pythoncache = {}
lf = bb.utils.lockfile(cachefile + ".lock." + str(i), retry=False)
if not lf or os.path.exists(cachefile + "-" + str(i)):
if lf:
bb.utils.unlockfile(lf)
lf = None
i = i + 1
continue
shellcache = shellparsecacheextras
pythoncache = pythonparsecacheextras
p = pickle.Pickler(file(cachefile + "-" + str(i), "wb"), -1)
p.dump([[pythoncache, shellcache], PARSERCACHE_VERSION])
bb.utils.unlockfile(lf)
bb.utils.unlockfile(glf)
def internSet(items):
new = set()
for i in items:
new.add(intern(i))
return new
codeparsercache.save_extras(d)
def parser_cache_savemerge(d):
cachefile = parser_cachefile(d)
if not cachefile:
return
glf = bb.utils.lockfile(cachefile + ".lock")
try:
p = pickle.Unpickler(file(cachefile, "rb"))
data, version = p.load()
except (IOError, EOFError):
data, version = None, None
if version != PARSERCACHE_VERSION:
data = [{}, {}]
for f in [y for y in os.listdir(os.path.dirname(cachefile)) if y.startswith(os.path.basename(cachefile) + '-')]:
f = os.path.join(os.path.dirname(cachefile), f)
try:
p = pickle.Unpickler(file(f, "rb"))
extradata, version = p.load()
except (IOError, EOFError):
extradata, version = [{}, {}], None
if version != PARSERCACHE_VERSION:
continue
for h in extradata[0]:
if h not in data[0]:
data[0][h] = extradata[0][h]
for h in extradata[1]:
if h not in data[1]:
data[1][h] = extradata[1][h]
os.unlink(f)
# When the dicts are originally created, python calls intern() on the set keys
# which significantly improves memory usage. Sadly the pickle/unpickle process
# doesn't call intern() on the keys and results in the same strings being duplicated
# in memory. This also means pickle will save the same string multiple times in
# the cache file. By interning the data here, the cache file shrinks dramatically
# meaning faster load times and the reloaded cache files also consume much less
# memory. This is worth any performance hit from this loops and the use of the
# intern() data storage.
# Python 3.x may behave better in this area
for h in data[0]:
data[0][h]["refs"] = internSet(data[0][h]["refs"])
data[0][h]["execs"] = internSet(data[0][h]["execs"])
for h in data[1]:
data[1][h]["execs"] = internSet(data[1][h]["execs"])
p = pickle.Pickler(file(cachefile, "wb"), -1)
p.dump([data, PARSERCACHE_VERSION])
bb.utils.unlockfile(glf)
codeparsercache.save_merge(d)
Logger = logging.getLoggerClass()
class BufferedLogger(Logger):
@@ -235,14 +158,14 @@ class PythonParser():
def parse_python(self, node):
h = hash(str(node))
if h in pythonparsecache:
self.references = pythonparsecache[h]["refs"]
self.execs = pythonparsecache[h]["execs"]
if h in codeparsercache.pythoncache:
self.references = codeparsercache.pythoncache[h]["refs"]
self.execs = codeparsercache.pythoncache[h]["execs"]
return
if h in pythonparsecacheextras:
self.references = pythonparsecacheextras[h]["refs"]
self.execs = pythonparsecacheextras[h]["execs"]
if h in codeparsercache.pythoncacheextras:
self.references = codeparsercache.pythoncacheextras[h]["refs"]
self.execs = codeparsercache.pythoncacheextras[h]["execs"]
return
@@ -256,9 +179,9 @@ class PythonParser():
self.references.update(self.var_references)
self.references.update(self.var_execs)
pythonparsecacheextras[h] = {}
pythonparsecacheextras[h]["refs"] = self.references
pythonparsecacheextras[h]["execs"] = self.execs
codeparsercache.pythoncacheextras[h] = {}
codeparsercache.pythoncacheextras[h]["refs"] = self.references
codeparsercache.pythoncacheextras[h]["execs"] = self.execs
class ShellParser():
def __init__(self, name, log):
@@ -276,12 +199,12 @@ class ShellParser():
h = hash(str(value))
if h in shellparsecache:
self.execs = shellparsecache[h]["execs"]
if h in codeparsercache.shellcache:
self.execs = codeparsercache.shellcache[h]["execs"]
return self.execs
if h in shellparsecacheextras:
self.execs = shellparsecacheextras[h]["execs"]
if h in codeparsercache.shellcacheextras:
self.execs = codeparsercache.shellcacheextras[h]["execs"]
return self.execs
try:
@@ -293,8 +216,8 @@ class ShellParser():
self.process_tokens(token)
self.execs = set(cmd for cmd in self.allexecs if cmd not in self.funcdefs)
shellparsecacheextras[h] = {}
shellparsecacheextras[h]["execs"] = self.execs
codeparsercache.shellcacheextras[h] = {}
codeparsercache.shellcacheextras[h]["execs"] = self.execs
return self.execs

View File

@@ -985,12 +985,12 @@ class BBCooker:
"""
Find the .bb files which match the expression in 'buildfile'.
"""
if bf.startswith("/") or bf.startswith("../"):
bf = os.path.abspath(bf)
filelist, masked = self.collect_bbfiles()
try:
os.stat(bf)
bf = os.path.abspath(bf)
return [bf]
except OSError:
regexp = re.compile(bf)
@@ -1175,7 +1175,7 @@ class BBCooker:
return
if self.state in (state.shutdown, state.stop):
self.parser.shutdown(clean=False)
self.parser.shutdown(clean=False, force = True)
sys.exit(1)
if self.state != state.parsing:
@@ -1570,6 +1570,7 @@ class CookerParser(object):
def init():
Parser.cfg = self.cfgdata
multiprocessing.util.Finalize(None, bb.codeparser.parser_cache_save, args=(self.cfgdata,), exitpriority=1)
multiprocessing.util.Finalize(None, bb.fetch.fetcher_parse_save, args=(self.cfgdata,), exitpriority=1)
self.feeder_quit = multiprocessing.Queue(maxsize=1)
self.parser_quit = multiprocessing.Queue(maxsize=self.num_processes)
@@ -1608,16 +1609,20 @@ class CookerParser(object):
self.parser_quit.put(None)
self.jobs.cancel_join_thread()
sys.exit(1)
for process in self.processes:
process.join()
if force:
process.join(.1)
process.terminate()
else:
process.join()
self.feeder.join()
sync = threading.Thread(target=self.bb_cache.sync)
sync.start()
multiprocessing.util.Finalize(None, sync.join, exitpriority=-100)
bb.codeparser.parser_cache_savemerge(self.cooker.configuration.data)
bb.fetch.fetcher_parse_done(self.cooker.configuration.data)
def load_cached(self):
for filename, appends in self.fromcache:
@@ -1641,6 +1646,8 @@ class CookerParser(object):
yield result
def parse_next(self):
result = []
parsed = None
try:
parsed, result = self.results.next()
except StopIteration:
@@ -1650,9 +1657,13 @@ class CookerParser(object):
logger.error('Unable to parse %s: %s' %
(exc.recipe, bb.exceptions.to_string(exc.realexception)))
self.shutdown(clean=False)
except (bb.parse.ParseError, bb.data_smart.ExpansionError) as exc:
except bb.parse.ParseError as exc:
logger.error(str(exc))
self.shutdown(clean=False)
except bb.data_smart.ExpansionError as exc:
_, value, _ = sys.exc_info()
logger.error('ExpansionError during parsing %s: %s', value.recipe, str(exc))
self.shutdown(clean=False)
except SyntaxError as exc:
logger.error('Unable to parse %s', exc.recipe)
self.shutdown(clean=False)

View File

@@ -279,7 +279,12 @@ def build_dependencies(key, keys, shelldeps, vardepvals, d):
deps = set()
vardeps = d.getVarFlag(key, "vardeps", True)
try:
value = d.getVar(key, False)
if key[-1] == ']':
vf = key[:-1].split('[')
value = d.getVarFlag(vf[0], vf[1], False)
else:
value = d.getVar(key, False)
if key in vardepvals:
value = d.getVarFlag(key, "vardepvalue", True)
elif d.getVarFlag(key, "func"):
@@ -301,6 +306,19 @@ def build_dependencies(key, keys, shelldeps, vardepvals, d):
parser = d.expandWithRefs(value, key)
deps |= parser.references
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))
if varfdeps:
deps |= set(varfdeps)
deps |= set((vardeps or "").split())
deps -= set((d.getVarFlag(key, "vardepsexclude", True) or "").split())
except:

View File

@@ -102,7 +102,10 @@ class ExpansionError(Exception):
self.expression = expression
self.variablename = varname
self.exception = exception
self.msg = "Failure expanding variable %s, expression was %s which triggered exception %s: %s" % (varname, expression, type(exception).__name__, exception)
if varname:
self.msg = "Failure expanding variable %s, expression was %s which triggered exception %s: %s" % (varname, expression, type(exception).__name__, exception)
else:
self.msg = "Failure expanding expression %s which triggered exception %s: %s" % (expression, type(exception).__name__, exception)
Exception.__init__(self, self.msg)
self.args = (varname, expression, exception)
def __str__(self):

View File

@@ -527,3 +527,11 @@ class SanityCheckPassed(Event):
"""
Event to indicate sanity check is passed
"""
class SanityCheckFailed(Event):
"""
Event to indicate sanity check has failed
"""
def __init__(self, msg):
Event.__init__(self)
self._msg = msg

View File

@@ -32,7 +32,14 @@ class TracebackEntry(namedtuple.abc):
def _get_frame_args(frame):
"""Get the formatted arguments and class (if available) for a frame"""
arginfo = inspect.getargvalues(frame)
if not arginfo.args:
try:
if not arginfo.args:
return '', None
# There have been reports from the field of python 2.6 which doesn't
# return a namedtuple here but simply a tuple so fallback gracefully if
# args isn't present.
except AttributeError:
return '', None
firstarg = arginfo.args[0]

View File

@@ -8,6 +8,7 @@ BitBake build tools.
"""
# Copyright (C) 2003, 2004 Chris Larson
# Copyright (C) 2012 Intel Corporation
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
@@ -28,10 +29,13 @@ from __future__ import absolute_import
from __future__ import print_function
import os, re
import logging
import urllib
import bb.persist_data, bb.utils
import bb.checksum
from bb import data
__version__ = "2"
_checksum_cache = bb.checksum.FileChecksumCache()
logger = logging.getLogger("BitBake.Fetcher")
@@ -63,6 +67,9 @@ class FetchError(BBFetchException):
BBFetchException.__init__(self, msg)
self.args = (message, url)
class ChecksumError(FetchError):
"""Exception when mismatched checksum encountered"""
class UnpackError(BBFetchException):
"""General fetcher exception when something happens incorrectly when unpacking"""
def __init__(self, message, url):
@@ -99,12 +106,15 @@ class ParameterError(BBFetchException):
class NetworkAccess(BBFetchException):
"""Exception raised when network access is disabled but it is required."""
def __init__(self, url, cmd):
msg = "Network access disabled through BB_NO_NETWORK but access rquested with command %s (for url %s)" % (cmd, url)
msg = "Network access disabled through BB_NO_NETWORK but access requested with command %s (for url %s)" % (cmd, url)
self.url = url
self.cmd = cmd
BBFetchException.__init__(self, msg)
self.args = (url, cmd)
class NonLocalMethod(Exception):
def __init__(self):
Exception.__init__(self)
def decodeurl(url):
"""Decodes an URL into the tokens (scheme, network location, path,
@@ -144,14 +154,14 @@ def decodeurl(url):
s1, s2 = s.split('=')
p[s1] = s2
return (type, host, path, user, pswd, p)
return type, host, urllib.unquote(path), user, pswd, p
def encodeurl(decoded):
"""Encodes a URL from tokens (scheme, network location, path,
user, password, parameters).
"""
(type, host, path, user, pswd, p) = decoded
type, host, path, user, pswd, p = decoded
if not path:
raise MissingParameterError('path', "encoded from the data %s" % str(decoded))
@@ -165,7 +175,7 @@ def encodeurl(decoded):
url += "@"
if host and type != "file":
url += "%s" % host
url += "%s" % path
url += "%s" % urllib.quote(path)
if p:
for parm in p:
url += ";%s=%s" % (parm, p[parm])
@@ -229,10 +239,18 @@ def fetcher_init(d):
else:
raise FetchError("Invalid SRCREV cache policy of: %s" % srcrev_policy)
_checksum_cache.init_cache(d)
for m in methods:
if hasattr(m, "init"):
m.init(d)
def fetcher_parse_save(d):
_checksum_cache.save_extras(d)
def fetcher_parse_done(d):
_checksum_cache.save_merge(d)
def fetcher_compare_revisions(d):
"""
Compare the revisions in the persistant cache with current values and
@@ -259,39 +277,37 @@ def verify_checksum(u, ud, d):
"""
verify the MD5 and SHA256 checksum for downloaded src
return value:
- True: a checksum matched
- False: neither checksum matched
Raises a FetchError if one or both of the SRC_URI checksums do not match
the downloaded file, or if BB_STRICT_CHECKSUM is set and there are no
checksums specified.
if checksum is missing in recipes file, "BB_STRICT_CHECKSUM" decide the return value.
if BB_STRICT_CHECKSUM = "1" then return false as unmatched, otherwise return true as
matched
"""
if not ud.type in ["http", "https", "ftp", "ftps"]:
if not ud.method.supports_checksum(ud):
return
md5data = bb.utils.md5_file(ud.localpath)
sha256data = bb.utils.sha256_file(ud.localpath)
# If strict checking enabled and neither sum defined, raise error
strict = d.getVar("BB_STRICT_CHECKSUM", True) or None
if (strict and ud.md5_expected == None and ud.sha256_expected == None):
raise FetchError('No checksum specified for %s, please add at least one to the recipe:\n'
'SRC_URI[%s] = "%s"\nSRC_URI[%s] = "%s"' %
(ud.localpath, ud.md5_name, md5data,
ud.sha256_name, sha256data), u)
if ud.method.recommends_checksum(ud):
# If strict checking enabled and neither sum defined, raise error
strict = d.getVar("BB_STRICT_CHECKSUM", True) or None
if (strict and ud.md5_expected == None and ud.sha256_expected == None):
raise FetchError('No checksum specified for %s, please add at least one to the recipe:\n'
'SRC_URI[%s] = "%s"\nSRC_URI[%s] = "%s"' %
(ud.localpath, ud.md5_name, md5data,
ud.sha256_name, sha256data), u)
# Log missing sums so user can more easily add them
if ud.md5_expected == None:
logger.warn('Missing md5 SRC_URI checksum for %s, consider adding to the recipe:\n'
'SRC_URI[%s] = "%s"',
ud.localpath, ud.md5_name, md5data)
# Log missing sums so user can more easily add them
if ud.md5_expected == None:
logger.warn('Missing md5 SRC_URI checksum for %s, consider adding to the recipe:\n'
'SRC_URI[%s] = "%s"',
ud.localpath, ud.md5_name, md5data)
if ud.sha256_expected == None:
logger.warn('Missing sha256 SRC_URI checksum for %s, consider adding to the recipe:\n'
'SRC_URI[%s] = "%s"',
ud.localpath, ud.sha256_name, sha256data)
if ud.sha256_expected == None:
logger.warn('Missing sha256 SRC_URI checksum for %s, consider adding to the recipe:\n'
'SRC_URI[%s] = "%s"',
ud.localpath, ud.sha256_name, sha256data)
md5mismatch = False
sha256mismatch = False
@@ -312,7 +328,7 @@ def verify_checksum(u, ud, d):
msg = msg + "\nFile: '%s' has %s checksum %s when %s was expected" % (ud.localpath, 'sha256', sha256data, ud.sha256_expected)
if len(msg):
raise FetchError('Checksum mismatch!%s' % msg, u)
raise ChecksumError('Checksum mismatch!%s' % msg, u)
def update_stamp(u, ud, d):
@@ -476,10 +492,8 @@ def try_mirrors(d, origud, mirrors, check = False):
if not os.path.exists(ud.donestamp) or ud.method.need_update(newuri, ud, ld):
ud.method.download(newuri, ud, ld)
if os.path.exists(ud.localpath):
open(ud.donestamp, 'w').close()
if hasattr(ud.method,"build_mirror_data"):
ud.method.build_mirror_data(newuri, ud, ld)
if hasattr(ud.method,"build_mirror_data"):
ud.method.build_mirror_data(newuri, ud, ld)
if not ud.localpath or not os.path.exists(ud.localpath):
continue
@@ -491,6 +505,7 @@ def try_mirrors(d, origud, mirrors, check = False):
# If that tarball is a local file:// we need to provide a symlink to it
dldir = ld.getVar("DL_DIR", True)
if os.path.basename(ud.localpath) != os.path.basename(origud.localpath):
open(ud.donestamp, 'w').close()
dest = os.path.join(dldir, os.path.basename(ud.localpath))
if not os.path.exists(dest):
os.symlink(ud.localpath, dest)
@@ -498,17 +513,21 @@ def try_mirrors(d, origud, mirrors, check = False):
# Otherwise the result is a local file:// and we symlink to it
if not os.path.exists(origud.localpath):
os.symlink(ud.localpath, origud.localpath)
update_stamp(newuri, origud, ld)
return ud.localpath
except bb.fetch2.NetworkAccess:
raise
except bb.fetch2.BBFetchException as e:
logger.debug(1, "Mirror fetch failure for url %s (original url: %s)" % (newuri, origud.url))
logger.debug(1, str(e))
if isinstance(e, ChecksumError):
logger.warn("Mirror checksum failure for url %s (original url: %s)\nCleaning and trying again." % (newuri, origud.url))
logger.warn(str(e))
else:
logger.debug(1, "Mirror fetch failure for url %s (original url: %s)" % (newuri, origud.url))
logger.debug(1, str(e))
try:
if os.path.isfile(ud.localpath):
bb.utils.remove(ud.localpath)
ud.method.clean(ud, ld)
except UnboundLocalError:
pass
continue
@@ -545,11 +564,85 @@ def srcrev_internal_helper(ud, d, name):
return rev
def get_checksum_file_list(d):
""" Get a list of files checksum in SRC_URI
Returns the resolved local paths of all local file entries in
SRC_URI as a space-separated string
"""
fetch = Fetch([], d, cache = False, localonly = True)
dl_dir = d.getVar('DL_DIR', True)
filelist = []
for u in fetch.urls:
ud = fetch.ud[u]
if ud and isinstance(ud.method, local.Local):
ud.setup_localpath(d)
f = ud.localpath
if f.startswith(dl_dir):
# The local fetcher's behaviour is to return a path under DL_DIR if it couldn't find the file anywhere else
if os.path.exists(f):
bb.warn("Getting checksum for %s SRC_URI entry %s: file not found except in DL_DIR" % (d.getVar('PN', True), os.path.basename(f)))
else:
bb.warn("Unable to get checksum for %s SRC_URI entry %s: file could not be found" % (d.getVar('PN', True), os.path.basename(f)))
continue
filelist.append(f)
return " ".join(filelist)
def get_file_checksums(filelist, pn):
"""Get a list of the checksums for a list of local files
Returns the checksums for a list of local files, caching the results as
it proceeds
"""
def checksum_file(f):
try:
checksum = _checksum_cache.get_checksum(f)
except OSError as e:
import traceback
bb.warn("Unable to get checksum for %s SRC_URI entry %s: %s" % (pn, os.path.basename(f), e))
return None
return checksum
checksums = []
for pth in filelist.split():
checksum = None
if '*' in pth:
# Handle globs
import glob
for f in glob.glob(pth):
checksum = checksum_file(f)
if checksum:
checksums.append((f, checksum))
elif os.path.isdir(pth):
# Handle directories
for root, dirs, files in os.walk(pth):
for name in files:
fullpth = os.path.join(root, name)
checksum = checksum_file(fullpth)
if checksum:
checksums.append((fullpth, checksum))
else:
checksum = checksum_file(pth)
if checksum:
checksums.append((pth, checksum))
checksums.sort()
return checksums
class FetchData(object):
"""
A class which represents the fetcher state for a given URI.
"""
def __init__(self, url, d):
def __init__(self, url, d, localonly = False):
# localpath is the location of a downloaded result. If not set, the file is local.
self.donestamp = None
self.localfile = ""
@@ -574,10 +667,14 @@ class FetchData(object):
self.sha256_name = "sha256sum"
if self.md5_name in self.parm:
self.md5_expected = self.parm[self.md5_name]
elif self.type not in ["http", "https", "ftp", "ftps"]:
self.md5_expected = None
else:
self.md5_expected = d.getVarFlag("SRC_URI", self.md5_name)
if self.sha256_name in self.parm:
self.sha256_expected = self.parm[self.sha256_name]
elif self.type not in ["http", "https", "ftp", "ftps"]:
self.sha256_expected = None
else:
self.sha256_expected = d.getVarFlag("SRC_URI", self.sha256_name)
@@ -592,6 +689,9 @@ class FetchData(object):
if not self.method:
raise NoMethodError(url)
if localonly and not isinstance(self.method, local.Local):
raise NonLocalMethod()
if hasattr(self.method, "urldata_init"):
self.method.urldata_init(self, d)
@@ -656,6 +756,26 @@ class FetchMethod(object):
"""
return os.path.join(data.getVar("DL_DIR", d, True), urldata.localfile)
def supports_checksum(self, urldata):
"""
Is localpath something that can be represented by a checksum?
"""
# We cannot compute checksums for directories
if os.path.isdir(urldata.localpath) == True:
return False
if urldata.localpath.find("*") != -1:
return False
return True
def recommends_checksum(self, urldata):
"""
Is the backend on where checksumming is recommended (should warnings
by displayed if there is no checksum)?
"""
return False
def _strip_leading_slashes(self, relpath):
"""
Remove leading slash as os.path.join can't cope
@@ -706,7 +826,7 @@ class FetchMethod(object):
dots = file.split(".")
if dots[-1] in ['gz', 'bz2', 'Z']:
efile = os.path.join(data.getVar('WORKDIR', True),os.path.basename('.'.join(dots[0:-1])))
efile = os.path.join(rootdir, os.path.basename('.'.join(dots[0:-1])))
else:
efile = file
cmd = None
@@ -782,7 +902,9 @@ class FetchMethod(object):
bb.utils.mkdirhier(newdir)
os.chdir(newdir)
cmd = "PATH=\"%s\" %s" % (data.getVar('PATH', True), cmd)
path = data.getVar('PATH', True)
if path:
cmd = "PATH=\"%s\" %s" % (path, cmd)
bb.note("Unpacking %s to %s/" % (file, os.getcwd()))
ret = subprocess.call(cmd, preexec_fn=subprocess_setup, shell=True)
@@ -893,7 +1015,10 @@ class FetchMethod(object):
return "%s-%s" % (key, d.getVar("PN", True) or "")
class Fetch(object):
def __init__(self, urls, d, cache = True):
def __init__(self, urls, d, cache = True, localonly = False):
if localonly and cache:
raise Exception("bb.fetch2.Fetch.__init__: cannot set cache and localonly at same time")
if len(urls) == 0:
urls = d.getVar("SRC_URI", True).split()
self.urls = urls
@@ -906,7 +1031,12 @@ class Fetch(object):
for url in urls:
if url not in self.ud:
self.ud[url] = FetchData(url, d)
try:
self.ud[url] = FetchData(url, d, localonly)
except NonLocalMethod:
if localonly:
self.ud[url] = None
pass
if cache:
urldata_cache[fn] = self.ud
@@ -978,12 +1108,14 @@ class Fetch(object):
raise
except BBFetchException as e:
logger.warn('Failed to fetch URL %s' % u)
logger.debug(1, str(e))
if isinstance(e, ChecksumError):
logger.warn("Checksum error encountered with download (will attempt other sources): %s" % str(e))
else:
logger.warn('Failed to fetch URL %s, attempting MIRRORS if available' % u)
logger.debug(1, str(e))
firsterr = e
# Remove any incomplete fetch
if os.path.isfile(ud.localpath):
bb.utils.remove(ud.localpath)
m.clean(ud, self.d)
logger.debug(1, "Trying MIRRORS")
mirrors = mirror_from_string(self.d.getVar('MIRRORS', True))
localpath = try_mirrors (self.d, ud, mirrors)

View File

@@ -82,6 +82,9 @@ class Git(FetchMethod):
"""
return ud.type in ['git']
def supports_checksum(self, urldata):
return False
def urldata_init(self, ud, d):
"""
init git specific variable within url data
@@ -123,7 +126,8 @@ class Git(FetchMethod):
for name in ud.names:
# Ensure anything that doesn't look like a sha256 checksum/revision is translated into one
if not ud.revisions[name] or len(ud.revisions[name]) != 40 or (False in [c in "abcdef0123456789" for c in ud.revisions[name]]):
ud.branches[name] = ud.revisions[name]
if ud.revisions[name]:
ud.branches[name] = ud.revisions[name]
ud.revisions[name] = self.latest_revision(ud.url, ud, d, name)
gitsrcname = '%s%s' % (ud.host.replace(':','.'), ud.path.replace('/', '.'))
@@ -135,8 +139,9 @@ class Git(FetchMethod):
for name in ud.names:
gitsrcname = gitsrcname + '_' + ud.revisions[name]
ud.mirrortarball = 'git2_%s.tar.gz' % (gitsrcname)
ud.fullmirror = os.path.join(data.getVar("DL_DIR", d, True), ud.mirrortarball)
ud.clonedir = os.path.join(data.expand('${GITDIR}', d), gitsrcname)
ud.fullmirror = os.path.join(d.getVar("DL_DIR", True), ud.mirrortarball)
gitdir = d.getVar("GITDIR", True) or (d.getVar("DL_DIR", True) + "/git2/")
ud.clonedir = os.path.join(gitdir, gitsrcname)
ud.localfile = ud.clonedir
@@ -184,7 +189,8 @@ class Git(FetchMethod):
# If the repo still doesn't exist, fallback to cloning it
if not os.path.exists(ud.clonedir):
clone_cmd = "%s clone --bare --mirror %s %s" % (ud.basecmd, repourl, ud.clonedir)
bb.fetch2.check_network_access(d, clone_cmd)
if ud.proto.lower() != 'file':
bb.fetch2.check_network_access(d, clone_cmd)
runfetchcmd(clone_cmd, d)
os.chdir(ud.clonedir)
@@ -202,7 +208,8 @@ class Git(FetchMethod):
runfetchcmd("%s remote add --mirror=fetch origin %s" % (ud.basecmd, repourl), d)
fetch_cmd = "%s fetch -f --prune %s refs/*:refs/*" % (ud.basecmd, repourl)
bb.fetch2.check_network_access(d, fetch_cmd, ud.url)
if ud.proto.lower() != 'file':
bb.fetch2.check_network_access(d, fetch_cmd, ud.url)
runfetchcmd(fetch_cmd, d)
runfetchcmd("%s prune-packed" % ud.basecmd, d)
runfetchcmd("%s pack-redundant --all | xargs -r rm" % ud.basecmd, d)
@@ -281,7 +288,8 @@ class Git(FetchMethod):
basecmd = data.getVar("FETCHCMD_git", d, True) or "git"
cmd = "%s ls-remote %s://%s%s%s %s" % \
(basecmd, ud.proto, username, ud.host, ud.path, ud.branches[name])
bb.fetch2.check_network_access(d, cmd)
if ud.proto.lower() != 'file':
bb.fetch2.check_network_access(d, cmd)
output = runfetchcmd(cmd, d, True)
if not output:
raise bb.fetch2.FetchError("The command %s gave empty output unexpectedly" % cmd, url)

View File

@@ -27,6 +27,7 @@ BitBake build tools.
from future_builtins import zip
import os
import subprocess
import logging
import bb
from bb import data
@@ -90,8 +91,8 @@ class Perforce(FetchMethod):
p4cmd = data.getVar('FETCHCOMMAND_p4', d, True)
logger.debug(1, "Running %s%s changes -m 1 %s", p4cmd, p4opt, depot)
p4file = os.popen("%s%s changes -m 1 %s" % (p4cmd, p4opt, depot))
cset = p4file.readline().strip()
p4file, errors = bb.process.run("%s%s changes -m 1 %s" % (p4cmd, p4opt, depot))
cset = p4file.strip()
logger.debug(1, "READ %s", cset)
if not cset:
return -1
@@ -154,8 +155,8 @@ class Perforce(FetchMethod):
logger.debug(2, "Fetch: creating temporary directory")
bb.utils.mkdirhier(data.expand('${WORKDIR}', localdata))
data.setVar('TMPBASE', data.expand('${WORKDIR}/oep4.XXXXXX', localdata), localdata)
tmppipe = os.popen(data.getVar('MKTEMPDIRCMD', localdata, True) or "false")
tmpfile = tmppipe.readline().strip()
tmpfile, errors = bb.process.run(data.getVar('MKTEMPDIRCMD', localdata, True) or "false")
tmpfile = tmpfile.strip()
if not tmpfile:
raise FetchError("Fetch: unable to create temporary directory.. make sure 'mktemp' is in the PATH.", loc)
@@ -168,7 +169,8 @@ class Perforce(FetchMethod):
os.chdir(tmpfile)
logger.info("Fetch " + loc)
logger.info("%s%s files %s", p4cmd, p4opt, depot)
p4file = os.popen("%s%s files %s" % (p4cmd, p4opt, depot))
p4file, errors = bb.process.run("%s%s files %s" % (p4cmd, p4opt, depot))
p4file = p4file.strip()
if not p4file:
raise FetchError("Fetch: unable to get the P4 files from %s" % depot, loc)
@@ -184,7 +186,7 @@ class Perforce(FetchMethod):
dest = list[0][len(path)+1:]
where = dest.find("#")
os.system("%s%s print -o %s/%s %s" % (p4cmd, p4opt, module, dest[:where], list[0]))
subprocess.call("%s%s print -o %s/%s %s" % (p4cmd, p4opt, module, dest[:where], list[0]), shell=True)
count = count + 1
if count == 0:

View File

@@ -69,6 +69,9 @@ class SSH(FetchMethod):
def supports(self, url, urldata, d):
return __pattern__.match(url) != None
def supports_checksum(self, urldata):
return False
def localpath(self, url, urldata, d):
m = __pattern__.match(urldata.url)
path = m.group('path')

View File

@@ -77,8 +77,8 @@ class Svk(FetchMethod):
logger.debug(2, "Fetch: creating temporary directory")
bb.utils.mkdirhier(data.expand('${WORKDIR}', localdata))
data.setVar('TMPBASE', data.expand('${WORKDIR}/oesvk.XXXXXX', localdata), localdata)
tmppipe = os.popen(data.getVar('MKTEMPDIRCMD', localdata, True) or "false")
tmpfile = tmppipe.readline().strip()
tmpfile, errors = bb.process.run(data.getVar('MKTEMPDIRCMD', localdata, True) or "false")
tmpfile = tmpfile.strip()
if not tmpfile:
logger.error()
raise FetchError("Fetch: unable to create temporary directory.. make sure 'mktemp' is in the PATH.", loc)

View File

@@ -45,6 +45,9 @@ class Wget(FetchMethod):
"""
return ud.type in ['http', 'https', 'ftp']
def recommends_checksum(self, urldata):
return True
def urldata_init(self, ud, d):
ud.basename = os.path.basename(ud.path)
@@ -53,39 +56,32 @@ class Wget(FetchMethod):
def download(self, uri, ud, d, checkonly = False):
"""Fetch urls"""
def fetch_uri(uri, ud, d):
if checkonly:
fetchcmd = data.getVar("CHECKCOMMAND", d, True)
elif os.path.exists(ud.localpath):
# file exists, but we didnt complete it.. trying again..
fetchcmd = data.getVar("RESUMECOMMAND", d, True)
else:
fetchcmd = data.getVar("FETCHCOMMAND", d, True)
if checkonly:
fetchcmd = data.getVar("CHECKCOMMAND_wget", d, True) or d.expand("/usr/bin/env wget --spider -t 5 --passive-ftp --no-check-certificate -P ${DL_DIR} '${URI}'")
elif os.path.exists(ud.localpath):
# file exists, but we didnt complete it.. trying again..
fetchcmd = data.getVar("RESUMECOMMAND_wget", d, True) or d.expand("/usr/bin/env wget -c -t 5 -nv --passive-ftp --no-check-certificate -P ${DL_DIR} '${URI}'")
else:
fetchcmd = data.getVar("FETCHCOMMAND_wget", d, True) or d.expand("/usr/bin/env wget -t 5 -nv --passive-ftp --no-check-certificate -P ${DL_DIR} '${URI}'")
uri = uri.split(";")[0]
uri_decoded = list(decodeurl(uri))
uri_type = uri_decoded[0]
uri_host = uri_decoded[1]
uri = uri.split(";")[0]
uri_decoded = list(decodeurl(uri))
uri_type = uri_decoded[0]
uri_host = uri_decoded[1]
fetchcmd = fetchcmd.replace("${URI}", uri.split(";")[0])
fetchcmd = fetchcmd.replace("${FILE}", ud.basename)
if not checkonly:
logger.info("fetch " + uri)
logger.debug(2, "executing " + fetchcmd)
bb.fetch2.check_network_access(d, fetchcmd)
runfetchcmd(fetchcmd, d, quiet=checkonly)
fetchcmd = fetchcmd.replace("${URI}", uri.split(";")[0])
fetchcmd = fetchcmd.replace("${FILE}", ud.basename)
if not checkonly:
logger.info("fetch " + uri)
logger.debug(2, "executing " + fetchcmd)
bb.fetch2.check_network_access(d, fetchcmd)
runfetchcmd(fetchcmd, d, quiet=checkonly)
# Sanity check since wget can pretend it succeed when it didn't
# Also, this used to happen if sourceforge sent us to the mirror page
if not os.path.exists(ud.localpath) and not checkonly:
raise FetchError("The fetch command returned success for url %s but %s doesn't exist?!" % (uri, ud.localpath), uri)
# Sanity check since wget can pretend it succeed when it didn't
# Also, this used to happen if sourceforge sent us to the mirror page
if not os.path.exists(ud.localpath) and not checkonly:
raise FetchError("The fetch command returned success for url %s but %s doesn't exist?!" % (uri, ud.localpath), uri)
localdata = data.createCopy(d)
data.setVar('OVERRIDES', "wget:" + data.getVar('OVERRIDES', localdata), localdata)
data.update_data(localdata)
fetch_uri(uri, ud, localdata)
return True
def checkstatus(self, uri, ud, d):

View File

@@ -69,7 +69,7 @@ def supports(fn, d):
return os.path.splitext(fn)[-1] in [".bb", ".bbclass", ".inc"]
def inherit(files, fn, lineno, d):
__inherit_cache = data.getVar('__inherit_cache', d) or []
__inherit_cache = d.getVar('__inherit_cache') or []
files = d.expand(files).split()
for file in files:
if not os.path.isabs(file) and not file.endswith(".bbclass"):
@@ -80,7 +80,7 @@ def inherit(files, fn, lineno, d):
__inherit_cache.append( file )
data.setVar('__inherit_cache', __inherit_cache, d)
include(fn, file, lineno, d, "inherit")
__inherit_cache = data.getVar('__inherit_cache', d) or []
__inherit_cache = d.getVar('__inherit_cache') or []
def get_statements(filename, absolute_filename, base_name):
global cached_statements
@@ -126,13 +126,13 @@ def handle(fn, d, include):
if ext == ".bbclass":
__classname__ = root
classes.append(__classname__)
__inherit_cache = data.getVar('__inherit_cache', d) or []
__inherit_cache = d.getVar('__inherit_cache') or []
if not fn in __inherit_cache:
__inherit_cache.append(fn)
data.setVar('__inherit_cache', __inherit_cache, d)
if include != 0:
oldfile = data.getVar('FILE', d)
oldfile = d.getVar('FILE')
else:
oldfile = None

View File

@@ -781,101 +781,7 @@ class RunQueue:
self.rqexe = None
def check_stamps(self):
unchecked = {}
current = []
notcurrent = []
buildable = []
if self.stamppolicy == "perfile":
fulldeptree = False
else:
fulldeptree = True
stampwhitelist = []
if self.stamppolicy == "whitelist":
stampwhitelist = self.rqdata.stampfnwhitelist
for task in xrange(len(self.rqdata.runq_fnid)):
unchecked[task] = ""
if len(self.rqdata.runq_depends[task]) == 0:
buildable.append(task)
def check_buildable(self, task, buildable):
for revdep in self.rqdata.runq_revdeps[task]:
alldeps = 1
for dep in self.rqdata.runq_depends[revdep]:
if dep in unchecked:
alldeps = 0
if alldeps == 1:
if revdep in unchecked:
buildable.append(revdep)
for task in xrange(len(self.rqdata.runq_fnid)):
if task not in unchecked:
continue
fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[task]]
taskname = self.rqdata.runq_task[task]
stampfile = bb.build.stampfile(taskname, self.rqdata.dataCache, fn)
# If the stamp is missing its not current
if not os.access(stampfile, os.F_OK):
del unchecked[task]
notcurrent.append(task)
check_buildable(self, task, buildable)
continue
# If its a 'nostamp' task, it's not current
taskdep = self.rqdata.dataCache.task_deps[fn]
if 'nostamp' in taskdep and task in taskdep['nostamp']:
del unchecked[task]
notcurrent.append(task)
check_buildable(self, task, buildable)
continue
while (len(buildable) > 0):
nextbuildable = []
for task in buildable:
if task in unchecked:
fn = self.taskData.fn_index[self.rqdata.runq_fnid[task]]
taskname = self.rqdata.runq_task[task]
stampfile = bb.build.stampfile(taskname, self.rqdata.dataCache, fn)
iscurrent = True
t1 = os.stat(stampfile)[stat.ST_MTIME]
for dep in self.rqdata.runq_depends[task]:
if iscurrent:
fn2 = self.taskData.fn_index[self.rqdata.runq_fnid[dep]]
taskname2 = self.rqdata.runq_task[dep]
stampfile2 = bb.build.stampfile(taskname2, self.rqdata.dataCache, fn2)
if fn == fn2 or (fulldeptree and fn2 not in stampwhitelist):
if dep in notcurrent:
iscurrent = False
else:
t2 = os.stat(stampfile2)[stat.ST_MTIME]
if t1 < t2:
iscurrent = False
del unchecked[task]
if iscurrent:
current.append(task)
else:
notcurrent.append(task)
check_buildable(self, task, nextbuildable)
buildable = nextbuildable
#for task in range(len(self.runq_fnid)):
# fn = self.taskData.fn_index[self.runq_fnid[task]]
# taskname = self.runq_task[task]
# print "%s %s.%s" % (task, taskname, fn)
#print "Unchecked: %s" % unchecked
#print "Current: %s" % current
#print "Not current: %s" % notcurrent
if len(unchecked) > 0:
bb.msg.fatal("RunQueue", "check_stamps fatal internal error")
return current
def check_stamp_task(self, task, taskname = None, recurse = False):
def check_stamp_task(self, task, taskname = None, recurse = False, cache = None):
def get_timestamp(f):
try:
if not os.access(f, os.F_OK):
@@ -911,10 +817,16 @@ class RunQueue:
if taskname != "do_setscene" and taskname.endswith("_setscene"):
return True
if cache is None:
cache = {}
iscurrent = True
t1 = get_timestamp(stampfile)
for dep in self.rqdata.runq_depends[task]:
if iscurrent:
if dep in cache:
iscurrent = cache[dep]
continue
fn2 = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[dep]]
taskname2 = self.rqdata.runq_task[dep]
stampfile2 = bb.build.stampfile(taskname2, self.rqdata.dataCache, fn2)
@@ -931,7 +843,9 @@ class RunQueue:
logger.debug(2, 'Stampfile %s < %s', stampfile, stampfile2)
iscurrent = False
if recurse and iscurrent:
iscurrent = self.check_stamp_task(dep, recurse=True)
iscurrent = self.check_stamp_task(dep, recurse=True, cache=cache)
cache[dep] = iscurrent
cache[task] = iscurrent
return iscurrent
def execute_runqueue(self):
@@ -1041,23 +955,36 @@ class RunQueueExecute:
self.build_stamps = {}
self.failed_fnids = []
self.stampcache = {}
def runqueue_process_waitpid(self):
"""
Return none is there are no processes awaiting result collection, otherwise
collect the process exit codes and close the information pipe.
"""
result = os.waitpid(-1, os.WNOHANG)
if result[0] == 0 and result[1] == 0:
pid, status = os.waitpid(-1, os.WNOHANG)
if pid == 0 or os.WIFSTOPPED(status):
return None
task = self.build_pids[result[0]]
del self.build_pids[result[0]]
self.build_pipes[result[0]].close()
del self.build_pipes[result[0]]
# self.build_stamps[result[0]] may not exist when use shared work directory.
if result[0] in self.build_stamps.keys():
del self.build_stamps[result[0]]
if result[1] != 0:
self.task_fail(task, result[1]>>8)
if os.WIFEXITED(status):
status = os.WEXITSTATUS(status)
elif os.WIFSIGNALED(status):
# Per shell conventions for $?, when a process exits due to
# a signal, we return an exit code of 128 + SIGNUM
status = 128 + os.WTERMSIG(status)
task = self.build_pids[pid]
del self.build_pids[pid]
self.build_pipes[pid].close()
del self.build_pipes[pid]
# self.build_stamps[pid] may not exist when use shared work directory.
if pid in self.build_stamps:
del self.build_stamps[pid]
if status != 0:
self.task_fail(task, status)
else:
self.task_complete(task)
return True
@@ -1164,8 +1091,6 @@ class RunQueueExecute:
os.umask(umask)
self.cooker.configuration.data.setVar("BB_WORKERCONTEXT", "1")
self.cooker.configuration.data.setVar("__RUNQUEUE_DO_NOT_USE_EXTERNALLY", self)
self.cooker.configuration.data.setVar("__RUNQUEUE_DO_NOT_USE_EXTERNALLY2", fn)
bb.parse.siggen.set_taskdata(self.rqdata.hashes, self.rqdata.hash_deps)
ret = 0
try:
@@ -1373,7 +1298,7 @@ class RunQueueExecuteTasks(RunQueueExecute):
self.task_skip(task)
return True
if self.rq.check_stamp_task(task, taskname):
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)
@@ -1557,7 +1482,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
bb.build.make_stamp(taskname + "_setscene", self.rqdata.dataCache, fn)
continue
if self.rq.check_stamp_task(realtask, taskname + "_setscene"):
if self.rq.check_stamp_task(realtask, taskname + "_setscene", cache=self.stampcache):
logger.debug(2, 'Setscene stamp current for task %s(%s)', task, self.rqdata.get_user_idstring(realtask))
stamppresent.append(task)
self.task_skip(task)
@@ -1650,7 +1575,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
fn = self.rqdata.taskData.fn_index[self.rqdata.runq_fnid[realtask]]
taskname = self.rqdata.runq_task[realtask] + "_setscene"
if self.rq.check_stamp_task(realtask, self.rqdata.runq_task[realtask], recurse = True):
if self.rq.check_stamp_task(realtask, self.rqdata.runq_task[realtask], recurse = True, cache=self.stampcache):
logger.debug(2, 'Stamp for underlying task %s(%s) is current, so skipping setscene variant',
task, self.rqdata.get_user_idstring(realtask))
self.task_failoutright(task)
@@ -1662,7 +1587,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
self.task_failoutright(task)
return True
if self.rq.check_stamp_task(realtask, taskname):
if self.rq.check_stamp_task(realtask, taskname, cache=self.stampcache):
logger.debug(2, 'Setscene stamp current task %s(%s), so skip it and its dependencies',
task, self.rqdata.get_user_idstring(realtask))
self.task_skip(task)
@@ -1776,15 +1701,6 @@ class runQueueTaskCompleted(runQueueEvent):
Event notifing a task completed
"""
def check_stamp_fn(fn, taskname, d):
rqexe = d.getVar("__RUNQUEUE_DO_NOT_USE_EXTERNALLY")
fn = d.getVar("__RUNQUEUE_DO_NOT_USE_EXTERNALLY2")
fnid = rqexe.rqdata.taskData.getfn_id(fn)
taskid = rqexe.rqdata.get_task_id(fnid, taskname)
if taskid is not None:
return rqexe.rq.check_stamp_task(taskid)
return None
class runQueuePipe():
"""
Abstraction for a pipe between a worker thread and the server

View File

@@ -60,6 +60,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
self.taskhash = {}
self.taskdeps = {}
self.runtaskdeps = {}
self.file_checksum_values = {}
self.gendeps = {}
self.lookupcache = {}
self.pkgnameextract = re.compile("(?P<fn>.*)\..*")
@@ -107,6 +108,10 @@ class SignatureGeneratorBasic(SignatureGenerator):
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
@@ -152,6 +157,7 @@ class SignatureGeneratorBasic(SignatureGenerator):
k = fn + "." + task
data = dataCache.basetaskhash[k]
self.runtaskdeps[k] = []
self.file_checksum_values[k] = {}
recipename = dataCache.pkg_fn[fn]
for dep in sorted(deps, key=clean_basepath):
depname = dataCache.pkg_fn[self.pkgnameextract.search(dep).group('fn')]
@@ -161,6 +167,12 @@ class SignatureGeneratorBasic(SignatureGenerator):
bb.fatal("%s is not in taskhash, caller isn't calling in dependency order?", dep)
data = data + self.taskhash[dep]
self.runtaskdeps[k].append(dep)
if task in dataCache.file_checksums[fn]:
checksums = bb.fetch2.get_file_checksums(dataCache.file_checksums[fn][task], recipename)
for (f,cs) in checksums:
self.file_checksum_values[k][f] = cs
data = data + cs
h = hashlib.md5(data).hexdigest()
self.taskhash[k] = h
#d.setVar("BB_TASKHASH_task-%s" % task, taskhash[task])
@@ -197,12 +209,15 @@ class SignatureGeneratorBasic(SignatureGenerator):
if runtime and k in self.taskhash:
data['runtaskdeps'] = self.runtaskdeps[k]
data['file_checksum_values'] = self.file_checksum_values[k]
data['runtaskhashes'] = {}
for dep in data['runtaskdeps']:
data['runtaskhashes'][dep] = self.taskhash[dep]
p = pickle.Pickler(file(sigfile, "wb"), -1)
p.dump(data)
with open(sigfile, "wb") as f:
p = pickle.Pickler(f, -1)
p.dump(data)
os.chmod(sigfile, 0664)
def dump_sigs(self, dataCache):
for fn in self.taskdeps:
@@ -250,9 +265,9 @@ def clean_basepaths(a):
return b
def compare_sigfiles(a, b):
p1 = pickle.Unpickler(file(a, "rb"))
p1 = pickle.Unpickler(open(a, "rb"))
a_data = p1.load()
p2 = pickle.Unpickler(file(b, "rb"))
p2 = pickle.Unpickler(open(b, "rb"))
b_data = p2.load()
def dict_diff(a, b, whitelist=set()):
@@ -302,6 +317,18 @@ def compare_sigfiles(a, b):
for dep in changed:
print "Variable %s value changed from %s to %s" % (dep, a_data['varvals'][dep], b_data['varvals'][dep])
changed, added, removed = dict_diff(a_data['file_checksum_values'], b_data['file_checksum_values'])
if changed:
for f in changed:
print "Checksum for file %s changed from %s to %s" % (f, a_data['file_checksum_values'][f], b_data['file_checksum_values'][f])
if added:
for f in added:
print "Dependency on checksum of file %s was added" % (f)
if removed:
for f in removed:
print "Dependency on checksum of file %s was removed" % (f)
if 'runtaskhashes' in a_data and 'runtaskhashes' in b_data:
a = clean_basepaths(a_data['runtaskhashes'])
b = clean_basepaths(b_data['runtaskhashes'])
@@ -331,7 +358,7 @@ def compare_sigfiles(a, b):
print "Hash for dependent task %s changed from %s to %s" % (dep, a[dep], b[dep])
def dump_sigfile(a):
p1 = pickle.Unpickler(file(a, "rb"))
p1 = pickle.Unpickler(open(a, "rb"))
a_data = p1.load()
print "basewhitelist: %s" % (a_data['basewhitelist'])
@@ -351,6 +378,9 @@ def dump_sigfile(a):
if 'runtaskdeps' in a_data:
print "Tasks this task depends on: %s" % (a_data['runtaskdeps'])
if 'file_checksum_values' in a_data:
print "This task depends on the checksums of files: %s" % (a_data['file_checksum_values'])
if 'runtaskhashes' in a_data:
for dep in a_data['runtaskhashes']:
print "Hash for dependent task %s is %s" % (dep, a_data['runtaskhashes'][dep])

View File

View File

@@ -0,0 +1,369 @@
#
# BitBake Test for codeparser.py
#
# Copyright (C) 2010 Chris Larson
# Copyright (C) 2012 Richard Purdie
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
import unittest
import logging
import bb
logger = logging.getLogger('BitBake.TestCodeParser')
import bb.data
class ReferenceTest(unittest.TestCase):
def setUp(self):
self.d = bb.data.init()
def setEmptyVars(self, varlist):
for k in varlist:
self.d.setVar(k, "")
def setValues(self, values):
for k, v in values.items():
self.d.setVar(k, v)
def assertReferences(self, refs):
self.assertEqual(self.references, refs)
def assertExecs(self, execs):
self.assertEqual(self.execs, execs)
class VariableReferenceTest(ReferenceTest):
def parseExpression(self, exp):
parsedvar = self.d.expandWithRefs(exp, None)
self.references = parsedvar.references
def test_simple_reference(self):
self.setEmptyVars(["FOO"])
self.parseExpression("${FOO}")
self.assertReferences(set(["FOO"]))
def test_nested_reference(self):
self.setEmptyVars(["BAR"])
self.d.setVar("FOO", "BAR")
self.parseExpression("${${FOO}}")
self.assertReferences(set(["FOO", "BAR"]))
def test_python_reference(self):
self.setEmptyVars(["BAR"])
self.parseExpression("${@bb.data.getVar('BAR', d, True) + 'foo'}")
self.assertReferences(set(["BAR"]))
class ShellReferenceTest(ReferenceTest):
def parseExpression(self, exp):
parsedvar = self.d.expandWithRefs(exp, None)
parser = bb.codeparser.ShellParser("ParserTest", logger)
parser.parse_shell(parsedvar.value)
self.references = parsedvar.references
self.execs = parser.execs
def test_quotes_inside_assign(self):
self.parseExpression('foo=foo"bar"baz')
self.assertReferences(set([]))
def test_quotes_inside_arg(self):
self.parseExpression('sed s#"bar baz"#"alpha beta"#g')
self.assertExecs(set(["sed"]))
def test_arg_continuation(self):
self.parseExpression("sed -i -e s,foo,bar,g \\\n *.pc")
self.assertExecs(set(["sed"]))
def test_dollar_in_quoted(self):
self.parseExpression('sed -i -e "foo$" *.pc')
self.assertExecs(set(["sed"]))
def test_quotes_inside_arg_continuation(self):
self.setEmptyVars(["bindir", "D", "libdir"])
self.parseExpression("""
sed -i -e s#"moc_location=.*$"#"moc_location=${bindir}/moc4"# \\
-e s#"uic_location=.*$"#"uic_location=${bindir}/uic4"# \\
${D}${libdir}/pkgconfig/*.pc
""")
self.assertReferences(set(["bindir", "D", "libdir"]))
def test_assign_subshell_expansion(self):
self.parseExpression("foo=$(echo bar)")
self.assertExecs(set(["echo"]))
def test_shell_unexpanded(self):
self.setEmptyVars(["QT_BASE_NAME"])
self.parseExpression('echo "${QT_BASE_NAME}"')
self.assertExecs(set(["echo"]))
self.assertReferences(set(["QT_BASE_NAME"]))
def test_incomplete_varexp_single_quotes(self):
self.parseExpression("sed -i -e 's:IP{:I${:g' $pc")
self.assertExecs(set(["sed"]))
def test_until(self):
self.parseExpression("until false; do echo true; done")
self.assertExecs(set(["false", "echo"]))
self.assertReferences(set())
def test_case(self):
self.parseExpression("""
case $foo in
*)
bar
;;
esac
""")
self.assertExecs(set(["bar"]))
self.assertReferences(set())
def test_assign_exec(self):
self.parseExpression("a=b c='foo bar' alpha 1 2 3")
self.assertExecs(set(["alpha"]))
def test_redirect_to_file(self):
self.setEmptyVars(["foo"])
self.parseExpression("echo foo >${foo}/bar")
self.assertExecs(set(["echo"]))
self.assertReferences(set(["foo"]))
def test_heredoc(self):
self.setEmptyVars(["theta"])
self.parseExpression("""
cat <<END
alpha
beta
${theta}
END
""")
self.assertReferences(set(["theta"]))
def test_redirect_from_heredoc(self):
v = ["B", "SHADOW_MAILDIR", "SHADOW_MAILFILE", "SHADOW_UTMPDIR", "SHADOW_LOGDIR", "bindir"]
self.setEmptyVars(v)
self.parseExpression("""
cat <<END >${B}/cachedpaths
shadow_cv_maildir=${SHADOW_MAILDIR}
shadow_cv_mailfile=${SHADOW_MAILFILE}
shadow_cv_utmpdir=${SHADOW_UTMPDIR}
shadow_cv_logdir=${SHADOW_LOGDIR}
shadow_cv_passwd_dir=${bindir}
END
""")
self.assertReferences(set(v))
self.assertExecs(set(["cat"]))
# def test_incomplete_command_expansion(self):
# self.assertRaises(reftracker.ShellSyntaxError, reftracker.execs,
# bbvalue.shparse("cp foo`", self.d), self.d)
# def test_rogue_dollarsign(self):
# self.setValues({"D" : "/tmp"})
# self.parseExpression("install -d ${D}$")
# self.assertReferences(set(["D"]))
# self.assertExecs(set(["install"]))
class PythonReferenceTest(ReferenceTest):
def setUp(self):
self.d = bb.data.init()
if hasattr(bb.utils, "_context"):
self.context = bb.utils._context
else:
import __builtin__
self.context = __builtin__.__dict__
def parseExpression(self, exp):
parsedvar = self.d.expandWithRefs(exp, None)
parser = bb.codeparser.PythonParser("ParserTest", logger)
parser.parse_python(parsedvar.value)
self.references = parsedvar.references | parser.references
self.execs = parser.execs
@staticmethod
def indent(value):
"""Python Snippets have to be indented, python values don't have to
be. These unit tests are testing snippets."""
return " " + value
def test_getvar_reference(self):
self.parseExpression("bb.data.getVar('foo', d, True)")
self.assertReferences(set(["foo"]))
self.assertExecs(set())
def test_getvar_computed_reference(self):
self.parseExpression("bb.data.getVar('f' + 'o' + 'o', d, True)")
self.assertReferences(set())
self.assertExecs(set())
def test_getvar_exec_reference(self):
self.parseExpression("eval('bb.data.getVar(\"foo\", d, True)')")
self.assertReferences(set())
self.assertExecs(set(["eval"]))
def test_var_reference(self):
self.context["foo"] = lambda x: x
self.setEmptyVars(["FOO"])
self.parseExpression("foo('${FOO}')")
self.assertReferences(set(["FOO"]))
self.assertExecs(set(["foo"]))
del self.context["foo"]
def test_var_exec(self):
for etype in ("func", "task"):
self.d.setVar("do_something", "echo 'hi mom! ${FOO}'")
self.d.setVarFlag("do_something", etype, True)
self.parseExpression("bb.build.exec_func('do_something', d)")
self.assertReferences(set(["do_something"]))
def test_function_reference(self):
self.context["testfunc"] = lambda msg: bb.msg.note(1, None, msg)
self.d.setVar("FOO", "Hello, World!")
self.parseExpression("testfunc('${FOO}')")
self.assertReferences(set(["FOO"]))
self.assertExecs(set(["testfunc"]))
del self.context["testfunc"]
def test_qualified_function_reference(self):
self.parseExpression("time.time()")
self.assertExecs(set(["time.time"]))
def test_qualified_function_reference_2(self):
self.parseExpression("os.path.dirname('/foo/bar')")
self.assertExecs(set(["os.path.dirname"]))
def test_qualified_function_reference_nested(self):
self.parseExpression("time.strftime('%Y%m%d',time.gmtime())")
self.assertExecs(set(["time.strftime", "time.gmtime"]))
def test_function_reference_chained(self):
self.context["testget"] = lambda: "\tstrip me "
self.parseExpression("testget().strip()")
self.assertExecs(set(["testget"]))
del self.context["testget"]
class DependencyReferenceTest(ReferenceTest):
pydata = """
bb.data.getVar('somevar', d, True)
def test(d):
foo = 'bar %s' % 'foo'
def test2(d):
d.getVar(foo, True)
d.getVar('bar', False)
test2(d)
def a():
\"\"\"some
stuff
\"\"\"
return "heh"
test(d)
bb.data.expand(bb.data.getVar("something", False, d), d)
bb.data.expand("${inexpand} somethingelse", d)
bb.data.getVar(a(), d, False)
"""
def test_python(self):
self.d.setVar("FOO", self.pydata)
self.setEmptyVars(["inexpand", "a", "test2", "test"])
self.d.setVarFlags("FOO", {"func": True, "python": True})
deps, values = bb.data.build_dependencies("FOO", set(self.d.keys()), set(), set(), self.d)
self.assertEquals(deps, set(["somevar", "bar", "something", "inexpand", "test", "test2", "a"]))
shelldata = """
foo () {
bar
}
{
echo baz
$(heh)
eval `moo`
}
a=b
c=d
(
true && false
test -f foo
testval=something
$testval
) || aiee
! inverted
echo ${somevar}
case foo in
bar)
echo bar
;;
baz)
echo baz
;;
foo*)
echo foo
;;
esac
"""
def test_shell(self):
execs = ["bar", "echo", "heh", "moo", "true", "aiee"]
self.d.setVar("somevar", "heh")
self.d.setVar("inverted", "echo inverted...")
self.d.setVarFlag("inverted", "func", True)
self.d.setVar("FOO", self.shelldata)
self.d.setVarFlags("FOO", {"func": True})
self.setEmptyVars(execs)
deps, values = bb.data.build_dependencies("FOO", set(self.d.keys()), set(), set(), self.d)
self.assertEquals(deps, set(["somevar", "inverted"] + execs))
def test_vardeps(self):
self.d.setVar("oe_libinstall", "echo test")
self.d.setVar("FOO", "foo=oe_libinstall; eval $foo")
self.d.setVarFlag("FOO", "vardeps", "oe_libinstall")
deps, values = bb.data.build_dependencies("FOO", set(self.d.keys()), set(), set(), self.d)
self.assertEquals(deps, set(["oe_libinstall"]))
def test_vardeps_expand(self):
self.d.setVar("oe_libinstall", "echo test")
self.d.setVar("FOO", "foo=oe_libinstall; eval $foo")
self.d.setVarFlag("FOO", "vardeps", "${@'oe_libinstall'}")
deps, values = bb.data.build_dependencies("FOO", set(self.d.keys()), set(), set(), self.d)
self.assertEquals(deps, set(["oe_libinstall"]))
#Currently no wildcard support
#def test_vardeps_wildcards(self):
# self.d.setVar("oe_libinstall", "echo test")
# self.d.setVar("FOO", "foo=oe_libinstall; eval $foo")
# self.d.setVarFlag("FOO", "vardeps", "oe_*")
# self.assertEquals(deps, set(["oe_libinstall"]))

134
bitbake/lib/bb/tests/cow.py Normal file
View File

@@ -0,0 +1,134 @@
#
# BitBake Tests for Copy-on-Write (cow.py)
#
# Copyright 2006 Holger Freyther <freyther@handhelds.org>
#
# 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 unittest
import os
class COWTestCase(unittest.TestCase):
"""
Test case for the COW module from mithro
"""
def testGetSet(self):
"""
Test and set
"""
from bb.COW import COWDictBase
a = COWDictBase.copy()
self.assertEquals(False, a.has_key('a'))
a['a'] = 'a'
a['b'] = 'b'
self.assertEquals(True, a.has_key('a'))
self.assertEquals(True, a.has_key('b'))
self.assertEquals('a', a['a'] )
self.assertEquals('b', a['b'] )
def testCopyCopy(self):
"""
Test the copy of copies
"""
from bb.COW import COWDictBase
# create two COW dict 'instances'
b = COWDictBase.copy()
c = COWDictBase.copy()
# assign some keys to one instance, some keys to another
b['a'] = 10
b['c'] = 20
c['a'] = 30
# test separation of the two instances
self.assertEquals(False, c.has_key('c'))
self.assertEquals(30, c['a'])
self.assertEquals(10, b['a'])
# test copy
b_2 = b.copy()
c_2 = c.copy()
self.assertEquals(False, c_2.has_key('c'))
self.assertEquals(10, b_2['a'])
b_2['d'] = 40
self.assertEquals(False, c_2.has_key('d'))
self.assertEquals(True, b_2.has_key('d'))
self.assertEquals(40, b_2['d'])
self.assertEquals(False, b.has_key('d'))
self.assertEquals(False, c.has_key('d'))
c_2['d'] = 30
self.assertEquals(True, c_2.has_key('d'))
self.assertEquals(True, b_2.has_key('d'))
self.assertEquals(30, c_2['d'])
self.assertEquals(40, b_2['d'])
self.assertEquals(False, b.has_key('d'))
self.assertEquals(False, c.has_key('d'))
# test copy of the copy
c_3 = c_2.copy()
b_3 = b_2.copy()
b_3_2 = b_2.copy()
c_3['e'] = 4711
self.assertEquals(4711, c_3['e'])
self.assertEquals(False, c_2.has_key('e'))
self.assertEquals(False, b_3.has_key('e'))
self.assertEquals(False, b_3_2.has_key('e'))
self.assertEquals(False, b_2.has_key('e'))
b_3['e'] = 'viel'
self.assertEquals('viel', b_3['e'])
self.assertEquals(4711, c_3['e'])
self.assertEquals(False, c_2.has_key('e'))
self.assertEquals(True, b_3.has_key('e'))
self.assertEquals(False, b_3_2.has_key('e'))
self.assertEquals(False, b_2.has_key('e'))
def testCow(self):
from bb.COW import COWDictBase
c = COWDictBase.copy()
c['123'] = 1027
c['other'] = 4711
c['d'] = { 'abc' : 10, 'bcd' : 20 }
copy = c.copy()
self.assertEquals(1027, c['123'])
self.assertEquals(4711, c['other'])
self.assertEquals({'abc':10, 'bcd':20}, c['d'])
self.assertEquals(1027, copy['123'])
self.assertEquals(4711, copy['other'])
self.assertEquals({'abc':10, 'bcd':20}, copy['d'])
# cow it now
copy['123'] = 1028
copy['other'] = 4712
copy['d']['abc'] = 20
self.assertEquals(1027, c['123'])
self.assertEquals(4711, c['other'])
self.assertEquals({'abc':10, 'bcd':20}, c['d'])
self.assertEquals(1028, copy['123'])
self.assertEquals(4712, copy['other'])
self.assertEquals({'abc':20, 'bcd':20}, copy['d'])

View File

@@ -0,0 +1,252 @@
#
# BitBake Tests for the Data Store (data.py/data_smart.py)
#
# Copyright (C) 2010 Chris Larson
# Copyright (C) 2012 Richard Purdie
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
import unittest
import bb
import bb.data
class DataExpansions(unittest.TestCase):
def setUp(self):
self.d = bb.data.init()
self.d["foo"] = "value of foo"
self.d["bar"] = "value of bar"
self.d["value of foo"] = "value of 'value of foo'"
def test_one_var(self):
val = self.d.expand("${foo}")
self.assertEqual(str(val), "value of foo")
def test_indirect_one_var(self):
val = self.d.expand("${${foo}}")
self.assertEqual(str(val), "value of 'value of foo'")
def test_indirect_and_another(self):
val = self.d.expand("${${foo}} ${bar}")
self.assertEqual(str(val), "value of 'value of foo' value of bar")
def test_python_snippet(self):
val = self.d.expand("${@5*12}")
self.assertEqual(str(val), "60")
def test_expand_in_python_snippet(self):
val = self.d.expand("${@'boo ' + '${foo}'}")
self.assertEqual(str(val), "boo value of foo")
def test_python_snippet_getvar(self):
val = self.d.expand("${@d.getVar('foo', True) + ' ${bar}'}")
self.assertEqual(str(val), "value of foo value of bar")
def test_python_snippet_syntax_error(self):
self.d.setVar("FOO", "${@foo = 5}")
self.assertRaises(bb.data_smart.ExpansionError, self.d.getVar, "FOO", True)
def test_python_snippet_runtime_error(self):
self.d.setVar("FOO", "${@int('test')}")
self.assertRaises(bb.data_smart.ExpansionError, self.d.getVar, "FOO", True)
def test_python_snippet_error_path(self):
self.d.setVar("FOO", "foo value ${BAR}")
self.d.setVar("BAR", "bar value ${@int('test')}")
self.assertRaises(bb.data_smart.ExpansionError, self.d.getVar, "FOO", True)
def test_value_containing_value(self):
val = self.d.expand("${@d.getVar('foo', True) + ' ${bar}'}")
self.assertEqual(str(val), "value of foo value of bar")
def test_reference_undefined_var(self):
val = self.d.expand("${undefinedvar} meh")
self.assertEqual(str(val), "${undefinedvar} meh")
def test_double_reference(self):
self.d.setVar("BAR", "bar value")
self.d.setVar("FOO", "${BAR} foo ${BAR}")
val = self.d.getVar("FOO", True)
self.assertEqual(str(val), "bar value foo bar value")
def test_direct_recursion(self):
self.d.setVar("FOO", "${FOO}")
self.assertRaises(bb.data_smart.ExpansionError, self.d.getVar, "FOO", True)
def test_indirect_recursion(self):
self.d.setVar("FOO", "${BAR}")
self.d.setVar("BAR", "${BAZ}")
self.d.setVar("BAZ", "${FOO}")
self.assertRaises(bb.data_smart.ExpansionError, self.d.getVar, "FOO", True)
def test_recursion_exception(self):
self.d.setVar("FOO", "${BAR}")
self.d.setVar("BAR", "${${@'FOO'}}")
self.assertRaises(bb.data_smart.ExpansionError, self.d.getVar, "FOO", True)
def test_incomplete_varexp_single_quotes(self):
self.d.setVar("FOO", "sed -i -e 's:IP{:I${:g' $pc")
val = self.d.getVar("FOO", True)
self.assertEqual(str(val), "sed -i -e 's:IP{:I${:g' $pc")
def test_nonstring(self):
self.d.setVar("TEST", 5)
val = self.d.getVar("TEST", True)
self.assertEqual(str(val), "5")
def test_rename(self):
self.d.renameVar("foo", "newfoo")
self.assertEqual(self.d.getVar("newfoo"), "value of foo")
self.assertEqual(self.d.getVar("foo"), None)
def test_deletion(self):
self.d.delVar("foo")
self.assertEqual(self.d.getVar("foo"), None)
def test_keys(self):
keys = self.d.keys()
self.assertEqual(keys, ['value of foo', 'foo', 'bar'])
class TestNestedExpansions(unittest.TestCase):
def setUp(self):
self.d = bb.data.init()
self.d["foo"] = "foo"
self.d["bar"] = "bar"
self.d["value of foobar"] = "187"
def test_refs(self):
val = self.d.expand("${value of ${foo}${bar}}")
self.assertEqual(str(val), "187")
#def test_python_refs(self):
# val = self.d.expand("${@${@3}**2 + ${@4}**2}")
# self.assertEqual(str(val), "25")
def test_ref_in_python_ref(self):
val = self.d.expand("${@'${foo}' + 'bar'}")
self.assertEqual(str(val), "foobar")
def test_python_ref_in_ref(self):
val = self.d.expand("${${@'f'+'o'+'o'}}")
self.assertEqual(str(val), "foo")
def test_deep_nesting(self):
depth = 100
val = self.d.expand("${" * depth + "foo" + "}" * depth)
self.assertEqual(str(val), "foo")
#def test_deep_python_nesting(self):
# depth = 50
# val = self.d.expand("${@" * depth + "1" + "+1}" * depth)
# self.assertEqual(str(val), str(depth + 1))
def test_mixed(self):
val = self.d.expand("${value of ${@('${foo}'+'bar')[0:3]}${${@'BAR'.lower()}}}")
self.assertEqual(str(val), "187")
def test_runtime(self):
val = self.d.expand("${${@'value of' + ' f'+'o'+'o'+'b'+'a'+'r'}}")
self.assertEqual(str(val), "187")
class TestMemoize(unittest.TestCase):
def test_memoized(self):
d = bb.data.init()
d.setVar("FOO", "bar")
self.assertTrue(d.getVar("FOO") is d.getVar("FOO"))
def test_not_memoized(self):
d1 = bb.data.init()
d2 = bb.data.init()
d1.setVar("FOO", "bar")
d2.setVar("FOO", "bar2")
self.assertTrue(d1.getVar("FOO") is not d2.getVar("FOO"))
def test_changed_after_memoized(self):
d = bb.data.init()
d.setVar("foo", "value of foo")
self.assertEqual(str(d.getVar("foo")), "value of foo")
d.setVar("foo", "second value of foo")
self.assertEqual(str(d.getVar("foo")), "second value of foo")
def test_same_value(self):
d = bb.data.init()
d.setVar("foo", "value of")
d.setVar("bar", "value of")
self.assertEqual(d.getVar("foo"),
d.getVar("bar"))
class TestConcat(unittest.TestCase):
def setUp(self):
self.d = bb.data.init()
self.d.setVar("FOO", "foo")
self.d.setVar("VAL", "val")
self.d.setVar("BAR", "bar")
def test_prepend(self):
self.d.setVar("TEST", "${VAL}")
self.d.prependVar("TEST", "${FOO}:")
self.assertEqual(self.d.getVar("TEST", True), "foo:val")
def test_append(self):
self.d.setVar("TEST", "${VAL}")
self.d.appendVar("TEST", ":${BAR}")
self.assertEqual(self.d.getVar("TEST", True), "val:bar")
def test_multiple_append(self):
self.d.setVar("TEST", "${VAL}")
self.d.prependVar("TEST", "${FOO}:")
self.d.appendVar("TEST", ":val2")
self.d.appendVar("TEST", ":${BAR}")
self.assertEqual(self.d.getVar("TEST", True), "foo:val:val2:bar")
class TestOverrides(unittest.TestCase):
def setUp(self):
self.d = bb.data.init()
self.d.setVar("OVERRIDES", "foo:bar:local")
self.d.setVar("TEST", "testvalue")
def test_no_override(self):
bb.data.update_data(self.d)
self.assertEqual(self.d.getVar("TEST", True), "testvalue")
def test_one_override(self):
self.d.setVar("TEST_bar", "testvalue2")
bb.data.update_data(self.d)
self.assertEqual(self.d.getVar("TEST", True), "testvalue2")
def test_multiple_override(self):
self.d.setVar("TEST_bar", "testvalue2")
self.d.setVar("TEST_local", "testvalue3")
self.d.setVar("TEST_foo", "testvalue4")
bb.data.update_data(self.d)
self.assertEqual(self.d.getVar("TEST", True), "testvalue3")
class TestFlags(unittest.TestCase):
def setUp(self):
self.d = bb.data.init()
self.d.setVar("foo", "value of foo")
self.d.setVarFlag("foo", "flag1", "value of flag1")
self.d.setVarFlag("foo", "flag2", "value of flag2")
def test_setflag(self):
self.assertEqual(self.d.getVarFlag("foo", "flag1"), "value of flag1")
self.assertEqual(self.d.getVarFlag("foo", "flag2"), "value of flag2")
def test_delflag(self):
self.d.delVarFlag("foo", "flag2")
self.assertEqual(self.d.getVarFlag("foo", "flag1"), "value of flag1")
self.assertEqual(self.d.getVarFlag("foo", "flag2"), None)

View File

@@ -0,0 +1,105 @@
#
# BitBake Tests for the Fetcher (fetch2/)
#
# Copyright (C) 2012 Richard Purdie
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
import unittest
import tempfile
import subprocess
import os
import bb
class FetcherTest(unittest.TestCase):
def setUp(self):
self.d = bb.data.init()
self.tempdir = tempfile.mkdtemp()
self.dldir = os.path.join(self.tempdir, "download")
os.mkdir(self.dldir)
self.d.setVar("DL_DIR", self.dldir)
self.unpackdir = os.path.join(self.tempdir, "unpacked")
os.mkdir(self.unpackdir)
persistdir = os.path.join(self.tempdir, "persistdata")
self.d.setVar("PERSISTENT_DIR", persistdir)
def tearDown(self):
bb.utils.prunedir(self.tempdir)
def test_fetch(self):
fetcher = bb.fetch.Fetch(["http://downloads.yoctoproject.org/releases/bitbake/bitbake-1.0.tar.gz", "http://downloads.yoctoproject.org/releases/bitbake/bitbake-1.1.tar.gz"], self.d)
fetcher.download()
self.assertEqual(os.path.getsize(self.dldir + "/bitbake-1.0.tar.gz"), 57749)
self.assertEqual(os.path.getsize(self.dldir + "/bitbake-1.1.tar.gz"), 57892)
self.d.setVar("BB_NO_NETWORK", "1")
fetcher = bb.fetch.Fetch(["http://downloads.yoctoproject.org/releases/bitbake/bitbake-1.0.tar.gz", "http://downloads.yoctoproject.org/releases/bitbake/bitbake-1.1.tar.gz"], self.d)
fetcher.download()
fetcher.unpack(self.unpackdir)
self.assertEqual(len(os.listdir(self.unpackdir + "/bitbake-1.0/")), 9)
self.assertEqual(len(os.listdir(self.unpackdir + "/bitbake-1.1/")), 9)
def test_fetch_mirror(self):
self.d.setVar("MIRRORS", "http://.*/.* http://downloads.yoctoproject.org/releases/bitbake")
fetcher = bb.fetch.Fetch(["http://invalid.yoctoproject.org/releases/bitbake/bitbake-1.0.tar.gz"], self.d)
fetcher.download()
self.assertEqual(os.path.getsize(self.dldir + "/bitbake-1.0.tar.gz"), 57749)
def test_fetch_premirror(self):
self.d.setVar("PREMIRRORS", "http://.*/.* http://downloads.yoctoproject.org/releases/bitbake")
fetcher = bb.fetch.Fetch(["http://invalid.yoctoproject.org/releases/bitbake/bitbake-1.0.tar.gz"], self.d)
fetcher.download()
self.assertEqual(os.path.getsize(self.dldir + "/bitbake-1.0.tar.gz"), 57749)
def test_gitfetch(self):
def checkrevision(self, fetcher):
fetcher.unpack(self.unpackdir)
revision = subprocess.check_output("git rev-parse HEAD", shell=True, cwd=self.unpackdir + "/git").strip()
self.assertEqual(revision, "270a05b0b4ba0959fe0624d2a4885d7b70426da5")
self.d.setVar("BB_GENERATE_MIRROR_TARBALLS", "1")
self.d.setVar("SRCREV", "270a05b0b4ba0959fe0624d2a4885d7b70426da5")
fetcher = bb.fetch.Fetch(["git://git.openembedded.org/bitbake"], self.d)
fetcher.download()
checkrevision(self, fetcher)
# Wipe out the dldir clone and the unpacked source, turn off the network and check mirror tarball works
bb.utils.prunedir(self.dldir + "/git2/")
bb.utils.prunedir(self.unpackdir)
self.d.setVar("BB_NO_NETWORK", "1")
fetcher = bb.fetch.Fetch(["git://git.openembedded.org/bitbake"], self.d)
fetcher.download()
checkrevision(self, fetcher)
class URLHandle(unittest.TestCase):
datatable = {
"http://www.google.com/index.html" : ('http', 'www.google.com', '/index.html', '', '', {}),
"cvs://anoncvs@cvs.handhelds.org/cvs;module=familiar/dist/ipkg" : ('cvs', 'cvs.handhelds.org', '/cvs', 'anoncvs', '', {'module': 'familiar/dist/ipkg'}),
"cvs://anoncvs:anonymous@cvs.handhelds.org/cvs;tag=V0-99-81;module=familiar/dist/ipkg" : ('cvs', 'cvs.handhelds.org', '/cvs', 'anoncvs', 'anonymous', {'tag': 'V0-99-81', 'module': 'familiar/dist/ipkg'})
}
def test_decodeurl(self):
for k, v in self.datatable.items():
result = bb.fetch.decodeurl(k)
self.assertEqual(result, v)
def test_encodeurl(self):
for k, v in self.datatable.items():
result = bb.fetch.encodeurl(v)
self.assertEqual(result, k)

View File

@@ -0,0 +1,36 @@
#
# BitBake Tests for utils.py
#
# Copyright (C) 2012 Richard Purdie
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License version 2 as
# published by the Free Software Foundation.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
import unittest
import bb
class VerCmpString(unittest.TestCase):
def test_vercmpstring(self):
result = bb.utils.vercmp_string('1', '2')
self.assertTrue(result < 0)
result = bb.utils.vercmp_string('2', '1')
self.assertTrue(result > 0)
result = bb.utils.vercmp_string('1', '1.0')
self.assertTrue(result < 0)
result = bb.utils.vercmp_string('1', '1.1')
self.assertTrue(result < 0)
result = bb.utils.vercmp_string('1.1', '1_p2')
self.assertTrue(result < 0)

View File

@@ -23,11 +23,13 @@
import gtk
import pango
import gobject
import bb.process
from bb.ui.crumbs.progressbar import HobProgressBar
from bb.ui.crumbs.hobwidget import hic, HobNotebook, HobAltButton, HobWarpCellRendererText
from bb.ui.crumbs.hobwidget import hic, HobNotebook, HobAltButton, HobWarpCellRendererText, HobButton
from bb.ui.crumbs.runningbuild import RunningBuildTreeView
from bb.ui.crumbs.runningbuild import BuildFailureTreeView
from bb.ui.crumbs.hobpages import HobPage
from bb.ui.crumbs.hobcolor import HobColors
class BuildConfigurationTreeView(gtk.TreeView):
def __init__ (self):
@@ -96,11 +98,10 @@ class BuildConfigurationTreeView(gtk.TreeView):
for path in src_config_info.layers:
import os, os.path
if os.path.exists(path):
f = os.popen('cd %s; git branch 2>&1 | grep "^* " | tr -d "* "' % path)
if f:
branch = f.readline().lstrip('\n').rstrip('\n')
branch = bb.process.run('cd %s; git branch | grep "^* " | tr -d "* "' % path)[0]
if branch:
branch = branch.strip('\n')
vars.append(self.set_vars("Branch:", branch))
f.close()
break
self.set_config_model(vars)
@@ -144,7 +145,7 @@ class BuildDetailsPage (HobPage):
self.scrolled_view_config = gtk.ScrolledWindow ()
self.scrolled_view_config.set_policy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS)
self.scrolled_view_config.add(self.config_tv)
self.notebook.append_page(self.scrolled_view_config, gtk.Label("Build configuration"))
self.notebook.append_page(self.scrolled_view_config, "Build configuration")
self.failure_tv = BuildFailureTreeView()
self.failure_model = self.builder.handler.build.model.failure_model()
@@ -152,14 +153,14 @@ class BuildDetailsPage (HobPage):
self.scrolled_view_failure = gtk.ScrolledWindow ()
self.scrolled_view_failure.set_policy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS)
self.scrolled_view_failure.add(self.failure_tv)
self.notebook.append_page(self.scrolled_view_failure, gtk.Label("Issues"))
self.notebook.append_page(self.scrolled_view_failure, "Issues")
self.build_tv = RunningBuildTreeView(readonly=True, hob=True)
self.build_tv.set_model(self.builder.handler.build.model)
self.scrolled_view_build = gtk.ScrolledWindow ()
self.scrolled_view_build.set_policy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS)
self.scrolled_view_build.add(self.build_tv)
self.notebook.append_page(self.scrolled_view_build, gtk.Label("Log"))
self.notebook.append_page(self.scrolled_view_build, "Log")
self.builder.handler.build.model.connect_after("row-changed", self.scroll_to_present_row, self.scrolled_view_build.get_vadjustment(), self.build_tv)
@@ -198,6 +199,87 @@ class BuildDetailsPage (HobPage):
for child in children:
self.remove(child)
def update_failures_sum_display(self):
num = 0
it = self.failure_model.get_iter_first()
while it:
color = self.failure_model.get_value(it, self.builder.handler.build.model.COL_COLOR)
if color == HobColors.ERROR:
num += 1
it = self.failure_model.iter_next(it)
return num
def add_build_fail_top_bar(self, actions):
mainly_action = "Edit %s" % actions
if 'image' in actions:
next_action = ""
else:
next_action = "Create new image"
#set to issue page
self.notebook.set_page("Issues")
color = HobColors.ERROR
build_fail_top = gtk.EventBox()
build_fail_top.set_size_request(-1, 260)
build_fail_top.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse(color))
build_fail_tab = gtk.Table(7, 40, True)
build_fail_top.add(build_fail_tab)
icon = gtk.Image()
icon_pix_buffer = gtk.gdk.pixbuf_new_from_file(hic.ICON_INDI_ERROR_FILE)
icon.set_from_pixbuf(icon_pix_buffer)
build_fail_tab.attach(icon, 1, 4, 0, 3)
label = gtk.Label()
label.set_alignment(0.0, 0.5)
label.set_markup("<span size='x-large'>%s</span>" % self.title)
build_fail_tab.attach(label, 4, 20, 0, 3)
label = gtk.Label()
label.set_alignment(0.0, 0.5)
num_of_fails = self.update_failures_sum_display()
current_fail, recipe_task_status = self.task_status.get_text().split('\n')
label.set_markup(" %d tasks failed, %s, %s" % (num_of_fails, current_fail, recipe_task_status))
build_fail_tab.attach(label, 4, 40, 2, 4)
# create button 'Edit packages'
action_button = HobButton(mainly_action)
action_button.set_size_request(-1, 49)
action_button.connect('clicked', self.failure_main_action_button_clicked_cb, mainly_action)
build_fail_tab.attach(action_button, 4, 16, 4, 6)
if next_action:
next_button = HobAltButton(next_action)
next_button.set_alignment(0.0, 0.5)
next_button.connect('clicked', self.failure_next_action_button_clicked_cb, next_action)
build_fail_tab.attach(next_button, 17, 24, 4, 5)
file_bug_button = HobAltButton('File a bug')
file_bug_button.set_alignment(0.0, 0.5)
file_bug_button.connect('clicked', self.failure_file_bug_activate_link_cb)
build_fail_tab.attach(file_bug_button, 17, 24, 4 + abs(next_action != ""), 6)
return build_fail_top
def show_fail_page(self, title, action_names):
self._remove_all_widget()
self.title = "Hob cannot build your %s" % title
self.build_fail_bar = self.add_build_fail_top_bar(action_names)
self.pack_start(self.build_fail_bar)
self.pack_start(self.group_align, expand=True, fill=True)
self.box_group_area.pack_start(self.vbox, expand=True, fill=True)
self.vbox.pack_start(self.notebook, expand=True, fill=True)
self.box_group_area.pack_end(self.button_box, expand=False, fill=False)
self.show_all()
self.back_button.hide()
def show_page(self, step):
self._remove_all_widget()
if step == self.builder.PACKAGE_GENERATING or step == self.builder.FAST_IMAGE_GENERATING:
@@ -251,3 +333,18 @@ class BuildDetailsPage (HobPage):
def show_configurations(self, configurations, params):
self.config_tv.show(configurations, params)
def failure_main_action_button_clicked_cb(self, button, action):
if "Edit recipes" in action:
self.builder.show_recipes()
elif "Edit packages" in action:
self.builder.show_packages()
elif "Edit image configuration" in action:
self.builder.show_configuration()
def failure_next_action_button_clicked_cb(self, button, action):
if "Create new image" in action:
self.builder.initiate_new_build_async()
def failure_file_bug_activate_link_cb(self, button):
button.child.emit('activate-link', "http://bugzilla.yoctoproject.org")

View File

@@ -26,6 +26,7 @@ import copy
import os
import subprocess
import shlex
import re
from bb.ui.crumbs.template import TemplateMgr
from bb.ui.crumbs.imageconfigurationpage import ImageConfigurationPage
from bb.ui.crumbs.recipeselectionpage import RecipeSelectionPage
@@ -39,9 +40,49 @@ from bb.ui.crumbs.hig import CrumbsMessageDialog, ImageSelectionDialog, \
from bb.ui.crumbs.persistenttooltip import PersistentTooltip
import bb.ui.crumbs.utils
hobVer = 20120530
class Configuration:
'''Represents the data structure of configuration.'''
@classmethod
def parse_proxy_string(cls, proxy):
pattern = "^\s*((http|https|ftp|git|cvs)://)?((\S+):(\S+)@)?(\S+):(\d+)/?"
match = re.search(pattern, proxy)
if match:
return match.group(2), match.group(4), match.group(5), match.group(6), match.group(7)
else:
return None, None, None, "", ""
@classmethod
def make_host_string(cls, prot, user, passwd, host, default_prot=""):
if host == None or host == "":
return ""
passwd = passwd or ""
if user != None and user != "":
if prot == None or prot == "":
prot = default_prot
return prot + "://" + user + ":" + passwd + "@" + host
else:
if prot == None or prot == "":
return host
else:
return prot + "://" + host
@classmethod
def make_port_string(cls, port):
port = port or ""
return port
@classmethod
def make_proxy_string(cls, prot, user, passwd, host, port, default_prot=""):
if host == None or host == "" or port == None or port == "":
return ""
return Configuration.make_host_string(prot, user, passwd, host, default_prot) + ":" + Configuration.make_port_string(port)
def __init__(self):
self.curr_mach = ""
# settings
@@ -67,15 +108,43 @@ class Configuration:
self.default_task = "build"
# proxy settings
self.all_proxy = self.http_proxy = self.ftp_proxy = self.https_proxy = ""
self.git_proxy_host = self.git_proxy_port = ""
self.cvs_proxy_host = self.cvs_proxy_port = ""
self.enable_proxy = None
self.same_proxy = False
self.proxies = {
"http" : [None, None, None, "", ""], # protocol : [prot, user, passwd, host, port]
"https" : [None, None, None, "", ""],
"ftp" : [None, None, None, "", ""],
"git" : [None, None, None, "", ""],
"cvs" : [None, None, None, "", ""],
}
def clear_selection(self):
self.selected_image = None
self.selected_recipes = []
self.selected_packages = []
def split_proxy(self, protocol, proxy):
entry = []
prot, user, passwd, host, port = Configuration.parse_proxy_string(proxy)
entry.append(prot)
entry.append(user)
entry.append(passwd)
entry.append(host)
entry.append(port)
self.proxies[protocol] = entry
def combine_proxy(self, protocol):
entry = self.proxies[protocol]
return Configuration.make_proxy_string(entry[0], entry[1], entry[2], entry[3], entry[4], protocol)
def combine_host_only(self, protocol):
entry = self.proxies[protocol]
return Configuration.make_host_string(entry[0], entry[1], entry[2], entry[3], protocol)
def combine_port_only(self, protocol):
entry = self.proxies[protocol]
return Configuration.make_port_string(entry[4])
def update(self, params):
# settings
self.curr_distro = params["distro"]
@@ -99,14 +168,14 @@ class Configuration:
self.default_task = params["default_task"]
# proxy settings
self.all_proxy = params["all_proxy"]
self.http_proxy = params["http_proxy"]
self.ftp_proxy = params["ftp_proxy"]
self.https_proxy = params["https_proxy"]
self.git_proxy_host = params["git_proxy_host"]
self.git_proxy_port = params["git_proxy_port"]
self.cvs_proxy_host = params["cvs_proxy_host"]
self.cvs_proxy_port = params["cvs_proxy_port"]
self.enable_proxy = params["http_proxy"] != "" or params["https_proxy"] != "" or params["ftp_proxy"] != "" \
or params["git_proxy_host"] != "" or params["git_proxy_port"] != "" \
or params["cvs_proxy_host"] != "" or params["cvs_proxy_port"] != ""
self.split_proxy("http", params["http_proxy"])
self.split_proxy("https", params["https_proxy"])
self.split_proxy("ftp", params["ftp_proxy"])
self.split_proxy("git", params["git_proxy_host"] + ":" + params["git_proxy_port"])
self.split_proxy("cvs", params["cvs_proxy_host"] + ":" + params["cvs_proxy_port"])
def load(self, template):
self.curr_mach = template.getVar("MACHINE")
@@ -146,16 +215,16 @@ class Configuration:
self.selected_recipes = template.getVar("DEPENDS").split()
self.selected_packages = template.getVar("IMAGE_INSTALL").split()
# proxy
self.all_proxy = template.getVar("all_proxy")
self.http_proxy = template.getVar("http_proxy")
self.ftp_proxy = template.getVar("ftp_proxy")
self.https_proxy = template.getVar("https_proxy")
self.git_proxy_host = template.getVar("GIT_PROXY_HOST")
self.git_proxy_port = template.getVar("GIT_PROXY_PORT")
self.cvs_proxy_host = template.getVar("CVS_PROXY_HOST")
self.cvs_proxy_port = template.getVar("CVS_PROXY_PORT")
self.enable_proxy = eval(template.getVar("enable_proxy"))
self.same_proxy = eval(template.getVar("use_same_proxy"))
self.split_proxy("http", template.getVar("http_proxy"))
self.split_proxy("https", template.getVar("https_proxy"))
self.split_proxy("ftp", template.getVar("ftp_proxy"))
self.split_proxy("git", template.getVar("GIT_PROXY_HOST") + ":" + template.getVar("GIT_PROXY_PORT"))
self.split_proxy("cvs", template.getVar("CVS_PROXY_HOST") + ":" + template.getVar("CVS_PROXY_PORT"))
def save(self, template, defaults=False):
template.setVar("VERSION", "%s" % hobVer)
# bblayers.conf
template.setVar("BBLAYERS", " ".join(self.layers))
# local.conf
@@ -183,14 +252,15 @@ class Configuration:
template.setVar("DEPENDS", self.selected_recipes)
template.setVar("IMAGE_INSTALL", self.user_selected_packages)
# proxy
template.setVar("all_proxy", self.all_proxy)
template.setVar("http_proxy", self.http_proxy)
template.setVar("ftp_proxy", self.ftp_proxy)
template.setVar("https_proxy", self.https_proxy)
template.setVar("GIT_PROXY_HOST", self.git_proxy_host)
template.setVar("GIT_PROXY_PORT", self.git_proxy_port)
template.setVar("CVS_PROXY_HOST", self.cvs_proxy_host)
template.setVar("CVS_PROXY_PORT", self.cvs_proxy_port)
template.setVar("enable_proxy", self.enable_proxy)
template.setVar("use_same_proxy", self.same_proxy)
template.setVar("http_proxy", self.combine_proxy("http"))
template.setVar("https_proxy", self.combine_proxy("https"))
template.setVar("ftp_proxy", self.combine_proxy("ftp"))
template.setVar("GIT_PROXY_HOST", self.combine_host_only("git"))
template.setVar("GIT_PROXY_PORT", self.combine_port_only("git"))
template.setVar("CVS_PROXY_HOST", self.combine_host_only("cvs"))
template.setVar("CVS_PROXY_PORT", self.combine_port_only("cvs"))
class Parameters:
'''Represents other variables like available machines, etc.'''
@@ -212,7 +282,8 @@ class Parameters:
self.all_sdk_machines = []
self.all_layers = []
self.image_names = []
self.enable_proxy = False
self.image_white_pattern = ""
self.image_black_pattern = ""
# for build log to show
self.bb_version = ""
@@ -230,6 +301,9 @@ class Parameters:
self.runnable_machine_patterns = params["runnable_machine_patterns"].split()
self.deployable_image_types = params["deployable_image_types"].split()
self.tmpdir = params["tmpdir"]
self.image_white_pattern = params["image_white_pattern"]
self.image_black_pattern = params["image_black_pattern"]
self.kernel_image_type = params["kernel_image_type"]
# for build log to show
self.bb_version = params["bb_version"]
self.target_arch = params["target_arch"]
@@ -301,6 +375,15 @@ class Builder(gtk.Window):
END_NOOP : None,
}
@classmethod
def interpret_markup(cls, msg):
msg = msg.replace('&', '&amp;')
msg = msg.replace('<', '&lt;')
msg = msg.replace('>', '&gt;')
msg = msg.replace('"', '&quot;')
msg = msg.replace("'", "&acute;")
return msg
def __init__(self, hobHandler, recipe_model, package_model):
super(Builder, self).__init__()
@@ -354,6 +437,9 @@ class Builder(gtk.Window):
self.handler.connect("data-generated", self.handler_data_generated_cb)
self.handler.connect("command-succeeded", self.handler_command_succeeded_cb)
self.handler.connect("command-failed", self.handler_command_failed_cb)
self.handler.connect("sanity-failed", self.handler_sanity_failed_cb)
self.handler.connect("recipe-populated", self.handler_recipe_populated_cb)
self.handler.connect("package-populated", self.handler_package_populated_cb)
self.handler.set_config_filter(hob_conf_filter)
@@ -395,7 +481,7 @@ class Builder(gtk.Window):
def initiate_new_build_async(self):
self.switch_page(self.MACHINE_SELECTION)
if self.load_template(TemplateMgr.convert_to_template_pathfilename("default", ".hob/")) == None:
if self.load_template(TemplateMgr.convert_to_template_pathfilename("default", ".hob/")) == False:
self.handler.init_cooker()
self.handler.set_extra_inherit("image_types")
self.handler.generate_configuration()
@@ -438,7 +524,7 @@ class Builder(gtk.Window):
toolchain_packages = []
if self.configuration.toolchain_build:
toolchain_packages = self.package_model.get_selected_packages_toolchain()
if self.configuration.selected_image == self.recipe_model.__dummy_image__:
if self.configuration.selected_image == self.recipe_model.__custom_image__:
packages = self.package_model.get_selected_packages()
image = self.hob_image
else:
@@ -464,9 +550,16 @@ class Builder(gtk.Window):
def load_template(self, path):
if not os.path.isfile(path):
return None
return False
self.template = TemplateMgr()
# check compatibility
tempVer = self.template.getVersion(path)
if not tempVer or int(tempVer) < hobVer:
self.template.destroy()
self.template = None
return False
try:
self.template.load(path)
self.configuration.load(self.template)
@@ -578,13 +671,18 @@ class Builder(gtk.Window):
self.handler.set_extra_inherit("packageinfo")
self.handler.set_extra_inherit("image_types")
# set proxies
if self.parameters.enable_proxy:
self.handler.set_http_proxy(self.configuration.http_proxy)
self.handler.set_https_proxy(self.configuration.https_proxy)
self.handler.set_ftp_proxy(self.configuration.ftp_proxy)
self.handler.set_all_proxy(self.configuration.all_proxy)
self.handler.set_git_proxy(self.configuration.git_proxy_host, self.configuration.git_proxy_port)
self.handler.set_cvs_proxy(self.configuration.cvs_proxy_host, self.configuration.cvs_proxy_port)
if self.configuration.enable_proxy == True:
self.handler.set_http_proxy(self.configuration.combine_proxy("http"))
self.handler.set_https_proxy(self.configuration.combine_proxy("https"))
self.handler.set_ftp_proxy(self.configuration.combine_proxy("ftp"))
self.handler.set_git_proxy(self.configuration.combine_host_only("git"), self.configuration.combine_port_only("git"))
self.handler.set_cvs_proxy(self.configuration.combine_host_only("cvs"), self.configuration.combine_port_only("cvs"))
elif self.configuration.enable_proxy == False:
self.handler.set_http_proxy("")
self.handler.set_https_proxy("")
self.handler.set_ftp_proxy("")
self.handler.set_git_proxy("", "")
self.handler.set_cvs_proxy("", "")
def update_recipe_model(self, selected_image, selected_recipes):
self.recipe_model.set_selected_image(selected_image)
@@ -641,7 +739,7 @@ class Builder(gtk.Window):
def show_error_dialog(self, msg):
lbl = "<b>Error</b>\n"
lbl = lbl + "%s\n\n" % msg
lbl = lbl + "%s\n\n" % Builder.interpret_markup(msg)
dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_ERROR)
button = dialog.add_button("Close", gtk.RESPONSE_OK)
HobButton.style_button(button)
@@ -650,10 +748,14 @@ class Builder(gtk.Window):
def handler_command_failed_cb(self, handler, msg):
if msg:
msg = msg.replace("your local.conf", "Settings")
self.show_error_dialog(msg)
self.reset()
def handler_sanity_failed_cb(self, handler, msg):
msg = msg.replace("your local.conf", "Settings")
self.show_error_dialog(msg)
self.reset()
def window_sensitive(self, sensitive):
self.image_configuration_page.machine_combo.set_sensitive(sensitive)
self.image_configuration_page.image_combo.set_sensitive(sensitive)
@@ -688,7 +790,7 @@ class Builder(gtk.Window):
selected_packages = self.configuration.selected_packages[:]
self.image_configuration_page.update_image_combo(self.recipe_model, selected_image)
self.image_configuration_page.update_image_desc(selected_image)
self.image_configuration_page.update_image_desc()
self.update_recipe_model(selected_image, selected_recipes)
self.update_package_model(selected_packages)
@@ -698,6 +800,12 @@ class Builder(gtk.Window):
def packagelist_changed_cb(self, package_model):
self.package_details_page.refresh_selection()
def handler_recipe_populated_cb(self, handler):
self.image_configuration_page.update_progress_bar("Populated recipes", 0.99)
def handler_package_populated_cb(self, handler):
self.image_configuration_page.update_progress_bar("Populated packages", 1.0)
def handler_parsing_started_cb(self, handler, message):
if self.current_step != self.RCPPKGINFO_POPULATING:
return
@@ -717,7 +825,7 @@ class Builder(gtk.Window):
fraction = message["current"] * 1.0/message["total"]
if message["eventname"] == "TreeDataPreparationProgress":
fraction = 0.6 + 0.4 * fraction
fraction = 0.6 + 0.38 * fraction
else:
fraction = 0.6 * fraction
self.image_configuration_page.update_progress_bar(message["title"], fraction)
@@ -727,7 +835,7 @@ class Builder(gtk.Window):
return
if message["eventname"] == "TreeDataPreparationCompleted":
fraction = 1.0
fraction = 0.98
else:
fraction = 0.6
self.image_configuration_page.update_progress_bar(message["title"], fraction)
@@ -752,7 +860,7 @@ class Builder(gtk.Window):
fraction = 1.0
self.parameters.image_names = []
selected_image = self.recipe_model.get_selected_image()
if selected_image == self.recipe_model.__dummy_image__:
if selected_image == self.recipe_model.__custom_image__:
linkname = 'hob-image-' + self.configuration.curr_mach
else:
linkname = selected_image + '-' + self.configuration.curr_mach
@@ -778,12 +886,20 @@ class Builder(gtk.Window):
message = "Build stopped: "
fraction = self.build_details_page.progress_bar.get_fraction()
else:
fail_to_next_edit = ""
if self.current_step == self.FAST_IMAGE_GENERATING:
fail_to_next_edit = "image configuration"
fraction = 0.9
elif self.current_step == self.IMAGE_GENERATING:
if self.previous_step == self.FAST_IMAGE_GENERATING:
fail_to_next_edit = "image configuration"
else:
fail_to_next_edit = "packages"
fraction = 1.0
elif self.current_step == self.PACKAGE_GENERATING:
fail_to_next_edit = "recipes"
fraction = 1.0
self.build_details_page.show_fail_page(fail_to_next_edit.split(' ')[0], fail_to_next_edit)
status = "fail"
message = "Build failed: "
self.build_details_page.update_progress_bar(message, fraction, status)
@@ -803,7 +919,7 @@ class Builder(gtk.Window):
self.build_failed()
def handler_no_provider_cb(self, running_build, msg):
dialog = CrumbsMessageDialog(self, msg, gtk.STOCK_DIALOG_INFO)
dialog = CrumbsMessageDialog(self, Builder.interpret_markup(msg), gtk.STOCK_DIALOG_INFO)
button = dialog.add_button("Close", gtk.RESPONSE_OK)
HobButton.style_button(button)
dialog.run()
@@ -890,7 +1006,7 @@ class Builder(gtk.Window):
selected_packages = self.package_model.get_selected_packages() or []
# If no base image and no selected packages don't build anything
if not (selected_packages or selected_image != self.recipe_model.__dummy_image__):
if not (selected_packages or selected_image != self.recipe_model.__custom_image__):
lbl = "<b>No selections made</b>\nYou have not made any selections"
lbl = lbl + " so there isn't anything to bake at this time."
dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
@@ -996,7 +1112,6 @@ class Builder(gtk.Window):
all_distros = self.parameters.all_distros,
all_sdk_machines = self.parameters.all_sdk_machines,
max_threads = self.parameters.max_threads,
enable_proxy = self.parameters.enable_proxy,
parent = self,
flags = gtk.DIALOG_MODAL
| gtk.DIALOG_DESTROY_WITH_PARENT
@@ -1008,7 +1123,6 @@ class Builder(gtk.Window):
response = dialog.run()
settings_changed = False
if response == gtk.RESPONSE_YES:
self.parameters.enable_proxy = dialog.enable_proxy
self.configuration = dialog.configuration
self.save_defaults() # remember settings
settings_changed = dialog.settings_changed
@@ -1047,16 +1161,7 @@ class Builder(gtk.Window):
response = dialog.run()
dialog.destroy()
def runqemu_image(self, image_name):
if not image_name:
lbl = "<b>Please select an image to launch in QEMU.</b>"
dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
button = dialog.add_button("Close", gtk.RESPONSE_OK)
HobButton.style_button(button)
dialog.run()
dialog.destroy()
return
def show_load_kernel_dialog(self):
dialog = gtk.FileChooserDialog("Load Kernel Files", self,
gtk.FILE_CHOOSER_ACTION_SAVE)
button = dialog.add_button("Cancel", gtk.RESPONSE_NO)
@@ -1071,35 +1176,50 @@ class Builder(gtk.Window):
dialog.set_current_folder(self.parameters.image_addr)
response = dialog.run()
kernel_path = ""
if response == gtk.RESPONSE_YES:
kernel_path = dialog.get_filename()
image_path = os.path.join(self.parameters.image_addr, image_name)
dialog.destroy()
if response == gtk.RESPONSE_YES:
source_env_path = os.path.join(self.parameters.core_base, "oe-init-build-env")
tmp_path = self.parameters.tmpdir
cmdline = bb.ui.crumbs.utils.which_terminal()
if os.path.exists(image_path) and os.path.exists(kernel_path) \
and os.path.exists(source_env_path) and os.path.exists(tmp_path) \
and cmdline:
cmdline += "\' bash -c \"export OE_TMPDIR=" + tmp_path + "; "
cmdline += "source " + source_env_path + " " + os.getcwd() + "; "
cmdline += "runqemu " + kernel_path + " " + image_path + "\"\'"
subprocess.Popen(shlex.split(cmdline))
else:
lbl = "<b>Path error</b>\nOne of your paths is wrong,"
lbl = lbl + " please make sure the following paths exist:\n"
lbl = lbl + "image path:" + image_path + "\n"
lbl = lbl + "kernel path:" + kernel_path + "\n"
lbl = lbl + "source environment path:" + source_env_path + "\n"
lbl = lbl + "tmp path: " + tmp_path + "."
lbl = lbl + "You may be missing either xterm or vte for terminal services."
dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_ERROR)
button = dialog.add_button("Close", gtk.RESPONSE_OK)
HobButton.style_button(button)
dialog.run()
dialog.destroy()
return kernel_path
def runqemu_image(self, image_name, kernel_name):
if not image_name or not kernel_name:
lbl = "<b>Please select an %s to launch in QEMU.</b>" % ("kernel" if image_name else "image")
dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
button = dialog.add_button("Close", gtk.RESPONSE_OK)
HobButton.style_button(button)
dialog.run()
dialog.destroy()
return
kernel_path = os.path.join(self.parameters.image_addr, kernel_name)
image_path = os.path.join(self.parameters.image_addr, image_name)
source_env_path = os.path.join(self.parameters.core_base, "oe-init-build-env")
tmp_path = self.parameters.tmpdir
cmdline = bb.ui.crumbs.utils.which_terminal()
if os.path.exists(image_path) and os.path.exists(kernel_path) \
and os.path.exists(source_env_path) and os.path.exists(tmp_path) \
and cmdline:
cmdline += "\' bash -c \"export OE_TMPDIR=" + tmp_path + "; "
cmdline += "source " + source_env_path + " " + os.getcwd() + "; "
cmdline += "runqemu " + kernel_path + " " + image_path + "\"\'"
subprocess.Popen(shlex.split(cmdline))
else:
lbl = "<b>Path error</b>\nOne of your paths is wrong,"
lbl = lbl + " please make sure the following paths exist:\n"
lbl = lbl + "image path:" + image_path + "\n"
lbl = lbl + "kernel path:" + kernel_path + "\n"
lbl = lbl + "source environment path:" + source_env_path + "\n"
lbl = lbl + "tmp path: " + tmp_path + "."
lbl = lbl + "You may be missing either xterm or vte for terminal services."
dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_ERROR)
button = dialog.add_button("Close", gtk.RESPONSE_OK)
HobButton.style_button(button)
dialog.run()
dialog.destroy()
def show_packages(self, ask=True):
_, selected_recipes = self.recipe_model.get_selected_recipes()

View File

@@ -20,17 +20,18 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
import glob
import gtk
import gobject
import hashlib
import os
import re
import subprocess
import shlex
from bb.ui.crumbs.hobcolor import HobColors
from bb.ui.crumbs.hobwidget import hcc, hic, HobViewTable, HobInfoButton, HobButton, HobAltButton, HobIconChecker
from bb.ui.crumbs.progressbar import HobProgressBar
import bb.ui.crumbs.utils
import bb.process
"""
The following are convenience classes for implementing GNOME HIG compliant
@@ -63,7 +64,7 @@ class CrumbsMessageDialog(CrumbsDialog):
"""
def __init__(self, parent=None, label="", icon=gtk.STOCK_INFO):
super(CrumbsMessageDialog, self).__init__("", parent, gtk.DIALOG_DESTROY_WITH_PARENT)
self.set_border_width(6)
self.vbox.set_property("spacing", 12)
self.action_area.set_property("spacing", 12)
@@ -137,6 +138,8 @@ class AdvancedSettingDialog (CrumbsDialog):
def entry_widget_select_path_cb(self, action, parent, entry):
dialog = gtk.FileChooserDialog("", parent,
gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER)
text = entry.get_text()
dialog.set_current_folder(text if len(text) > 0 else os.getcwd())
button = dialog.add_button("Cancel", gtk.RESPONSE_NO)
HobAltButton.style_button(button)
button = dialog.add_button("Open", gtk.RESPONSE_YES)
@@ -172,6 +175,45 @@ class AdvancedSettingDialog (CrumbsDialog):
hbox.show_all()
return hbox, entry
def details_cb(self, button, parent, protocol):
dialog = ProxyDetailsDialog(title = protocol.upper() + " Proxy Details",
user = self.configuration.proxies[protocol][1],
passwd = self.configuration.proxies[protocol][2],
parent = parent,
flags = gtk.DIALOG_MODAL
| gtk.DIALOG_DESTROY_WITH_PARENT
| gtk.DIALOG_NO_SEPARATOR)
dialog.add_button(gtk.STOCK_CLOSE, gtk.RESPONSE_OK)
response = dialog.run()
if response == gtk.RESPONSE_OK:
self.configuration.proxies[protocol][1] = dialog.user
self.configuration.proxies[protocol][2] = dialog.passwd
self.refresh_proxy_components()
dialog.destroy()
def gen_proxy_entry_widget(self, protocol, parent, need_button=True):
hbox = gtk.HBox(False, 12)
label = gtk.Label(protocol.upper() + " proxy")
hbox.pack_start(label, expand=True, fill=False, padding=24)
proxy_entry = gtk.Entry()
proxy_entry.set_size_request(300, -1)
hbox.pack_start(proxy_entry, expand=False, fill=False)
hbox.pack_start(gtk.Label(":"), expand=False, fill=False)
port_entry = gtk.Entry()
port_entry.set_size_request(60, -1)
hbox.pack_start(port_entry, expand=False, fill=False)
details_button = HobAltButton("Details")
details_button.connect("clicked", self.details_cb, parent, protocol)
hbox.pack_start(details_button, expand=False, fill=False)
hbox.show_all()
return hbox, proxy_entry, port_entry, details_button
def rootfs_combo_changed_cb(self, rootfs_combo, all_package_format, check_hbox):
combo_item = self.rootfs_combo.get_active_text()
for child in check_hbox.get_children():
@@ -309,7 +351,7 @@ class AdvancedSettingDialog (CrumbsDialog):
def __init__(self, title, configuration, all_image_types,
all_package_formats, all_distros, all_sdk_machines,
max_threads, enable_proxy, parent, flags, buttons=None):
max_threads, parent, flags, buttons=None):
super(AdvancedSettingDialog, self).__init__(title, parent, flags, buttons)
# class members from other objects
@@ -320,7 +362,6 @@ class AdvancedSettingDialog (CrumbsDialog):
self.all_distros = all_distros
self.all_sdk_machines = all_sdk_machines
self.max_threads = max_threads
self.enable_proxy = enable_proxy
# class members for internal use
self.distro_combo = None
@@ -356,15 +397,10 @@ class AdvancedSettingDialog (CrumbsDialog):
data += ("SDK_MACHINE: " + self._get_sorted_value(self.configuration.curr_sdk_machine))
data += ("TOOLCHAIN_BUILD: " + self._get_sorted_value(self.configuration.toolchain_build))
data += ("IMAGE_FSTYPES: " + self._get_sorted_value(self.configuration.image_fstypes))
if self.enable_proxy:
data += ("ALL_PROXY: " + self._get_sorted_value(self.configuration.all_proxy))
data += ("HTTP_PROXY: " + self._get_sorted_value(self.configuration.http_proxy))
data += ("HTTPS_PROXY: " + self._get_sorted_value(self.configuration.https_proxy))
data += ("FTP_PROXY: " + self._get_sorted_value(self.configuration.ftp_proxy))
data += ("GIT_PROXY_HOST: " + self._get_sorted_value(self.configuration.git_proxy_host))
data += ("GIT_PROXY_PORT: " + self._get_sorted_value(self.configuration.git_proxy_port))
data += ("CVS_PROXY_HOST: " + self._get_sorted_value(self.configuration.cvs_proxy_host))
data += ("CVS_PROXY_PORT: " + self._get_sorted_value(self.configuration.cvs_proxy_port))
data += ("ENABLE_PROXY: " + self._get_sorted_value(self.configuration.enable_proxy))
if self.configuration.enable_proxy:
for protocol in self.configuration.proxies.keys():
data += (protocol + ": " + self._get_sorted_value(self.configuration.combine_proxy(protocol)))
for key in self.configuration.extra_setting.keys():
data += (key + ": " + self._get_sorted_value(self.configuration.extra_setting[key]))
return hashlib.md5(data).hexdigest()
@@ -529,60 +565,56 @@ class AdvancedSettingDialog (CrumbsDialog):
sub_vbox = gtk.VBox(False, 6)
advanced_vbox.pack_start(sub_vbox, expand=False, fill=False)
self.proxy_checkbox = gtk.CheckButton("Enable proxy")
label = self.gen_label_widget("<span weight=\"bold\">Set the proxies that will be used during fetching source code</span>")
tooltip = "Set the proxies that will be used during fetching source code or set none for direct the Internet connection"
info = HobInfoButton(tooltip, self)
hbox = gtk.HBox(False, 12)
hbox.pack_start(label, expand=True, fill=True)
hbox.pack_start(info, expand=False, fill=False)
sub_vbox.pack_start(hbox, expand=False, fill=False)
self.direct_checkbox = gtk.RadioButton(None, "Direct internet connection")
self.direct_checkbox.set_tooltip_text("Check this box to connect the Internet directly without any proxy")
self.direct_checkbox.set_active(not self.configuration.enable_proxy)
sub_vbox.pack_start(self.direct_checkbox, expand=False, fill=False)
self.proxy_checkbox = gtk.RadioButton(self.direct_checkbox, "Manual proxy configuration")
self.proxy_checkbox.set_tooltip_text("Check this box to setup the proxy you specified")
self.proxy_checkbox.set_active(self.enable_proxy)
self.proxy_checkbox.connect("toggled", self.proxy_checkbox_toggled_cb)
self.proxy_checkbox.set_active(self.configuration.enable_proxy)
sub_vbox.pack_start(self.proxy_checkbox, expand=False, fill=False)
label = self.gen_label_widget("<span weight=\"bold\">Set all proxy:</span>")
tooltip = "Set the all proxy that will be used if the proxy for a URL isn't specified."
proxy_widget, self.all_proxy_text = self.gen_entry_widget(self.configuration.all_proxy, self, tooltip, False)
self.all_proxy_text.set_editable(self.enable_proxy)
self.all_proxy_text.set_sensitive(self.enable_proxy)
sub_vbox.pack_start(label, expand=False, fill=False)
self.same_checkbox = gtk.CheckButton("Use the same proxy for all protocols")
self.same_checkbox.set_tooltip_text("Use the same proxy as the first proxy i.e. http proxy for all protocols")
self.same_checkbox.set_active(self.configuration.same_proxy)
hbox = gtk.HBox(False, 12)
hbox.pack_start(self.same_checkbox, expand=False, fill=False, padding=24)
sub_vbox.pack_start(hbox, expand=False, fill=False)
proxy_widget, self.http_proxy, self.http_proxy_port, self.http_proxy_details = self.gen_proxy_entry_widget(
"http", self, True)
sub_vbox.pack_start(proxy_widget, expand=False, fill=False)
label = self.gen_label_widget("<span weight=\"bold\">Set http proxy:</span>")
tooltip = "Set the http proxy that will be used in do_fetch() source code"
proxy_widget, self.http_proxy_text = self.gen_entry_widget(self.configuration.http_proxy, self, tooltip, False)
self.http_proxy_text.set_editable(self.enable_proxy)
self.http_proxy_text.set_sensitive(self.enable_proxy)
sub_vbox.pack_start(label, expand=False, fill=False)
proxy_widget, self.https_proxy, self.https_proxy_port, self.https_proxy_details = self.gen_proxy_entry_widget(
"https", self, True)
sub_vbox.pack_start(proxy_widget, expand=False, fill=False)
label = self.gen_label_widget("<span weight=\"bold\">Set https proxy:</span>")
tooltip = "Set the https proxy that will be used in do_fetch() source code"
proxy_widget, self.https_proxy_text = self.gen_entry_widget(self.configuration.https_proxy, self, tooltip, False)
self.https_proxy_text.set_editable(self.enable_proxy)
self.https_proxy_text.set_sensitive(self.enable_proxy)
sub_vbox.pack_start(label, expand=False, fill=False)
proxy_widget, self.ftp_proxy, self.ftp_proxy_port, self.ftp_proxy_details = self.gen_proxy_entry_widget(
"ftp", self, True)
sub_vbox.pack_start(proxy_widget, expand=False, fill=False)
label = self.gen_label_widget("<span weight=\"bold\">Set ftp proxy:</span>")
tooltip = "Set the ftp proxy that will be used in do_fetch() source code"
proxy_widget, self.ftp_proxy_text = self.gen_entry_widget(self.configuration.ftp_proxy, self, tooltip, False)
self.ftp_proxy_text.set_editable(self.enable_proxy)
self.ftp_proxy_text.set_sensitive(self.enable_proxy)
sub_vbox.pack_start(label, expand=False, fill=False)
proxy_widget, self.git_proxy, self.git_proxy_port, self.git_proxy_details = self.gen_proxy_entry_widget(
"git", self, True)
sub_vbox.pack_start(proxy_widget, expand=False, fill=False)
label = self.gen_label_widget("<span weight=\"bold\">Set git proxy:</span>")
tooltip = "Set the git proxy that will be used in do_fetch() source code"
proxy_widget, self.git_proxy_text = self.gen_entry_widget(self.configuration.git_proxy_host + ':' + self.configuration.git_proxy_port, self, tooltip, False)
self.git_proxy_text.set_editable(self.enable_proxy)
self.git_proxy_text.set_sensitive(self.enable_proxy)
sub_vbox.pack_start(label, expand=False, fill=False)
proxy_widget, self.cvs_proxy, self.cvs_proxy_port, self.cvs_proxy_details = self.gen_proxy_entry_widget(
"cvs", self, True)
sub_vbox.pack_start(proxy_widget, expand=False, fill=False)
label = self.gen_label_widget("<span weight=\"bold\">Set cvs proxy:</span>")
tooltip = "Set the cvs proxy that will be used in do_fetch() source code"
proxy_widget, self.cvs_proxy_text = self.gen_entry_widget(self.configuration.cvs_proxy_host + ':' + self.configuration.cvs_proxy_port, self, tooltip, False)
self.cvs_proxy_text.set_editable(self.enable_proxy)
self.cvs_proxy_text.set_sensitive(self.enable_proxy)
sub_vbox.pack_start(label, expand=False, fill=False)
sub_vbox.pack_start(proxy_widget, expand=False, fill=False)
self.direct_checkbox.connect("toggled", self.proxy_checkbox_toggled_cb)
self.proxy_checkbox.connect("toggled", self.proxy_checkbox_toggled_cb)
self.same_checkbox.connect("toggled", self.same_checkbox_toggled_cb)
self.refresh_proxy_components()
return advanced_vbox
def create_others_page(self):
@@ -599,20 +631,59 @@ class AdvancedSettingDialog (CrumbsDialog):
return advanced_vbox
def refresh_proxy_components(self):
self.same_checkbox.set_sensitive(self.configuration.enable_proxy)
self.http_proxy.set_text(self.configuration.combine_host_only("http"))
self.http_proxy.set_editable(self.configuration.enable_proxy)
self.http_proxy.set_sensitive(self.configuration.enable_proxy)
self.http_proxy_port.set_text(self.configuration.combine_port_only("http"))
self.http_proxy_port.set_editable(self.configuration.enable_proxy)
self.http_proxy_port.set_sensitive(self.configuration.enable_proxy)
self.http_proxy_details.set_sensitive(self.configuration.enable_proxy)
self.https_proxy.set_text(self.configuration.combine_host_only("https"))
self.https_proxy.set_editable(self.configuration.enable_proxy and (not self.configuration.same_proxy))
self.https_proxy.set_sensitive(self.configuration.enable_proxy and (not self.configuration.same_proxy))
self.https_proxy_port.set_text(self.configuration.combine_port_only("https"))
self.https_proxy_port.set_editable(self.configuration.enable_proxy and (not self.configuration.same_proxy))
self.https_proxy_port.set_sensitive(self.configuration.enable_proxy and (not self.configuration.same_proxy))
self.https_proxy_details.set_sensitive(self.configuration.enable_proxy and (not self.configuration.same_proxy))
self.ftp_proxy.set_text(self.configuration.combine_host_only("ftp"))
self.ftp_proxy.set_editable(self.configuration.enable_proxy and (not self.configuration.same_proxy))
self.ftp_proxy.set_sensitive(self.configuration.enable_proxy and (not self.configuration.same_proxy))
self.ftp_proxy_port.set_text(self.configuration.combine_port_only("ftp"))
self.ftp_proxy_port.set_editable(self.configuration.enable_proxy and (not self.configuration.same_proxy))
self.ftp_proxy_port.set_sensitive(self.configuration.enable_proxy and (not self.configuration.same_proxy))
self.ftp_proxy_details.set_sensitive(self.configuration.enable_proxy and (not self.configuration.same_proxy))
self.git_proxy.set_text(self.configuration.combine_host_only("git"))
self.git_proxy.set_editable(self.configuration.enable_proxy and (not self.configuration.same_proxy))
self.git_proxy.set_sensitive(self.configuration.enable_proxy and (not self.configuration.same_proxy))
self.git_proxy_port.set_text(self.configuration.combine_port_only("git"))
self.git_proxy_port.set_editable(self.configuration.enable_proxy and (not self.configuration.same_proxy))
self.git_proxy_port.set_sensitive(self.configuration.enable_proxy and (not self.configuration.same_proxy))
self.git_proxy_details.set_sensitive(self.configuration.enable_proxy and (not self.configuration.same_proxy))
self.cvs_proxy.set_text(self.configuration.combine_host_only("cvs"))
self.cvs_proxy.set_editable(self.configuration.enable_proxy and (not self.configuration.same_proxy))
self.cvs_proxy.set_sensitive(self.configuration.enable_proxy and (not self.configuration.same_proxy))
self.cvs_proxy_port.set_text(self.configuration.combine_port_only("cvs"))
self.cvs_proxy_port.set_editable(self.configuration.enable_proxy and (not self.configuration.same_proxy))
self.cvs_proxy_port.set_sensitive(self.configuration.enable_proxy and (not self.configuration.same_proxy))
self.cvs_proxy_details.set_sensitive(self.configuration.enable_proxy and (not self.configuration.same_proxy))
def proxy_checkbox_toggled_cb(self, button):
self.enable_proxy = self.proxy_checkbox.get_active()
self.all_proxy_text.set_editable(self.enable_proxy)
self.all_proxy_text.set_sensitive(self.enable_proxy)
self.http_proxy_text.set_editable(self.enable_proxy)
self.http_proxy_text.set_sensitive(self.enable_proxy)
self.https_proxy_text.set_editable(self.enable_proxy)
self.https_proxy_text.set_sensitive(self.enable_proxy)
self.ftp_proxy_text.set_editable(self.enable_proxy)
self.ftp_proxy_text.set_sensitive(self.enable_proxy)
self.git_proxy_text.set_editable(self.enable_proxy)
self.git_proxy_text.set_sensitive(self.enable_proxy)
self.cvs_proxy_text.set_editable(self.enable_proxy)
self.cvs_proxy_text.set_sensitive(self.enable_proxy)
self.configuration.enable_proxy = self.proxy_checkbox.get_active()
if not self.configuration.enable_proxy:
self.configuration.same_proxy = False
self.same_checkbox.set_active(self.configuration.same_proxy)
self.refresh_proxy_components()
def same_checkbox_toggled_cb(self, button):
self.configuration.same_proxy = self.same_checkbox.get_active()
self.refresh_proxy_components()
def response_cb(self, dialog, response_id):
package_format = []
@@ -656,12 +727,17 @@ class AdvancedSettingDialog (CrumbsDialog):
self.configuration.extra_setting[key] = value
it = self.setting_store.iter_next(it)
self.configuration.all_proxy = self.all_proxy_text.get_text()
self.configuration.http_proxy = self.http_proxy_text.get_text()
self.configuration.https_proxy = self.https_proxy_text.get_text()
self.configuration.ftp_proxy = self.ftp_proxy_text.get_text()
self.configuration.git_proxy_host, self.configuration.git_proxy_port = self.git_proxy_text.get_text().split(':')
self.configuration.cvs_proxy_host, self.configuration.cvs_proxy_port = self.cvs_proxy_text.get_text().split(':')
self.configuration.split_proxy("http", self.http_proxy.get_text() + ":" + self.http_proxy_port.get_text())
if self.configuration.same_proxy:
self.configuration.split_proxy("https", self.http_proxy.get_text() + ":" + self.http_proxy_port.get_text())
self.configuration.split_proxy("ftp", self.http_proxy.get_text() + ":" + self.http_proxy_port.get_text())
self.configuration.split_proxy("git", self.http_proxy.get_text() + ":" + self.http_proxy_port.get_text())
self.configuration.split_proxy("cvs", self.http_proxy.get_text() + ":" + self.http_proxy_port.get_text())
else:
self.configuration.split_proxy("https", self.https_proxy.get_text() + ":" + self.https_proxy_port.get_text())
self.configuration.split_proxy("ftp", self.ftp_proxy.get_text() + ":" + self.ftp_proxy_port.get_text())
self.configuration.split_proxy("git", self.git_proxy.get_text() + ":" + self.git_proxy_port.get_text())
self.configuration.split_proxy("cvs", self.cvs_proxy.get_text() + ":" + self.cvs_proxy_port.get_text())
md5 = self.config_md5()
self.settings_changed = (self.md5 != md5)
@@ -673,21 +749,28 @@ class DeployImageDialog (CrumbsDialog):
__dummy_usb__ = "--select a usb drive--"
def __init__(self, title, image_path, parent, flags, buttons=None):
def __init__(self, title, image_path, parent, flags, buttons=None, standalone=False):
super(DeployImageDialog, self).__init__(title, parent, flags, buttons)
self.image_path = image_path
self.standalone = standalone
self.create_visual_elements()
self.connect("response", self.response_cb)
def create_visual_elements(self):
self.set_size_request(600, 400)
label = gtk.Label()
label.set_alignment(0.0, 0.5)
markup = "<span font_desc='12'>The image to be written into usb drive:</span>"
label.set_markup(markup)
self.vbox.pack_start(label, expand=False, fill=False, padding=2)
table = gtk.Table(2, 10, False)
table.set_col_spacings(5)
table.set_row_spacings(5)
self.vbox.pack_start(table, expand=True, fill=True)
scroll = gtk.ScrolledWindow()
scroll.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
scroll.set_shadow_type(gtk.SHADOW_IN)
@@ -695,11 +778,26 @@ class DeployImageDialog (CrumbsDialog):
tv.set_editable(False)
tv.set_wrap_mode(gtk.WRAP_WORD)
tv.set_cursor_visible(False)
buf = gtk.TextBuffer()
buf.set_text(self.image_path)
tv.set_buffer(buf)
self.buf = gtk.TextBuffer()
self.buf.set_text(self.image_path)
tv.set_buffer(self.buf)
scroll.add(tv)
self.vbox.pack_start(scroll, expand=True, fill=True)
table.attach(scroll, 0, 10, 0, 1)
if self.standalone:
gobject.signal_new("select_image_clicked", self, gobject.SIGNAL_RUN_FIRST,
gobject.TYPE_NONE, ())
icon = gtk.Image()
pix_buffer = gtk.gdk.pixbuf_new_from_file(hic.ICON_IMAGES_DISPLAY_FILE)
icon.set_from_pixbuf(pix_buffer)
button = gtk.Button("Select Image")
button.set_image(icon)
button.set_size_request(140, 50)
table.attach(button, 9, 10, 1, 2, gtk.FILL, 0, 0, 0)
button.connect("clicked", self.select_image_button_clicked_cb)
separator = gtk.HSeparator()
self.vbox.pack_start(separator, expand=False, fill=False, padding=10)
self.usb_desc = gtk.Label()
self.usb_desc.set_alignment(0.0, 0.5)
@@ -714,7 +812,7 @@ class DeployImageDialog (CrumbsDialog):
for usb in self.find_all_usb_devices():
self.usb_combo.append_text("/dev/" + usb)
self.usb_combo.set_active(0)
self.vbox.pack_start(self.usb_combo, expand=True, fill=True)
self.vbox.pack_start(self.usb_combo, expand=False, fill=False)
self.vbox.pack_start(self.usb_desc, expand=False, fill=False, padding=2)
self.progress_bar = HobProgressBar()
@@ -725,12 +823,19 @@ class DeployImageDialog (CrumbsDialog):
self.vbox.show_all()
self.progress_bar.hide()
def set_image_text_buffer(self, image_path):
self.buf.set_text(image_path)
def set_image_path(self, image_path):
self.image_path = image_path
def popen_read(self, cmd):
return os.popen("%s 2>/dev/null" % cmd).read().strip()
tmpout, errors = bb.process.run("%s" % cmd)
return tmpout.strip()
def find_all_usb_devices(self):
usb_devs = [ os.readlink(u)
for u in self.popen_read('ls /dev/disk/by-id/usb*').split()
for u in glob.glob('/dev/disk/by-id/usb*')
if not re.search(r'part\d+', u) ]
return [ '%s' % u[u.rfind('/')+1:] for u in usb_devs ]
@@ -739,6 +844,9 @@ class DeployImageDialog (CrumbsDialog):
(self.popen_read('cat /sys/class/block/%s/device/vendor' % dev),
self.popen_read('cat /sys/class/block/%s/device/model' % dev))
def select_image_button_clicked_cb(self, button):
self.emit('select_image_clicked')
def usb_combo_changed_cb(self, usb_combo):
combo_item = self.usb_combo.get_active_text()
if not combo_item or combo_item == self.__dummy_usb__:
@@ -750,12 +858,38 @@ class DeployImageDialog (CrumbsDialog):
def response_cb(self, dialog, response_id):
if response_id == gtk.RESPONSE_YES:
lbl = ''
combo_item = self.usb_combo.get_active_text()
if combo_item and combo_item != self.__dummy_usb__:
if combo_item and combo_item != self.__dummy_usb__ and self.image_path:
cmdline = bb.ui.crumbs.utils.which_terminal()
if cmdline:
cmdline += "\"sudo dd if=" + self.image_path + " of=" + combo_item + "\""
subprocess.Popen(args=shlex.split(cmdline))
tmpname = os.tmpnam()
cmdline += "\"sudo dd if=" + self.image_path + \
" of=" + combo_item + "; echo $? > " + tmpname + "\""
deploy_process = bb.process.Popen(shlex.split(cmdline))
deploy_process.wait()
# if file tmpname not exists, that means there is something wrong with xterm
# user can get the error message from xterm so no more warning need.
if os.path.exists(tmpname):
tmpfile = open(tmpname)
if int(tmpfile.readline().strip()) == 0:
lbl = "<b>Deploy image successfully</b>"
else:
lbl = "<b>Deploy image failed</b>\nPlease try again."
tmpfile.close()
os.remove(tmpname)
else:
if not self.image_path:
lbl = "<b>No selection made</b>\nYou have not selected an image to deploy"
else:
lbl = "<b>No selection made</b>\nYou have not selected USB device"
if len(lbl):
crumbs_dialog = CrumbsMessageDialog(self, lbl, gtk.STOCK_DIALOG_INFO)
button = crumbs_dialog.add_button("Close", gtk.RESPONSE_OK)
HobButton.style_button(button)
crumbs_dialog.run()
crumbs_dialog.destroy()
def update_progress_bar(self, title, fraction, status=None):
self.progress_bar.update(fraction)
@@ -959,7 +1093,7 @@ class LayerSelectionDialog (CrumbsDialog):
# create visual elements on the dialog
self.create_visual_elements()
self.connect("response", self.response_cb)
def create_visual_elements(self):
layer_widget, self.layer_store = self.gen_layer_widget(self.layers, self.all_layers, self, None)
layer_widget.set_size_request(450, 250)
@@ -1073,12 +1207,13 @@ class ImageSelectionDialog (CrumbsDialog):
self.image_table = HobViewTable(self.__columns__)
self.image_table.set_size_request(-1, 300)
self.image_table.connect("toggled", self.toggled_cb)
self.image_table.connect_group_selection(self.table_selected_cb)
self.image_table.connect("row-activated", self.row_actived_cb)
self.vbox.pack_start(self.image_table, expand=True, fill=True)
self.show_all()
def toggled_cb(self, table, cell, path, columnid, tree):
model = tree.get_model()
def change_image_cb(self, model, path, columnid):
if not model:
return
iter = model.get_iter_first()
@@ -1089,9 +1224,24 @@ class ImageSelectionDialog (CrumbsDialog):
model[path][columnid] = True
def toggled_cb(self, table, cell, path, columnid, tree):
model = tree.get_model()
self.change_image_cb(model, path, columnid)
def table_selected_cb(self, selection):
model, paths = selection.get_selected_rows()
if paths:
self.change_image_cb(model, paths[0], 1)
def row_actived_cb(self, tab, model, path):
self.change_image_cb(model, path, 1)
self.emit('response', gtk.RESPONSE_YES)
def select_path_cb(self, action, parent, entry):
dialog = gtk.FileChooserDialog("", parent,
gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER)
text = entry.get_text()
dialog.set_current_folder(text if len(text) > 0 else os.getcwd())
button = dialog.add_button("Cancel", gtk.RESPONSE_NO)
HobAltButton.style_button(button)
button = dialog.add_button("Open", gtk.RESPONSE_YES)
@@ -1118,7 +1268,7 @@ class ImageSelectionDialog (CrumbsDialog):
if f.endswith('.' + real_image_type):
imageset.add(f.rsplit('.' + real_image_type)[0].rsplit('.rootfs')[0])
self.image_list.append(f)
for image in imageset:
self.image_store.set(self.image_store.append(), 0, image, 1, False)
@@ -1134,5 +1284,65 @@ class ImageSelectionDialog (CrumbsDialog):
for f in self.image_list:
if f.startswith(self.image_store[path][0] + '.'):
self.image_names.append(f)
break
break
iter = self.image_store.iter_next(iter)
class ProxyDetailsDialog (CrumbsDialog):
def __init__(self, title, user, passwd, parent, flags, buttons=None):
super(ProxyDetailsDialog, self).__init__(title, parent, flags, buttons)
self.connect("response", self.response_cb)
self.auth = not (user == None or passwd == None or user == "")
self.user = user or ""
self.passwd = passwd or ""
# create visual elements on the dialog
self.create_visual_elements()
def create_visual_elements(self):
self.auth_checkbox = gtk.CheckButton("Use authentication")
self.auth_checkbox.set_tooltip_text("Check this box to set the username and the password")
self.auth_checkbox.set_active(self.auth)
self.auth_checkbox.connect("toggled", self.auth_checkbox_toggled_cb)
self.vbox.pack_start(self.auth_checkbox, expand=False, fill=False)
hbox = gtk.HBox(False, 6)
self.user_label = gtk.Label("Username:")
self.user_text = gtk.Entry()
self.user_text.set_text(self.user)
hbox.pack_start(self.user_label, expand=False, fill=False)
hbox.pack_end(self.user_text, expand=False, fill=False)
self.vbox.pack_start(hbox, expand=False, fill=False)
hbox = gtk.HBox(False, 6)
self.passwd_label = gtk.Label("Password:")
self.passwd_text = gtk.Entry()
self.passwd_text.set_text(self.passwd)
hbox.pack_start(self.passwd_label, expand=False, fill=False)
hbox.pack_end(self.passwd_text, expand=False, fill=False)
self.vbox.pack_start(hbox, expand=False, fill=False)
self.refresh_auth_components()
self.show_all()
def refresh_auth_components(self):
self.user_label.set_sensitive(self.auth)
self.user_text.set_editable(self.auth)
self.user_text.set_sensitive(self.auth)
self.passwd_label.set_sensitive(self.auth)
self.passwd_text.set_editable(self.auth)
self.passwd_text.set_sensitive(self.auth)
def auth_checkbox_toggled_cb(self, button):
self.auth = self.auth_checkbox.get_active()
self.refresh_auth_components()
def response_cb(self, dialog, response_id):
if response_id == gtk.RESPONSE_OK:
if self.auth:
self.user = self.user_text.get_text()
self.passwd = self.passwd_text.get_text()
else:
self.user = None
self.passwd = None

View File

@@ -42,6 +42,9 @@ class HobHandler(gobject.GObject):
"command-failed" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_STRING,)),
"sanity-failed" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_STRING,)),
"generating-data" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
@@ -57,6 +60,12 @@ class HobHandler(gobject.GObject):
"parsing-completed" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_PYOBJECT,)),
"recipe-populated" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
"package-populated" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
()),
}
(GENERATE_CONFIGURATION, GENERATE_RECIPES, GENERATE_PACKAGES, GENERATE_IMAGE, POPULATE_PACKAGEINFO, SANITY_CHECK) = range(6)
@@ -158,11 +167,15 @@ class HobHandler(gobject.GObject):
if isinstance(event, bb.event.PackageInfo):
self.package_model.populate(event._pkginfolist)
self.emit("package-populated")
self.run_next_command()
elif isinstance(event, bb.event.SanityCheckPassed):
self.run_next_command()
elif isinstance(event, bb.event.SanityCheckFailed):
self.emit("sanity-failed", event._msg)
elif isinstance(event, logging.LogRecord):
if event.levelno >= logging.ERROR:
self.error_msg += event.msg + '\n'
@@ -171,6 +184,7 @@ class HobHandler(gobject.GObject):
self.current_phase = "data generation"
if event._model:
self.recipe_model.populate(event._model)
self.emit("recipe-populated")
elif isinstance(event, bb.event.ConfigFilesFound):
self.current_phase = "configuration lookup"
var = event._variable
@@ -199,6 +213,8 @@ class HobHandler(gobject.GObject):
self.clear_busy()
self.emit("command-failed", self.error_msg)
self.error_msg = ""
if self.building:
self.building = False
elif isinstance(event, (bb.event.ParseStarted,
bb.event.CacheLoadStarted,
bb.event.TreeDataPreparationStarted,
@@ -302,9 +318,6 @@ class HobHandler(gobject.GObject):
def set_ftp_proxy(self, ftp_proxy):
self.runCommand(["setVariable", "ftp_proxy", ftp_proxy])
def set_all_proxy(self, all_proxy):
self.runCommand(["setVariable", "all_proxy", all_proxy])
def set_git_proxy(self, host, port):
self.runCommand(["setVariable", "GIT_PROXY_HOST", host])
self.runCommand(["setVariable", "GIT_PROXY_PORT", port])
@@ -334,7 +347,7 @@ class HobHandler(gobject.GObject):
self.commands_async.append(self.SUB_PARSE_CONFIG)
self.commands_async.append(self.SUB_GNERATE_TGTS)
self.run_next_command(self.GENERATE_RECIPES)
def generate_packages(self, tgts, default_task="build"):
targets = []
targets.extend(tgts)
@@ -479,6 +492,7 @@ class HobHandler(gobject.GObject):
params["runnable_image_types"] = self._remove_redundant(self.runCommand(["getVariable", "RUNNABLE_IMAGE_TYPES"]) or "")
params["runnable_machine_patterns"] = self._remove_redundant(self.runCommand(["getVariable", "RUNNABLE_MACHINE_PATTERNS"]) or "")
params["deployable_image_types"] = self._remove_redundant(self.runCommand(["getVariable", "DEPLOYABLE_IMAGE_TYPES"]) or "")
params["kernel_image_type"] = self.runCommand(["getVariable", "KERNEL_IMAGETYPE"]) or ""
params["tmpdir"] = self.runCommand(["getVariable", "TMPDIR"]) or ""
params["distro_version"] = self.runCommand(["getVariable", "DISTRO_VERSION"]) or ""
params["target_os"] = self.runCommand(["getVariable", "TARGET_OS"]) or ""
@@ -494,9 +508,10 @@ class HobHandler(gobject.GObject):
params["http_proxy"] = self.runCommand(["getVariable", "http_proxy"]) or ""
params["ftp_proxy"] = self.runCommand(["getVariable", "ftp_proxy"]) or ""
params["https_proxy"] = self.runCommand(["getVariable", "https_proxy"]) or ""
params["all_proxy"] = self.runCommand(["getVariable", "all_proxy"]) or ""
params["cvs_proxy_host"] = self.runCommand(["getVariable", "CVS_PROXY_HOST"]) or ""
params["cvs_proxy_port"] = self.runCommand(["getVariable", "CVS_PROXY_PORT"]) or ""
params["image_white_pattern"] = self.runCommand(["getVariable", "BBUI_IMAGE_WHITE_PATTERN"]) or ""
params["image_black_pattern"] = self.runCommand(["getVariable", "BBUI_IMAGE_BLACK_PATTERN"]) or ""
return params

View File

@@ -34,7 +34,7 @@ class PackageListModel(gtk.TreeStore):
providing convenience functions to access gtk.TreeModel subclasses which
provide filtered views of the data.
"""
(COL_NAME, COL_VER, COL_REV, COL_RNM, COL_SEC, COL_SUM, COL_RDEP, COL_RPROV, COL_SIZE, COL_BINB, COL_INC, COL_FADE_INC) = range(12)
(COL_NAME, COL_VER, COL_REV, COL_RNM, COL_SEC, COL_SUM, COL_RDEP, COL_RPROV, COL_SIZE, COL_BINB, COL_INC, COL_FADE_INC, COL_FONT) = range(13)
__gsignals__ = {
"package-selection-changed" : (gobject.SIGNAL_RUN_LAST,
@@ -65,7 +65,8 @@ class PackageListModel(gtk.TreeStore):
gobject.TYPE_STRING,
gobject.TYPE_STRING,
gobject.TYPE_BOOLEAN,
gobject.TYPE_BOOLEAN)
gobject.TYPE_BOOLEAN,
gobject.TYPE_STRING)
"""
@@ -189,7 +190,7 @@ class PackageListModel(gtk.TreeStore):
self.COL_SEC, section, self.COL_SUM, summary,
self.COL_RDEP, rdep + ' ' + rrec,
self.COL_RPROV, rprov, self.COL_SIZE, size,
self.COL_BINB, "", self.COL_INC, False)
self.COL_BINB, "", self.COL_INC, False, self.COL_FONT, '10')
"""
Check whether the item at item_path is included or not
@@ -455,7 +456,7 @@ class RecipeListModel(gtk.ListStore):
"""
(COL_NAME, COL_DESC, COL_LIC, COL_GROUP, COL_DEPS, COL_BINB, COL_TYPE, COL_INC, COL_IMG, COL_INSTALL, COL_PN, COL_FADE_INC) = range(12)
__dummy_image__ = "Create your own image"
__custom_image__ = "Create your own image"
__gsignals__ = {
"recipe-selection-changed" : (gobject.SIGNAL_RUN_LAST,
@@ -564,14 +565,14 @@ class RecipeListModel(gtk.ListStore):
self.clear()
# dummy image for prompt
self.set(self.append(), self.COL_NAME, self.__dummy_image__,
self.set(self.append(), self.COL_NAME, self.__custom_image__,
self.COL_DESC, "Use the 'View recipes' and 'View packages' " \
"options to select what you want to include " \
"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.__dummy_image__)
self.COL_IMG, False, self.COL_INSTALL, "", self.COL_PN, self.__custom_image__)
for item in event_model["pn"]:
name = item

View File

@@ -23,6 +23,7 @@ import os
import os.path
import sys
import pango, pangocairo
import cairo
import math
from bb.ui.crumbs.hobcolor import HobColors
@@ -119,6 +120,7 @@ class HobViewTable (gtk.VBox):
self.table_tree.set_headers_clickable(True)
self.table_tree.set_enable_search(True)
self.table_tree.set_rules_hint(True)
self.table_tree.set_enable_tree_lines(True)
self.table_tree.get_selection().set_mode(gtk.SELECTION_SINGLE)
self.toggle_columns = []
self.table_tree.connect("row-activated", self.row_activated_cb)
@@ -140,6 +142,8 @@ class HobViewTable (gtk.VBox):
cell = gtk.CellRendererText()
col.pack_start(cell, True)
col.set_attributes(cell, text=column['col_id'])
if 'col_t_id' in column.keys():
col.add_attribute(cell, 'font', column['col_t_id'])
elif column['col_style'] == 'check toggle':
cell = HobCellRendererToggle()
cell.set_property('activatable', True)
@@ -149,6 +153,8 @@ class HobViewTable (gtk.VBox):
col.pack_end(cell, True)
col.set_attributes(cell, active=column['col_id'])
self.toggle_columns.append(column['col_name'])
if 'col_group' in column.keys():
col.set_cell_data_func(cell, self.set_group_number_cb)
elif column['col_style'] == 'radio toggle':
cell = gtk.CellRendererToggle()
cell.set_property('activatable', True)
@@ -162,6 +168,8 @@ class HobViewTable (gtk.VBox):
cell = gtk.CellRendererText()
col.pack_start(cell, True)
col.set_cell_data_func(cell, self.display_binb_cb, column['col_id'])
if 'col_t_id' in column.keys():
col.add_attribute(cell, 'font', column['col_t_id'])
scroll = gtk.ScrolledWindow()
scroll.set_policy(gtk.POLICY_NEVER, gtk.POLICY_ALWAYS)
@@ -204,6 +212,15 @@ class HobViewTable (gtk.VBox):
def stop_cell_fadeinout_cb(self, ctrl, cell, tree):
self.emit("cell-fadeinout-stopped", ctrl, cell, tree)
def set_group_number_cb(self, col, cell, model, iter):
if model and (model.iter_parent(iter) == None):
cell.cell_attr["number_of_children"] = model.iter_n_children(iter)
else:
cell.cell_attr["number_of_children"] = 0
def connect_group_selection(self, cb_func):
self.table_tree.get_selection().connect("changed", cb_func)
"""
A method to calculate a softened value for the colour of widget when in the
provided state.
@@ -380,363 +397,95 @@ class HobInfoButton(gtk.EventBox):
def mouse_out_cb(self, widget, event):
self.image.set_from_file(hic.ICON_INFO_DISPLAY_FILE)
class HobTabBar(gtk.DrawingArea):
__gsignals__ = {
"blank-area-changed" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_INT,
gobject.TYPE_INT,
gobject.TYPE_INT,
gobject.TYPE_INT,)),
"tab-switched" : (gobject.SIGNAL_RUN_LAST,
gobject.TYPE_NONE,
(gobject.TYPE_INT,)),
}
def __init__(self):
class HobIndicator(gtk.DrawingArea):
def __init__(self, count):
gtk.DrawingArea.__init__(self)
self.children = []
# Set no window for transparent background
self.set_has_window(False)
self.set_size_request(38,38)
# We need to pass through button clicks
self.add_events(gtk.gdk.BUTTON_PRESS_MASK | gtk.gdk.BUTTON_RELEASE_MASK)
self.tab_width = 140
self.tab_height = 52
self.tab_x = 10
self.tab_y = 0
self.connect('expose-event', self.expose)
self.width = 500
self.height = 53
self.tab_w_ratio = 140 * 1.0/500
self.tab_h_ratio = 52 * 1.0/53
self.set_size_request(self.width, self.height)
self.count = count
self.color = HobColors.GRAY
self.current_child = None
self.font = self.get_style().font_desc
self.font.set_size(pango.SCALE * 13)
self.update_children_text_layout_and_bg_color()
def expose(self, widget, event):
if self.count and self.count > 0:
ctx = widget.window.cairo_create()
self.blank_rectangle = None
self.tab_pressed = False
x, y, w, h = self.allocation
self.set_property('can-focus', True)
self.set_events(gtk.gdk.EXPOSURE_MASK | gtk.gdk.POINTER_MOTION_MASK |
gtk.gdk.BUTTON1_MOTION_MASK | gtk.gdk.BUTTON_PRESS_MASK |
gtk.gdk.BUTTON_RELEASE_MASK)
ctx.set_operator(cairo.OPERATOR_OVER)
ctx.set_source_color(gtk.gdk.color_parse(self.color))
ctx.translate(w/2, h/2)
ctx.arc(x, y, min(w,h)/2 - 2, 0, 2*math.pi)
ctx.fill_preserve()
self.connect("expose-event", self.on_draw)
self.connect("button-press-event", self.button_pressed_cb)
self.connect("button-release-event", self.button_released_cb)
self.connect("query-tooltip", self.query_tooltip_cb)
self.show_all()
layout = self.create_pango_layout(str(self.count))
textw, texth = layout.get_pixel_size()
x = (w/2)-(textw/2) + x
y = (h/2) - (texth/2) + y
ctx.move_to(x, y)
self.window.draw_layout(self.style.light_gc[gtk.STATE_NORMAL], int(x), int(y), layout)
def button_released_cb(self, widget, event):
self.tab_pressed = False
self.queue_draw()
def set_count(self, count):
self.count = count
def button_pressed_cb(self, widget, event):
if event.type == gtk.gdk._2BUTTON_PRESS:
return
result = False
if self.is_focus() or event.type == gtk.gdk.BUTTON_PRESS:
x, y = event.get_coords()
# check which tab be clicked
for child in self.children:
if (child["x"] < x) and (x < child["x"] + self.tab_width) \
and (child["y"] < y) and (y < child["y"] + self.tab_height):
self.current_child = child
result = True
self.grab_focus()
break
# check the blank area is focus in or not
if (self.blank_rectangle) and (self.blank_rectangle.x > 0) and (self.blank_rectangle.y > 0):
if (self.blank_rectangle.x < x) and (x < self.blank_rectangle.x + self.blank_rectangle.width) \
and (self.blank_rectangle.y < y) and (y < self.blank_rectangle.y + self.blank_rectangle.height):
self.grab_focus()
if result == True:
page = self.current_child["toggled_page"]
self.emit("tab-switched", page)
self.tab_pressed = True
self.queue_draw()
def update_children_size(self):
# calculate the size of tabs
self.tab_width = int(self.width * self.tab_w_ratio)
self.tab_height = int(self.height * self.tab_h_ratio)
for i, child in enumerate(self.children):
child["x"] = self.tab_x + i * self.tab_width
child["y"] = self.tab_y
if self.blank_rectangle:
self.resize_blank_rectangle()
def resize_blank_rectangle(self):
width = self.width - self.tab_width * len(self.children) - self.tab_x
x = self.tab_x + self.tab_width * len(self.children)
hpadding = vpadding = 5
self.blank_rectangle = self.set_blank_size(x + hpadding, self.tab_y + vpadding,
width - 2 * hpadding, self.tab_height - 2 * vpadding)
def update_children_text_layout_and_bg_color(self):
style = self.get_style().copy()
color = style.base[gtk.STATE_NORMAL]
for child in self.children:
pangolayout = self.create_pango_layout(child["title"])
pangolayout.set_font_description(self.font)
child["title_layout"] = pangolayout
child["r"] = color.red
child["g"] = color.green
child["b"] = color.blue
def append_tab_child(self, title, page, tooltip=""):
num = len(self.children) + 1
self.tab_width = self.tab_width * len(self.children) / num
i = 0
for i, child in enumerate(self.children):
child["x"] = self.tab_x + i * self.tab_width
i += 1
x = self.tab_x + i * self.tab_width
y = self.tab_y
pangolayout = self.create_pango_layout(title)
pangolayout.set_font_description(self.font)
color = self.style.base[gtk.STATE_NORMAL]
new_one = {
"x" : x,
"y" : y,
"r" : color.red,
"g" : color.green,
"b" : color.blue,
"title_layout" : pangolayout,
"toggled_page" : page,
"title" : title,
"indicator_show" : False,
"indicator_number" : 0,
"tooltip_markup" : tooltip,
}
self.children.append(new_one)
if tooltip and (not self.props.has_tooltip):
self.props.has_tooltip = True
# set the default current child
if not self.current_child:
self.current_child = new_one
def on_draw(self, widget, event):
cr = widget.window.cairo_create()
self.width = self.allocation.width
self.height = self.allocation.height
self.update_children_size()
self.draw_background(cr)
self.draw_toggled_tab(cr)
for child in self.children:
if child["indicator_show"] == True:
self.draw_indicator(cr, child)
self.draw_tab_text(cr)
def draw_background(self, cr):
style = self.get_style()
if self.is_focus():
cr.set_source_color(style.base[gtk.STATE_SELECTED])
def set_active(self, active):
if active:
self.color = HobColors.DEEP_RED
else:
cr.set_source_color(style.base[gtk.STATE_NORMAL])
self.color = HobColors.GRAY
y = 6
h = self.height - 6 - 1
gap = 1
class HobTabLabel(gtk.HBox):
def __init__(self, text, count=0):
gtk.HBox.__init__(self, False, 0)
self.indicator = HobIndicator(count)
self.indicator.show()
self.pack_end(self.indicator, False, False)
self.lbl = gtk.Label(text)
self.lbl.set_alignment(0.0, 0.5)
self.lbl.show()
self.pack_end(self.lbl, True, True, 6)
w = self.children[0]["x"]
cr.set_source_color(gtk.gdk.color_parse(HobColors.GRAY))
cr.rectangle(0, y, w - gap, h) # start rectangle
cr.fill()
def set_count(self, count):
self.indicator.set_count(count)
cr.set_source_color(style.base[gtk.STATE_NORMAL])
cr.rectangle(w - gap, y, w, h) #first gap
cr.fill()
w = self.tab_width
for child in self.children:
x = child["x"]
cr.set_source_color(gtk.gdk.color_parse(HobColors.GRAY))
cr.rectangle(x, y, w - gap, h) # tab rectangle
cr.fill()
cr.set_source_color(style.base[gtk.STATE_NORMAL])
cr.rectangle(x + w - gap, y, w, h) # gap
cr.fill()
cr.set_source_color(gtk.gdk.color_parse(HobColors.GRAY))
cr.rectangle(x + w, y, self.width - x - w, h) # last rectangle
cr.fill()
def draw_tab_text(self, cr):
style = self.get_style()
for child in self.children:
pangolayout = child["title_layout"]
if pangolayout:
fontw, fonth = pangolayout.get_pixel_size()
# center pos
off_x = (self.tab_width - fontw) / 2
off_y = (self.tab_height - fonth) / 2
x = child["x"] + off_x
y = child["y"] + off_y
if not child == self.current_child:
self.window.draw_layout(self.style.fg_gc[gtk.STATE_NORMAL], int(x), int(y), pangolayout, gtk.gdk.Color(HobColors.WHITE))
else:
self.window.draw_layout(self.style.fg_gc[gtk.STATE_NORMAL], int(x), int(y), pangolayout)
def draw_toggled_tab(self, cr):
if not self.current_child:
return
x = self.current_child["x"]
y = self.current_child["y"]
width = self.tab_width
height = self.tab_height
style = self.get_style()
color = style.base[gtk.STATE_NORMAL]
r = height / 10
if self.tab_pressed == True:
for xoff, yoff, c1, c2 in [(1, 0, HobColors.SLIGHT_DARK, HobColors.DARK), (2, 0, HobColors.GRAY, HobColors.LIGHT_GRAY)]:
cr.set_source_color(gtk.gdk.color_parse(c1))
cr.move_to(x + xoff, y + height + yoff)
cr.line_to(x + xoff, r + yoff)
cr.arc(x + r + xoff, y + r + yoff, r, math.pi, 1.5*math.pi)
cr.move_to(x + r + xoff, y + yoff)
cr.line_to(x + width - r + xoff, y + yoff)
cr.arc(x + width - r + xoff, y + r + yoff, r, 1.5*math.pi, 2*math.pi)
cr.stroke()
cr.set_source_color(gtk.gdk.color_parse(c2))
cr.move_to(x + width + xoff, r + yoff)
cr.line_to(x + width + xoff, y + height + yoff)
cr.line_to(x + xoff, y + height + yoff)
cr.stroke()
x = x + 2
y = y + 2
cr.set_source_rgba(color.red, color.green, color.blue, 1)
cr.move_to(x + r, y)
cr.line_to(x + width - r , y)
cr.arc(x + width - r, y + r, r, 1.5*math.pi, 2*math.pi)
cr.move_to(x + width, r)
cr.line_to(x + width, y + height)
cr.line_to(x, y + height)
cr.line_to(x, r)
cr.arc(x + r, y + r, r, math.pi, 1.5*math.pi)
cr.fill()
def draw_indicator(self, cr, child):
text = ("%d" % child["indicator_number"])
layout = self.create_pango_layout(text)
layout.set_font_description(self.font)
textw, texth = layout.get_pixel_size()
# draw the back round area
tab_x = child["x"]
tab_y = child["y"]
dest_w = int(32 * self.tab_w_ratio)
dest_h = int(32 * self.tab_h_ratio)
if dest_h < self.tab_height:
dest_w = dest_h
# x position is offset(tab_width*3/4 - icon_width/2) + start_pos(tab_x)
x = tab_x + self.tab_width * 3/4 - dest_w/2
y = tab_y + self.tab_height/2 - dest_h/2
r = min(dest_w, dest_h)/2
if not child == self.current_child:
color = cr.set_source_color(gtk.gdk.color_parse(HobColors.DEEP_RED))
else:
color = cr.set_source_color(gtk.gdk.color_parse(HobColors.GRAY))
# check round back area can contain the text or not
back_round_can_contain_width = float(2 * r * 0.707)
if float(textw) > back_round_can_contain_width:
xoff = (textw - int(back_round_can_contain_width)) / 2
cr.move_to(x + r - xoff, y + r + r)
cr.arc((x + r - xoff), (y + r), r, 0.5*math.pi, 1.5*math.pi)
cr.fill() # left half round
cr.rectangle((x + r - xoff), y, 2 * xoff, 2 * r)
cr.fill() # center rectangle
cr.arc((x + r + xoff), (y + r), r, 1.5*math.pi, 0.5*math.pi)
cr.fill() # right half round
else:
cr.arc((x + r), (y + r), r, 0, 2*math.pi)
cr.fill()
# draw the number text
x = x + (dest_w/2)-(textw/2)
y = y + (dest_h/2) - (texth/2)
cr.move_to(x, y)
self.window.draw_layout(self.style.fg_gc[gtk.STATE_NORMAL], int(x), int(y), layout, gtk.gdk.Color(HobColors.WHITE))
def show_indicator_icon(self, child, number):
child["indicator_show"] = True
child["indicator_number"] = number
self.queue_draw()
def hide_indicator_icon(self, child):
child["indicator_show"] = False
self.queue_draw()
def set_blank_size(self, x, y, w, h):
if not self.blank_rectangle or self.blank_rectangle.x != x or self.blank_rectangle.width != w:
self.emit("blank-area-changed", x, y, w, h)
return gtk.gdk.Rectangle(x, y, w, h)
def query_tooltip_cb(self, widget, x, y, keyboardtip, tooltip):
if keyboardtip or (not tooltip):
return False
# check which tab be clicked
for child in self.children:
if (child["x"] < x) and (x < child["x"] + self.tab_width) \
and (child["y"] < y) and (y < child["y"] + self.tab_height):
tooltip.set_markup(child["tooltip_markup"])
return True
return False
class HobNotebook(gtk.VBox):
def set_active(self, active=True):
self.indicator.set_active(active)
class HobNotebook(gtk.Notebook):
def __init__(self):
gtk.VBox.__init__(self, False, 0)
gtk.Notebook.__init__(self)
self.set_property('homogeneous', True)
self.notebook = gtk.Notebook()
self.notebook.set_property('homogeneous', True)
self.notebook.set_property('show-tabs', False)
self.tabbar = HobTabBar()
self.tabbar.connect("tab-switched", self.tab_switched_cb)
self.notebook.connect("page-added", self.page_added_cb)
self.notebook.connect("page-removed", self.page_removed_cb)
self.pages = []
self.search = None
self.search_name = ""
self.tb = gtk.Table(1, 100, False)
self.hbox= gtk.HBox(False, 0)
self.hbox.pack_start(self.tabbar, True, True)
self.tb.attach(self.hbox, 0, 100, 0, 1)
self.pack_start(self.tb, False, False)
self.pack_start(self.notebook)
self.connect("switch-page", self.page_changed_cb)
self.show_all()
def append_page(self, child, tab_label):
self.notebook.set_current_page(self.notebook.append_page(child, tab_label))
def page_changed_cb(self, nb, page, page_num):
for p, lbl in enumerate(self.pages):
if p == page_num:
lbl.set_active()
else:
lbl.set_active(False)
def append_page(self, child, tab_label, tab_tooltip=None):
label = HobTabLabel(tab_label)
if tab_tooltip:
label.set_tooltip_text(tab_tooltip)
label.set_active(False)
self.pages.append(label)
gtk.Notebook.append_page(self, child, label)
def set_entry(self, name="Search:"):
for child in self.tb.get_children():
if child:
self.tb.remove(child)
hbox_entry = gtk.HBox(False, 0)
hbox_entry.show()
self.search = gtk.Entry()
self.search_name = name
style = self.search.get_style()
@@ -747,59 +496,20 @@ class HobNotebook(gtk.VBox):
self.search.set_icon_from_stock(gtk.ENTRY_ICON_SECONDARY, gtk.STOCK_CLEAR)
self.search.connect("icon-release", self.set_search_entry_clear_cb)
self.search.show()
self.align = gtk.Alignment(xalign=1.0, yalign=0.7)
self.align.add(self.search)
self.align.show()
hbox_entry.pack_end(self.align, False, False)
self.tabbar.resize_blank_rectangle()
self.tb.attach(hbox_entry, 75, 100, 0, 1, xpadding=5)
self.tb.attach(self.hbox, 0, 100, 0, 1)
self.tabbar.connect("blank-area-changed", self.blank_area_resize_cb)
self.search.connect("focus-in-event", self.set_search_entry_editable_cb)
self.search.connect("focus-out-event", self.set_search_entry_reset_cb)
self.tb.show()
self.set_action_widget(self.search, gtk.PACK_END)
def show_indicator_icon(self, title, number):
for child in self.tabbar.children:
if child["toggled_page"] == -1:
continue
if child["title"] == title:
self.tabbar.show_indicator_icon(child, number)
for child in self.pages:
if child.lbl.get_label() == title:
child.set_count(number)
def hide_indicator_icon(self, title):
for child in self.tabbar.children:
if child["toggled_page"] == -1:
continue
if child["title"] == title:
self.tabbar.hide_indicator_icon(child)
def tab_switched_cb(self, widget, page):
self.notebook.set_current_page(page)
def page_added_cb(self, notebook, notebook_child, page):
if not notebook:
return
title = notebook.get_tab_label_text(notebook_child)
label = notebook.get_tab_label(notebook_child)
tooltip_markup = label.get_tooltip_markup()
if not title:
return
for child in self.tabbar.children:
if child["title"] == title:
child["toggled_page"] = page
return
self.tabbar.append_tab_child(title, page, tooltip_markup)
def page_removed_cb(self, notebook, notebook_child, page, title=""):
for child in self.tabbar.children:
if child["title"] == title:
child["toggled_page"] = -1
def blank_area_resize_cb(self, widget, request_x, request_y, request_width, request_height):
self.search.set_size_request(request_width, request_height)
for child in self.pages:
if child.lbl.get_label() == title:
child.set_count(0)
def set_search_entry_editable_cb(self, search, event):
search.set_editable(True)
@@ -819,7 +529,8 @@ class HobNotebook(gtk.VBox):
self.reset_entry(search)
def set_search_entry_clear_cb(self, search, icon_pos, event):
self.reset_entry(search)
if search.get_editable() == True:
search.set_text("")
class HobWarpCellRendererText(gtk.CellRendererText):
def __init__(self, col_number):
@@ -1057,7 +768,7 @@ class HobCellRendererPixbuf(gtk.CellRendererPixbuf):
if self.control.is_active():
self.control.on_draw_pixbuf_cb(pix, window.cairo_create(), x, y, w, h, True)
else:
self.control.start_run(200, 0, 0, 1000, 200, tree)
self.control.start_run(200, 0, 0, 1000, 150, tree)
else:
self.control.remove_running_cell_area(cell_area)
self.control.on_draw_pixbuf_cb(pix, window.cairo_create(), x, y, w, h, False)
@@ -1084,11 +795,17 @@ class HobCellRendererToggle(gtk.CellRendererToggle):
gtk.CellRendererToggle.__init__(self)
self.ctrl = HobCellRendererController(is_draw_row=True)
self.ctrl.running_mode = self.ctrl.MODE_ONE_SHORT
self.cell_attr = {"fadeout": False}
self.cell_attr = {"fadeout": False, "number_of_children": 0}
def do_render(self, window, widget, background_area, cell_area, expose_area, flags):
if (not self.ctrl) or (not widget):
return
if flags & gtk.CELL_RENDERER_SELECTED:
state = gtk.STATE_SELECTED
else:
state = gtk.STATE_NORMAL
if self.ctrl.is_active():
path = widget.get_path_at_pos(cell_area.x + cell_area.width/2, cell_area.y + cell_area.height/2)
# sometimes the parameters of cell_area will be a negative number,such as pull up down the scroll bar
@@ -1097,14 +814,23 @@ class HobCellRendererToggle(gtk.CellRendererToggle):
path = path[0]
if path in self.ctrl.running_cell_areas:
cr = window.cairo_create()
color = gtk.gdk.Color(HobColors.WHITE)
color = widget.get_style().base[state]
row_x, _, row_width, _ = widget.get_visible_rect()
border_y = self.get_property("ypad")
self.ctrl.on_draw_fadeinout_cb(cr, color, row_x, cell_area.y - border_y, row_width, \
cell_area.height + border_y * 2, self.cell_attr["fadeout"])
# draw number of a group
if self.cell_attr["number_of_children"]:
text = "%d pkg" % self.cell_attr["number_of_children"]
pangolayout = widget.create_pango_layout(text)
textw, texth = pangolayout.get_pixel_size()
x = cell_area.x + (cell_area.width/2) - (textw/2)
y = cell_area.y + (cell_area.height/2) - (texth/2)
return gtk.CellRendererToggle.do_render(self, window, widget, background_area, cell_area, expose_area, flags)
widget.style.paint_layout(window, state, True, cell_area, widget, "checkbox", x, y, pangolayout)
else:
return gtk.CellRendererToggle.do_render(self, window, widget, background_area, cell_area, expose_area, flags)
'''delay: normally delay time is 1000ms
cell_list: whilch cells need to be render

View File

@@ -22,6 +22,7 @@
import gtk
import glib
import re
from bb.ui.crumbs.progressbar import HobProgressBar
from bb.ui.crumbs.hobcolor import HobColors
from bb.ui.crumbs.hobwidget import hic, HobImageButton, HobInfoButton, HobAltButton, HobButton
@@ -33,6 +34,9 @@ from bb.ui.crumbs.hobpages import HobPage
#
class ImageConfigurationPage (HobPage):
__dummy_machine__ = "--select a machine--"
__dummy_image__ = "--select a base image--"
def __init__(self, builder):
super(ImageConfigurationPage, self).__init__(builder, "Image configuration")
@@ -147,7 +151,6 @@ class ImageConfigurationPage (HobPage):
self.machine_title_desc.set_markup(mark)
self.machine_combo = gtk.combo_box_new_text()
self.machine_combo.set_wrap_width(1)
self.machine_combo.connect("changed", self.machine_combo_changed_cb)
icon_file = hic.ICON_LAYERS_DISPLAY_FILE
@@ -196,11 +199,12 @@ class ImageConfigurationPage (HobPage):
self.image_title_desc.set_markup(mark)
self.image_combo = gtk.combo_box_new_text()
self.image_combo.set_wrap_width(1)
self.image_combo_id = self.image_combo.connect("changed", self.image_combo_changed_cb)
self.image_desc = gtk.Label()
self.image_desc.set_alignment(0.0, 0.5)
self.image_desc.set_size_request(360, -1)
self.image_desc.set_justify(gtk.JUSTIFY_LEFT)
self.image_desc.set_line_wrap(True)
# button to view recipes
@@ -259,9 +263,15 @@ class ImageConfigurationPage (HobPage):
def machine_combo_changed_cb(self, machine_combo):
combo_item = machine_combo.get_active_text()
if not combo_item:
if not combo_item or combo_item == self.__dummy_machine__:
return
# remove __dummy_machine__ item from the store list after first user selection
# because it is no longer valid
combo_store = machine_combo.get_model()
if len(combo_store) and (combo_store[0][0] == self.__dummy_machine__):
machine_combo.remove_text(0)
self.builder.configuration.curr_mach = combo_item
if self.machine_combo_changed_by_manual:
self.builder.configuration.clear_selection()
@@ -272,13 +282,13 @@ class ImageConfigurationPage (HobPage):
self.builder.populate_recipe_package_info_async()
def update_machine_combo(self):
all_machines = self.builder.parameters.all_machines
all_machines = [self.__dummy_machine__] + self.builder.parameters.all_machines
model = self.machine_combo.get_model()
model.clear()
for machine in all_machines:
self.machine_combo.append_text(machine)
self.machine_combo.set_active(-1)
self.machine_combo.set_active(0)
def switch_machine_combo(self):
self.machine_combo_changed_by_manual = False
@@ -289,10 +299,15 @@ class ImageConfigurationPage (HobPage):
self.machine_combo.set_active(active)
return
active += 1
self.machine_combo.set_active(-1)
def update_image_desc(self, selected_image):
if model[0][0] != self.__dummy_machine__:
self.machine_combo.insert_text(0, self.__dummy_machine__)
self.machine_combo.set_active(0)
def update_image_desc(self):
desc = ""
selected_image = self.image_combo.get_active_text()
if selected_image and selected_image in self.builder.recipe_model.pn_path.keys():
image_path = self.builder.recipe_model.pn_path[selected_image]
image_iter = self.builder.recipe_model.get_iter(image_path)
@@ -309,9 +324,15 @@ class ImageConfigurationPage (HobPage):
def image_combo_changed_cb(self, combo):
self.builder.window_sensitive(False)
selected_image = self.image_combo.get_active_text()
if not selected_image:
if not selected_image or (selected_image == self.__dummy_image__):
return
# remove __dummy_image__ item from the store list after first user selection
# because it is no longer valid
combo_store = combo.get_model()
if len(combo_store) and (combo_store[0][0] == self.__dummy_image__):
combo.remove_text(0)
self.builder.customized = False
selected_recipes = []
@@ -319,7 +340,7 @@ class ImageConfigurationPage (HobPage):
image_path = self.builder.recipe_model.pn_path[selected_image]
image_iter = self.builder.recipe_model.get_iter(image_path)
selected_packages = self.builder.recipe_model.get_value(image_iter, self.builder.recipe_model.COL_INSTALL).split()
self.update_image_desc(selected_image)
self.update_image_desc()
self.builder.recipe_model.reset()
self.builder.package_model.reset()
@@ -342,32 +363,61 @@ class ImageConfigurationPage (HobPage):
# populate image combo
filter = {RecipeListModel.COL_TYPE : ['image']}
image_model = recipe_model.tree_model(filter)
active = -1
cnt = 0
active = 0
cnt = 1
white_pattern = []
if self.builder.parameters.image_white_pattern:
for i in self.builder.parameters.image_white_pattern.split():
white_pattern.append(re.compile(i))
black_pattern = []
if self.builder.parameters.image_black_pattern:
for i in self.builder.parameters.image_black_pattern.split():
black_pattern.append(re.compile(i))
it = image_model.get_iter_first()
self._image_combo_disconnect_signal()
model = self.image_combo.get_model()
model.clear()
# Set a indicator text to combo store when first open
self.image_combo.append_text(self.__dummy_image__)
# append and set active
while it:
path = image_model.get_path(it)
it = image_model.iter_next(it)
image_name = image_model[path][recipe_model.COL_NAME]
if image_name == self.builder.recipe_model.__dummy_image__:
if image_name == self.builder.recipe_model.__custom_image__:
continue
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.__dummy_image__)
if selected_image == self.builder.recipe_model.__dummy_image__:
if black_pattern:
allow = True
for pattern in black_pattern:
if pattern.search(image_name):
allow = False
break
elif white_pattern:
allow = False
for pattern in white_pattern:
if pattern.search(image_name):
allow = True
break
else:
allow = True
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
self.image_combo.set_active(-1)
self.image_combo.set_active(active)
if active != -1:
if active != 0:
self.show_baseimg_selected()
self._image_combo_connect_signal()

View File

@@ -25,7 +25,8 @@ import gtk
from bb.ui.crumbs.hobcolor import HobColors
from bb.ui.crumbs.hobwidget import hic, HobViewTable, HobAltButton, HobButton
from bb.ui.crumbs.hobpages import HobPage
import subprocess
from bb.ui.crumbs.hig import CrumbsDialog
#
# ImageDetailsPage
#
@@ -37,19 +38,19 @@ class ImageDetailsPage (HobPage):
'col_style': 'text',
'col_min' : 500,
'col_max' : 500
}, {
},{
'col_name' : 'Image size',
'col_id' : 1,
'col_style': 'text',
'col_min' : 100,
'col_max' : 100
}, {
},{
'col_name' : 'Select',
'col_id' : 2,
'col_style': 'radio toggle',
'col_min' : 100,
'col_max' : 100
}]
}]
class DetailBox (gtk.EventBox):
def __init__(self, widget = None, varlist = None, vallist = None, icon = None, button = None, color = HobColors.LIGHT_GRAY):
@@ -64,27 +65,31 @@ class ImageDetailsPage (HobPage):
self.hbox.set_border_width(15)
self.add(self.hbox)
total_rows = 0
if widget:
row = 1
elif varlist and vallist:
total_rows = 10
if varlist and vallist:
# pack the icon and the text on the left
row = len(varlist)
self.table = gtk.Table(row, 20, True)
total_rows += len(varlist)
self.table = gtk.Table(total_rows, 20, True)
self.table.set_row_spacings(6)
self.table.set_size_request(100, -1)
self.hbox.pack_start(self.table, expand=True, fill=True, padding=15)
colid = 0
rowid = 0
self.line_widgets = {}
if icon:
self.table.attach(icon, colid, colid + 2, 0, 1)
colid = colid + 2
if widget:
self.table.attach(widget, colid, 20, 0, 1)
elif varlist and vallist:
for line in range(0, row):
self.line_widgets[varlist[line]] = self.text2label(varlist[line], vallist[line])
self.table.attach(self.line_widgets[varlist[line]], colid, 20, line, line + 1)
self.table.attach(widget, colid, 20, 0, 10)
rowid = 10
if varlist and vallist:
for row in range(rowid, total_rows):
index = row - rowid
self.line_widgets[varlist[index]] = self.text2label(varlist[index], vallist[index])
self.table.attach(self.line_widgets[varlist[index]], colid, 20, row, row + 1)
# pack the button on the right
if button:
self.hbox.pack_end(button, expand=False, fill=False)
@@ -96,9 +101,23 @@ class ImageDetailsPage (HobPage):
return
self.line_widgets[variable].set_markup(self.format_line(variable, value))
def wrap_line(self, inputs):
# wrap the long text of inputs
wrap_width_chars = 75
outputs = ""
tmps = inputs
less_chars = len(inputs)
while (less_chars - wrap_width_chars) > 0:
less_chars -= wrap_width_chars
outputs += tmps[:wrap_width_chars] + "\n "
tmps = inputs[less_chars:]
outputs += tmps
return outputs
def format_line(self, variable, value):
wraped_value = self.wrap_line(value)
markup = "<span weight=\'bold\'>%s</span>" % variable
markup += "<span weight=\'normal\' foreground=\'#1c1c1c\' font_desc=\'14px\'>%s</span>" % value
markup += "<span weight=\'normal\' foreground=\'#1c1c1c\' font_desc=\'14px\'>%s</span>" % wraped_value
return markup
def text2label(self, variable, value):
@@ -112,7 +131,7 @@ class ImageDetailsPage (HobPage):
def __init__(self, builder):
super(ImageDetailsPage, self).__init__(builder, "Image details")
self.image_store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_BOOLEAN)
self.image_store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING, gobject.TYPE_BOOLEAN, gobject.TYPE_STRING)
self.button_ids = {}
self.details_bottom_buttons = gtk.HBox(False, 6)
self.create_visual_elements()
@@ -157,10 +176,10 @@ class ImageDetailsPage (HobPage):
self.details_bottom_buttons.remove(child)
def show_page(self, step):
build_succeeded = (step == self.builder.IMAGE_GENERATED)
self.build_succeeded = (step == self.builder.IMAGE_GENERATED)
image_addr = self.builder.parameters.image_addr
image_names = self.builder.parameters.image_names
if build_succeeded:
if self.build_succeeded:
machine = self.builder.configuration.curr_mach
base_image = self.builder.recipe_model.get_selected_image()
layers = self.builder.configuration.layers
@@ -172,12 +191,13 @@ class ImageDetailsPage (HobPage):
for button_id, button in self.button_ids.items():
button.disconnect(button_id)
self._remove_all_widget()
# repack
self.pack_start(self.details_top_buttons, expand=False, fill=False)
self.pack_start(self.group_align, expand=True, fill=True)
self.build_result = None
if build_succeeded:
if self.build_succeeded:
# building is the previous step
icon = gtk.Image()
pixmap_path = hic.ICON_INDI_CONFIRM_FILE
@@ -190,45 +210,80 @@ class ImageDetailsPage (HobPage):
self.box_group_area.pack_start(self.build_result, expand=False, fill=False)
# create the buttons at the bottom first because the buttons are used in apply_button_per_image()
if build_succeeded:
if self.build_succeeded:
self.buttonlist = ["Build new image", "Save as template", "Run image", "Deploy image"]
else: # get to this page from "My images"
self.buttonlist = ["Build new image", "Run image", "Deploy image"]
# Name
self.image_store.clear()
default_toggled = False
self.toggled_image = ""
default_image_size = 0
self.num_toggled = 0
i = 0
for image_name in image_names:
image_size = HobPage._size_to_string(os.stat(os.path.join(image_addr, image_name)).st_size)
if not default_toggled:
default_toggled = (self.test_type_runnable(image_name) and self.test_mach_runnable(image_name)) \
or self.test_deployable(image_name)
image_attr = ("runnable" if (self.test_type_runnable(image_name) and self.test_mach_runnable(image_name)) else \
("deploy" if self.test_deployable(image_name) else ""))
is_toggled = (image_attr != "")
if not self.toggled_image:
if i == (len(image_names) - 1):
default_toggled = True
self.image_store.set(self.image_store.append(), 0, image_name, 1, image_size, 2, default_toggled)
if default_toggled:
is_toggled = True
self.image_store.set(self.image_store.append(), 0, image_name, 1, image_size, 2, is_toggled, 3, image_attr)
if is_toggled:
default_image_size = image_size
self.create_bottom_buttons(self.buttonlist, image_name)
self.toggled_image = image_name
else:
self.image_store.set(self.image_store.append(), 0, image_name, 1, image_size, 2, False)
self.image_store.set(self.image_store.append(), 0, image_name, 1, image_size, 2, False, 3, image_attr)
i = i + 1
image_table = HobViewTable(self.__columns__)
image_table.set_model(self.image_store)
image_table.connect("toggled", self.toggled_cb)
self.num_toggled += is_toggled
is_runnable = self.create_bottom_buttons(self.buttonlist, self.toggled_image)
if self.build_succeeded:
varlist = ["Name: ", "Directory: "]
vallist = []
vallist.append(image_name.split('.')[0])
vallist.append(image_addr)
image_table = None
else:
varlist = None
vallist = None
image_table = HobViewTable(self.__columns__)
image_table.set_model(self.image_store)
image_table.connect("row-activated", self.row_activated_cb)
image_table.connect_group_selection(self.table_selected_cb)
view_files_button = HobAltButton("View files")
view_files_button.connect("clicked", self.view_files_clicked_cb, image_addr)
view_files_button.set_tooltip_text("Open the directory containing the image files")
self.image_detail = self.DetailBox(widget=image_table, button=view_files_button)
self.image_detail = self.DetailBox(widget=image_table, varlist=varlist, vallist=vallist, button=view_files_button)
self.box_group_area.pack_start(self.image_detail, expand=True, fill=True)
# The default kernel box for the qemu images
self.sel_kernel = ""
if 'qemu' in image_name:
self.sel_kernel = self.get_kernel_file_name()
varlist = ["Kernel: "]
vallist = []
vallist.append(self.sel_kernel)
change_kernel_button = HobAltButton("Change")
change_kernel_button.connect("clicked", self.change_kernel_cb)
change_kernel_button.set_tooltip_text("Change qemu kernel file")
self.kernel_detail = self.DetailBox(varlist=varlist, vallist=vallist, button=change_kernel_button)
self.box_group_area.pack_start(self.kernel_detail, expand=False, fill=False)
# Machine, Base image and Layers
layer_num_limit = 15
varlist = ["Machine: ", "Base image: ", "Layers: "]
vallist = []
self.setting_detail = None
if build_succeeded:
if self.build_succeeded:
vallist.append(machine)
vallist.append(base_image)
i = 0
@@ -252,14 +307,14 @@ class ImageDetailsPage (HobPage):
edit_config_button.set_tooltip_text("Edit machine, base image and recipes")
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=False, fill=False)
self.box_group_area.pack_start(self.setting_detail, expand=True, fill=True)
# Packages included, and Total image size
varlist = ["Packages included: ", "Total image size: "]
vallist = []
vallist.append(pkg_num)
vallist.append(default_image_size)
if build_succeeded:
if self.build_succeeded:
edit_packages_button = HobAltButton("Edit packages")
edit_packages_button.set_tooltip_text("Edit the packages included in your image")
edit_packages_button.connect("clicked", self.edit_packages_button_clicked_cb)
@@ -272,9 +327,11 @@ class ImageDetailsPage (HobPage):
self.box_group_area.pack_end(self.details_bottom_buttons, expand=False, fill=False)
self.show_all()
if not is_runnable:
self.kernel_detail.hide()
def view_files_clicked_cb(self, button, image_addr):
os.system("xdg-open /%s" % image_addr)
subprocess.call("xdg-open /%s" % image_addr, shell=True)
def refresh_package_detail_box(self, image_size):
self.package_detail.update_line_widgets("Total image size: ", image_size)
@@ -303,21 +360,63 @@ class ImageDetailsPage (HobPage):
break
return deployable
def toggled_cb(self, table, cell, path, columnid, tree):
model = tree.get_model()
if not model:
def get_kernel_file_name(self, kernel_addr=""):
kernel_name = ""
if not kernel_addr:
kernel_addr = self.builder.parameters.image_addr
files = [f for f in os.listdir(kernel_addr) if f[0] <> '.']
for check_file in files:
if check_file.endswith(".bin"):
name_splits = check_file.split(".")[0]
if self.builder.parameters.kernel_image_type in name_splits.split("-"):
kernel_name = check_file
break
return kernel_name
def show_builded_images_dialog(self, widget):
dialog = CrumbsDialog("Your builded images", self.builder,
gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT)
dialog.set_size_request(-1, 350)
label = gtk.Label()
label.set_use_markup(True)
label.set_alignment(0.0, 0.5)
label.set_markup("<span font_desc='12'>Please select a image to run or deploy</span>")
dialog.vbox.pack_start(label, expand=False, fill=False)
image_table = HobViewTable(self.__columns__)
image_table.set_model(self.image_store)
image_table.connect("row-activated", self.row_activated_cb)
image_table.connect_group_selection(self.table_selected_cb)
dialog.vbox.pack_start(image_table, expand=True, fill=True)
button = dialog.add_button(" OK ", gtk.RESPONSE_YES)
HobButton.style_button(button)
dialog.show_all()
response = dialog.run()
dialog.destroy()
if response != gtk.RESPONSE_YES:
return
iter = model.get_iter_first()
while iter:
rowpath = model.get_path(iter)
model[rowpath][columnid] = False
iter = model.iter_next(iter)
model[path][columnid] = True
self.refresh_package_detail_box(model[path][1])
image_name = model[path][0]
it = self.image_store.get_iter_first()
while it:
image_attr = self.image_store.get_value(it, 3)
is_select = self.image_store.get_value(it, 2)
if is_select:
image_name = self.image_store.get_value(it, 0)
if image_attr == 'runnable':
self.builder.runqemu_image(image_name, self.sel_kernel)
elif image_attr == 'deploy':
self.builder.deploy_image(image_name)
it = self.image_store.iter_next(it)
def repack_box_group(self, image_name=None):
# remove
for button_id, button in self.button_ids.items():
button.disconnect(button_id)
@@ -328,18 +427,59 @@ class ImageDetailsPage (HobPage):
if self.build_result:
self.box_group_area.pack_start(self.build_result, expand=False, fill=False)
self.box_group_area.pack_start(self.image_detail, expand=True, fill=True)
if self.kernel_detail:
self.box_group_area.pack_start(self.kernel_detail, expand=False, fill=False)
if self.setting_detail:
self.box_group_area.pack_start(self.setting_detail, expand=False, fill=False)
self.box_group_area.pack_start(self.package_detail, expand=False, fill=False)
self.create_bottom_buttons(self.buttonlist, image_name)
is_runnable = self.create_bottom_buttons(self.buttonlist, image_name)
self.box_group_area.pack_end(self.details_bottom_buttons, expand=False, fill=False)
self.show_all()
if not is_runnable:
self.kernel_detail.hide()
def table_selected_cb(self, selection):
model, paths = selection.get_selected_rows()
if (not model) or (not paths):
return
path = paths[0]
columnid = 2
iter = model.get_iter_first()
while iter:
rowpath = model.get_path(iter)
model[rowpath][columnid] = False
iter = model.iter_next(iter)
model[path][columnid] = True
self.refresh_package_detail_box(model[path][1])
self.toggled_image = model[path][0]
self.repack_box_group(self.toggled_image)
def change_kernel_cb(self, widget):
kernel_path = self.builder.show_load_kernel_dialog()
if kernel_path and self.kernel_detail:
import os.path
self.sel_kernel = os.path.basename(kernel_path)
markup = self.kernel_detail.format_line("Kernel: ", self.sel_kernel)
label = ((self.kernel_detail.get_children()[0]).get_children()[0]).get_children()[0]
label.set_markup(markup)
def row_activated_cb(self, table, model, path):
if not model:
return
iter = model.get_iter(path)
image_name = model[path][0]
if iter and model[path][2] == True:
self.builder.runqemu_image(image_name, self.sel_kernel)
def create_bottom_buttons(self, buttonlist, image_name):
# Create the buttons at the bottom
created = False
packed = False
self.button_ids = {}
is_runnable = False
# create button "Deploy image"
name = "Deploy image"
@@ -374,15 +514,7 @@ class ImageDetailsPage (HobPage):
self.button_ids[button_id] = run_button
self.details_bottom_buttons.pack_end(run_button, expand=False, fill=False)
created = True
if not packed:
box = gtk.HBox(False, 6)
box.show()
subbox = gtk.HBox(False, 0)
subbox.set_size_request(205, 49)
subbox.show()
box.add(subbox)
self.details_bottom_buttons.pack_end(box, False, False)
is_runnable = True
name = "Save as template"
if name in buttonlist:
@@ -391,8 +523,13 @@ class ImageDetailsPage (HobPage):
label = gtk.Label(" or ")
self.details_bottom_buttons.pack_end(label, expand=False, fill=False)
# create button "Save as template"
save_button = HobAltButton("Save as template")
# create button "Save as template"
save_button = HobAltButton("Save as template")
else:
save_button = HobButton("Save as template")
save_button.set_size_request(205, 49)
save_button.set_flags(gtk.CAN_DEFAULT)
packed = True
save_button.set_tooltip_text("Save the image configuration for reuse")
button_id = save_button.connect("clicked", self.save_button_clicked_cb)
self.button_ids[button_id] = save_button
@@ -402,34 +539,34 @@ class ImageDetailsPage (HobPage):
name = "Build new image"
if name in buttonlist:
# create button "Build new image"
build_new_button = HobAltButton("Build new image")
if packed:
build_new_button = HobAltButton("Build new image")
self.details_bottom_buttons.pack_start(build_new_button, expand=False, fill=False)
else:
build_new_button = HobButton("Build new image")
build_new_button.set_size_request(205, 49)
build_new_button.set_flags(gtk.CAN_DEFAULT)
self.details_bottom_buttons.pack_end(build_new_button, expand=False, fill=False)
build_new_button.set_tooltip_text("Create a new image from scratch")
button_id = build_new_button.connect("clicked", self.build_new_button_clicked_cb)
self.button_ids[button_id] = build_new_button
self.details_bottom_buttons.pack_start(build_new_button, expand=False, fill=False)
def _get_selected_image(self):
image_name = ""
iter = self.image_store.get_iter_first()
while iter:
path = self.image_store.get_path(iter)
if self.image_store[path][2]:
image_name = self.image_store[path][0]
break
iter = self.image_store.iter_next(iter)
return image_name
return is_runnable
def save_button_clicked_cb(self, button):
self.builder.show_save_template_dialog()
def deploy_button_clicked_cb(self, button):
image_name = self._get_selected_image()
self.builder.deploy_image(image_name)
if self.build_succeeded and self.num_toggled > 1:
self.show_builded_images_dialog()
return
self.builder.deploy_image(self.toggled_image)
def run_button_clicked_cb(self, button):
image_name = self._get_selected_image()
self.builder.runqemu_image(image_name)
if self.build_succeeded and self.num_toggled > 1:
self.show_builded_images_dialog()
return
self.builder.runqemu_image(self.toggled_image, self.sel_kernel)
def build_new_button_clicked_cb(self, button):
self.builder.initiate_new_build_async()

View File

@@ -39,6 +39,7 @@ class PackageSelectionPage (HobPage):
'columns' : [{
'col_name' : 'Package name',
'col_id' : PackageListModel.COL_NAME,
'col_t_id' : PackageListModel.COL_FONT,
'col_style': 'text',
'col_min' : 100,
'col_max' : 300,
@@ -46,6 +47,7 @@ class PackageSelectionPage (HobPage):
}, {
'col_name' : 'Brought in by',
'col_id' : PackageListModel.COL_BINB,
'col_t_id' : PackageListModel.COL_FONT,
'col_style': 'binb',
'col_min' : 100,
'col_max' : 350,
@@ -53,6 +55,7 @@ class PackageSelectionPage (HobPage):
}, {
'col_name' : 'Size',
'col_id' : PackageListModel.COL_SIZE,
'col_t_id' : PackageListModel.COL_FONT,
'col_style': 'text',
'col_min' : 100,
'col_max' : 300,
@@ -60,7 +63,9 @@ class PackageSelectionPage (HobPage):
}, {
'col_name' : 'Included',
'col_id' : PackageListModel.COL_INC,
'col_t_id' : PackageListModel.COL_FONT,
'col_style': 'check toggle',
'col_group': 'tree store group',
'col_min' : 100,
'col_max' : 100
}]
@@ -70,6 +75,7 @@ class PackageSelectionPage (HobPage):
'columns' : [{
'col_name' : 'Package name',
'col_id' : PackageListModel.COL_NAME,
'col_t_id' : PackageListModel.COL_FONT,
'col_style': 'text',
'col_min' : 100,
'col_max' : 400,
@@ -77,6 +83,7 @@ class PackageSelectionPage (HobPage):
}, {
'col_name' : 'Size',
'col_id' : PackageListModel.COL_SIZE,
'col_t_id' : PackageListModel.COL_FONT,
'col_style': 'text',
'col_min' : 100,
'col_max' : 500,
@@ -85,6 +92,7 @@ class PackageSelectionPage (HobPage):
'col_name' : 'Included',
'col_id' : PackageListModel.COL_INC,
'col_style': 'check toggle',
'col_group': 'tree store group',
'col_min' : 100,
'col_max' : 100
}]
@@ -101,8 +109,14 @@ class PackageSelectionPage (HobPage):
# create visual elements
self.create_visual_elements()
def included_clicked_cb(self, button):
self.ins.set_current_page(0)
def create_visual_elements(self):
self.label = gtk.Label("Packages included: 0\nSelected packages size: 0 MB")
self.label = gtk.Button("Packages included: 0\nSelected packages size: 0 MB")
self.label.set_can_default(False)
self.label.set_relief(gtk.RELIEF_HALF)
self.label.connect("clicked", self.included_clicked_cb)
self.eventbox = self.add_onto_top_bar(self.label, 73)
self.pack_start(self.eventbox, expand=False, fill=False)
self.pack_start(self.group_align, expand=True, fill=True)
@@ -117,11 +131,11 @@ class PackageSelectionPage (HobPage):
filter = page['filter']
tab.set_model(self.package_model.tree_model(filter))
tab.connect("toggled", self.table_toggled_cb, page['name'])
tab.connect_group_selection(self.table_selected_cb)
if page['name'] == "Included":
tab.connect("button-release-event", self.button_click_cb)
tab.connect("cell-fadeinout-stopped", self.after_fadeout_checkin_include)
label = gtk.Label(page['name'])
self.ins.append_page(tab, label)
self.ins.append_page(tab, page['name'])
self.tables.append(tab)
self.ins.set_entry("Search packages:")
@@ -183,7 +197,7 @@ class PackageSelectionPage (HobPage):
image_total_size += (51200 * 1024)
image_total_size_str = HobPage._size_to_string(image_total_size)
self.label.set_text("Packages included: %s\nSelected packages size: %s\nTotal image size: %s" %
self.label.set_label("Packages included: %s\nSelected packages size: %s\nTotal image size: %s" %
(selected_packages_num, selected_packages_size_str, image_total_size_str))
self.ins.show_indicator_icon("Included", selected_packages_num)
@@ -201,7 +215,7 @@ class PackageSelectionPage (HobPage):
self.refresh_selection()
if not self.builder.customized:
self.builder.customized = True
self.builder.configuration.selected_image = self.recipe_model.__dummy_image__
self.builder.configuration.selected_image = self.recipe_model.__custom_image__
self.builder.rcppkglist_populated()
self.builder.window_sensitive(True)
@@ -247,3 +261,20 @@ class PackageSelectionPage (HobPage):
def after_fadeout_checkin_include(self, table, ctrl, cell, tree):
tree.set_model(self.package_model.tree_model(self.pages[0]['filter']))
tree.expand_all()
def foreach_cell_change_font(self, model, path, iter, paths=None):
# Changed the font for a group cells
if path and iter and path[0] == paths[0]:
self.package_model.set(iter, self.package_model.COL_FONT, "bold")
else:
if iter and model.iter_parent(iter) == None:
self.package_model.set(iter, self.package_model.COL_FONT, '11')
else:
self.package_model.set(iter, self.package_model.COL_FONT, '10')
def table_selected_cb(self, selection):
model, paths = selection.get_selected_rows()
if paths:
child_path = self.package_model.convert_vpath_to_path(model, paths[0])
self.package_model.foreach(self.foreach_cell_change_font, child_path)

View File

@@ -125,11 +125,17 @@ class PersistentTooltip(gtk.Window):
style.fg[gtk.STATE_NORMAL] = gtk.gdk.color_parse(val)
self.label.set_style(style)
break # we only care for the tooltip_fg_color
self.label.set_markup(markup)
self.label.show()
bin.add(self.label)
hbox.pack_end(bin, True, True, 6)
# add the original URL display for user reference
if 'a href' in markup:
hbox.set_tooltip_text(self.get_markup_url(markup))
hbox.show()
self.connect("key-press-event", self._catch_esc_cb)
"""
@@ -165,3 +171,16 @@ class PersistentTooltip(gtk.Window):
def hide(self):
self.shown = False
gtk.Window.hide(self)
"""
Called to get the hyperlink URL from markup text.
"""
def get_markup_url(self, markup):
url = "http:"
if markup and type(markup) == str:
s = markup
if 'http:' in s:
import re
url = re.search('(http:[^,\\ "]+)', s).group(0)
return url

View File

@@ -134,8 +134,14 @@ class RecipeSelectionPage (HobPage):
# create visual elements
self.create_visual_elements()
def included_clicked_cb(self, button):
self.ins.set_current_page(0)
def create_visual_elements(self):
self.label = gtk.Label()
self.label = gtk.Button('Recipes included: 0')
self.label.set_can_default(False)
self.label.set_relief(gtk.RELIEF_HALF)
self.label.connect("clicked", self.included_clicked_cb)
self.eventbox = self.add_onto_top_bar(self.label, 73)
self.pack_start(self.eventbox, expand=False, fill=False)
self.pack_start(self.group_align, expand=True, fill=True)
@@ -153,10 +159,7 @@ class RecipeSelectionPage (HobPage):
if page['name'] == "Included":
tab.connect("button-release-event", self.button_click_cb)
tab.connect("cell-fadeinout-stopped", self.after_fadeout_checkin_include)
label = gtk.Label(page['name'])
label.set_selectable(False)
label.set_tooltip_text(page['tooltip'])
self.ins.append_page(tab, label)
self.ins.append_page(tab, page['name'], page['tooltip'])
self.tables.append(tab)
self.ins.set_entry("Search recipes:")
@@ -202,7 +205,7 @@ class RecipeSelectionPage (HobPage):
def refresh_selection(self):
self.builder.configuration.selected_image = self.recipe_model.get_selected_image()
_, self.builder.configuration.selected_recipes = self.recipe_model.get_selected_recipes()
self.label.set_text("Recipes included: %s" % len(self.builder.configuration.selected_recipes))
self.label.set_label("Recipes included: %s" % len(self.builder.configuration.selected_recipes))
self.ins.show_indicator_icon("Included", len(self.builder.configuration.selected_recipes))
def toggle_item_idle_cb(self, path, view_tree, cell, pagename):
@@ -219,7 +222,7 @@ class RecipeSelectionPage (HobPage):
self.refresh_selection()
if not self.builder.customized:
self.builder.customized = True
self.builder.configuration.selected_image = self.recipe_model.__dummy_image__
self.builder.configuration.selected_image = self.recipe_model.__custom_image__
self.builder.rcppkglist_populated()
self.builder.window_sensitive(True)

View File

@@ -101,7 +101,19 @@ class HobTemplateFile(ConfigFile):
return self.dictionary[var]
else:
return ""
def getVersion(self):
contents = ConfigFile.readFile(self)
pattern = "^\s*(\S+)\s*=\s*(\".*?\")"
for line in contents:
match = re.search(pattern, line)
if match:
if match.group(1) == "VERSION":
return match.group(2).strip('"')
return None
def load(self):
contents = ConfigFile.readFile(self)
self.dictionary.clear()
@@ -174,6 +186,9 @@ class TemplateMgr(gobject.GObject):
self.image_bb.save()
self.template_hob.save()
def getVersion(self, path):
return HobTemplateFile(path).getVersion()
def load(self, path):
self.template_hob = HobTemplateFile(path)
self.dictionary = self.template_hob.load()

View File

@@ -22,6 +22,7 @@
# bitbake which will allow more flexibility.
import os
import bb
def which_terminal():
term = bb.utils.which(os.environ["PATH"], "xterm")

View File

@@ -30,7 +30,7 @@ try:
pygtk.require('2.0') # to be certain we don't have gtk+ 1.x !?!
gtkver = gtk.gtk_version
pygtkver = gtk.pygtk_version
if gtkver < (2, 18, 0) or pygtkver < (2, 16, 0):
if gtkver < (2, 20, 0) or pygtkver < (2, 21, 0):
sys.exit("%s,\nYou have Gtk+ %s and PyGtk %s." % (requirements,
".".join(map(str, gtkver)),
".".join(map(str, pygtkver))))

View File

@@ -106,4 +106,4 @@ class TerminalFilter2(object):
self.termios.tcsetattr(fd, self.termios.TCSADRAIN, self.stdinbackup)
def main(server, eventHandler):
bb.ui.knotty.main(server, eventHandler, TerminalFilter2)
return bb.ui.knotty.main(server, eventHandler, TerminalFilter2)

View File

@@ -47,7 +47,7 @@
from __future__ import division
import logging
import os, sys, curses, itertools, time
import os, sys, curses, itertools, time, subprocess
import bb
import xmlrpclib
from bb import ui
@@ -286,7 +286,7 @@ class NCursesUI:
# bb.error("log data follows (%s)" % logfile)
# number_of_lines = data.getVar("BBINCLUDELOGS_LINES", d)
# if number_of_lines:
# os.system('tail -n%s %s' % (number_of_lines, logfile))
# subprocess.call('tail -n%s %s' % (number_of_lines, logfile), shell=True)
# else:
# f = open(logfile, "r")
# while True:

View File

@@ -108,130 +108,10 @@ def vercmp(ta, tb):
r = vercmp_part(ra, rb)
return r
_package_weights_ = {"pre":-2, "p":0, "alpha":-4, "beta":-3, "rc":-1} # dicts are unordered
_package_ends_ = ["pre", "p", "alpha", "beta", "rc", "cvs", "bk", "HEAD" ] # so we need ordered list
def relparse(myver):
"""Parses the last elements of a version number into a triplet, that can
later be compared.
"""
number = 0
p1 = 0
p2 = 0
mynewver = myver.split('_')
if len(mynewver) == 2:
# an _package_weights_
number = float(mynewver[0])
match = 0
for x in _package_ends_:
elen = len(x)
if mynewver[1][:elen] == x:
match = 1
p1 = _package_weights_[x]
try:
p2 = float(mynewver[1][elen:])
except:
p2 = 0
break
if not match:
# normal number or number with letter at end
divider = len(myver)-1
if myver[divider:] not in "1234567890":
# letter at end
p1 = ord(myver[divider:])
number = float(myver[0:divider])
else:
number = float(myver)
else:
# normal number or number with letter at end
divider = len(myver)-1
if myver[divider:] not in "1234567890":
#letter at end
p1 = ord(myver[divider:])
number = float(myver[0:divider])
else:
number = float(myver)
return [number, p1, p2]
__vercmp_cache__ = {}
def vercmp_string(val1, val2):
"""This takes two version strings and returns an integer to tell you whether
the versions are the same, val1>val2 or val2>val1.
"""
# quick short-circuit
if val1 == val2:
return 0
valkey = val1 + " " + val2
# cache lookup
try:
return __vercmp_cache__[valkey]
try:
return - __vercmp_cache__[val2 + " " + val1]
except KeyError:
pass
except KeyError:
pass
# consider 1_p2 vc 1.1
# after expansion will become (1_p2,0) vc (1,1)
# then 1_p2 is compared with 1 before 0 is compared with 1
# to solve the bug we need to convert it to (1,0_p2)
# by splitting _prepart part and adding it back _after_expansion
val1_prepart = val2_prepart = ''
if val1.count('_'):
val1, val1_prepart = val1.split('_', 1)
if val2.count('_'):
val2, val2_prepart = val2.split('_', 1)
# replace '-' by '.'
# FIXME: Is it needed? can val1/2 contain '-'?
val1 = val1.split("-")
if len(val1) == 2:
val1[0] = val1[0] + "." + val1[1]
val2 = val2.split("-")
if len(val2) == 2:
val2[0] = val2[0] + "." + val2[1]
val1 = val1[0].split('.')
val2 = val2[0].split('.')
# add back decimal point so that .03 does not become "3" !
for x in xrange(1, len(val1)):
if val1[x][0] == '0' :
val1[x] = '.' + val1[x]
for x in xrange(1, len(val2)):
if val2[x][0] == '0' :
val2[x] = '.' + val2[x]
# extend varion numbers
if len(val2) < len(val1):
val2.extend(["0"]*(len(val1)-len(val2)))
elif len(val1) < len(val2):
val1.extend(["0"]*(len(val2)-len(val1)))
# add back _prepart tails
if val1_prepart:
val1[-1] += '_' + val1_prepart
if val2_prepart:
val2[-1] += '_' + val2_prepart
# The above code will extend version numbers out so they
# have the same number of digits.
for x in xrange(0, len(val1)):
cmp1 = relparse(val1[x])
cmp2 = relparse(val2[x])
for y in xrange(0, 3):
myret = cmp1[y] - cmp2[y]
if myret != 0:
__vercmp_cache__[valkey] = myret
return myret
__vercmp_cache__[valkey] = 0
return 0
def vercmp_string(a, b):
ta = split_version(a)
tb = split_version(b)
return vercmp(ta, tb)
def explode_deps(s):
"""
@@ -841,6 +721,8 @@ def which(path, item, direction = 0):
for p in paths:
next = os.path.join(p, item)
if os.path.exists(next):
if not os.path.isabs(next):
next = os.path.abspath(next)
return next
return ""

View File

@@ -82,7 +82,8 @@ ALLPREQ = html pdf tarball
#
# Note that the tarfile might produce the "Cannot stat: No such file or directory" error
# message for .PNG files that are not present when building a particular branch. The
# list of files is all-inclusive for all branches.
# list of files is all-inclusive for all branches. Note, if you don't provide a BRANCH
# option, it defaults to the latest stuff. This would be appropriate for "master" branch.
#
ifeq ($(BRANCH),edison)
@@ -94,13 +95,22 @@ TARFILES = style.css dev-manual.html dev-manual.pdf \
figures/kernel-overview-3-edison.png \
figures/source-repos.png figures/yp-download.png \
figures/wip.png
else
else ifeq ($(BRANCH),denzil)
TARFILES = style.css dev-manual.html dev-manual.pdf \
figures/app-dev-flow.png figures/bsp-dev-flow.png figures/dev-title.png \
figures/git-workflow.png figures/index-downloads.png figures/kernel-dev-flow.png \
figures/kernel-example-repos.png \
figures/kernel-example-repos-denzil.png \
figures/kernel-overview-1.png figures/kernel-overview-2.png \
figures/kernel-overview-3.png \
figures/kernel-overview-3-denzil.png \
figures/source-repos.png figures/yp-download.png \
figures/wip.png
else
TARFILES = style.css dev-manual.html dev-manual.pdf \
figures/app-dev-flow.png figures/bsp-dev-flow.png figures/dev-title.png \
figures/git-workflow.png figures/index-downloads.png figures/kernel-dev-flow.png \
figures/kernel-example-repos-denzil.png \
figures/kernel-overview-1.png figures/kernel-overview-2.png \
figures/kernel-overview-3-denzil.png \
figures/source-repos.png figures/yp-download.png \
figures/wip.png
endif
@@ -195,7 +205,7 @@ validate:
publish:
scp -r $(MANUALS) $(STYLESHEET) www.yoctoproject.org:/srv/www/www.yoctoproject.org-docs/$(VER)/$(DOC)
cd $(DOC); scp -r $(FIGURES) www.yoctoproject.org:/srv/www/www.yoctoproject.org-docs/$(VER)/$(DOC)/figures
cd $(DOC); scp -r $(FIGURES) www.yoctoproject.org:/srv/www/www.yoctoproject.org-docs/$(VER)/$(DOC)
clean:
rm -f $(MANUALS)

View File

@@ -35,6 +35,11 @@
<listitem><para>Install the Eclipse Yocto Plug-in.</para></listitem>
<listitem><para>Configure the Eclipse Yocto Plug-in.</para></listitem>
</orderedlist>
<note>
Do not install Eclipse from your distribution's package repository.
Be sure to install Eclipse from the official Eclipse download site as directed
in the next section.
</note>
</para>
<section id='installing-eclipse-ide'>
@@ -59,7 +64,7 @@
into a clean directory using the default name <filename>eclipse</filename>:
<literallayout class='monospaced'>
$ cd ~
$ tar -xzvf ~/Downloads/eclipse-SDK-3.7.1-linux-gtk-x86_64.tar.gz
$ tar -xzvf ~/Downloads/eclipse-SDK-3.7.2-linux-gtk-x86_64.tar.gz
</literallayout>
</para>

View File

@@ -49,6 +49,11 @@
<date>April 2012</date>
<revremark>Released with the Yocto Project 1.2 Release.</revremark>
</revision>
<revision>
<revnumber>1.3</revnumber>
<date>Sometime in 2012</date>
<revremark>Released with the Yocto Project 1.3 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -61,6 +61,11 @@
<date>April 2012</date>
<revremark>Released with the Yocto Project 1.2 Release.</revremark>
</revision>
<revision>
<revnumber>1.3</revnumber>
<date>Sometime in 2012</date>
<revremark>Released with the Yocto Project 1.3 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -46,7 +46,7 @@
Alternatively, you can start with the downloaded Poky "&DISTRO_NAME;" tarball.
These commands unpack the tarball into a Yocto Project File directory structure.
By default, the top-level directory of the file structure is named
<filename>poky-&YOCTO_POKY;</filename>:
<filename>&YOCTO_POKY;</filename>:
<literallayout class='monospaced'>
$ tar xfj &YOCTO_POKY_TARBALL;
$ cd &YOCTO_POKY;
@@ -67,7 +67,7 @@
and keep changes in revision control.
See the
"<link linkend='repositories-tags-and-branches'>Repositories, Tags, and Branches</link>" section
for more discussion around these differneces.</para></note>
for more discussion around these differences.</para></note>
</para>
<para>
@@ -133,7 +133,8 @@
<para>
You need to have the base BSP layer on your development system.
Similar to the local Yocto Project files, you can get the BSP
Similar to the local <link linkend='yocto-project-files'>Yocto Project Files</link>,
you can get the BSP
layer in a couple of different ways:
download the BSP tarball and extract it, or set up a local Git repository that
has the Yocto Project BSP layers.
@@ -164,11 +165,11 @@
<ulink url='&YOCTO_HOME_URL;/download'>Download</ulink> page of the
Yocto Project website.
Here is the specific link for the tarball needed for this example:
<ulink url='&YOCTO_MACHINES_DL_URL;/crownbay-noemgd/crownbay-noemgd-&DISTRO_NAME;-6.0.0.tar.bz2'></ulink>.
<ulink url='&YOCTO_MACHINES_DL_URL;/crownbay-noemgd/crownbay-noemgd-&DISTRO_NAME;-&POKYVERSION;.tar.bz2'></ulink>.
Again, be sure that you are already in the <filename>poky</filename> directory
as described previously before installing the tarball:
<literallayout class='monospaced'>
$ tar xfj crownbay-noemgd-&DISTRO_NAME;-6.0.0.tar.bz2
$ tar xfj crownbay-noemgd-&DISTRO_NAME;-&POKYVERSION;.tar.bz2
$ cd meta-intel
</literallayout>
</para>
@@ -185,6 +186,7 @@
For this example we are going to use the <filename>&DISTRO_NAME;</filename> branch.
<literallayout class='monospaced'>
$ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
Branch &DISTRO_NAME; set up to track remote branch &DISTRO_NAME; from origin.
Switched to a new branch '&DISTRO_NAME;'
</literallayout>
</para>
@@ -261,10 +263,10 @@
<para>
Note that inside the <filename>mymachine.conf</filename> is the
<filename>PREFERRED_PROVIDER_virtual/kernel</filename> statement.
<filename>PREFERRED_VERSION_linux-yocto</filename> statement.
This statement identifies the kernel that the BSP is going to use.
In this case, the BSP is using <filename>linux-yocto</filename>, which is the
current Linux Yocto kernel based on the Linux 3.0 release.
current Linux Yocto kernel based on the Linux 3.2 release.
</para>
<para>
@@ -283,6 +285,8 @@
BBFILE_COLLECTIONS += "crownbay"
BBFILE_PATTERN_crownbay := "^${LAYERDIR}/"
BBFILE_PRIORITY_crownbay = "6"
LAYERDEPENDS_crownbay = "intel"
</literallayout>
</para>
@@ -293,6 +297,8 @@
BBFILE_COLLECTIONS += "mymachine"
BBFILE_PATTERN_mymachine := "^${LAYERDIR}/"
BBFILE_PRIORITY_mymachine = "6"
LAYERDEPENDS_mymachine = "intel"
</literallayout>
</para>
</section>
@@ -391,7 +397,7 @@
The recipe for that kernel is not located in the
BSP layer but rather in the local Yocto Project files at
<filename>meta/recipes-kernel/linux</filename> and is
named <filename>linux-yocto_3.0.bb</filename>.
named <filename>linux-yocto_3.2.bb</filename>.
The <filename>SRCREV_machine</filename> and <filename>SRCREV_meta</filename>
statements point to the exact commits used by the Yocto Project development team
in their source repositories that identify the right kernel for our hardware.
@@ -404,7 +410,7 @@
<para>
However, in the <filename>meta-mymachine</filename> layer in
<filename>recipes-kernel/linux</filename> resides a <filename>.bbappend</filename>
file named <filename>linux-yocto_3.0.bbappend</filename> that
file named <filename>linux-yocto_3.2.bbappend</filename> that
appends information to the recipe of the same name in <filename>meta/recipes-kernel/linux</filename>.
Thus, the <filename>SRCREV</filename> statements in the append file override
the more general statements found in <filename>meta</filename>.
@@ -413,17 +419,20 @@
<para>
The <filename>SRCREV</filename> statements in the append file currently identify
the kernel that supports the Crown Bay BSP with and without EMGD support.
Here are the statements:
Here are the statements:
<note>The commit ID strings used in this manual might not match the actual commit
ID strings found in the <filename>linux-yocto_3.2.bbappend</filename> file.
For the example, this difference does not matter.</note>
<literallayout class='monospaced'>
SRCREV_machine_pn-linux-yocto_crownbay ?= \
"2247da9131ea7e46ed4766a69bb1353dba22f873"
"211fc7f4d10ec2b82b424286aabbaff9254b7cbd"
SRCREV_meta_pn-linux-yocto_crownbay ?= \
"d05450e4aef02c1b7137398ab3a9f8f96da74f52"
"514847185c78c07f52e02750fbe0a03ca3a31d8f"
SRCREV_machine_pn-linux-yocto_crownbay-noemgd ?= \
"2247da9131ea7e46ed4766a69bb1353dba22f873"
"211fc7f4d10ec2b82b424286aabbaff9254b7cbd"
SRCREV_meta_pn-linux-yocto_crownbay-noemgd ?= \
"d05450e4aef02c1b7137398ab3a9f8f96da74f52"
"514847185c78c07f52e02750fbe0a03ca3a31d8f"
</literallayout>
</para>
@@ -438,7 +447,7 @@
</para>
<para>
To fix this situation in <filename>linux-yocto_3.0.bbappend</filename>,
To fix this situation in <filename>linux-yocto_3.2.bbappend</filename>,
we delete the two <filename>SRCREV</filename> statements that support
EMGD (the top pair).
We also change the remaining pair to specify <filename>mymachine</filename>
@@ -450,7 +459,7 @@
that are associated with the &DISTRO_NAME; release.
To find those values, we need to find the <filename>SRCREV</filename>
values that &DISTRO_NAME; uses for the atom-pc branch, which we find in the
<filename>poky/meta-yocto/recipes-kernel/linux/linux-yocto_3.0.bbappend</filename>
<filename>poky/meta-yocto/recipes-kernel/linux/linux-yocto_3.2.bbappend</filename>
file.
</para>
@@ -459,16 +468,14 @@
<filename>SRCREV_machine_atom-pc</filename> variable.
The meta <filename>SRCREV</filename> isn't specified in this file, so it must be
specified in the base kernel recipe in the
<filename>poky/meta/recipes-kernel/linux/linux-yocto_3.0.bb</filename>
file, in the <filename>SRCREV_meta variable</filename> found there.
It happens to be the same as the value we already inherited from the
<filename>meta-crownbay</filename> BSP.
<filename>poky/meta/recipes-kernel/linux/linux-yocto_3.2.bb</filename>
file, in the <filename>SRCREV_meta</filename> variable found there.
Here are the final <filename>SRCREV</filename> statements:
<literallayout class='monospaced'>
SRCREV_machine_pn-linux-yocto_mymachine ?= \
"1e18e44adbe79b846e382370eb29bc4b8cd5a1a0"
SRCREV_meta_pn-linux-yocto_mymachine ?= \
"d05450e4aef02c1b7137398ab3a9f8f96da74f52"
SRCREV_machine_pn-linux-yocto_mymachine ?= \
"f29531a41df15d74be5ad47d958e4117ca9e489e"
SRCREV_meta_pn-linux-yocto_mymachine ?= \
"b14a08f5c7b469a5077c10942f4e1aec171faa9d"
</literallayout>
</para>
@@ -484,19 +491,19 @@
exact commit strings in the Yocto Project source repositories you need to change
the <filename>SRCREV</filename> statements.
You can find all the <filename>machine</filename> and <filename>meta</filename>
branch points (commits) for the <filename>linux-yocto-3.0</filename> kernel at
<ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/linux-yocto-3.0'></ulink>.
branch points (commits) for the <filename>linux-yocto-3.2</filename> kernel at
<ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/linux-yocto-3.2'></ulink>.
</para>
<para>
If you need a little more assistance after going to the link then do the following:
<orderedlist>
<listitem><para>Expand the list of branches by clicking <filename>[…]</filename></para></listitem>
<listitem><para>Click on the <filename>yocto/standard/common-pc/atom-pc</filename>
<listitem><para>Click on the <filename>standard/default/common-pc/atom-pc</filename>
branch</para></listitem>
<listitem><para>Click on the commit column header to view the top commit</para></listitem>
<listitem><para>Copy the commit string for use in the
<filename>linux-yocto_3.0.bbappend</filename> file</para></listitem>
<filename>linux-yocto_3.2.bbappend</filename> file</para></listitem>
</orderedlist>
</para>
@@ -507,32 +514,34 @@
</para>
<para>
Also in the <filename>linux-yocto_3.0.bbappend</filename> file are
Also in the <filename>linux-yocto_3.2.bbappend</filename> file are
<filename>COMPATIBLE_MACHINE</filename>, <filename>KMACHINE</filename>,
and <filename>KERNEL_FEATURES</filename> statements.
and <filename>KBRANCH</filename> statements.
Two sets of these exist: one set supports EMGD and one set does not.
Because we are not interested in supporting EMGD those three can be deleted.
The remaining three must be changed so that <filename>mymachine</filename> replaces
<filename>crownbay-noemgd</filename> and <filename>crownbay</filename>.
Because we are using the atom-pc branch for this new BSP, we can also find
the exact branch we need for the KMACHINE variable in our new BSP from the value
Because we are using the <filename>atom-pc</filename> branch for this new BSP, we can also find
the exact branch we need for the <filename>KMACHINE</filename>
and <filename>KBRANCH</filename> variables in our new BSP from the value
we find in the
<filename>poky/meta-yocto/recipes-kernel/linux/linux-yocto_3.0.bbappend</filename>
<filename>poky/meta-yocto/recipes-kernel/linux/linux-yocto_3.2.bbappend</filename>
file we looked at in a previous step.
In this case, the value we want is in the KMACHINE_atom-pc variable in that file.
Here is the final <filename>linux-yocto_3.0.bbappend</filename> file after all
In this case, the values we want are in the <filename>KMACHINE_atom-pc</filename> variable
and the <filename>KBRANCH_atom-pc</filename> variables in that file.
Here is the final <filename>linux-yocto_3.2.bbappend</filename> file after all
the edits:
<literallayout class='monospaced'>
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
COMPATIBLE_MACHINE_mymachine = "mymachine"
KMACHINE_mymachine = "yocto/standard/common-pc/atom-pc"
KERNEL_FEATURES_append_mymachine += " cfg/smp.scc"
KMACHINE_mymachine = "atom-pc"
KBRANCH_mymachine = "standard/default/common-pc/atom-pc"
SRCREV_machine_pn-linux-yocto_mymachine ?= \
"1e18e44adbe79b846e382370eb29bc4b8cd5a1a0"
"f29531a41df15d74be5ad47d958e4117ca9e489e"
SRCREV_meta_pn-linux-yocto_mymachine ?= \
"d05450e4aef02c1b7137398ab3a9f8f96da74f52"
"b14a08f5c7b469a5077c10942f4e1aec171faa9d"
</literallayout>
</para>
</section>
@@ -600,11 +609,12 @@
both the <filename>BB_NUMBER_THREADS</filename> and <filename>PARALLEL_MAKE</filename>
variables to twice the number of cores your system supports.</para></listitem>
<listitem><para>Update the <filename>bblayers.conf</filename> file so that it includes
the path to your new BSP layer.
In this example you need to include the pathname to <filename>meta-mymachine</filename>.
For this example the
<filename>BBLAYERS</filename> variable in the file would need to include the following path:
both the path to your new BSP layer and the path to the
<filename>meta-intel</filename> layer.
In this example, you need to include both these paths as part of the
<filename>BBLAYERS</filename> variable:
<literallayout class='monospaced'>
$HOME/poky/meta-intel
$HOME/poky/meta-intel/meta-mymachine
</literallayout></para></listitem>
</orderedlist>
@@ -687,7 +697,7 @@
If your sato image is much different from this,
you probably made a mistake in one of the above steps:
<literallayout class='monospaced'>
358715392 2011-11-01 19:11 core-image-sato-mymachine-20111101223904.hddimg
260538368 2012-04-27 01:44 core-image-sato-mymachine-20120427025051.hddimg
</literallayout>
<note>The previous instructions are also present in the README that was copied
from meta-crownbay, which should also be updated to reflect the specifics of your

View File

@@ -188,7 +188,8 @@
<listitem><para>Store custom layers in a Git repository that uses the
<filename>meta-&lt;layer_name&gt;</filename> format.</para></listitem>
<listitem><para>Clone the repository alongside other <filename>meta</filename>
directories in the Yocto Project source files area.</para></listitem>
directories in
<link linkend='yocto-project-files'>Yocto Project Files</link>.</para></listitem>
</itemizedlist>
Following these recommendations keeps your Yocto Project files area and
its configuration entirely inside the Yocto Project's core base.
@@ -269,14 +270,14 @@
append file both from the
<link linkend='yocto-project-files'>Yocto Project Files</link>.
Here is the main formfactor recipe, which is named <filename>formfactor_0.0.bb</filename> and
located in the meta layer at <filename>meta/bsp-recipes/formfactor</filename>:
located in the meta layer at <filename>meta/recipes-bsp/formfactor</filename>:
<literallayout class='monospaced'>
DESCRIPTION = "Device formfactor information"
SECTION = "base"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
PR = "r19"
file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
PR = "r20"
SRC_URI = "file://config file://machconfig"
S = "${WORKDIR}"
@@ -290,11 +291,12 @@
install -m 0644 ${S}/config ${D}${sysconfdir}/formfactor/
if [ -s "${S}/machconfig" ]; then
install -m 0644 ${S}/machconfig ${D}${sysconfdir}/formfactor/
fi
fi
}
</literallayout>
Here is the append file, which is named <filename>formfactor_0.0.bbappend</filename> and is from the
Crown Bay BSP Layer named <filename>meta-intel/meta-crownbay</filename>:
Crown Bay BSP Layer named <filename>meta-intel/meta-crownbay</filename>.
The file is in <filename>recipes-bsp/formfactor</filename>:
<literallayout class='monospaced'>
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
@@ -477,12 +479,12 @@
</para>
<para>
The other method for creating a custom image is to modify an existing image.
For example, if a developer wants to add <filename>strace</filename> into
the <filename>core-image-sato</filename> image, they can use the following recipe:
The other method for creating a custom image is to base it on an existing image.
For example, if you want to create an image based on <filename>core-image-sato</filename>
but add the additional package <filename>strace</filename> to the image,
copy the <filename>meta/recipes-sato/images/core-image-sato.bb</filename> to a
new <filename>.bb</filename> and add the following line to the end of the copy:
<literallayout class='monospaced'>
require core-image-sato.bb
IMAGE_INSTALL += "strace"
</literallayout>
</para>
@@ -748,7 +750,7 @@
The variable
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-LIC_FILES_CHKSUM'>LIC_FILES_CHKSUM</ulink></filename>
is used to track source license changes as described in the
"<ulink url='&YOCTO_DOCS_REF_URL;#usingpoky-configuring-LIC_FILES_CHKSUM'>Track License Change</ulink>" section.
"<ulink url='&YOCTO_DOCS_REF_URL;#usingpoky-configuring-LIC_FILES_CHKSUM'>Track License Changes</ulink>" section.
You can quickly create Autotool-based recipes in a manner similar to the previous example.
</para>
</section>
@@ -953,7 +955,7 @@
<filename>postinst</filename> script.
Normally
<filename><ulink url='&YOCTO_DOCS_REF_URL;#var-PN'>PN</ulink></filename>
can be used, which automatically expands to PACKAGENAME.
can be used, which automatically expands to <filename>PACKAGENAME</filename>.
A post-installation function has the following structure:
<literallayout class='monospaced'>
pkg_postinst_PACKAGENAME () {

View File

@@ -127,6 +127,14 @@
<ulink url='&YOCTO_HOME_URL;/download/yocto/yocto-project-1.1-release-notes-poky-&POKYVERSION;'>
Release Notes</ulink>:</emphasis> Features, updates and known issues for the current
release of the Yocto Project.</para></listitem>
<listitem><para><emphasis>
<ulink url='&YOCTO_HOME_URL;/projects/hob'>
Hob</ulink>:</emphasis> A graphical user interface for BitBake.
Hob's primary goal is to enable a user to perform common tasks more easily.</para></listitem>
<listitem><para><emphasis>
<ulink url='&YOCTO_HOME_URL;/documentation/build-appliance'>
Build Appliance</ulink>:</emphasis> Allows you to build and boot a custom embedded Linux
image with the Yocto Project using a non-Linux development system.</para></listitem>
<listitem><para><emphasis>
<ulink url='&YOCTO_BUGZILLA_URL;'>Bugzilla</ulink>:</emphasis>
The bug tracking application the Yocto Project uses.

View File

@@ -71,7 +71,7 @@
</para>
<para>
<imagedata fileref="figures/kernel-example-repos.png" width="7in" depth="5in"
<imagedata fileref="figures/kernel-example-repos-denzil.png" width="7in" depth="5in"
align="center" scale="100" />
</para>
@@ -202,9 +202,10 @@
The following commands create and checkout the branch:
<literallayout class='monospaced'>
$ cd ~/my-linux-yocto-3.2-work
$ git checkout -b common-pc-base origin/yocto/standard/common-pc/base
$ git checkout -b common-pc-base origin/standard/default/common-pc/base
Checking out files: 100% (532/532), done.
Branch common-pc-base set up to track remote branch
yocto/standard/common-pc/base from origin.
standard/default/common-pc/base from origin.
Switched to a new branch 'common-pc-base'
</literallayout>
</para>
@@ -307,10 +308,11 @@
<literallayout class='monospaced'>
void __cpuinit calibrate_delay(void)
{
unsigned long lpj;
static bool printed;
unsigned long lpj;
static bool printed;
int this_cpu = smp_processor_id();
if (preset_lpj) {
if (per_cpu(cpu_loops_per_jiffy, this_cpu)) {
.
.
.
@@ -319,19 +321,21 @@
<para>
Here is the altered code showing five new <filename>printk</filename> statements
just after initializing <filename>lps_precision</filename>:
near the top of the function:
<literallayout class='monospaced'>
void __cpuinit calibrate_delay(void)
{
unsigned long lpj;
static bool printed;
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 (preset_lpj) {
if (per_cpu(cpu_loops_per_jiffy, this_cpu)) {
.
.
.
@@ -357,7 +361,7 @@
<para>
The following command pushes the changes to the bare clone:
<literallayout class='monospaced'>
$ git push origin common-pc-base:yocto/standard/common-pc/base
$ git push origin common-pc-base:standard/default/common-pc/base
</literallayout>
</para>
</section>
@@ -416,7 +420,7 @@
"
</literallayout></para></listitem>
<listitem><para><emphasis>Identify Your Source Files:</emphasis> In the
<filename>linux-yocto_3.0.bbappend</filename> file located in the
<filename>linux-yocto_3.2.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
@@ -426,27 +430,31 @@
following statement.
Be sure to substitute your user information in the statement:
<literallayout class='monospaced'>
KSRC_linux_yocto ?= /home/scottrif/linux-yocto-3.2.git
KSRC_linux_yocto_3_2 ?= "/home/scottrif/linux-yocto-3.2.git"
</literallayout></para></listitem>
<listitem><para><emphasis>Specify the Kernel Machine:</emphasis> Also in the
<filename>linux-yocto_3.0.bbappend</filename> file, you need to specify
<!-- <listitem><para><emphasis>Specify the Kernel Machine:</emphasis> Also in the
<filename>linux-yocto_3.2.bbappend</filename> file, you need to specify
the kernel machine with the following statement:
<literallayout class='monospaced'>
KMACHINE_qemux86 = "yocto/standard/common-pc/base"
</literallayout></para></listitem>
KMACHINE_qemux86 = "standard/default/common-pc/base"
</literallayout></para></listitem> -->
</itemizedlist>
</para>
<note>
Before attempting to build the modified kernel, there is one more set of changes you
<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.
Alternatively, you can simply remove all the files
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.0.bbappend</filename> in this example).
(i.e. <filename>linux-yocto_3.2.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>
@@ -505,8 +513,8 @@
<title>Changing the Kernel Configuration</title>
<para>
This example changes the default behavior, which is "off", of the Symmetric
Multi-processing Support (<filename>CONFIG_SMP</filename>) to "on".
This example changes the default behavior, which is "on", of the Symmetric
Multi-processing Support (<filename>CONFIG_SMP</filename>) to "off".
It is a simple example that demonstrates how to reconfigure the kernel.
</para>
@@ -518,9 +526,9 @@
in "<link linkend='modifying-the-kernel-source-code'>Modifying the Kernel Source
Code</link>" you should already have the Yocto Project files set up on your
host machine.
If this is the case, go to then next section titled
If this is the case, go to the next section, which is titled
"<link linkend='examining-the-default-config-smp-behavior'>Examining the Default
<filename>CONFIG_SMP</filename> Behavior</link>" and continue with the
<filename>CONFIG_SMP</filename> Behavior</link>", and continue with the
example.
</para>
@@ -529,7 +537,7 @@
you can get them through tarball extraction or by
cloning the <filename>poky</filename> Git repository.
This example uses <filename>poky</filename> as the root directory of the
local Yocto Project files Git repository.
local <link linkend='yocto-project-files'>Yocto Project Files</link> Git repository.
See the bulleted item
"<link linkend='local-yp-release'>Yocto Project Release</link>"
for information on how to get these files.
@@ -612,11 +620,11 @@
<title>Examining the Default&nbsp;&nbsp;<filename>CONFIG_SMP</filename> Behavior</title>
<para>
By default, <filename>CONFIG_SMP</filename> supports single processor machines.
By default, <filename>CONFIG_SMP</filename> supports multiple processor machines.
To see this default setting from within the QEMU emulator, boot your image using
the emulator as follows:
<literallayout class='monospaced'>
$ runqemu qemux86 qemuparams="-smp 2"
$ runqemu qemux86 qemuparams="-smp 4"
</literallayout>
</para>
@@ -624,11 +632,25 @@
Login to the machine using <filename>root</filename> with no password.
After logging in, enter the following command to see how many processors are
being supported in the emulator.
The emulator reports support for a single processor:
The emulator reports support for the number of processors you specified using
the <filename>-smp</filename> option, four in this case:
<literallayout class='monospaced'>
# cat /proc/cpuinfo | grep processor
processor : 0
processor : 1
processor : 2
processor : 3
#
</literallayout>
To check the setting for <filename>CONFIG_SMP</filename>, you can use the
following command:
<literallayout class='monospaced'>
zcat /proc/config.gz | grep CONFIG_SMP
</literallayout>
The console returns the following showing that multi-processor machine support
is set:
<literallayout class='monospaced'>
CONFIG_SMP=y
</literallayout>
Logout of the emulator using the <filename>exit</filename> command and
then close it down.
@@ -658,11 +680,21 @@
kernel.
The Yocto Project build environment recognizes this kernel as
<filename>linux-yocto</filename>.
Thus, the following command from the shell in which you previously sourced the
environment initialization script launches <filename>menuconfig</filename>:
Thus, the following commands from the shell in which you previously sourced the
environment initialization script cleans the shared state memory and the
<ulink url='&YOCTO_DOCS_REF_URL;#var-WORKDIR'><filename>WORKDIR</filename></ulink>
directory and then builds and launches <filename>menuconfig</filename>:
<literallayout class='monospaced'>
$ bitbake linux-yocto -c cleansstate
$ bitbake linux-yocto -c menuconfig
</literallayout>
<note>
Due to a bug in the release, it is necessary to clean the shared state memory
in order for configurations made using <filename>menuconfig</filename> to take
effect.
For information on the bug, see
<ulink url='https://bugzilla.yoctoproject.org/show_bug.cgi?id=2256'></ulink>
</note>
</para>
<para>
@@ -671,7 +703,7 @@
You can find it at <filename>Processor Type and Features</filename>.
The configuration selection is
<filename>Symmetric Multi-processing Support</filename>.
After using the arrow keys to highlight this selection, press "y" to select it.
After using the arrow keys to highlight this selection, press "n" to turn it off.
Then, exit out and save your selections.
</para>
@@ -680,22 +712,25 @@
is updated.
This is the file that the build system uses to configure the Linux Yocto kernel
when it is built.
You can find and examine this file in the Yocto Project files Git repository in
You can find and examine this file in the Yocto Project Files Git repository in
the build directory.
This example uses the following.
Note that this example directory is artificially split and many of the characters
in the actually filename are omitted in order to make it more
readable:
This example uses the following:
<literallayout class='monospaced'>
~/poky/build/tmp/work/qemux86-poky-linux/linux-yocto-2.6.37+git1+84f...
...r20/linux-qemux86-standard-build
~/poky/build/tmp/work/qemux86-poky-linux/linux-yocto-3.2.11+git1+84f...
...656ed30-r1/linux-qemux86-standard-build
</literallayout>
<note>
The previous example directory is artificially split and many of the characters
in the actual filename are omitted in order to make it more readable.
Also, depending on the kernel you are using, the exact pathname might differ
slightly.
</note>
</para>
<para>
Within the <filename>.config</filename> file, you can see the following setting:
<literallayout class='monospaced'>
CONFIG_SMP=y
# CONFIG_SMP is not set
</literallayout>
</para>
@@ -731,9 +766,9 @@
</para>
<para>
Now run the QEMU emulator:
Now run the QEMU emulator and pass it the same multi-processor option as before:
<literallayout class='monospaced'>
$ runqemu qemux86 qemuparams="-smp 2"
$ runqemu qemux86 qemuparams="-smp 4"
</literallayout>
</para>
@@ -743,13 +778,22 @@
<literallayout class='monospaced'>
# cat /proc/cpuinfo | grep processor
processor : 0
processor : 1
#
</literallayout>
</para>
<para>
From the output, you can see that you have successfully reconfigured the kernel.
From the output, you can see that the kernel no longer supports multi-processor systems.
The output indicates support for a single processor. You can verify the
<filename>CONFIG_SMP</filename> setting by using this command:
<literallayout class='monospaced'>
zcat /proc/config.gz | grep CONFIG_SMP
</literallayout>
The console returns the following output:
<literallayout class='monospaced'>
# CONFIG_SMP is not set
</literallayout>
You have successfully reconfigured the kernel.
</para>
</section>
</section>
@@ -767,352 +811,8 @@
width="2in" depth="3in" align="center" scalefit="1" />
</para>
</section>
<!-- <section id='is-vfat-supported'>
<title>Is VFAT Supported?</title>
<para>
<literallayout class='monospaced'>
I entered runqemu qemux86 and it fires upthis fires up the emulator and uses the
image and filesystem in the build area created in the previous section.
Then I copied over a pre-created and formated 5.2MB VFAT file named vfat.img.
I did this with scp vfat.img root@192.168.7.2:
The file is in the root directory.
I had to do this because the mkfs.vfat vfat.img command does not work.
mkfs is not recognized in the qemu terminal session.
when I try mount -o loop -t vfat vfat.img mnt/ I get the error
mount: can't set up loop device: No space left on device.
This error is because the loop module is not currently in the kernel image.
However, this module is available in the
build area in the tarball modules-2.6.37.6-yocto-starndard+-20-qemux86.tgz.
You can add this to the kernel image by adding the
IMAGE_INSTALL += " kernel-module-loop" statement at the top of the local.conf
file in the build area and then rebuilding the kernel using bitbake.
It should just build whatever is necessary and not go through an entire build again.
The <filename>menuconfig</filename> tool provides an interactive method with which
to set kernel configurations.
In order to use <filename>menuconfig</filename> from within the BitBake environment
you need to source an environment setup script.
This script is located in the local Yocto Project file structure and is called
<filename>oe-init-build-env</filename>.
</para>
<para>
The following command sets up the environment:
<literallayout class='monospaced'>
$ cd ~/poky
$ source oe-init-build-env
$ runqemu qemux86
Continuing with the following parameters:
KERNEL: [/home/scottrif/poky/build/tmp/deploy/images/bzImage-qemux86.bin]
ROOTFS: [/home/scottrif/poky/build/tmp/deploy/images/core-image-sato-qemux86.ext3]
FSTYPE: [ext3]
Setting up tap interface under sudo
Acquiring lockfile for tap0...
WARNING: distccd not present, no distcc support loaded.
Running qemu...
/home/scottrif/poky/build/tmp/sysroots/x86_64-linux/usr/bin/qemu
-kernel /home/scottrif/poky/build/tmp/deploy/images/bzImage-qemux86.bin
-net nic,vlan=0 -net tap,vlan=0,ifname=tap0,script=no,downscript=no
-hda /home/scottrif/poky/build/tmp/deploy/images/core-image-sato-qemux86.ext3
-show-cursor -usb -usbdevice wacom-tablet -vga vmware -enable-gl -no-reboot
-m 128 &dash;&dash;append "vga=0 root=/dev/hda rw mem=128M ip=192.168.7.2::192.168.7.1:255.255.255.0 oprofile.timer=1 "
Enabling opengl
vmsvga_value_write: guest runs Linux.
</literallayout>
</para>
</section>
<section id='prepare-to-use-menuconfig'>
<title>Prepare to use <filename>menuconfig</filename></title>
<para>
[WRITER'S NOTE: Stuff from here down are crib notes]
</para>
<para>
Once menuconfig fires up you see all kinds of categories that you can interactively
investigate.
If they have an "M" in it then the feature is "modularized".
I guess that means that means that it needs to be manually linked in when the
kernel is booted??? (Not sure).
If they have an "*" then the feature is automatically part of the kernel.]
</para>
<para>
So the tmp/work/ area was created in poky and there is a .config file in there and
a .config.old file.
The old one must have been created when I exited from menuconfig after poking around
a bit.
Nope - appears to just be created automatically.
</para>
<para>
A good practice is to first determine what configurations you have for the kernel.
You can see the results by looking in the .config file in the build/tmp/work/qemux86-poky-linux area
of the local YP files.
There is a directory named linux-yocto-2.6.37* in the directory.
In that directory is a directory named linux-qemux86-standard-build.
In that directory you will find a file named .config that is the configuration file
for the kernel that will be used when you build the kernel.
You can open that file up and examine it.
If you do a search for "VFAT" you will see that that particular configuration is not
enabled for the kernel.
This means that you cannot print a VFAT text file, or for that matter, even mount one
from the image if you were to build it at this point.
</para>
<para>
You can prove the point by actually trying it at this point.
Here are the commands:
<literallayout class='monospaced'>
$ mkdir ~/vfat-test
$ cd ~/vfat-test
$ dd if=/dev/zero of=vfat.img bs=1024 count=5000 [creates a 5MB disk image]
5+0 records in
5+0 records out
5242880 bytes (5.2 MB) copied, 0.00798912 s, 656 MB/s
$ ls -lah [lists the contents of the new image. l=long, a=all, h=human readable]
total 5.1M
drwxr-xr-x 2 srifenbark scottrif 4.0K 2011-08-01 08:18 .
drwxr-xr-x 66 srifenbark scottrif 4.0K 2011-08-01 08:14 ..
-rw-r&dash;&dash;r&dash;&dash; 1 srifenbark scottrif 5.0M 2011-08-01 08:18 vfat.img
$ mkfs.vfat vfat.img [formats the disk image]
mkfs.vfat 3.0.7 (24 Dec 2009)
$ mkdir mnt [mounts the disk image]
$ sudo su [gives you root privilege]
# mount -o loop vfat.img mnt [mounts it as a loop device]
# ls mnt [shows nothing in mnt]
# mount [lists the mounted filesystems - note/dev/loop0]
/dev/sda1 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /dev type devtmpfs (rw,mode=0755)
none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
none on /dev/shm type tmpfs (rw,nosuid,nodev)
none on /var/run type tmpfs (rw,nosuid,mode=0755)
none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)
none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfs-fuse-daemon on /home/scottrif/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=srifenbark)
/dev/loop0 on /home/scottrif/vfat-test/mnt type vfat (rw)
# echo "hello world" > mnt/hello.txt [creates a text file in the mounted VFAT system]
# ls mnt [verifies the file is there]
hello.txt
# cat mnt/hello.txt [displays the contents of the file created]
hello world
# umount mnt [unmounts the system and destroys the loop]
# exit [gets out of privileged user mode]
exit
$ lsmod [this stuff Darren did to show me ]
Module Size Used by [the status of modules in the regular linux kernel]
nls_iso8859_1 4633 0
nls_cp437 6351 0
vfat 10866 0
fat 55350 1 vfat
snd_hda_codec_atihdmi 3023 1
binfmt_misc 7960 1
snd_hda_codec_realtek 279008 1
ppdev 6375 0
snd_hda_intel 25805 2
fbcon 39270 71
tileblit 2487 1 fbcon
font 8053 1 fbcon
bitblit 5811 1 fbcon
snd_hda_codec 85759 3 snd_hda_codec_atihdmi,snd_hda_codec_realtek,snd_hda_intel
softcursor 1565 1 bitblit
snd_seq_dummy 1782 0
snd_hwdep 6924 1 snd_hda_codec
vga16fb 12757 0
snd_pcm_oss 41394 0
snd_mixer_oss 16299 1 snd_pcm_oss
snd_pcm 87946 3 snd_hda_intel,snd_hda_codec,snd_pcm_oss
vgastate 9857 1 vga16fb
snd_seq_oss 31191 0
snd_seq_midi 5829 0
snd_rawmidi 23420 1 snd_seq_midi
radeon 744506 3
snd_seq_midi_event 7267 2 snd_seq_oss,snd_seq_midi
ttm 61007 1 radeon
snd_seq 57481 6 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_seq_midi_event
drm_kms_helper 30742 1 radeon
snd_timer 23649 2 snd_pcm,snd_seq
snd_seq_device 6888 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi,snd_rawmidi,snd_seq
usb_storage 50377 0
snd 71283 16 \
snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec, \
snd_hwdep,snd_pcm_oss,snd_mixer_oss,snd_pcm, \
snd_seq_oss,snd_rawmidi,snd_seq,snd_timer,snd_seq_device
soundcore 8052 1 snd
psmouse 65040 0
drm 198886 5 radeon,ttm,drm_kms_helper
i2c_algo_bit 6024 1 radeon
serio_raw 4918 0
snd_page_alloc 8500 2 snd_hda_intel,snd_pcm
dell_wmi 2177 0
dcdbas 6886 0
lp 9336 0
parport 37160 2 ppdev,lp
usbhid 41116 0
ohci1394 30260 0
hid 83888 1 usbhid
ieee1394 94771 1 ohci1394
tg3 122382 0
</literallayout>
</para>
</section>
</section> -->
</appendix>
<!--
EXTRA STUFF I MIGHT NEED BUT NOW SURE RIGHT NOW.
In the standard layer structure you have several areas that you need to examine or
modify.
For this example the layer contains four areas:
<itemizedlist>
<listitem><para><emphasis><filename>conf</filename></emphasis> - Contains the
<filename>layer.conf</filename> that identifies the location of the recipe files.
</para></listitem>
<listitem><para><emphasis><filename>images</filename></emphasis> - Contains the
image recipe file.
This recipe includes the base image you will be using and specifies other
packages the image might need.</para></listitem>
<listitem><para><emphasis><filename>recipes-bsp</filename></emphasis> - Contains
recipes specific to the hardware for which you are developing the kernel.
</para></listitem>
<listitem><para><emphasis><filename>recipes-kernel</filename></emphasis> - Contains the
"append" files that add information to the main recipe kernel.
</para></listitem>
</itemizedlist>
</para>
<para>
Let's take a look at the <filename>layer.conf</filename> in the
<filename>conf</filename> directory first.
This configuration file enables the Yocto Project build system to locate and
use the information in your new layer.
</para>
<para>
The variable <filename>BBPATH</filename> needs to include the path to your layer
as follows:
<literallayout class='monospaced'>
BBPATH := "${BBPATH}:${LAYERDIR}"
</literallayout>
And, the variable <filename>BBFILES</filename> needs to be modified to include your
recipe and append files:
<literallayout class='monospaced'>
BBFILES := "${BBFILES} ${LAYERDIR}/images/*.bb \
${LAYERDIR}/images/*.bbappend \
${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
</literallayout>
Finally, you need to be sure to use your layer name in these variables at the
end of the file:
<literallayout class='monospaced'>
BBFILE_COLLECTIONS += "elc"
BBFILE_PATTERN_elc := "^${LAYERDIR}/"
BBFILE_PRIORITY_elc = "9"
</literallayout>
</para>
<para>
The <filename>images</filename> directory contains an append file that helps
further define the image.
In our example, the base image is <filename>core-image-minimal</filename>.
The image does, however, need some additional modules that we are using
for this example.
These modules support the amixer functionality.
Here is the append file:
<literallayout class='monospaced'>
require recipes-core/images/poky-image-minimal.bb
IMAGE_INSTALL += "dropbear alsa-utils-aplay alsa-utils-alsamixer"
IMAGE_INSTALL_append_qemux86 += " kernel-module-snd-ens1370 \
kernel-module-snd-rawmidi kernel-module-loop kernel-module-nls-cp437 \
kernel-module-nls-iso8859-1 qemux86-audio alsa-utils-amixer"
LICENSE = "MIT"
</literallayout>
</para>
<para>
While the focus of this example is not on the BSP, it is worth mentioning that the
<filename>recipes-bsp</filename> directory has the recipes and append files for
features that the hardware requires.
In this example, there is a script and a recipe to support the
<filename>amixer</filename> functionality in QEMU.
It is beyond the scope of this manual to go too deeply into the script.
Suffice it to say that the script tests for the presence of the mixer, sets up
default mixer values, enables the mixer, unmutes master and then
sets the volume to 100.
</para>
<para>
The recipe <filename>qemu86-audio.bb</filename> installs and runs the
<filename>amixer</filename> when the system boots.
Here is the recipe:
<literallayout class='monospaced'>
SUMMARY = "Provide a basic init script to enable audio"
DESCRIPTION = "Set the volume and unmute the Front mixer setting during boot."
SECTION = "base"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${POKYBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58"
PR = "r4"
inherit update-rc.d
RDEPENDS = "alsa-utils-amixer"
SRC_URI = "file://qemux86-audio"
INITSCRIPT_NAME = "qemux86-audio"
INITSCRIPT_PARAMS = "defaults 90"
do_install() {
install -d ${D}${sysconfdir} \
${D}${sysconfdir}/init.d
install -m 0755 ${WORKDIR}/qemux86-audio ${D}${sysconfdir}/init.d
cat ${WORKDIR}/${INITSCRIPT_NAME} | \
sed -e 's,/etc,${sysconfdir},g' \
-e 's,/usr/sbin,${sbindir},g' \
-e 's,/var,${localstatedir},g' \
-e 's,/usr/bin,${bindir},g' \
-e 's,/usr,${prefix},g' > ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
chmod 755 ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
}
</literallayout>
</para>
<para>
The last area to look at is <filename>recipes-kernel</filename>.
This area holds configuration fragments and kernel append files.
The append file must have the same name as the kernel recipe, which is
<filename>linux-yocto-2.6.37</filename> in this example.
The file can <filename>SRC_URI</filename> statements to point to configuration
fragments you might have in the layer.
The file can also contain <filename>KERNEL_FEATURES</filename> statements that specify
included kernel configurations that ship with the Yocto Project.
</para>
-->
<!--
vim: expandtab tw=80 ts=4
-->

View File

@@ -120,13 +120,15 @@
Crown Bay that does not support the <trademark class='registered'>Intel</trademark>
Embedded Media Graphics Driver (EMGD).
The remainder of this example uses that base BSP.</para>
<para>To see the supported BSPs, go to the Yocto Project
<ulink url='&YOCTO_DL_URL;/download'>download page</ulink> and click
on “BSP Downloads.”</para></listitem>
<para>To see the supported BSPs, go to the
<ulink url='&YOCTO_HOME_URL;/download'>Download</ulink> page on the Yocto Project
website and click on “BSP Downloads.”</para></listitem>
<listitem><para><emphasis>Create your own BSP layer</emphasis>: Layers are ideal for
isolating and storing work for a given piece of hardware.
A layer is really just a location or area in which you place the recipes for your BSP.
A layer is really just a location or area in which you place the recipes for your BSP.
In fact, a BSP is, in itself, a special type of layer.
</para>
<para>
Another example that illustrates a layer is an application.
Suppose you are creating an application that has library or other dependencies in
order for it to compile and run.
@@ -134,16 +136,22 @@
are kept.
The key point for a layer is that it is an isolated area that contains
all the relevant information for the project that the Yocto Project build
system knows about.</para>
system knows about.
For more information on layers, see the
"<link linkend='understanding-and-creating-layers'>Understanding and Creating Layers</link>"
section.
For more information on BSP layers, see the
"<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-layers'>BSP Layers</ulink>" section in the
Yocto Project Board Support Package (BSP) Developer's Guide.</para>
<note>The Yocto Project supports four BSPs that are part of the
Yocto Project release: <filename>atom-pc</filename>, <filename>beagleboard</filename>,
<filename>mpc8315e</filename>, and <filename>routerstationpro</filename>.
The recipes and configurations for these four BSPs are located and dispersed
within the local Yocto Project files.
Consequently, they are not totally isolated in the spirit of layers unless you think
of <filename>meta-yocto</filename> as a layer itself.
within the <link linkend='yocto-project-files'>Yocto Project Files</link>.
On the other hand, BSP layers for Crown Bay, Emenlow, Jasper Forest,
N450, and Sugar Bay are isolated.</note>
N450, Cedar Trail, Fish River, Fish River Island II, Romley, sys940x, tlk,
and Sugar Bay exist in their own separate layers within the larger
<filename>meta-intel</filename> layer.</note>
<para>When you set up a layer for a new BSP, you should follow a standard layout.
This layout is described in the section
"<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout'>Example Filesystem Layout</ulink>"
@@ -235,7 +243,7 @@
<ulink url='&YOCTO_GIT_URL;'></ulink>.
If you look at the interface, you will see to the left a grouping of
Git repositories titled "Yocto Linux Kernel."
Within this group, you will find the four different kernels supported by
Within this group, you will find several kernels supported by
the Yocto Project:
<itemizedlist>
<listitem><para><emphasis><filename>linux-yocto-2.6.34</filename></emphasis> - The
@@ -291,7 +299,7 @@
</para>
<note>
Keep in mind the figure does not take into account all four supported Linux Yocto
Keep in mind the figure does not take into account all the supported Linux Yocto
kernel types, but rather shows a single generic kernel just for conceptual purposes.
Also keep in mind that this structure represents the Yocto Project source repositories
that are either pulled from during the build or established on the host development system
@@ -328,7 +336,7 @@
</para>
<para>
<imagedata fileref="figures/kernel-overview-3.png"
<imagedata fileref="figures/kernel-overview-3-denzil.png"
width="6in" depth="4in" align="center" scale="100" />
</para>
@@ -366,11 +374,11 @@
<para>
Again, for a complete discussion of the Yocto Project kernel's architcture and its
branching strategy,
see the <ulink url='&YOCTO_DOCS_KERNEL_URL;'>
see <ulink url='&YOCTO_DOCS_KERNEL_URL;'>
The Yocto Project Kernel Architecture and Use Manual</ulink>.
Also, you can reference
<xref linkend='modifying-the-kernel-source-code'>Modifying the Kernel Source Code</xref>
for a detailed example that modifies the kernel.
You can also reference the
"<link linkend='modifying-the-kernel-source-code'>Modifying the Kernel Source Code</link>"
section for a detailed example that modifies the kernel.
</para>
</section>
@@ -464,7 +472,7 @@
<listitem><para><emphasis>Prepare for the build</emphasis>: Once you have made all the
changes to your kernel (configurations, source code changes, recipe additions,
or recipe changes), there remains a few things
you need to do in order for the Yocto Project build system to create your image.
you need to do in order for the Yocto Project build system (BitBake) to create your image.
If you have not done so, you need to get the build environment ready by sourcing
the environment setup script described earlier.
You also need to be sure two key configuration files
@@ -577,7 +585,7 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
You must have a target kernel image that has been built using the Yocto Project.</para>
<para>Depending on whether the Yocto Project has a pre-built image that matches your target
architecture and where you are going to run the image while you develop your application
(QEMU or real hardware), the area you get the image from differs.
(QEMU or real hardware), the area from which you get the image differs.
<itemizedlist>
<listitem><para>Download the image from
<ulink url='&YOCTO_MACHINES_DL_URL;'>
@@ -720,8 +728,8 @@ WRITER NOTE: The areas to get the kernel and root filesystem are located in the
<listitem><para>You can modify various policy settings such as the package format used to build with,
the parrallelism BitBake uses, whether or not to build an external toolchain, and which host
to build against.</para></listitem>
<listitem><para>You can manage <link linkend='understanding-and-creating-layers'>Understanding
and Creating layers</link>.</para></listitem>
<listitem><para>You can manage
<link linkend='understanding-and-creating-layers'>layers</link>.</para></listitem>
<listitem><para>You can select a base image and then add extra packages for your custom build.
</para></listitem>
<listitem><para>You can launch and monitor the build from within Hob.</para></listitem>

View File

@@ -335,7 +335,8 @@
The area is created when you <filename>source</filename> the Yocto Project setup
environment script that is found in the Yocto Project files area
(i.e. <filename>oe-init-build-env</filename>).
The <filename>TOPDIR</filename> variable points to the build directory.</para>
The <ulink url='&YOCTO_DOCS_REF_URL;#var-TOPDIR'><filename>TOPDIR</filename></ulink>
variable points to the build directory.</para>
<para>You have a lot of flexibility when creating the Yocto Project Build Directory.
Following are some examples that show how to create the directory:
@@ -526,7 +527,7 @@
$ cd ~
$ git clone git://git.yoctoproject.org/poky
$ cd poky
$ git checkout &DISTRO_NAME; -b &DISTRO_NAME;
$ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME;
</literallayout>
In this example, the name of the top-level directory of your local Yocto Project
Files Git repository is <filename>poky</filename>.
@@ -578,14 +579,14 @@
$ cd ~
$ git clone git://git.yoctoproject.org/poky
$ cd poky
$ git checkout &DISTRO_NAME;-&POKYVERSION; -b &DISTRO_NAME;-&POKYVERSION;
$ git checkout -b my-&DISTRO_NAME;-&POKYVERSION; &DISTRO_NAME;-&POKYVERSION;
</literallayout>
In this example, the name of the top-level directory of your local Yocto Project
Files Git repository is <filename>poky</filename>.
And, the name of the local branch you have created and checked out is
<filename>&DISTRO_NAME;-&POKYVERSION;</filename>.
<filename>my-&DISTRO_NAME;-&POKYVERSION;</filename>.
The files in your repository now exactly match the Yocto Project &DISTRO;
Release tag (&DISTRO_NAME;).
Release tag (<filename>&DISTRO_NAME;-&POKYVERSION;</filename>).
It is important to understand that when you create and checkout a local
working branch based on a tag, your environment matches a specific point
in time and not a development branch.

View File

@@ -31,7 +31,8 @@
</para>
<para>
You can use the Yocto Project, which uses the BitBake build tool, to develop complete Linux
You can use the Yocto Project build system, which uses
<ulink url='http://bitbake.berlios.de/manual/'>BitBake</ulink>, to develop complete Linux
images and associated user-space applications for architectures based on ARM, MIPS, PowerPC,
x86 and x86-64.
While the Yocto Project does not provide a strict testing framework,
@@ -109,11 +110,11 @@
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/poky
Initialized empty Git repository in /home/scottrif/poky/.git/
remote: Counting objects: 116882, done.
remote: Compressing objects: 100% (35987/35987), done.
remote: Total 116882 (delta 80651), reused 113045 (delta 77578)
Receiving objects: 100% (116882/116882), 72.13 MiB | 2.68 MiB/s, done.
Resolving deltas: 100% (80651/80651), done.
remote: Counting objects: 141863, done.
remote: Compressing objects: 100% (38624/38624), done.
remote: Total 141863 (delta 99661), reused 141816 (delta 99614)
Receiving objects: 100% (141863/141863), 76.64 MiB | 126 KiB/s, done.
Resolving deltas: 100% (99661/99661), 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'>
@@ -144,17 +145,17 @@
<literallayout class='monospaced'>
$ git clone --bare git://git.yoctoproject.org/linux-yocto-3.2 linux-yocto-3.2.git
Initialized empty Git repository in /home/scottrif/linux-yocto-3.2.git/
remote: Counting objects: 2259181, done.
remote: Compressing objects: 100% (373259/373259), done.
remote: Total 2259181 (delta 1892638), reused 2231556 (delta 1865300)
Receiving objects: 100% (2259181/2259181), 482.44 MiB | 580 KiB/s, done.
Resolving deltas: 100% (1892638/1892638), done.
remote: Counting objects: 2468027, done.
remote: Compressing objects: 100% (392255/392255), done.
remote: Total 2468027 (delta 2071693), reused 2448773 (delta 2052498)
Receiving objects: 100% (2468027/2468027), 530.46 MiB | 129 KiB/s, done.
Resolving deltas: 100% (2071693/2071693), done.
</literallayout></para>
<para>Now create a clone of the bare clone just created:
<literallayout class='monospaced'>
$ git clone linux-yocto-3.2.git my-linux-yocto-3.2-work
Initialized empty Git repository in /home/scottrif/my-linux-yocto-3.2/.git/
Checking out files: 100% (36898/36898), done.
Initialized empty Git repository in /home/scottrif/my-linux-yocto-3.2-work/.git/
Checking out files: 100% (37619/37619), done.
</literallayout></para></listitem>
<listitem id='poky-extras-repo'><para><emphasis>
The <filename>poky-extras</filename> Git Repository</emphasis>:
@@ -175,14 +176,13 @@
repository inside the Yocto Project files Git repository, which is named
<filename>poky</filename> in this case:
<literallayout class='monospaced'>
$ cd ~/poky
$ git clone git://git.yoctoproject.org/poky-extras poky-extras
Initialized empty Git repository in /home/scottrif/poky/poky-extras/.git/
remote: Counting objects: 561, done.
remote: Compressing objects: 100% (501/501), done.
remote: Total 561 (delta 159), reused 306 (delta 39)
Receiving objects: 100% (561/561), 519.96 KiB | 479 KiB/s, done.
Resolving deltas: 100% (159/159), done.
remote: Counting objects: 618, done.
remote: Compressing objects: 100% (558/558), done.
remote: Total 618 (delta 192), reused 307 (delta 39)
Receiving objects: 100% (618/618), 526.26 KiB | 111 KiB/s, done.
Resolving deltas: 100% (192/192), done.
</literallayout></para></listitem>
<listitem><para id='supported-board-support-packages-(bsps)'><emphasis>Supported Board
Support Packages (BSPs):</emphasis>
@@ -231,14 +231,13 @@
<filename>meta-intel</filename>
Git repository inside the <filename>poky</filename> Git repository.
<literallayout class='monospaced'>
$ cd poky
$ git clone git://git.yoctoproject.org/meta-intel.git
Initialized empty Git repository in /home/scottrif/poky/meta-intel/.git/
remote: Counting objects: 1325, done.
remote: Compressing objects: 100% (1078/1078), done.
remote: Total 1325 (delta 546), reused 85 (delta 27)
Receiving objects: 100% (1325/1325), 1.56 MiB | 330 KiB/s, done.
Resolving deltas: 100% (546/546), done.
remote: Counting objects: 3380, done.
remote: Compressing objects: 100% (2750/2750), done.
remote: Total 3380 (delta 1689), reused 227 (delta 113)
Receiving objects: 100% (3380/3380), 1.77 MiB | 128 KiB/s, done.
Resolving deltas: 100% (1689/1689), done.
</literallayout></para>
<para>The same
<ulink url='&YOCTO_WIKI_URL;/wiki/Transcript:_from_git_checkout_to_meta-intel_BSP'>

View File

@@ -39,6 +39,11 @@
<date>April 2012</date>
<revremark>Released with the Yocto Project 1.2 Release.</revremark>
</revision>
<revision>
<revnumber>1.3</revnumber>
<date>Sometime in 2012</date>
<revremark>Released with the Yocto Project 1.3 Release.</revremark>
</revision>
</revhistory>
<copyright>

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -46,9 +46,9 @@
You can find the files used to describe all the valid features and BSPs
in the Yocto Project kernel in any clone of the Linux Yocto 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.0:
branched off of <filename>linux.org</filename> version 3.4:
<literallayout class='monospaced'>
$ git clone git://git.yoctoproject.org/linux-yocto-3.0
$ 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 Linux Yocto
kernel files, see the
@@ -58,9 +58,9 @@
Once you have cloned the kernel Git repository on your local machine, you can
switch to the <filename>meta</filename> branch within the repository.
Here is an example that assumes the local Git repository for the kernel is in
a top-level directory named <filename>linux-yocto-3.0</filename>:
a top-level directory named <filename>linux-yocto-3.4</filename>:
<literallayout class='monospaced'>
$ cd ~/linux-yocto-3.0
$ 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,
@@ -598,9 +598,9 @@
<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.0</filename>.
in the master repository <filename>//git.mycompany.com/pub/git/kernel-3.4</filename>.
<literallayout class='monospaced'>
&gt; git push ssh://git.mycompany.com/pub/git/kernel-3.0 \
&gt; git push ssh://git.mycompany.com/pub/git/kernel-3.4 \
yocto/standard/common-pc/base:yocto/standard/common-pc/base
</literallayout>
</para>

View File

@@ -54,6 +54,11 @@
<date>April 2012</date>
<revremark>Released with the Yocto Project 1.2 Release.</revremark>
</revision>
<revision>
<revnumber>1.3</revnumber>
<date>Sometime in 2012</date>
<revremark>Released with the Yocto Project 1.3 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -68,6 +68,11 @@
<date>April 2012</date>
<revremark>Released with the Yocto Project 1.2 Release.</revremark>
</revision>
<revision>
<revnumber>1.3</revnumber>
<date>Sometime in 2012</date>
<revremark>Released with the Yocto Project 1.3 Release.</revremark>
</revision>
</revhistory>
<copyright>

View File

@@ -46,7 +46,10 @@
<listitem><para><emphasis><filename>core-image-minimal</filename>:</emphasis>
A small image just capable of allowing a device to boot.</para></listitem>
<listitem><para><emphasis><filename>core-image-minimal-dev</filename>:</emphasis>
A <filename>core-image-minimal</filename> image suitable for development work.
A <filename>core-image-minimal</filename> image suitable for development work
using the host.
The image includes headers and libraries you can use in a host development
environment.
</para></listitem>
<listitem><para><emphasis><filename>core-image-minimal-initramfs</filename>:</emphasis>
A <filename>core-image-minimal</filename> image that has the Minimal RAM-based
@@ -65,13 +68,17 @@
A <filename>core-image-basic</filename> image suitable for implementations
that conform to Linux Standard Base (LSB).</para></listitem>
<listitem><para><emphasis><filename>core-image-lsb-dev</filename>:</emphasis>
A <filename>core-image-lsb</filename> image that is suitable for development work.
A <filename>core-image-lsb</filename> image that is suitable for development work
using the host.
The image includes headers and libraries you can use in a host development
environment.
</para></listitem>
<listitem><para><emphasis><filename>core-image-lsb-sdk</filename>:</emphasis>
A <filename>core-image-lsb</filename> that includes everything in meta-toolchain
but also includes development headers and libraries to form a complete standalone SDK.
See the "<link linkend='platdev-appdev-external-sdk'>External Development Using the Meta-Toolchain</link>"
section for more information.</para></listitem>
but also includes development headers and libraries to form a complete standalone SDK.
This image is suitable for development using the target.
See the "<link linkend='platdev-appdev-external-sdk'>External Development Using
the Meta-Toolchain</link>" section for more information.</para></listitem>
<listitem><para><emphasis><filename>core-image-clutter</filename>:</emphasis>
An image with support for the Open GL-based toolkit Clutter, which enables development of
rich and animated graphical user interfaces.</para></listitem>
@@ -81,16 +88,17 @@
The image supports X11 with a Sato theme and Pimlico applications and also
contains terminal, editor, and file manager.</para></listitem>
<listitem><para><emphasis><filename>core-image-sato-dev</filename>:</emphasis>
A <filename>core-image-sato</filename> image suitable for development
that also includes a native toolchain and libraries needed to build applications on
the device itself.
The image also includes testing and profiling tools as well as debug symbols.
A <filename>core-image-sato</filename> image suitable for development
using the host.
The image includes libraries needed to build applications on the device itself,
testing and profiling tools, and debug symbols.
This image was formerly <filename>core-image-sdk</filename>.</para></listitem>
<listitem><para><emphasis><filename>core-image-sato-sdk</filename>:</emphasis>
A <filename>core-image-sato</filename> image that includes everything in meta-toolchain.
The image also includes development headers and libraries to form a complete standalone SDK.
See the "<link linkend='platdev-appdev-external-sdk'>External Development Using the Meta-Toolchain</link>"
section for more information.</para></listitem>
The image also includes development headers and libraries to form a complete standalone SDK
and is suitable for development using the target.
See the "<link linkend='platdev-appdev-external-sdk'>External Development Using
the Meta-Toolchain</link>" section for more information.</para></listitem>
<listitem><para><emphasis><filename>core-image-rt</filename>:</emphasis>
A <filename>core-image-minimal</filename> image plus a real-time test suite and
tools appropriate for real-time use.</para></listitem>
@@ -98,9 +106,9 @@
A <filename>core-image-rt</filename> image that includes everything in
<filename>meta-toolchain</filename>.
The image also includes development headers and libraries to form a complete
stand-alone SDK.
See the "<link linkend='platdev-appdev-external-sdk'>External Development Using the Meta-Toolchain</link>"
section for more information.</para></listitem>
stand-alone SDK and is suitable for development using the target.
See the "<link linkend='platdev-appdev-external-sdk'>External Development Using
the Meta-Toolchain</link>" section for more information.</para></listitem>
<listitem><para><emphasis><filename>core-image-gtk-directfb</filename>:</emphasis>
An image that uses <filename>gtk+</filename> over <filename>directfb</filename>
instead of X11.

View File

@@ -1,7 +1,7 @@
<!ENTITY DISTRO "1.2">
<!ENTITY DISTRO_NAME "denzil">
<!ENTITY DISTRO "1.3">
<!ENTITY DISTRO_NAME "1.2+snapshot">
<!ENTITY YOCTO_DOC_VERSION "latest">
<!ENTITY POKYVERSION "7.0">
<!ENTITY POKYVERSION "8.0">
<!ENTITY YOCTO_POKY "poky-&DISTRO_NAME;-&POKYVERSION;">
<!ENTITY COPYRIGHT_YEAR "2010-2012">
<!ENTITY YOCTO_DL_URL "http://downloads.yoctoproject.org">

View File

@@ -228,11 +228,11 @@
</para>
<literallayout class='monospaced'>
$ sudo apt-get install sed wget cvs subversion git-core coreutils \
$ sudo apt-get install sed wget subversion git-core coreutils \
unzip texi2html texinfo libsdl1.2-dev docbook-utils fop gawk \
python-pysqlite2 diffstat help2man make gcc build-essential xsltproc \
python-pysqlite2 diffstat make gcc build-essential xsltproc \
g++ desktop-file-utils chrpath libgl1-mesa-dev libglu1-mesa-dev \
mercurial autoconf automake groff libtool xterm libxml-parser-perl
autoconf automake groff libtool xterm libxml-parser-perl
</literallayout>
</section>
@@ -246,26 +246,16 @@
<literallayout class='monospaced'>
$ sudo yum groupinstall "development tools"
$ sudo yum install python m4 make wget curl ftp hg tar bzip2 gzip \
unzip python-psyco perl texinfo texi2html diffstat openjade \
$ sudo yum install python m4 make wget curl ftp tar bzip2 gzip \
unzip perl texinfo texi2html diffstat openjade \
docbook-style-dsssl sed docbook-style-xsl docbook-dtds fop xsltproc \
docbook-utils sed bc eglibc-devel ccache pcre pcre-devel quilt \
groff linuxdoc-tools patch linuxdoc-tools cmake help2man \
groff linuxdoc-tools patch cmake \
perl-ExtUtils-MakeMaker tcl-devel gettext chrpath ncurses apr \
SDL-devel mesa-libGL-devel mesa-libGLU-devel gnome-doc-utils \
autoconf automake libtool xterm
</literallayout>
<note><para>
If you are using a Fedora version prior to version 15, you will need to take some
extra steps to enable <filename>sudo</filename>, or you will need to run
the commands as root user.
See the <ulink url='https://fedoraproject.org/wiki/Configuring_Sudo'>Configuring Sudo</ulink>
wiki page for details.
For information on other dependencies you will need to install, see the Fedora section on the
<ulink url='&YOCTO_WIKI_URL;/wiki/Poky/GettingStarted/Dependencies'>Poky/GettingStarted/Dependencies</ulink>
wiki page.
</para></note>
</section>
<section id='opensuse'>
@@ -278,8 +268,8 @@
<literallayout class='monospaced'>
$ sudo zypper install python gcc gcc-c++ libtool fop \
subversion git chrpath automake make wget help2man xsltproc \
diffstat texinfo mercurial freeglut-devel libSDL-devel
subversion git chrpath automake make wget xsltproc \
diffstat texinfo freeglut-devel libSDL-devel
</literallayout>
</section>
@@ -298,7 +288,7 @@
unzip perl texinfo texi2html diffstat openjade zlib-devel \
docbook-style-dsssl sed docbook-style-xsl docbook-dtds \
docbook-utils bc glibc-devel pcre pcre-devel \
groff linuxdoc-tools patch linuxdoc-tools cmake \
groff linuxdoc-tools patch cmake \
tcl-devel gettext ncurses apr \
SDL-devel mesa-libGL-devel mesa-libGLU-devel gnome-doc-utils \
autoconf automake libtool xterm
@@ -344,7 +334,7 @@
<title>A Quick Test Run</title>
<para>
Now that you have your system requirements in order, you can give Yocto Project a try.
Now that you have your system requirements in order, you can give the Yocto Project a try.
This section presents some steps that let you do the following:
</para>
@@ -411,7 +401,7 @@
Adding this statement deletes the work directory used for building a package
once the package is built.
<literallayout class='monospaced'>
INHERIT += rm_work
INHERIT += "rm_work"
</literallayout>
</para></tip>
@@ -420,8 +410,8 @@
release tarball from the source repositories using the
<filename>wget</filename> command.
Alternatively, you can go to the
<ulink url='&YOCTO_HOME_URL;/download'>Yocto Project website</ulink>
Downloads page to retrieve the tarball.</para></listitem>
<ulink url='&YOCTO_HOME_URL;/download'>Yocto Project website's Downloads page</ulink>
to retrieve the tarball.</para></listitem>
<listitem><para>The second command extracts the files from the tarball and places
them into a directory named <filename>&YOCTO_POKY;</filename> in the current
directory.</para></listitem>
@@ -640,7 +630,7 @@
You must use the <filename>ext3</filename> form when booting an image using the
QEMU emulator.
The <filename>tar</filename> form can be flattened out in your host development system
and used for Yocto Project build purposes.
and used for build purposes with the Yocto Project.
<literallayout class='monospaced'>
core-image-&lt;<emphasis>profile</emphasis>&gt;-qemu&lt;<emphasis>arch</emphasis>&gt;.ext3
core-image-&lt;<emphasis>profile</emphasis>&gt;-qemu&lt;<emphasis>arch</emphasis>&gt;.tar.bz2
@@ -694,11 +684,13 @@
<para>
Continuing with the example, the following two commands setup the emulation
environment and launch QEMU.
This example assumes the root filesystem tarball has been downloaded and expanded, and
that the kernel and filesystem are for a 32-bit target architecture.
This example assumes the root filesystem (<filename>.ext3</filename> file) and
the pre-built kernel image file both reside in your home directory.
The kernel and filesystem are for a 32-bit target architecture.
<literallayout class='monospaced'>
$ source &YOCTO_ADTPATH_DIR;/environment-setup-i686-poky-linux
$ runqemu qemux86 bzImage-qemux86-&DISTRO;.bin \
$ cd $HOME
$ source &YOCTO_ADTPATH_DIR;/environment-setup-i586-poky-linux
$ runqemu qemux86 bzImage-qemux86.bin \
core-image-sato-qemux86.ext3
</literallayout>
</para>

View File

@@ -1,23 +0,0 @@
DESCRIPTION = "FarSight is an audio/video conferencing framework specifically designed for Instant Messengers."
HOMEPAGE = "http://farsight.sf.net"
SRC_URI = "http://farsight.freedesktop.org/releases/farsight2/${BPN}-${PV}.tar.gz"
LICENSE = "LGPLv2.1"
DEPENDS = "libnice glib-2.0 libxml2 zlib dbus gstreamer gst-plugins-base"
inherit autotools
PR = "r2"
EXTRA_OECONF = " \
--disable-debug \
--disable-gtk-doc \
--disable-python \
"
FILES_${PN} += "${libdir}/*/*.so"
FILES_${PN}-dev += "${libdir}/f*/*a ${libdir}/g*/*a"
FILES_${PN}-dbg += "${libdir}/*/.debug"

View File

@@ -1,23 +0,0 @@
SUMMARY = "IETF draft Interactice Connectivity Establishment standard"
DESCRIPTION = "Libnice is an implementation of the IETF's draft Interactice Connectivity Establishment standard (ICE)."
HOMEPAGE = "http://nice.freedesktop.org/wiki/"
SRC_URI = "http://nice.freedesktop.org/releases/libnice-${PV}.tar.gz"
LICENSE = "LGPL/MPL"
DEPENDS = "glib-2.0 gstreamer"
inherit autotools
FILES_${PN} += "${libdir}/gstreamer-0.10/*.so"
FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*a"
FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug"
do_compile_append() {
for i in $(find ${S} -name "*.pc") ; do
sed -i -e s:${STAGING_DIR_TARGET}::g \
-e s:/${TARGET_SYS}::g \
$i
done
}

View File

@@ -1,20 +0,0 @@
Upstream-Status: Inappropriate [configuration]
---
configure.ac | 1 +
1 file changed, 1 insertion(+)
--- libetpan-0.54.orig/configure.ac
+++ libetpan-0.54/configure.ac
@@ -104,10 +104,11 @@ if test "$have_w32_system" = yes; then
fi
AM_CONDITIONAL(HAVE_MINGW32_SYSTEM, test "$have_w32_system" = yes)
# Check the C compiler.
AC_PROG_CC
+AC_PROG_CXX
# Compiler flags.
AC_ARG_ENABLE(debug, [ --enable-debug setup flags (gcc) for debugging (default=no)],
if test "x$GCC" = xyes; then
CFLAGS="$CFLAGS -O2 -g"

View File

@@ -1,20 +0,0 @@
SUMMARY = "Library for communicating with mail and news services"
DESCRIPTION = "libetpan is a library for communicating with mail and news servers. \
It supports the protocols SMTP, POP3, IMAP and NNTP."
HOMEPAGE = "http://www.etpan.org"
SECTION = "libs"
DEPENDS = "curl expat gnutls"
LICENSE = "BSD"
PR = "r1"
SRC_URI = "${SOURCEFORGE_MIRROR}/libetpan/libetpan-${PV}.tar.gz \
file://cxx-is-here.patch;patch=1"
inherit autotools pkgconfig gettext binconfig
EXTRA_OECONF = "--without-openssl --with-gnutls --disable-db"
PARALLEL_MAKE = ""
FILES_${PN} = "${libdir}/lib*.so.*"
FILES_${PN}-dev = "${bindir} ${includedir} ${libdir}/lib*.so ${libdir}/*.la ${libdir}/*.a ${libdir}/pkgconfig"

View File

@@ -1,10 +0,0 @@
SUMMARY = "XMPP/Jabber library"
DESCRIPTION = "Loudmouth is a lightweight and easy-to-use C library for programming with the XMPP/Jabber protocol."
HOMEPAGE = "http://www.loudmouth-project.org/"
LICENSE = "LGPL"
DEPENDS = "glib-2.0 gnutls libcheck"
PR = "r2"
SRC_URI = "http://ftp.imendio.com/pub/imendio/${BPN}/src/${BPN}-${PV}.tar.bz2"
inherit autotools pkgconfig

View File

@@ -1,15 +0,0 @@
Upstream-Status: Inappropriate [configuration]
Index: openswan-2.4.7/Makefile.inc
===================================================================
--- openswan-2.4.7.orig/Makefile.inc 2006-12-25 18:05:40.608503250 +0100
+++ openswan-2.4.7/Makefile.inc 2006-12-25 18:06:39.028154250 +0100
@@ -158,7 +158,7 @@
# how backup names are composed.
# Note that the install procedures will never overwrite an existing config
# file, which is why -b is not specified for them.
-INSTBINFLAGS=-b --suffix=.old
+INSTBINFLAGS=
INSTSUIDFLAGS=--mode=u+rxs,g+rx,o+rx --group=root -b --suffix=.old
INSTMANFLAGS=
INSTCONFFLAGS=

View File

@@ -1,28 +0,0 @@
Upstream-Status: Inappropriate [configuration]
--- openswan-2.2.0.orig/programs/Makefile.program 2004-06-03 03:06:27.000000000 +0200
+++ openswan-2.2.0/programs/Makefile.program 2005-03-05 13:50:19.000000000 +0100
@@ -30,10 +30,6 @@
CFLAGS+= ${WERROR}
-ifneq ($(LD_LIBRARY_PATH),)
-LDFLAGS=-L$(LD_LIBRARY_PATH)
-endif
-
MANDIR8=$(MANTREE)/man8
MANDIR5=$(MANTREE)/man5
--- openswan-2.2.0.orig/programs/pluto/Makefile 2005-01-03 20:40:45.000000000 +0100
+++ openswan-2.2.0/programs/pluto/Makefile 2005-03-05 13:51:21.000000000 +0100
@@ -234,10 +234,6 @@
LIBSPLUTO+=${CURL_LIBS}
LIBSPLUTO+= -lgmp -lresolv # -lefence
-ifneq ($(LD_LIBRARY_PATH),)
-LDFLAGS=-L$(LD_LIBRARY_PATH)
-endif
-
LIBSADNS = $(OPENSWANLIB)
LIBSADNS += -lresolv # -lefence

View File

@@ -1,379 +0,0 @@
Upstream-Status: Inappropriate [configuration]
diff -Nru openswan-2.4.7.orig/doc/Makefile openswan-2.4.7/doc/Makefile
--- openswan-2.4.7.orig/doc/Makefile 2005-11-08 23:32:45.000000000 +0200
+++ openswan-2.4.7/doc/Makefile 2006-12-06 22:46:54.732830840 +0200
@@ -1,6 +1,6 @@
# Makefile to generate various formats from HTML source
#
-# Assumes the htmldoc utility is available.
+# No longer cares if the htmldoc utility is available.
# This can be downloaded from www.easysw.com
#
# Also needs lynx(1) for HTML-to-text conversion
diff -Nru openswan-2.4.7.orig/lib/libcrypto/libdes/asm/crypt586.pl openswan-2.4.7/lib/libcrypto/libdes/asm/crypt586.pl
--- openswan-2.4.7.orig/lib/libcrypto/libdes/asm/crypt586.pl 2004-07-16 03:24:45.000000000 +0300
+++ openswan-2.4.7/lib/libcrypto/libdes/asm/crypt586.pl 2006-12-06 22:46:54.732830840 +0200
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl
+#!/usr/bin/perl
#
# The inner loop instruction sequence and the IP/FP modifications are from
# Svend Olaf Mikkelsen <svolaf@inet.uni-c.dk>
diff -Nru openswan-2.4.7.orig/lib/libcrypto/libdes/asm/perlasm/cbc.pl openswan-2.4.7/lib/libcrypto/libdes/asm/perlasm/cbc.pl
--- openswan-2.4.7.orig/lib/libcrypto/libdes/asm/perlasm/cbc.pl 2004-07-10 11:07:06.000000000 +0300
+++ openswan-2.4.7/lib/libcrypto/libdes/asm/perlasm/cbc.pl 2006-12-06 22:46:54.736831090 +0200
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl
+#!/usr/bin/perl
# void des_ncbc_encrypt(input, output, length, schedule, ivec, enc)
# des_cblock (*input);
diff -Nru openswan-2.4.7.orig/lib/libcrypto/libdes/asm/perlasm/x86asm.pl openswan-2.4.7/lib/libcrypto/libdes/asm/perlasm/x86asm.pl
--- openswan-2.4.7.orig/lib/libcrypto/libdes/asm/perlasm/x86asm.pl 2004-07-10 11:07:06.000000000 +0300
+++ openswan-2.4.7/lib/libcrypto/libdes/asm/perlasm/x86asm.pl 2006-12-06 22:46:54.736831090 +0200
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl
+#!/usr/bin/perl
# require 'x86asm.pl';
# &asm_init("cpp","des-586.pl");
diff -Nru openswan-2.4.7.orig/lib/libcrypto/libdes/asm/perlasm/x86ms.pl openswan-2.4.7/lib/libcrypto/libdes/asm/perlasm/x86ms.pl
--- openswan-2.4.7.orig/lib/libcrypto/libdes/asm/perlasm/x86ms.pl 2004-07-10 11:07:07.000000000 +0300
+++ openswan-2.4.7/lib/libcrypto/libdes/asm/perlasm/x86ms.pl 2006-12-06 22:46:54.736831090 +0200
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl
+#!/usr/bin/perl
package x86ms;
diff -Nru openswan-2.4.7.orig/lib/libcrypto/libdes/asm/perlasm/x86unix.pl openswan-2.4.7/lib/libcrypto/libdes/asm/perlasm/x86unix.pl
--- openswan-2.4.7.orig/lib/libcrypto/libdes/asm/perlasm/x86unix.pl 2004-07-10 11:07:07.000000000 +0300
+++ openswan-2.4.7/lib/libcrypto/libdes/asm/perlasm/x86unix.pl 2006-12-06 22:46:54.736831090 +0200
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl
+#!/usr/bin/perl
package x86unix;
diff -Nru openswan-2.4.7.orig/lib/liblwres/Makefile openswan-2.4.7/lib/liblwres/Makefile
--- openswan-2.4.7.orig/lib/liblwres/Makefile 2004-12-18 20:13:34.000000000 +0200
+++ openswan-2.4.7/lib/liblwres/Makefile 2006-12-06 22:46:54.736831090 +0200
@@ -20,7 +20,7 @@
CDEFINES = -g
CWARNINGS = -Werror
-CFLAGS=${CINCLUDES} ${CDEFINES} ${CWARNINGS}
+CFLAGS=${CINCLUDES} ${CDEFINES} ${CWARNINGS} $(USERCOMPILE)
VERSION="@(\#) openswan-hacking-9.3-for-osw2"
LIBINTERFACE=2
diff -Nru openswan-2.4.7.orig/linux/net/ipsec/des/asm/des-586.pl openswan-2.4.7/linux/net/ipsec/des/asm/des-586.pl
--- openswan-2.4.7.orig/linux/net/ipsec/des/asm/des-586.pl 2004-07-10 11:06:50.000000000 +0300
+++ openswan-2.4.7/linux/net/ipsec/des/asm/des-586.pl 2006-12-06 22:46:54.736831090 +0200
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl
+#!/usr/bin/perl
#
# The inner loop instruction sequence and the IP/FP modifications are from
# Svend Olaf Mikkelsen <svolaf@inet.uni-c.dk>
diff -Nru openswan-2.4.7.orig/linux/net/ipsec/des/asm/des686.pl openswan-2.4.7/linux/net/ipsec/des/asm/des686.pl
--- openswan-2.4.7.orig/linux/net/ipsec/des/asm/des686.pl 2004-07-10 11:06:50.000000000 +0300
+++ openswan-2.4.7/linux/net/ipsec/des/asm/des686.pl 2006-12-06 22:46:54.740831340 +0200
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl
+#!/usr/bin/perl
$prog="des686.pl";
diff -Nru openswan-2.4.7.orig/linux/net/ipsec/des/asm/desboth.pl openswan-2.4.7/linux/net/ipsec/des/asm/desboth.pl
--- openswan-2.4.7.orig/linux/net/ipsec/des/asm/desboth.pl 2004-07-10 11:06:50.000000000 +0300
+++ openswan-2.4.7/linux/net/ipsec/des/asm/desboth.pl 2006-12-06 22:46:54.740831340 +0200
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl
+#!/usr/bin/perl
$L="edi";
$R="esi";
diff -Nru openswan-2.4.7.orig/Makefile.inc openswan-2.4.7/Makefile.inc
--- openswan-2.4.7.orig/Makefile.inc 2006-11-14 19:56:09.000000000 +0200
+++ openswan-2.4.7/Makefile.inc 2006-12-06 22:48:32.534943089 +0200
@@ -46,7 +46,7 @@
DESTDIR?=
# "local" part of tree, used in building other pathnames
-INC_USRLOCAL=/usr/local
+INC_USRLOCAL?=/usr
# PUBDIR is where the "ipsec" command goes; beware, many things define PATH
# settings which are assumed to include it (or at least, to include *some*
@@ -80,7 +80,7 @@
MANPLACES=man3 man5 man8
# where configuration files go
-FINALCONFFILE?=/etc/ipsec.conf
+FINALCONFFILE?=/etc/ipsec/ipsec.conf
CONFFILE=$(DESTDIR)$(FINALCONFFILE)
FINALCONFDIR?=/etc
@@ -91,7 +91,7 @@
# sample configuration files go into
INC_DOCDIR?=share/doc
-FINALEXAMPLECONFDIR=${INC_USRLOCAL}/${INC_DOCDIR}/openswan
+FINALEXAMPLECONFDIR?=${INC_USRLOCAL}/${INC_DOCDIR}/openswan
EXAMPLECONFDIR=${DESTDIR}${FINALEXAMPLECONFDIR}
FINALDOCDIR?=${INC_USRLOCAL}/${INC_DOCDIR}/openswan
@@ -239,7 +239,7 @@
# installed one in RH 7.2, won't work - you wind up depending upon
# openssl.
-BIND9STATICLIBDIR?=/usr/local/lib
+BIND9STATICLIBDIR?=/usr/lib
# if you install elsewere, you may need to point the include files to it.
#BIND9STATICLIBDIR?=/sandel/lib
diff -Nru openswan-2.4.7.orig/programs/barf/barf.in openswan-2.4.7/programs/barf/barf.in
--- openswan-2.4.7.orig/programs/barf/barf.in 2006-11-07 05:49:18.000000000 +0200
+++ openswan-2.4.7/programs/barf/barf.in 2006-12-06 22:46:54.740831340 +0200
@@ -16,7 +16,7 @@
LOGS=${LOGS-/var/log}
CONFS=${IPSEC_CONFS-/etc}
-CONFDDIR=${IPSEC_CONFDDIR-/etc/ipsec.d}
+CONFDDIR=${IPSEC_CONFDDIR-/etc/ipsec/ipsec.d}
me="ipsec barf"
# Max lines to use for things like 'route -n'
maxlines=100
@@ -238,13 +238,13 @@
done
fi
_________________________ ipsec/ls-libdir
-ls -l ${IPSEC_LIBDIR-/usr/local/lib/ipsec}
+ls -l ${IPSEC_LIBDIR-/usr/lib/ipsec}
_________________________ ipsec/ls-execdir
-ls -l ${IPSEC_EXECDIR-/usr/local/libexec/ipsec}
+ls -l ${IPSEC_EXECDIR-/usr/libexec/ipsec}
_________________________ ipsec/updowns
-for f in `ls ${IPSEC_EXECDIR-/usr/local/libexec/ipsec} | egrep updown`
+for f in `ls ${IPSEC_EXECDIR-/usr/libexec/ipsec} | egrep updown`
do
- cat ${IPSEC_EXECDIR-/usr/local/libexec/ipsec}/$f
+ cat ${IPSEC_EXECDIR-/usr/libexec/ipsec}/$f
done
_________________________ /proc/net/dev
cat /proc/net/dev
diff -Nru openswan-2.4.7.orig/programs/eroute/eroute.5 openswan-2.4.7/programs/eroute/eroute.5
--- openswan-2.4.7.orig/programs/eroute/eroute.5 2006-10-26 23:40:43.000000000 +0300
+++ openswan-2.4.7/programs/eroute/eroute.5 2006-12-06 22:57:19.307864340 +0200
@@ -168,7 +168,7 @@
.SH "FILES"
.PP
-/proc/net/ipsec_eroute, /usr/local/bin/ipsec
+/proc/net/ipsec_eroute, /usr/bin/ipsec
.SH "SEE ALSO"
diff -Nru openswan-2.4.7.orig/programs/eroute/eroute.8 openswan-2.4.7/programs/eroute/eroute.8
--- openswan-2.4.7.orig/programs/eroute/eroute.8 2003-10-31 04:32:27.000000000 +0200
+++ openswan-2.4.7/programs/eroute/eroute.8 2006-12-06 22:46:54.740831340 +0200
@@ -308,7 +308,7 @@
.br
.LP
.SH FILES
-/proc/net/ipsec_eroute, /usr/local/bin/ipsec
+/proc/net/ipsec_eroute, /usr/bin/ipsec
.SH "SEE ALSO"
ipsec(8), ipsec_manual(8), ipsec_tncfg(8), ipsec_spi(8),
ipsec_spigrp(8), ipsec_klipsdebug(8), ipsec_eroute(5)
diff -Nru openswan-2.4.7.orig/programs/_include/_include.in openswan-2.4.7/programs/_include/_include.in
--- openswan-2.4.7.orig/programs/_include/_include.in 2003-01-06 23:44:04.000000000 +0200
+++ openswan-2.4.7/programs/_include/_include.in 2006-12-06 22:46:54.740831340 +0200
@@ -47,10 +47,10 @@
do
if test ! -r "$f"
then
- if test ! "$f" = "/etc/ipsec.conf"
+ if test ! "$f" = "/etc/ipsec/ipsec.conf"
then
echo "#:cannot open configuration file \'$f\'"
- if test "$f" = "/etc/ipsec.secrets"
+ if test "$f" = "/etc/ipsec/ipsec.secrets"
then
echo "#:Your secrets file will be created when you start FreeS/WAN for the first time."
fi
diff -Nru openswan-2.4.7.orig/programs/ipsec/ipsec.8 openswan-2.4.7/programs/ipsec/ipsec.8
--- openswan-2.4.7.orig/programs/ipsec/ipsec.8 2003-02-27 18:51:54.000000000 +0200
+++ openswan-2.4.7/programs/ipsec/ipsec.8 2006-12-06 22:46:54.744831590 +0200
@@ -81,7 +81,7 @@
.I ipsec
thinks the IPsec configuration files are stored.
.SH FILES
-/usr/local/lib/ipsec usual utilities directory
+/usr/lib/ipsec usual utilities directory
.SH ENVIRONMENT
.PP
The following environment variables control where FreeS/WAN finds its
diff -Nru openswan-2.4.7.orig/programs/klipsdebug/klipsdebug.5 openswan-2.4.7/programs/klipsdebug/klipsdebug.5
--- openswan-2.4.7.orig/programs/klipsdebug/klipsdebug.5 2006-10-27 01:21:25.000000000 +0300
+++ openswan-2.4.7/programs/klipsdebug/klipsdebug.5 2006-12-06 22:58:04.150666840 +0200
@@ -114,7 +114,7 @@
.SH "FILES"
.PP
-/proc/net/ipsec_klipsdebug, /usr/local/bin/ipsec
+/proc/net/ipsec_klipsdebug, /usr/bin/ipsec
.SH "SEE ALSO"
diff -Nru openswan-2.4.7.orig/programs/klipsdebug/klipsdebug.8 openswan-2.4.7/programs/klipsdebug/klipsdebug.8
--- openswan-2.4.7.orig/programs/klipsdebug/klipsdebug.8 2006-10-27 01:21:25.000000000 +0300
+++ openswan-2.4.7/programs/klipsdebug/klipsdebug.8 2006-12-06 22:58:22.295800840 +0200
@@ -111,7 +111,7 @@
.SH "FILES"
.PP
-/proc/net/ipsec_klipsdebug, /usr/local/bin/ipsec
+/proc/net/ipsec_klipsdebug, /usr/bin/ipsec
.SH "SEE ALSO"
diff -Nru openswan-2.4.7.orig/programs/mailkey/mailkey.in openswan-2.4.7/programs/mailkey/mailkey.in
--- openswan-2.4.7.orig/programs/mailkey/mailkey.in 2006-10-29 02:49:23.000000000 +0300
+++ openswan-2.4.7/programs/mailkey/mailkey.in 2006-12-06 22:46:54.828836839 +0200
@@ -60,7 +60,7 @@
"$test1st"
-Common concerns: This account must be able to read /etc/ipsec.secrets.
+Common concerns: This account must be able to read /etc/ipsec/ipsec.secrets.
If you haven't generated your key yet, please run 'ipsec newhostkey'."
exit 0
}
diff -Nru openswan-2.4.7.orig/programs/pluto/Makefile openswan-2.4.7/programs/pluto/Makefile
--- openswan-2.4.7.orig/programs/pluto/Makefile 2006-11-07 17:55:52.000000000 +0200
+++ openswan-2.4.7/programs/pluto/Makefile 2006-12-06 22:46:54.832837088 +0200
@@ -256,7 +256,7 @@
-DPOLICYGROUPSDIR=\"${FINALCONFDDIR}/policies\" \
-DPERPEERLOGDIR=\"${FINALLOGDIR}/pluto/peer\"
-ALLFLAGS = $(CPPFLAGS) $(CFLAGS)
+ALLFLAGS = $(CPPFLAGS) $(CFLAGS) $(USERCOMPILE)
# libefence is a free memory allocation debugger
# Solaris 2 needs -lsocket -lnsl
diff -Nru openswan-2.4.7.orig/programs/setup/Makefile openswan-2.4.7/programs/setup/Makefile
--- openswan-2.4.7.orig/programs/setup/Makefile 2004-12-18 20:13:43.000000000 +0200
+++ openswan-2.4.7/programs/setup/Makefile 2006-12-06 22:46:54.832837088 +0200
@@ -33,25 +33,10 @@
@rm -f $(BINDIR)/setup
@$(INSTALL) $(INSTBINFLAGS) setup $(RCDIR)/ipsec
@ln -s $(FINALRCDIR)/ipsec $(BINDIR)/setup
- -@for i in 0 1 2 3 4 5 6; do mkdir -p $(RCDIR)/../rc$$i.d; done
- -@cd $(RCDIR)/../rc0.d && ln -f -s ../init.d/ipsec K76ipsec
- -@cd $(RCDIR)/../rc1.d && ln -f -s ../init.d/ipsec K76ipsec
- -@cd $(RCDIR)/../rc2.d && ln -f -s ../init.d/ipsec S47ipsec
- -@cd $(RCDIR)/../rc3.d && ln -f -s ../init.d/ipsec S47ipsec
- -@cd $(RCDIR)/../rc4.d && ln -f -s ../init.d/ipsec S47ipsec
- -@cd $(RCDIR)/../rc5.d && ln -f -s ../init.d/ipsec S47ipsec
- -@cd $(RCDIR)/../rc6.d && ln -f -s ../init.d/ipsec K76ipsec
install_file_list::
@echo $(RCDIR)/ipsec
@echo $(BINDIR)/setup
- @echo $(RCDIR)/../rc0.d/K76ipsec
- @echo $(RCDIR)/../rc1.d/K76ipsec
- @echo $(RCDIR)/../rc2.d/S47ipsec
- @echo $(RCDIR)/../rc3.d/S47ipsec
- @echo $(RCDIR)/../rc4.d/S47ipsec
- @echo $(RCDIR)/../rc5.d/S47ipsec
- @echo $(RCDIR)/../rc6.d/K76ipsec
clean::
@rm -f setup
diff -Nru openswan-2.4.7.orig/programs/showhostkey/showhostkey.in openswan-2.4.7/programs/showhostkey/showhostkey.in
--- openswan-2.4.7.orig/programs/showhostkey/showhostkey.in 2004-11-14 15:40:41.000000000 +0200
+++ openswan-2.4.7/programs/showhostkey/showhostkey.in 2006-12-06 22:46:54.844837840 +0200
@@ -18,7 +18,7 @@
usage="Usage: $me [--file secrets] [--left] [--right] [--txt gateway] [--id id]
[--dhclient] [--ipseckey]"
-file=/etc/ipsec.secrets
+file=/etc/ipsec/ipsec.secrets
fmt=""
gw=
id=
diff -Nru openswan-2.4.7.orig/programs/spi/spi.5 openswan-2.4.7/programs/spi/spi.5
--- openswan-2.4.7.orig/programs/spi/spi.5 2006-10-26 23:53:59.000000000 +0300
+++ openswan-2.4.7/programs/spi/spi.5 2006-12-06 23:00:11.910340779 +0200
@@ -157,7 +157,7 @@
.SH "FILES"
.PP
-/proc/net/ipsec_spi, /usr/local/bin/ipsec
+/proc/net/ipsec_spi, /usr/bin/ipsec
.SH "SEE ALSO"
diff -Nru openswan-2.4.7.orig/programs/spi/spi.8 openswan-2.4.7/programs/spi/spi.8
--- openswan-2.4.7.orig/programs/spi/spi.8 2006-10-30 22:00:04.000000000 +0200
+++ openswan-2.4.7/programs/spi/spi.8 2006-12-06 23:00:27.043286530 +0200
@@ -215,7 +215,7 @@
.SH "FILES"
.PP
-/proc/net/ipsec_spi, /usr/local/bin/ipsec
+/proc/net/ipsec_spi, /usr/bin/ipsec
.SH "SEE ALSO"
diff -Nru openswan-2.4.7.orig/programs/spigrp/spigrp.5 openswan-2.4.7/programs/spigrp/spigrp.5
--- openswan-2.4.7.orig/programs/spigrp/spigrp.5 2006-10-26 23:50:29.000000000 +0300
+++ openswan-2.4.7/programs/spigrp/spigrp.5 2006-12-06 23:01:25.650949280 +0200
@@ -67,7 +67,7 @@
.SH "FILES"
.PP
-/proc/net/ipsec_spigrp, /usr/local/bin/ipsec
+/proc/net/ipsec_spigrp, /usr/bin/ipsec
.SH "SEE ALSO"
diff -Nru openswan-2.4.7.orig/programs/spigrp/spigrp.8 openswan-2.4.7/programs/spigrp/spigrp.8
--- openswan-2.4.7.orig/programs/spigrp/spigrp.8 2006-10-26 23:50:29.000000000 +0300
+++ openswan-2.4.7/programs/spigrp/spigrp.8 2006-12-06 23:01:39.079788532 +0200
@@ -87,7 +87,7 @@
.SH "FILES"
.PP
-/proc/net/ipsec_spigrp, /usr/local/bin/ipsec
+/proc/net/ipsec_spigrp, /usr/bin/ipsec
.SH "SEE ALSO"
diff -Nru openswan-2.4.7.orig/programs/tncfg/tncfg.5 openswan-2.4.7/programs/tncfg/tncfg.5
--- openswan-2.4.7.orig/programs/tncfg/tncfg.5 2006-10-26 23:58:11.000000000 +0300
+++ openswan-2.4.7/programs/tncfg/tncfg.5 2006-12-06 23:01:59.385057530 +0200
@@ -101,7 +101,7 @@
.SH "FILES"
.PP
-/proc/net/ipsec_tncfg, /usr/local/bin/ipsec
+/proc/net/ipsec_tncfg, /usr/bin/ipsec
.SH "SEE ALSO"
diff -Nru openswan-2.4.7.orig/programs/tncfg/tncfg.8 openswan-2.4.7/programs/tncfg/tncfg.8
--- openswan-2.4.7.orig/programs/tncfg/tncfg.8 2006-10-26 23:58:11.000000000 +0300
+++ openswan-2.4.7/programs/tncfg/tncfg.8 2006-12-06 23:02:09.245673780 +0200
@@ -63,7 +63,7 @@
.SH "FILES"
.PP
-/proc/net/ipsec_tncfg, /usr/local/bin/ipsec
+/proc/net/ipsec_tncfg, /usr/bin/ipsec
.SH "SEE ALSO"

View File

@@ -1,36 +0,0 @@
SECTION = "console/network"
SUMMARY = "IPsec implementation"
DESCRIPTION = "Openswan is an Open Source implementation of IPsec for the \
Linux operating system."
HOMEPAGE = "http://www.openswan.org"
LICENSE = "GPLv2"
DEPENDS = "gmp flex-native"
RRECOMMENDS_${PN} = "kernel-module-ipsec"
PR = "r2"
SRC_URI = "http://www.openswan.org/download/old/openswan-${PV}.tar.gz \
file://openswan-2.4.7-gentoo.patch;patch=1 \
file://installflags.patch;patch=1 \
file://ld-library-path-breakage.patch;patch=1"
S = "${WORKDIR}/openswan-${PV}"
PARALLEL_MAKE = ""
EXTRA_OEMAKE = "DESTDIR=${D} \
USERCOMPILE="${CFLAGS}" \
FINALCONFDIR=${sysconfdir}/ipsec \
INC_RCDEFAULT=${sysconfdir}/init.d \
INC_USRLOCAL=${prefix} \
INC_MANDIR=share/man WERROR=''"
do_compile () {
oe_runmake programs
}
do_install () {
oe_runmake install
}
FILES_${PN} = "${sysconfdir} ${libdir}/ipsec/* ${sbindir}/* ${libexecdir}/ipsec/*"
FILES_${PN}-dbg += "${libdir}/ipsec/.debug ${libexecdir}/ipsec/.debug"
CONFFILES_${PN} = "${sysconfdir}/ipsec/ipsec.conf"

View File

@@ -1,20 +0,0 @@
Upstream-Status: Inappropriate [configuration]
---
cmake/OpenSyncInternal.cmake.in | 1 -
1 file changed, 1 deletion(-)
--- libopensync-0.36.orig/cmake/OpenSyncInternal.cmake.in
+++ libopensync-0.36/cmake/OpenSyncInternal.cmake.in
@@ -5,11 +5,10 @@ INCLUDE( OpenSyncTesting )
INCLUDE( OpenSyncPackaging )
INCLUDE( OpenSyncPlugin )
INCLUDE( OpenSyncPlatforms )
INCLUDE( MacroEnsureOutOfSourceBuild )
-MACRO_ENSURE_OUT_OF_SOURCE_BUILD("${CMAKE_PROJECT_NAME} doesn't allow to build within the source directory. Please, create a seperate build directory and run 'cmake ${PROJECT_SOURCE_DIR} [options]'!")
SET( OPENSYNC_PLUGINDIR "@OPENSYNC_PLUGINDIR@" )
SET( OPENSYNC_FORMATSDIR "@OPENSYNC_FORMATSDIR@" )
SET( OPENSYNC_PYTHON_PLUGINDIR "@OPENSYNC_PYTHON_PLUGINDIR@" )

View File

@@ -1,19 +0,0 @@
Upstream-Status: Inappropriate [configuration]
---
opensync/CMakeLists.txt | 1 -
1 file changed, 1 deletion(-)
Index: libopensync-0.37/opensync/CMakeLists.txt
===================================================================
--- libopensync-0.37.orig/opensync/CMakeLists.txt 2008-10-15 13:56:45.000000000 +0100
+++ libopensync-0.37/opensync/CMakeLists.txt 2008-10-15 13:59:03.000000000 +0100
@@ -67,8 +67,6 @@
SET_TARGET_PROPERTIES( opensync PROPERTIES VERSION ${OPENSYNC_LIBVERSION_VERSION} )
SET_TARGET_PROPERTIES( opensync PROPERTIES SOVERSION ${OPENSYNC_LIBVERSION_SOVERSION} )
-SET_TARGET_PROPERTIES( opensync PROPERTIES COMPILE_FLAGS ${SYMBOLS_VISIBILITY} )
-
IF ( OPENSYNC_UNITTESTS )
ADD_LIBRARY( opensync-testing SHARED ${libopensync_LIB_SRCS} )
TARGET_LINK_LIBRARIES( opensync-testing ${GLIB2_LIBRARIES} ${GTHREAD2_LIBRARIES} ${GMODULE2_LIBRARIES} ${LIBXML2_LIBRARIES} ${LIBXSLT_LIBRARIES} ${LIBEXSLT_LIBRARIES} ${SQLITE3_LIBRARIES} )

View File

@@ -1,18 +0,0 @@
Upstream-Status: Inappropriate [configuration]
---
CMakeLists.txt | 1 -
1 file changed, 1 deletion(-)
Index: libopensync-0.37/CMakeLists.txt
===================================================================
--- libopensync-0.37.orig/CMakeLists.txt 2008-08-18 16:14:24.000000000 +0100
+++ libopensync-0.37/CMakeLists.txt 2008-10-15 14:00:12.000000000 +0100
@@ -65,7 +65,6 @@
FIND_PACKAGE( LibXslt REQUIRED )
FIND_PACKAGE( LibExslt REQUIRED )
FIND_PACKAGE( SWIG )
-FIND_PACKAGE( PythonLibs )
FIND_PACKAGE( Check )
ADD_SUBDIRECTORY( opensync )

View File

@@ -1,25 +0,0 @@
Upstream-Status: Inappropriate [configuration]
Index: libopensync-plugin-evolution2-0.36/cmake/modules/FindOpenSync.cmake
===================================================================
--- libopensync-plugin-evolution2-0.36.orig/cmake/modules/FindOpenSync.cmake 2008-10-20 13:07:14.000000000 +0100
+++ libopensync-plugin-evolution2-0.36/cmake/modules/FindOpenSync.cmake 2008-10-20 13:08:09.000000000 +0100
@@ -23,15 +23,15 @@
ENDIF ( OpenSync_FIND_REQUIRED )
IF ( OPENSYNC_MIN_VERSION )
- PKG_SEARCH_MODULE( OPENSYNC ${_pkgconfig_REQUIRED} opensync-1.0>=${OPENSYNC_MIN_VERSION} )
+ PKG_SEARCH_MODULE( OPENSYNC ${_pkgconfig_REQUIRED} libopensync>=${OPENSYNC_MIN_VERSION} )
ELSE ( OPENSYNC_MIN_VERSION )
- PKG_SEARCH_MODULE( OPENSYNC ${_pkgconfig_REQUIRED} opensync-1.0 )
+ PKG_SEARCH_MODULE( OPENSYNC ${_pkgconfig_REQUIRED} libopensync )
ENDIF ( OPENSYNC_MIN_VERSION )
FIND_PROGRAM( PKGCONFIG_EXECUTABLE NAMES pkg-config )
IF ( PKGCONFIG_EXECUTABLE )
- EXEC_PROGRAM( ${PKGCONFIG_EXECUTABLE} ARGS opensync-1.0 --variable=datadir OUTPUT_VARIABLE _opensync_data_DIR )
+ EXEC_PROGRAM( ${PKGCONFIG_EXECUTABLE} ARGS libopensync --variable=datadir OUTPUT_VARIABLE _opensync_data_DIR )
STRING( REGEX REPLACE "[\r\n]" " " _opensync_data_DIR "${_opensync_data_DIR}" )
ENDIF ( PKGCONFIG_EXECUTABLE )

View File

@@ -1,8 +0,0 @@
require libopensync-plugin_0.36.inc
LICENSE = "LGPL"
DEPENDS += " eds-dbus"
SRC_URI += "file://0.37-fixes.patch;patch=1"
PR = "r1"

View File

@@ -1,2 +0,0 @@
require libopensync-plugin_0.36.inc
LICENSE = "LGPL"

View File

@@ -1,2 +0,0 @@
require libopensync-plugin_0.36.inc
LICENSE = "GPLv2"

View File

@@ -1,4 +0,0 @@
require libopensync-plugin_0.36.inc
LICENSE = "GPLv2"
DEPENDS += "openobex bluez4"

View File

@@ -1,15 +0,0 @@
Upstream-Status: Inappropriate [others]
Index: libopensync-plugin-syncml-0.38/src/syncml_callbacks.c
===================================================================
--- libopensync-plugin-syncml-0.38.orig/src/syncml_callbacks.c 2009-07-31 10:30:33.000000000 +0100
+++ libopensync-plugin-syncml-0.38/src/syncml_callbacks.c 2009-07-31 10:30:39.000000000 +0100
@@ -405,7 +405,7 @@
} else {
/* This problem should be fixed with the next SLOW-SYNC. */
osync_trace(TRACE_EXIT_ERROR, "%s - unexpected Add or Replace command", __func__);
- smlErrorSet(error, SML_ERROR_TEMPORARY, "Unwanted Add or Replace command on second OMA DS session.");
+ smlErrorSet(error, SML_ERROR_GENERIC, "Unwanted Add or Replace command on second OMA DS session.");
return FALSE;
}
}

View File

@@ -1,8 +0,0 @@
require libopensync-plugin_0.36.inc
LICENSE = "LGPL"
DEPENDS += " libsyncml (>= 0.4.7)"
SRC_URI += "file://fixerror.patch;patch=1"
PR = "r1"

View File

@@ -1,4 +0,0 @@
require libopensync-plugin_0.36.inc
LICENSE = "LGPL"
DEPENDS += "libcheck"

View File

@@ -1,11 +0,0 @@
DEPENDS = "libopensync (>= 0.36)"
DESCRIPTION ?= "OpenSync plugin"
SRC_URI = "http://opensync.org/download/releases/${PV}/${BPN}-${PV}.tar.bz2"
inherit cmake
FILES_${PN} += "${libdir}/opensync*/plugins/*.so \
${libdir}/opensync*/formats/*.so \
${datadir}/opensync*/defaults/"

View File

@@ -1,26 +0,0 @@
LICENSE = "LGPL"
HOMEPAGE = "http://www.opensync.org/"
SUMMARY = "Synchronization framwork"
DESCRIPTION = "The OpenSync project is an ongoing effort to create a synchronization framework that will be a platform independent, general purpose synchronization engine utilizing modular plugins for content formats and different kind of connection types. OpenSync's modularity should allow it to be extended easily to new devices and purposes without radically changing the architecture itself, allowing it to support wide variety of devices used today and in the future."
DEPENDS = "sqlite3 libxml2 glib-2.0 libcheck zlib libxslt"
PR = "r1"
SRC_URI = "http://opensync.org/download/releases/${PV}/libopensync-${PV}.tar.bz2\
file://cmake.patch;patch=1 \
file://build-in-src.patch;patch=1 \
file://no-python-check.patch;patch=1"
inherit cmake pkgconfig
LEAD_SONAME = "libopensync.so"
FILES_${PN} += " ${libdir}/opensync*/formats/*.so \
${libdir}/opensync*/osplugin \
${datadir}/opensync*/schemas \
${datadir}/opensync*/capabilities \
${datadir}/opensync*/descriptions \
"
FILES_${PN}-dbg += " ${libdir}/opensync*/formats/.debug/*.so \
${libdir}/opensync*/.debug/osplugin "

View File

@@ -1,22 +0,0 @@
SUMMARY = "GObject-based sync library"
DESCRIPTION = "LibSync is a GObject-based framework for more convenient use of \
OpenSync in GLib applications."
LICENSE = "LGPLv2"
SECTION = "x11"
DEPENDS = "glib-2.0 gtk+ libglade libopensync avahi"
RRECOMMENDS_${PN} = "\
libopensync-plugin-file \
"
SRCREV = "3f375969d56028505db97cd25ef1679a167cfc59"
PV = "0.0+gitr${SRCPV}"
PR = "r2"
SRC_URI = "git://git.yoctoproject.org/sync;protocol=git"
inherit autotools pkgconfig
S = "${WORKDIR}/sync"
PACKAGES += "synctool"
FILES_${PN} = "${libdir}/lib*.so.*"
FILES_synctool = "${bindir} ${datadir}"

View File

@@ -1,21 +0,0 @@
Upstream-Status: Inappropriate [configuration]
---
CMakeLists.txt | 4 ----
1 file changed, 4 deletions(-)
Index: libsyncml-0.5.4/CMakeLists.txt
===================================================================
--- libsyncml-0.5.4.orig/CMakeLists.txt 2009-07-31 09:56:16.000000000 +0100
+++ libsyncml-0.5.4/CMakeLists.txt 2009-07-31 09:57:33.000000000 +0100
@@ -72,10 +72,6 @@
CHECK_TYPE_SIZE( uint32_t UINT32_T )
CHECK_TYPE_SIZE( uint8_t UINT8_T )
-# ensure out od source build
-INCLUDE( MacroEnsureOutOfSourceBuild )
-MACRO_ENSURE_OUT_OF_SOURCE_BUILD("${CMAKE_PROJECT_NAME} doesn't allow to build within the source directory. Please, create a seperate build directory and run 'cmake ${PROJECT_SOURCE_DIR} [options]'!")
-
# find requirements
SET ( GLIB2_MIN_VERSION "2.12" )
SET ( OPENOBEX_MIN_VERSION "1.1" )

View File

@@ -1,17 +0,0 @@
DESCRIPTION = "Libsyncml is a implementation of the SyncML protocol."
HOMEPAGE = "http://libsyncml.opensync.org/"
LICENSE = "LGPL"
DEPENDS = "sed-native wbxml2 libsoup libxml2 bluez4 openobex libcheck"
PR = "r1"
SRC_URI = "${SOURCEFORGE_MIRROR}/libsyncml/0.5.4/libsyncml-0.5.4.tar.bz2 \
file://build-in-src.patch;patch=1"
inherit cmake pkgconfig
PACKAGES += "${PN}-tools"
FILES_${PN}-tools = "${bindir}"
FILES_${PN} = "${libdir}/*.so.*"
export VERBOSE="1"

View File

@@ -1,20 +0,0 @@
SUMMARY = "Calendar (and other PIM data) synchronization program"
DESCRIPTION = "msynctool is a program to synchronize calendars, \
addressbooks and other PIM data between programs on your computer and \
other computers, mobile devices, PDAs or cell phones. It uses the \
OpenSync plugins when synchronizing data."
HOMEPAGE = "http://www.opensync.org/"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
file://tools/msynctool.c;beginline=1;endline=20;md5=0b71ef245b75c74bff7d7ec58b9b4527"
DEPENDS = "libopensync glib-2.0"
SRC_URI = "http://www.opensync.org/download/releases/${PV}/msynctool-${PV}.tar.bz2"
inherit cmake pkgconfig
PR = "r0"
SRC_URI[md5sum] = "495c45d6f12d3523a736864b0ced6ce5"
SRC_URI[sha256sum] = "4a903d4db05bf2f677a675ec47e9791da9b1752c9feda0026157e82aa97e372b"

View File

@@ -1,41 +0,0 @@
Upstream-Status: Inappropriate [disable feature]
---
Makefile.am | 2 +-
configure.ac | 1 -
help/Makefile.am | 1 -
3 files changed, 1 insertion(+), 3 deletions(-)
--- empathy-0.23.4.orig/Makefile.am
+++ empathy-0.23.4/Makefile.am
@@ -1,6 +1,6 @@
-SUBDIRS = tools extensions po data libempathy libempathy-gtk src docs help
+SUBDIRS = tools extensions po data libempathy libempathy-gtk src
if HAVE_MEGAPHONE
SUBDIRS += megaphone
endif
--- empathy-0.23.4.orig/configure.ac
+++ empathy-0.23.4/configure.ac
@@ -55,11 +55,10 @@ AM_PROG_LIBTOOL
AM_PROG_MKDIR_P
AM_PATH_GLIB_2_0
AC_PATH_XTRA
IT_PROG_INTLTOOL([0.35.0])
GTK_DOC_CHECK([1.3])
-GNOME_DOC_INIT
IDT_COMPILE_WARNINGS
AC_PATH_PROG(DBUS_BINDING_TOOL, dbus-binding-tool)
AC_PATH_PROG(GCONFTOOL, gconftool-2)
AM_GCONF_SOURCE_2
GLIB_GENMARSHAL=`$PKG_CONFIG glib-2.0 --variable=glib_genmarshal`
--- empathy-0.23.4.orig/help/Makefile.am
+++ empathy-0.23.4/help/Makefile.am
@@ -1,6 +1,5 @@
-include $(top_srcdir)/gnome-doc-utils.make
DOC_MODULE = empathy
DOC_ENTITIES = legal.xml
DOC_FIGURES = \
figures/empathy-main-window.png \

View File

@@ -1,29 +0,0 @@
SUMMARY = "a Telepathy based IM client"
DESCRIPTION = "Instant messaging program supporting text, voice, video, file \
transfers and interapplication communication over many different protocols, \
include: AIM, MSN, Google Talk (Jabber/XMPP), Facebook, Yahoo!, Salut, \
Gadu-Gadu, Groupwise, ICQ and QQ."
HOMEPAGE = "http://blogs.gnome.org/view/xclaesse/2007/04/26/0"
LICENSE = "GPL"
DEPENDS = "libcanberra telepathy-farsight gnome-doc-utils python-native telepathy-python telepathy-mission-control libtelepathy telepathy-glib gtk+ gconf libglade eds-dbus"
RDEPENDS_${PN} = "telepathy-mission-control"
RRECOMMENDS_${PN} = "telepathy-gabble"
PR = "r3"
inherit gnome
PARALLEL_MAKE = ""
EXTRA_OECONF += "--disable-scrollkeeper"
PACKAGES =+ "empathy-scrollkeeper-junk"
FILES_empathy-scrollkeeper-junk = "/var/lib/scrollkeeper"
FILES_${PN} += "${datadir}/mission-control/profiles/*.profile \
${datadir}/dbus-1/services/*.service \
${datadir}/telepathy/managers/*.chandler \
${datadir}/icons \
${libdir}/python*"
FILES_${PN}-dbg += "${libdir}/python*/*/.debug"

View File

@@ -1,16 +0,0 @@
SUMMARY = "Telepathy fasrsight"
DESCRIPTION = "Glue library for telepathy media signalling and the media \
streaming capabilities of Farsight2."
HOMEPAGE = "http://telepathy.freedesktop.org/wiki/"
DEPENDS = "glib-2.0 dbus telepathy-glib farsight2"
LICENSE = "LGPLv2"
SRC_URI = "http://telepathy.freedesktop.org/releases/telepathy-farsight/${BPN}-${PV}.tar.gz \
"
inherit autotools
EXTRA_OECONF = "--disable-python"
FILES_${PN} += "${datadir}/telepathy \
${datadir}/dbus-1"

View File

@@ -1,33 +0,0 @@
[ConnectionManager]
BusName=org.freedesktop.Telepathy.ConnectionManager.gabble
ObjectPath=/org/freedesktop/Telepathy/ConnectionManager/gabble
[Protocol jabber]
param-account=s required register
param-password=s required register
param-server=s
param-resource=s
param-priority=n
param-port=q
param-old-ssl=b
param-register=b
param-low-bandwidth=b
param-https-proxy-server=s
param-https-proxy-port=q
param-fallback-conference-server=s
param-stun-server=s
param-stun-port=q
param-ignore-ssl-errors=b
param-alias=s
param-mac=s
param-btid=s
default-resource=Telepathy
default-priority=0
default-port=5222
default-old-ssl=false
default-register=false
default-low-bandwidth=false
default-https-proxy-port=443
default-stun-port=3478
default-ignore-ssl-errors=false

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