Robert Yang [Wed, 23 May 2012 05:55:39 +0000 (13:55 +0800)]
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:
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.
Paul Eggleton [Mon, 21 May 2012 15:56:15 +0000 (16:56 +0100)]
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.
Shane Wang [Wed, 23 May 2012 15:19:44 +0000 (23:19 +0800)]
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.
Mark Hatle [Wed, 23 May 2012 15:45:11 +0000 (10:45 -0500)]
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.
Mark Hatle [Wed, 23 May 2012 15:45:10 +0000 (10:45 -0500)]
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.
Mark Hatle [Wed, 23 May 2012 15:45:09 +0000 (10:45 -0500)]
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>
Robert Yang [Sun, 20 May 2012 12:36:06 +0000 (20:36 +0800)]
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
Enrico Scholz [Sun, 20 May 2012 15:19:11 +0000 (17:19 +0200)]
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.
Paul Eggleton [Tue, 22 May 2012 23:23:32 +0000 (00:23 +0100)]
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>.
Dongxiao Xu [Tue, 22 May 2012 03:08:35 +0000 (11:08 +0800)]
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.
Shane Wang [Tue, 22 May 2012 11:33:23 +0000 (19:33 +0800)]
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.
Khem Raj [Thu, 10 May 2012 20:58:43 +0000 (13:58 -0700)]
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
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
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.
Richard Purdie [Tue, 15 May 2012 19:49:36 +0000 (19:49 +0000)]
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.
Richard Purdie [Sun, 13 May 2012 12:31:01 +0000 (12:31 +0000)]
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.
Richard Purdie [Sun, 13 May 2012 12:00:45 +0000 (12:00 +0000)]
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).
Richard Purdie [Sun, 13 May 2012 07:40:42 +0000 (07:40 +0000)]
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.
Richard Purdie [Sun, 13 May 2012 07:38:13 +0000 (07:38 +0000)]
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.
Mark Hatle [Fri, 18 May 2012 14:18:19 +0000 (17:18 +0300)]
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.
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>
Gary Thomas [Fri, 18 May 2012 14:18:18 +0000 (17:18 +0300)]
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.
Bruce Ashfield [Fri, 18 May 2012 14:18:17 +0000 (17:18 +0300)]
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
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>
Bruce Ashfield [Fri, 18 May 2012 14:18:15 +0000 (17:18 +0300)]
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
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>
Jiajun Xu [Fri, 18 May 2012 14:18:14 +0000 (17:18 +0300)]
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".
Koen Kooi [Tue, 15 May 2012 09:32:21 +0000 (11:32 +0200)]
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.
Martin Jansa [Sat, 12 May 2012 12:18:33 +0000 (14:18 +0200)]
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 “
| ^
| /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 “Software”
| ^
| /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 “
| ^
| /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 “Software”
| ^
| 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;
| ^
Xiaofeng Yan [Wed, 16 May 2012 08:59:45 +0000 (16:59 +0800)]
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.
Joshua Lock [Sat, 12 May 2012 01:22:20 +0000 (18:22 -0700)]
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.
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).
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
Khem Raj [Fri, 4 May 2012 21:56:33 +0000 (14:56 -0700)]
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.
Peter Seebach [Tue, 15 May 2012 18:16:35 +0000 (13:16 -0500)]
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.)
Peter Seebach [Tue, 15 May 2012 18:16:34 +0000 (13:16 -0500)]
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.
Mark Hatle [Fri, 11 May 2012 17:17:54 +0000 (12:17 -0500)]
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.)
Jason Wessel [Mon, 14 May 2012 21:17:40 +0000 (16:17 -0500)]
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.
Richard Purdie [Tue, 15 May 2012 17:49:09 +0000 (18:49 +0100)]
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.
Peter Seebach [Mon, 14 May 2012 22:49:23 +0000 (17:49 -0500)]
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.
Darren Hart [Tue, 15 May 2012 00:10:34 +0000 (17:10 -0700)]
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.
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.
Richard Purdie [Fri, 11 May 2012 17:14:40 +0000 (18:14 +0100)]
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.
Richard Purdie [Sat, 12 May 2012 10:10:33 +0000 (11:10 +0100)]
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.