Richard Purdie [Thu, 12 Sep 2013 13:06:22 +0000 (13:06 +0000)]
bitbake: data_smart: Account for changes in append/prepend/remove in the config hash
bitbake wasn't reparsing when _remove items were added to its configuration
and equally, appends/prepends were also being badly tracked. This
change enrures these variables are accounted for in the configuration
hash.
Scott Rifenbark [Wed, 11 Sep 2013 21:44:00 +0000 (14:44 -0700)]
ref-manual: Added information for OEROOT and build environment
Fixes [YOCTO #4980]
Added a new glossary entry for OEROOT.
Added significant information to the local.conf and bblayers.conf
reference sections to describe how the root build directory is
derived.
Also, some unrelated formatting to the DL_DIR variable description
was mixed in here because I forgot to commit that separatey and it
lives in the same variables.xml file.
Scott Rifenbark [Tue, 10 Sep 2013 22:15:28 +0000 (15:15 -0700)]
dev-manual: Added new section on how to exclude a package
Fixes [YOCTO #4079]
The changes here address the documentation component of this
bug. There is now a new section in the dev-manual in the
"Working With Packages" section that describes and introduces
the three variables the user can use to control this feature:
BAD_RECOMMENDATIONS, NO_RECOMMENDATIONS, and PACKAGE_EXCLUDE.
Scott Rifenbark [Tue, 10 Sep 2013 19:13:25 +0000 (12:13 -0700)]
documentation: Added the memory-resident BitBake feature
The main changes are captured in a new section devoted to the
oe-init-build-env-memres script within the ref-structure.xml
file and in the variables.xml file in a BBSERVER variable entry
in the glossary.
All other changes were necessary to integrate the new functionality
into areas where running the setup script are discussed. Before
this feature, there was a single setup script (oe-init-build-env).
Consequently, wordings and such were designed exclusively for this
single method. With the introduction of a second possible method
to initialize the build environment, tweaks to many sections were
needed. Beside the wording tweaks, appropriate cross-referencing
was also needed.
All these changes cover the integration of the new feature.
Scott Rifenbark [Mon, 9 Sep 2013 22:35:29 +0000 (15:35 -0700)]
ref-manual, mega-manual: Updates to config and package splitting figs
Fixes [YOCTO #2808]
Found some errors in how I was labeling the various directories
created in the Build Directory upon image configuration. I corrected
the labeling by editing these two figures.
Scott Rifenbark [Mon, 9 Sep 2013 21:34:57 +0000 (14:34 -0700)]
ref-manual: Created new "Closer Look" chapter
Fixes [YOCTO #2808]
I extracted the section that takes a closer look at the YP
development process into its own chapter. Feedback during the
review indicated that this information should not be buried as
it was in a section but rather pulled higher out for visibility.
So, The changes create a new chapter three that is dedicated to
this topic.
Scott Rifenbark [Mon, 9 Sep 2013 20:36:30 +0000 (13:36 -0700)]
ref-manual: Re-ordered flow for detailed process sections.
Fixes [YOCTO #2808]
Based on feedback from Dave Stewart, I have rearranged the sub-
section flow of the topics to match that of an actual build.
This meant moving the BitBake section higher up in the order.
Scott Rifenbark [Mon, 9 Sep 2013 18:30:54 +0000 (11:30 -0700)]
ref-manual, mega-manual: Updated the configuration figure
Fixes [YOCTO #2808]
Updated the configuration-compile-autoreconf.png figure so that
the general shape of the BitBake box represents the "spatula"
form used in the general overview figure.
Scott Rifenbark [Mon, 9 Sep 2013 18:09:11 +0000 (11:09 -0700)]
ref-manual, mega-manual: Updated the source fetching figure
Fixes [YOCTO #2808]
Updated the figure to use the "spatula" type version of the
general BitBake box. Also had to adjust the width a bit to
get the figure to display correctly.
Scott Rifenbark [Tue, 3 Sep 2013 13:32:20 +0000 (16:32 +0300)]
ref-manual: Updated DEPENDS and RDEPENDS variable descriptions.
I have added more information to both these variables to help
explain their use better. Based on email from Paul Eggleton.
Each entry now features a simple example.
Scott Rifenbark [Tue, 3 Sep 2013 13:06:55 +0000 (16:06 +0300)]
ref-manual: Added section on linux kernel image names using PE
Fixes [YOCTO #5089]
In the "Migration" section for going from 1.3 to 1.4, I have
added a new section to describe how the value of PE is now in
the generated Linux kernel image filename.
Ross Burton [Wed, 11 Sep 2013 13:47:11 +0000 (14:47 +0100)]
clutter: fix compilation when building without X11 backend
If Clutter is building the Wayland backend but not the X11 backend, the Cogl
support doesn't get enabled so the Wayland backend (which uses it) fails to
compile.
Backport a fix from upstream to fix this situation.
Ross Burton [Wed, 11 Sep 2013 13:48:19 +0000 (14:48 +0100)]
x11vnc: add dependencies for xrandr/xfixes/xdamage/xtst
Inspired by a patch by Martin Jansa but with these libraries required, as a VNC
server without them is suboptimal. Don't add an option for Xinerama as our X
server always disables it.
Ross Burton [Wed, 11 Sep 2013 22:24:57 +0000 (23:24 +0100)]
xf86-video-vmware: respect opengl DISTRO_FEATURE
Conditionalise the GL dependencies on the opengl DISTRO_FEATURE so this driver
can build without the opengl feature active, as the configure script will
enable/disable the GL sub-driver depending on the presence of these libraries.
This is an interim patch to fix the autobuilder, a more complete patch heading
upstream to make the GL sub-driver deterministic will follow.
We can't build both recipes in the world build as there is a collision of package name
and PR values. Specificly the libasound-module-bluez which is the same in both goes
backwards from r5 (bluez4) -> r0 (bluez5) and the subpackage_metadata check fails:
ERROR: Recipe lib32-bluez5 is trying to change PR from 'r0' to 'r5'. This will cause do_package_write_* failures since the incorrect data will be used and they will be unable to find the right workdir.
Ross Burton [Wed, 11 Sep 2013 20:30:26 +0000 (21:30 +0100)]
xf86-video-vesa: change depends to refect reality
This recipe appears to have been a copy-and-paste from -intel, because it has
dependencies and configure options that xf86-video-vesa just doesn't have, such
as virtual/libgl and XVMC.
Ross Burton [Wed, 11 Sep 2013 20:30:25 +0000 (21:30 +0100)]
ia32-base: only depend on GL if opengl DISTRO_FEATURE enabled
As Mesa refuses to compile if the "opengl" DISTRO_FEATURE isn't enabled,
mesa-driver-i9xx and the GLX X module have to be conditional in the ia32 machine
defintion too.
Stefan Stanacar [Wed, 11 Sep 2013 18:40:21 +0000 (21:40 +0300)]
lib/oeqa/runtime: smart: limit channel add to useful ones
Don't add inappropiate channels on the target.
This happens when building two different machines in the
same dir and then running the tests for each machine.
Ross Burton [Wed, 11 Sep 2013 11:07:21 +0000 (12:07 +0100)]
yocto-bsp: conditionalise mesa-swrast on opengl in templates
As per the similar commit in oe-core on the qemu machines, the templates should
respect the opengl DISTRO_FEATURE when adding mesa-driver-swrast to new qemu
machines.
Roy Li [Wed, 11 Sep 2013 09:17:32 +0000 (17:17 +0800)]
ptest-runner: trivial fixes and refine
1. ptest files may be installed under /usr/lib64/ for 64bit filesystem
or under /usr/lib/ for 64bit multilib filesystem, so we should check both
directories
2. If a soft link is linking to a directory under the same directory, we
only run once.
Ting Liu [Wed, 11 Sep 2013 03:11:15 +0000 (11:11 +0800)]
libcroco: disable Bsymbolic if it is not supported on some hosts
When trying to build on my Centos 5.5 machine, got below error:
| checking for gtkdoc-mkpdf... no
| checking whether to build gtk-doc documentation... no
| checking for CROCO... yes
| checking if gcc supports "-Wl,-Bsymbolic-functions" flag...
| configure: error: -Bsymbolic requested but not supported by ld. Use --disable-Bsymbolic to disable
| Configure failed. The contents of all config.log files follows to aid debugging
|
| configure: exit 1
| ERROR: oe_runconf failed
Set --enable-Bsymbolic=auto to disable it when it is not suppported.
Richard Purdie [Wed, 11 Sep 2013 10:01:47 +0000 (11:01 +0100)]
bitbake: utils: Fix BB_PRESERVE_ENV
BB_PRESERVE_ENV wasn't working since data.inheritFromOS wasn't getting a
correct list of keys to import into the data store. This fixes
things so it does add all environment variables into the data store
when BB_PRESERVE_ENV is used.
Richard Purdie [Wed, 11 Sep 2013 09:42:44 +0000 (10:42 +0100)]
image/populate_sdk: Ensure symlinks in target sysroot are relative
In the target sysroot of an SDK we can have target system absolute links
which don't make sense. This adds a script which fixes them up to become relative
paths instead.
init-live.sh: distinguish between a read-only image and a read-write image
The iso and hddimg share a common concept of 'live image', and they
use the same initramfs and thus the same init. However, that init
script in initramfs made a wrong assumption that the rootfs image
was read-only by itself. This is apparently not true for hddimg.
To make things work as expected, this init script should at least
distinguish between a read-only rootfs image and a read-write one.
This patch adds this ability to the init script. After this change,
the init script would be able to check whether the rootfs image is
read-only or not. If the rootfs image is read-write, the image will
be mounted and then booted directly. No union mounts will be attempted
in this case.
By using os.path.dirname(systemd_unitdir) we get the correct /lib directory instead of
dealing with possibly multilib directories. This address a QA Error for shipped/not
installed /lib with multilib and x32.
systemd: Remove base_libdir if installed only for systemd_unitdir
If a recipe installs systemd_unitdir and it is a non-systemd build than
systemd.bbclass deletes systemd_unitdir (/lib/systemd/) but not
base_libdir (/lib). In this case if base_libdir is empty than following
QA Issue is reported.
ERROR: QA Issue: openssh: Files/directories were installed but not shipped
/lib
If base_libdir was installed due to systemd_unitdir installation than for
non-systemd build it should also be removed.
Maxin B. John [Mon, 9 Sep 2013 17:47:30 +0000 (19:47 +0200)]
dbus-ptest: fix populate_sdk error
When we enable "ptest", populate_sdk fails with the following error:
# bitbake core-image-minimal -c populate_sdk
..
Collected errors:
* satisfy_dependencies_for: Cannot satisfy the following dependencies
for dbus-ptest-dev:
* dbus-ptest (= 1.6.10-r0) *
* opkg_install_cmd: Cannot install package dbus-ptest-dev.
mount.sh: automount cdrom device even if no ID_FS_TYPE available
This script was modified to check whether $ID_FS_TYPE is empty before
automount, however, for cdrom devices on qemu, the ID_FS_TYPE is not
set, yet the device should be mounted. Otherwise, when booting an iso
image with runqemu, the boot process hangs at 'waiting for removable
media'.
This patch fixes this problem by first checking whether the block device
is a cdrom.
cmake.bbclass: ensure CMAKE_SYSTEM_NAME is correct
Using TARGET_OS can add the ABIEXTENSION so ensure that is is removed for the Linux
TARGET_OS, we might have other TARGET_OSes so don't hard code CMAKE_SYSTEM_NAME
adt-installer: allow installation of other machines
Currently, adt-installer allows only the installation of qemu target
sysroots.
The changes in this patch do the following:
* add a new setting in adt-installer.conf (YOCTOADT_TARGET_MACHINE) for
each target architecture. For example, for arm we can choose to use a
qemuarm sysroot or a beagleboard sysroot. By default, only the qemu
target sysroots are selected (current behavior);
* change adt_installer scripts to allow installing the correct
meta-environment package for the selected machine;
* remove some left-over commented lines;
* use packagegroup-cross-canadian-${MACHINE} when installing the cross
canadian packages instead of doing it separately for each package;
* change the opkg config files in order to be able to find the
packagegroup package, which is allarch;
packagegroup-cross-canadian: change package name to include MACHINE
Since meta-environment package name was changed to contain MACHINE,
change packagegroup-cross-canadian package name too, in order to be able
to select the proper environment files for a certain machine.
Also, remove the RPROVIDES since adt-installer doesn't really need it.
meta-environment: change package name to include MACHINE
Currently, the package name contains just the TRANSLATED_TARGET_ARCH.
When compiling the toolchain for two machines, belonging to the same
architecture (for example: qemuarm and beagleboard), this package gets
overwritten and adt-installer repo will contain just one
meta-environment package... This leads to situations like installing the
toolchain for qemuarm and end up with meta-environment package with
beagleboard cpu options.
Otavio Salvador [Wed, 4 Sep 2013 21:39:11 +0000 (21:39 +0000)]
u-boot, u-boot-fw-utils-cross, u-boot-mkimage: Upgrade to 2013.07
This upgrades the U-Boot based recipes for 2013.07 release.
This removes the 2011.03, 2011.06 and 2013.01.01 versions so we keep a
single one in core. The following recipes has been upgraded:
- u-boot (remove old versions)
- u-boot-mkimage (remove old versions)
- u-boot-fw-utils -> u-boot-fw-utils-cross (renamed and reworked)
The u-boot-fw-utils-cross recipe has been reworked as it uses the
UBOOT_MACHINE to find default environment for use so it is indeed a
cross binary and not a native one.
ptest.bbclass: add cleandirs flag to do_install_ptest_base
The do_install_ptest_base task should have cleandirs flag, just like
the do_install task. The ${D}${PTEST_PATH} directory should be cleaned,
Otherwise, there would be similar errors like below if the
do_install_ptest_base task is rerun.
ln: failed to create symbolic link `xxx': File exists
The do_install_ptest_base function uses 'type -t' command to check
whether do_install_ptest is a function and acts correspondingly.
However, the 'type' command is a shell builtin and its behavior is
not all the same across Linux distros. On ubuntu, if we use #!/bin/sh
as the interpreter for the scripts, as in the case of our intermediate
scripts, the '-t' option for the 'type' command is not supported. So
the check always fails and the do_install_ptest function, even if defined,
is not run.
The same problem also applies to the do_configure_ptest_base and the
do_compile_ptest_base functions.
This patch fixes this problem by avoiding using the 'type' builtin command.
Richard Purdie [Sat, 7 Sep 2013 22:25:14 +0000 (23:25 +0100)]
cmake: set system name correctly
For unknown reasons, the cmake class is using SDK_OS as the
target system OS. This makes no sense but only shows up as a problem
when you try a different SDK OS. Fix it to use TARGET_OS which is
the correct thing to do. For the vast majority of users this will
make no difference.
package.bbclass: skip already-stripped QA test if asked for
Some packages like grub have already stripped binaries e.g.
ERROR: QA Issue: File '/boot/grub/kernel.img' from grub was already
stripped, this will prevent future debugging!
ERROR: QA run found fatal errors. Please consider fixing them.
We would like to have a possibility to skip it using something like
INSANE_SKIP_${PN} = "already-stripped"
This adds the logic to do so
it acts at PN level and not at package level. so something like
Liming Wang [Fri, 6 Sep 2013 20:58:36 +0000 (16:58 -0400)]
beagleboard: upgrade the kernel to 3.10.x
In 3.10.x linux kernel, uImage can't be compiled by default. But zImage
has been supported by the latest u-boot, so use zImage as the default kernel
image file. In u-boot command, use "bootz", instead of "bootm", to boot the kernel.
And add device tree files to support dtb in latest kernel.
Signed-off-by: Liming Wang <liming.wang@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Kevin Hao <kexin.hao@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Darren Hart [Wed, 4 Sep 2013 21:20:55 +0000 (21:20 +0000)]
genericx86: Create a genericx86-common.inc base for the x86 BSPs
The genericx86 and genericx86-64 machines share a great deal in common
in terms of machine features, required packages, etc. Use a common
include file to simplify changes to both machine definitions and avoid
accidental omissions.
Replace the hard-coded XSERVER assignment with the XSERVER_IA32*
defines from ia32-base.inc.
Signed-off-by: Darren Hart <dvhart@linux.intel.com> Cc: Ross Burton <ross.burton@intel.com> Cc: yunguo.wei@windriver.com Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>