Chris Larson [Thu, 5 May 2011 23:55:33 +0000 (16:55 -0700)]
cooker: pass traceback back from parsing thread
Uses bb.exceptions to get a traceback back from the parsing thread to the main
thread, where it is then formatted. Also enables 3 lines of context for the
formatted traceback, and limits the number of entries displayed to 5.
Chris Larson [Sat, 14 May 2011 00:35:37 +0000 (17:35 -0700)]
bb.exceptions: don't show a repr of 'self'
Rather than treating self like an ordinary argument, showing a repr of its
value in the function spec when formatting the traceback entry, now we show
the class name for the method as a part of the function name. Example:
Old: bar(self=<some repr of Fooclass>, f=5)
New: Fooclass.bar(f=5)
Chris Larson [Thu, 5 May 2011 23:53:52 +0000 (16:53 -0700)]
bb.exceptions: add code to create pickleable traceback entries
This lets you get as much useful information as possible from traceback
entries while staying pickleable.
In addition, it has improved traceback formatting. It shows the values of the
arguments for the functions, lines of context from the file for the code, and
has an optional formatter to do things like syntax highlighting for the code
lines.
Richard Purdie [Wed, 8 Jun 2011 08:34:12 +0000 (09:34 +0100)]
bitbake: Cleanup bitbake server init process to be clearer to follow
Create a standard format server class instance with method calls
for each step in the server setup. There should be enough hooks
for each of the different server types.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Liping Ke [Fri, 3 Jun 2011 00:22:40 +0000 (08:22 +0800)]
cache: Implement multiple extra cache fields request support
This patch is to support extra cache. If user needs to request
extra cache fields besides CoreRecipeInfo fields, just add a new
XXXRecipeInfo class definition as Hob Does.
Currently supported Extra RecipeInfo name is an array. We can
support multiple extra cache fields at the same time besides
CoreRecipeInfo which is needed by all clients.
Liping Ke [Fri, 3 Jun 2011 00:21:44 +0000 (08:21 +0800)]
Introduce new param caches_array into Cache impl.
When using hob ui interface, we need extra cache fields.
We will save ui required extra cache fields into a separate
cache file. This patch introduce this caches_array parameter.
It will be used in the extra cache implementation (following patch).
Caches_array at least contains CoreRecipeInfo. If users need extra
cache fields support, such as 'hob', caches_array will contain
more relevant elements such as HobRecipeInfo.
Liping Ke [Fri, 3 Jun 2011 00:20:15 +0000 (08:20 +0800)]
Introduce extra cache class for image creator
Extra RecipeInfo will be all defined in this file. Currently,
Only Hob (Image Creator) Requests some extra fields. So
HobRecipeInfo is defined. It's named HobRecipeInfo because it
is introduced by 'hob'. Users could also introduce other
RecipeInfo or simply use those already defined RecipeInfo.
In the following patch, this newly defined new extra RecipeInfo
will be dynamically loaded and used for loading/saving the extra
cache fields.
Liping Ke [Fri, 3 Jun 2011 00:17:23 +0000 (08:17 +0800)]
cache.py: Refactory Current Cache implementation
This patch is for refactorying current cache implementation, the
main reason is for introducing extra cache fields requests for
image creator as well as other users. The refactory parts include:
Move cache data retrieve methods out of Cache Data Fields
Definition. Since this retrieve methods will be shared for
both CoreRecipeInfo as well as the new introduced extra RecipeInfo
in the following patches.
Chris Larson [Thu, 2 Jun 2011 21:46:13 +0000 (14:46 -0700)]
siggen: don't choke with traceback when data is None
Given we use bb.error, not bb.fatal, here, it seems this was intended to be
non-fatal, yet we'd end up trying to concatenate None. Fix this by setting an
empty task to the empty string, for the purposes of hashing. Also str() the
value we get from the datastore, just in case something other than a string
was stored there.
Bruce Ashfield [Mon, 6 Jun 2011 16:11:36 +0000 (12:11 -0400)]
linux-yocto/meta-yocto: make e1000e structure common [commit: bec3f1e8c]
During work on 1.1 BSPs, some driver options changed. The
result was that the upstream fix b1d670f10e8078485884f0cf7e384d890909aeaa
needs to be available for all BSPs.
These SRCREV updates are the result of making that commit common.
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Bruce Ashfield [Mon, 6 Jun 2011 15:30:31 +0000 (11:30 -0400)]
linux-yocto: make e1000e structure common [commit: bec3f1e8c]
During work on 1.1 BSPs, some driver options changed. The
result was that the upstream fix b1d670f10e8078485884f0cf7e384d890909aeaa
needs to be available for all BSPs.
These SRCREV updates are the result of making that commit common.
Bruce Ashfield [Fri, 3 Jun 2011 05:05:30 +0000 (01:05 -0400)]
linux-yocto: update target/meta SRCREVs
This SRCREV update picks up the following changes from the
2.6.37 kernel tree:
- fishriver: create and use a dedicated BSP branch
- fishriver: usbnet fixes, but common to all boards
- standard: update omap baseline match the 2.6.34
upstream merge content
Scott Garman [Thu, 19 May 2011 17:35:40 +0000 (10:35 -0700)]
bitbake.conf: set PSEUDO_PASSWD within FAKEROOTENV
PSEUDO_PASSWD needs to point to the directory where passwd and group
files are kept. This will allow pseudo to use those users and groups
to change file ownership.
Scott Garman [Fri, 3 Jun 2011 17:33:09 +0000 (10:33 -0700)]
shadow: recipe and patch cleanup
Taking over maintenance of the shadow recipe. Cleaning it up in
preparation of adding a -native version that will be used to add
users/groups during preinstall.
Phil Blundell [Fri, 3 Jun 2011 11:30:11 +0000 (12:30 +0100)]
gcc-package-cross: also install the symlinks in libexec with target prefix
.. since this is where collect2 seems to look for them. This seems like
it is really a bug in collect2, but installing the symlinks is an easy
workaround. Without this you get "could not find ld" errors when using -flto.
Chris Larson [Thu, 2 Jun 2011 21:32:17 +0000 (14:32 -0700)]
event: don't catch systemexit from handler execution
This means that anyone firing an event can get a systemexit and result in
their process exiting, which isn't ideal, but behaves the way it used to (in
particular, ensures that a sanity check failure will halt the build). This
should be revisited in the future.
To support translation, qmake based projects usually call lrelease and
lupdate however OE changes the binary names so this needs some mangle
to work out of box.
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Acked-by: Paul Eggleton <paul.eggleton@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 2 Jun 2011 15:12:32 +0000 (16:12 +0100)]
sysvinit: Mark as machine specific since there are machine specific components to this recipe
The inittab file depends on variables that are part of the machine config
such as the SERIAL_CONSOLE so the whole recipe must get built as machine
specific. Better might be to split the config out into a separate recipes
from the binaries but this fixes the immediate problem.
We don't package /etc/rpc and do_install() makes some effort to remove
that file so as to avoid the "installed but not shipped" diagnostic. But,
due to a typo in the command line, the file wasn't actually being removed
and the diagnostic continued to be issued.
Phil Blundell [Thu, 2 Jun 2011 12:15:05 +0000 (13:15 +0100)]
eglibc: fix mispackaging of libcidn
The glob for libc_baselibs was too permissive, causing some of the libcidn
symlinks to be placed in ${PN} rather than the intended subpackage. Worse,
the .so itself was actually landing in ${PN}-dev, so the net effect was to
make libc6-dev a dependency of libc6.
Jingdong Lu [Tue, 24 May 2011 05:57:57 +0000 (13:57 +0800)]
libx11: fix libX11 keysyms to pass xts5 of lsb
Fixes bug: [YOCTO #1095]
Because of cross-compiling libx11 keysyms will cause Xts5 test of LSB fail.
libx11 use a tool named "makekey" which compiled as a native tool to generate
ks_tables.h. Because the size of "unsigned long" is different between 32-bit
and 64-bit, we should judge whether our target is 32-bit or 64-bit and tell
"makekey".
I add a patch to "makekeys_crosscompile.patch" to "src/utils/makekeys.c" in
order to deal with the different targets. If our target is 32-bit, we force
the variable its type is "unsigned long" to "uint32_t". So we can generate a
correct keysyms.
Phil Blundell [Wed, 1 Jun 2011 10:41:11 +0000 (11:41 +0100)]
rootfs_ipk: delete opkg metadata if package management not required and all packages are configured
If all the postinsts were successfully run in offline mode, and
package-management hasn't been requested as an IMAGE_FEATURE, the opkg
metadata is now redundant and can safely be deleted.
Also, the update-rc.d and base-passwd packages can be removed since
they will serve no further purpose in this situation.
If some packages are still unconfigured at this point then we need to
keep their metadata around so that either opkg or the awk script can
configure the packages at boot time. In theory it would be possible to
strip out the data for packages that have already been configured, but
right now we just hold on to the whole status file in that situation.
Without this the script mangling goes very wrong if ${prefix}="". There
isn't really any way to fix this in the completely general case, but
this patch does work with the two cases I tested (freetype and
gpg-error) which were unusable previously.
Phil Blundell [Thu, 26 May 2011 10:08:01 +0000 (11:08 +0100)]
busybox: sync do_install() with oe master (mostly)
This is basically a backport of the current state of the art from the
openembedded master repo. In particular this fixes an installation
error on micro:
| + cp -dPr /home/pb/oe/build-meta/tmp-eglibc/work/i586-oe-linux/busybox-1.18.4-r1.2/image/bin /home/pb/oe/build-meta/tmp-eglibc/work/i586-oe-linux/busybox-1.18.4-r1.2/image/sbin /home/pb/oe/build-meta/tmp-eglibc/work/i586-oe-linux/busybox-1.18.4-r1.2/image /home/pb/oe/build-meta/tmp-eglibc/work/i586-oe-linux/busybox-1.18.4-r1.2/image/busybox/
| cp: will not create hard link `/home/pb/oe/build-meta/tmp-eglibc/work/i586-oe-linux/busybox-1.18.4-r1.2/image/busybox/image/bin' to directory `/home/pb/oe/build-meta/tmp-eglibc/work/i586-oe-linux/busybox-1.18.4-r1.2/image/busybox/bin'
| cp: cannot copy a directory, `/home/pb/oe/build-meta/tmp-eglibc/work/i586-oe-linux/busybox-1.18.4-r1.2/image', into itself, `/home/pb/oe/build-meta/tmp-eglibc/work/i586-oe-linux/busybox-1.18.4-r1.2/image/busybox/image'
| ERROR: Function 'do_install' failed (see /home/pb/oe/build-meta/tmp-eglibc/work/i586-oe-linux/busybox-1.18.4-r1.2/temp/log.do_install.3808 for further information)
Xiaofeng Yan [Mon, 30 May 2011 11:27:45 +0000 (19:27 +0800)]
sudo.inc: Add do_install_prepend () to sudo.inc
Fix bug [YOCTO #1092]
Own a directory "/var/lib" before do_install() because if there isn't this directory during installing, \
then script "mkinstalldirs" from "sudo package" will create directory "/var/lib/sudo" by recursion with mode "0700" \
which will cause bug [YOCTO #1092]. So I add do_install_prepend() to create a "/var/lib" which can be accessed \
by common user before installing files.