Paul Eggleton [Fri, 21 Sep 2012 14:47:24 +0000 (15:47 +0100)]
bitbake: hob: allow configuring default machine using HOB_MACHINE
Allow specifying HOB_MACHINE in local.conf to set the initially
selected machine. With this set, Hob will select the specified machine
and then jump straight into parsing recipes. If you do wish to change
the selected machine with HOB_MACHINE set you still can - you just need
to stop the parsing process first.
Paul Eggleton [Fri, 21 Sep 2012 14:47:23 +0000 (15:47 +0100)]
bitbake: hob: don't show error dialog for errors during building
During building we already report errors in a special tab and
indicate when the build has failed; bringing up a dialog was a
regression introduced in bitbake revision 5bab81b124087d63d6eb62a861e1241714fcd483.
Constantin Musca [Fri, 21 Sep 2012 10:28:43 +0000 (13:28 +0300)]
bitbake: hob: The title of the packages screen depends on the screen you arrive from
- If you arrive to the packages screen from the recipes screen, the title
should say: 'Step 2 of 2: Edit packages'
- If you arrive to the packages screen from the image details screen, the
title should say: 'Edit packages'
- The title of the recipes screen should say 'Step 1 of 2: Edit recipes'
binutils-2.22: Disable recent gold backports from 2.22 branch
This patch has been causing some regressions on gold.
e.g. systemd based images segfault and uclibc based images
dont boot. There has been few other reports on the mailing
list. Considering this lets withdraw this patch.
routerstation: Disable virtual terminal by default
This modifies the /etc/inittab on routerstationpro, avoiding the
"respawning too fast" message. The routerstation has a low memory,
so virtual terminal should be disable by default.
Phil Blundell [Fri, 21 Sep 2012 19:42:38 +0000 (20:42 +0100)]
rootfs_ipk: Avoid leaving run-postinsts around if online package management is disabled
If all postinsts have already been run during rootfs construction then
there's no point in having run-postinsts in the installed system.
Clean it up at the same time that update-rc.d and suchlike are being
removed.
Scott Garman [Fri, 21 Sep 2012 22:06:02 +0000 (15:06 -0700)]
runqemu: work with tap device names that end with a colon
On Fedora systems (and likely others), ifconfig returns interface
names that end with a colon. Make sure we strip the colon off the
tap device name before using it.
Paul Eggleton [Sat, 22 Sep 2012 12:29:57 +0000 (13:29 +0100)]
classes/multilib: prevent multilib extension of nativesdk recipes
It isn't supported to mix multilib and nativesdk in the same target, so
explicitly skip multilib processing if nativesdk is inherited. As a
bonus this fixes a bunch of related "missing file" warnings from the
file checksum code during parsing because BPN was not correctly stripped
for these targets.
Paul Eggleton [Sat, 22 Sep 2012 12:29:56 +0000 (13:29 +0100)]
classes/multilib: ensure MLPREFIX is set for image recipes
We need MLPREFIX to be set so that oe.utils.prune_suffix() (as used for
the value of BPN) can derive the bare name from the multilib-extended
name for image recipes. BPN being set correctly avoids missing file
warnings during parse from the file checksum code for (unusual) images
that set SRC_URI, such as build-appliance-image.
Phil Blundell [Sat, 22 Sep 2012 18:37:04 +0000 (19:37 +0100)]
pulseaudio: Ensure openssl is disabled
We don't DEPEND on openssl but configure will try to use it if
pkg-config thinks it might be installed. This can lead to failing
and/or nondeterministic builds, so let's force it off.
Phil Blundell [Sat, 22 Sep 2012 16:18:08 +0000 (17:18 +0100)]
autotools: Remove special handling for autoconf* and automake*
For reasons that are now shrouded in obscurity, autotools.bbclass
has long contained a special heuristic to avoid attempting to run
autoreconf when building autoconf or automake themselves. However,
the wildcard test against PN which is used there is problematic when
trying to build another package whose name happens to start with
"autoconf", and in any case it is silly to do this test at runtime
for every package. The individual recipes for autoconf and automake
can just as easily suppress the behaviour that they don't want by
providing a custom do_configure() method which just runs configure.
We have been adding this option to paper over a bug in old toolchain
http://hardwarebug.org/2008/11/28/codesourcery-fails-again/
e.g. is one but these have been weeded out. Therefore let gcc
take the default vectorization optimizations
Signed-off-by: Darren Hart <dvhart@linux.intel.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Phil Blundell [Mon, 24 Sep 2012 06:24:51 +0000 (07:24 +0100)]
util-linux: Ensure that ${sbindir} is respected
The configure script uses a hard-coded value for ${usrsbin_execdir},
which is the path that we know as ${sbindir}. Adjust configure to take
this from the environment if it's set there, and have do_configure()
pass it in.
Martin Ertsaas [Wed, 19 Sep 2012 07:16:55 +0000 (09:16 +0200)]
bash: Make it possible to run bash 3.2.48 instead of 4.2.
bash-3.2.48 did not provide the linking from sh to bash, making it unusable.
Moving the license part out of the bash.inc file, and into bash_4.2.bb file makes
us able to use that file also for bash_3.2.48.bb, which makes maintaining both
at the same time a lot easier.
The globs used for STAMPCLEAN were too greedy matching gcc-cross-initial
stamps for gcc-cross for example. This patch resolves that problem making
the assumption that PV starts with something numeric. This assumption
should hold in most cases and has a better failure case that the current
situation.
Richard Purdie [Fri, 21 Sep 2012 10:16:24 +0000 (11:16 +0100)]
insane.bbclass: Improve ability to detect enabled tests
Define an ALL_QA variable which can be used to determine which tests to
run. Improve the libdir test to work in the case it is set to raise an
error rather than a warning.
Radu Moisan [Wed, 19 Sep 2012 09:32:39 +0000 (12:32 +0300)]
insane.bbclass: add library dir sanity check
Check in ${PKGD} for libraries in wrong locations.
Trigger a warning if so.
Eg. Catch recipe installing /lib/bar.so when ${base_libdir}="lib32"
or installing in /usr/lib64 when ${libdir}="/usr/lib"
SDK: allow toolchain installation from another directory
This patch will allow one to run the installer from another directory
than the one where it's actually located.
Suppose the installer is in /home/user/test/my/sdk and the current
directory is in a different place. With this patch, one can run the
installer like this:
$ sh ~/test/my/sdk/poky-eglibc-x86_64-arm-toolchain-gmae-1.2+snapshot-20120920.sh
The directory usr/libexec/ in the SDK sysroot contains the default
symlinks to the toolchain binaries and these, too, need to point to the
correct toolchain path.
adt-installer: ensure directory exists before copying/removing
If the installation is done in a directory which already contains a
valid installation, opkg will not install anything and the moving the
contents of /install/dir/opt/poky/1.2 (for example) to /install/dir will
throw some errors. However, the install directory will not be affected.
This patch will ensure that the /install/dir/opt/poky/1.2 exists.
The SDK installation scripts should not canonicalize symlinked
directories because the entire relocation would be done to the directory
to which the symlink points. Instead, if the installation is a symlink,
use that path to relocate the binaries.
For example, if we have the following symlink: /opt/sdk -> ~/my/test/sdk
the binaries will be relocated to /opt/sdk not ~/my/test/sdk as it is
done now.
When the cross canadian toolchains are installed, for different
architectures, they might contain common files. This leads to
installation failures since the opkg, by default, does not overwrite
files. This issue happens, for example, for binutils packages (that
contain the same locale files) or gdb (which installs some syscalls xml
files). The locale files could be removed from the binutils
cross-canadian package but we cannot do the same for the syscalls GDB
files which are used by GDB to display user friendly names for the
syscall numbers. Hence, the best solution is to force opkg to overwrite
these files.
Constantin Musca [Wed, 19 Sep 2012 09:59:14 +0000 (12:59 +0300)]
intltool: include intltool.m4 and add missing rdepends
- include /usr/share/aclocal/intltool.m4 into the intltool
package (the files from intltool-dev must be included into the
main package, as intltool is a development tool)
- add missing rdepends: gettext-dev, libxml-parser-perl
Robert Yang [Thu, 20 Sep 2012 07:47:55 +0000 (15:47 +0800)]
opkg svn: respect to the arch priority
This is for fixing the problem:
1) bitbake core-image-sato-sdk with MACHINE=qemux86
2) bitbake core-image-sato with with MACHINE=crownbay
The qemux86's PACKAGE_ARCH is i586, the crownbay's is core2, but several
i586 packages will be installed into crownbay's rootfs though there are
core2 packages. For example, there are:
The crownbay.conf says:
PREFERRED_VERSION_xserver-xorg ?= "1.9.3"
What the crownbay's image needs is xserver-xorg*_1.9.3-r1_core2.ipk, but
the xserver-xorg*_1.11.2-r7_i586.ipk will be installed, this is
incorrect.
This is caused by opkg's selecting mechanism: when more than one
candidate is found, it will use the higher version one and ignore the
arch priority.
we have several conf files which set the PREFERRED_VERSION_pkg = "..." ,
but there is no such a mechanism which can let us tell the opkg to
install the preferred version. When the preferred version is higher,
this is OK, but if the preferred version is lower, there would be
problems:
1) Most of the packages are core2 in the image, but several of them are
i586, though we have built the core2 ones, this seems strange.
2) What's worse is that the image may not work since the preferred
version pkg is not installed.
We have set the arch priority clearly in the opkg.conf, I think that
respect to the arch priority is reasonable during the image generation.
Add the "--select-higher-version" option to let the user have another
choice, the default is no.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is a simple upgrade. Dropping the unneeded patches
and adding --disable-werror to configure since thats is
what one of the patch was doing which was dropped.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
qemux86-64: Support for KVM, paravirt and virtio added
KVM, paravirtualization and virtio drivers are now activated
in runqemu using the kvm option flag for qemux86-64.
Host CPU features are also exported to guest OS (Yocto Linux).
Usage example: runqemu qemux86-64 core-image-x11 kvm
qemux86: Support for KVM, paravirt and virtio added
KVM, paravirtualization and virtio drivers are now activated
in runqemu using the kvm option flag for qemux86.
Host CPU features are also exported to guest OS (Yocto Linux).
Usage example: runqemu qemux86 core-image-x11 kvm
Scott Garman [Wed, 19 Sep 2012 05:50:50 +0000 (22:50 -0700)]
runqemu: show bitbake errors to user
In certain edge cases, bitbake may fail to run and cause setup_tmpdir()
within runqemu to fail, and not give the user a helpful error message.
Catch this case and show the user the output of bitbake -e.
Ross Burton [Fri, 7 Sep 2012 09:55:55 +0000 (10:55 +0100)]
librsvg: make the libcroco dependency a PACKAGECONFIG option
Default to enabling it as we were build-depending on it already. If a user
needs the disk space and the limitations imposed by not using libcroco are
acceptable they can override this.
Basically, both the rpm-native and rpm should depend on bison-native,
but don't need depend on bison, but it seems that it isn't necessary
to add another depend line:
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Andrei Gherzan [Thu, 20 Sep 2012 09:56:59 +0000 (12:56 +0300)]
Replace "echo -e" with "printf" to have the same behavior in dash or bash
oe-core removed the prerequisite to have sh as bash. POSIX doesn't define
any options and furthermore allows 'echo -e' to be the default behavior.
This means that in dash 'echo -e' will actually print '-e' and interpret
backslashes by default. We use instead 'printf' builtin command with or
without '\n' to simulate 'echo -e' or 'echo -n'.
'printf' needs format while 'echo' can be used without any arguments. So
'echo >' was replaced by 'printf "" >'.
'echo' without '-n' flag adds a new line by default so to keep the same
behavior of two new lines while using 'echo "\n"', 'printf "\n\n"' is
used.
bitbake: hob: add a top bar when building process is stopped
When a build was stopped, it wasn't obvious what to do next.
Now, on the page it appers a top bar with 3 buttons: "edit image",
"open log", "build new image"
bitbake: hob/packageselectionpage: "Cancel" button returns to "Image configuration" screen
Once package building completes, you can customise the list of
packages that will go into the final image. Once you have made
the changes you need, you can either build your image, or you
can exit the process and go back to the 'Image configuration'
screen by selecting 'Cancel'.
Paul Eggleton [Wed, 19 Sep 2012 10:25:42 +0000 (11:25 +0100)]
bitbake: hob: report event handler failures
If an event handler failed we were not recieving an error message -
parsing just "froze" at 99%. This is because we were expecting a
CommandFailure event and this never happened in the case of
RequestPackageInfo which is where the failure was occurring.
This also required tweaking the error formatting slightly, taking the
return value of the format function rather than the message property
since the latter only seems to contain the first line without the
traceback in the case of event handler failure. Other error cases were
tested and their message formatting is unaffected by this change.
Richard Purdie [Tue, 18 Sep 2012 10:32:04 +0000 (11:32 +0100)]
bitbake: build/siggen: Add support for stamp 'clean' masks
Currently when we execute a task, we don't remove other potentially stale
stamps. This can mean if you switch between two different versions of a
recipe without a clean, the build can get very confused.
This patch adds in functionality to allow a wildcard expression of stamp
files to be removed when creating a new stamp file. This patch adds in
the core of the code to enable this but it also requires metadata support
to enable it.
When writing this improvement I went through several different options but
this was the only way I could find to allow things like noexec tasks to
function correctly (where stamps need to be created without the data store).
bitbake: compat, event: use OrderedDict from py2.7 for the event handlers
This ensures that our event handlers get run in registration order, making the
behavior more deterministic. I pulled in the python2.7 OrderedDict to avoid
essentially reimplementing a version of it ourselves, figuring we can drop it
when we bump our required python version next.
Richard Purdie [Mon, 17 Sep 2012 19:08:16 +0000 (19:08 +0000)]
poky.conf: Silence unsafe reference warnings
These QA warnings undermine the quality impression of OE-Core. They are
useful in some specific circumstances but until the system has been audited
and these warnings are reduced, they shouldn't be showing by default.
rootfs_rpm: Add Multilib prefix to installed_packages list
RPM does not name it's packages with the Multilib prefix,
but the rootfs_rpm class keeps track of the Multilib prefixs
in a list. Use that list to re-attach the prefix for use with
the license bbclass, buildhistory bbclass will also use this
and make it more accurate between multilib and non-multilib.
Use the embedded "Platform" information to ensure we get all
the correct matching.
Andrei Gherzan [Mon, 17 Sep 2012 10:49:58 +0000 (13:49 +0300)]
util-linux: Fix bloken swapoff symlink
There were 2 issues with this symlink.
1. Is was installed in base_bindidir but packaged in bindir. Fixed to
be packaged in base_bindir
2. The symlink swapoff was created to point to swapon. The problem is
that swapoff is an alternative so it would end up pointing to
swapoff.util-linux which was an inexistent file. The fix is to create
a symlink swapoff.util-linux to swapon.util-linux.
Jack Mitchell [Thu, 13 Sep 2012 12:27:21 +0000 (13:27 +0100)]
local.conf.sample: change valgrind support architecture comment
The comment for debug-tools states valgrind will only be installed for x86
targets. This is not true as valgrind now supports x86*, PPC* and ARMv7a;
delete the comment as the architecture support is now so varied.
Scott Rifenbark [Thu, 13 Sep 2012 21:01:58 +0000 (14:01 -0700)]
documentation: Toolchain corrections from tarball to .sh file
For 1.3 there is not longer a toolchain tarball. Instead, there
is a wrapper script that lets you install the tarball. This
fundamental usage model change caused several ripples throughout
the documentation set. I have changed wordings and examples
to reflect the new paradigm.
Scott Rifenbark [Fri, 7 Sep 2012 15:58:36 +0000 (08:58 -0700)]
documentation/dev-manual/dev-manual-model.xml: Updates to plug-in install
Edits to test out the lastes version of installing the Yocto Eclipse
plug-in from the latest source. Small changes to be more complete
on the step-by-step process with regard to being in the right
branch. Also, inserted 1.3_beta as the version. This will change
later.
Paul Eggleton [Wed, 5 Sep 2012 19:46:36 +0000 (12:46 -0700)]
documentation/poky-ref-manual/ref-bitbake.xml: remove refs to Dates and Contacts
Update the BitBake "Preferences and Providers" section to remove
references to these two Pimlico applications that have been removed,
and tweak the example slightly so it is technically correct.
List frameworks we provide that are likely to be used by people these
days - Pimlico has been removed and GuPNP and Matchbox don't really
belong. Also slightly modify the sentence following so that it is clear
that these are optional.
In addition to Paul's patch, I cleaned up one of his sentences with
some simple grammar edits.
Paul Eggleton [Wed, 5 Sep 2012 19:33:05 +0000 (12:33 -0700)]
documentation/poky-ref-manual/ref-images.xml: Update list of images
* core-image-core was renamed to core-image-x11 and the editor and file
manager were removed.
* core-image-basic's description has been updated to reflect its
intended purpose
* core-image-lsb is intended to be standalone - should not be
associated with core-image-basic.
* The Pimlico applications have been removed so they are no longer
present in the Sato images.
In addition to Paul's patch, I removed the "etc." word. This word
is better replaced by "and so forth". Also, consistent with the
YP documentation.
* For PE/PV/PR/PN these pertain to a recipe ("package" was used here
historically).
* References to variables should not be prefixed with $ in the text
* Add text about suffixing RCONFLICTS as per other package variables
* Make ALLOW_EMPTY example complete
* Clarify and add example for AUTOREV
In addition to Paul's patch, I re-worded two instances. One
to get rid of "package(s)", which is poor form. And a second
to get rid of "unstable/development", which is also poor form.
Clarifying who picks up files that would normally be included
in the default package. This is a wording change to try and
eliminate the ambiguous "they".
Scott Rifenbark [Wed, 5 Sep 2012 18:06:04 +0000 (11:06 -0700)]
documentation/poky-ref-manual: Section name change
I changed the "Reference: Images" section to "Images". This old
name was a hold over from when the book had appendices that were
reference-like. Along with changing the name I also fixed two
links to the section that were found in the variables chapter.