Khem Raj [Tue, 1 May 2012 05:01:24 +0000 (22:01 -0700)]
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.
Samuel Stirtzel [Wed, 23 May 2012 13:46:28 +0000 (15:46 +0200)]
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
Joshua Lock [Wed, 23 May 2012 23:22:12 +0000 (16:22 -0700)]
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.
Joshua Lock [Wed, 23 May 2012 22:16:19 +0000 (15:16 -0700)]
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.
Joshua Lock [Wed, 23 May 2012 20:50:38 +0000 (13:50 -0700)]
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.
* 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.
* 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.
Enrico Scholz [Sun, 20 May 2012 17:54:37 +0000 (19:54 +0200)]
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:
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.
Xiaofeng Yan [Mon, 21 May 2012 06:59:22 +0000 (14:59 +0800)]
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.
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".