Jason Wessel [Thu, 27 Sep 2012 13:52:46 +0000 (08:52 -0500)]
cml1.bbclass: Convert tab indentation in python functions into four-space
Based on the previous commit 604d46c686d06d62d5a07b9c7f4fa170f99307d8
(Convert tab indentation in python functions into four-space), the
cml.bbclass was not converted, and in order to properly extend it
with external bbappend's it needs to be converted.
Phil Blundell [Tue, 25 Sep 2012 13:04:02 +0000 (14:04 +0100)]
util-linux: Don't package chkdupexe
The chkdupexe utility is fairly worthless and drags perl in as a build dependency
of the whole util-linux recipe. If anybody actually wants to use this script
then we should package it separately, but for the time being let's just delete it.
Robert Yang [Tue, 25 Sep 2012 13:38:36 +0000 (21:38 +0800)]
package_rpm.bbclass: change the arch's "-" to "_" for platform
The platform and platform_extra will be written to /etc/rpm/platform,
the rpm's arch has changed the "-" to "_", so the value in platform
should also be updated.
Robert Yang [Tue, 25 Sep 2012 13:38:37 +0000 (21:38 +0800)]
package_rpm.bbclass: no initial_solution in the second build
There is no initial_solution.manifest in the second build when
incremental rpm image generation, since the initial solution has been
skipped. So we should check it before cat it.
Paul Eggleton [Tue, 25 Sep 2012 14:58:32 +0000 (15:58 +0100)]
layer.conf: allow other layers to depend on this version
Set LAYERVERSION and rename the collection to "core". Given changes such
as the tabs to spaces cleanup for python functions in the current
version, this allows other layers to depend on this version of OE-Core
specifically should they choose to do so, by specifying the following
in their own layer.conf:
LAYERDEPENDS_layername = "core:1"
Where layername is whatever value is being added to BBFILE_COLLECTIONS.
(This change does nothing unless a layer has LAYERDEPENDS set.)
Phil Blundell [Tue, 25 Sep 2012 16:38:06 +0000 (17:38 +0100)]
iproute2: Use configured values for ${base_sbindir} and ${libdir}
These were previously being hard-coded to "/sbin" and "/usr/lib" respectively,
resulting in unpackaged files if the configured values were something else.
If the files being relocated are already used by other processes the
relocate script will fail with a traceback. This patch will trap any IO
errors when opening such a file and gracefully report them to the user.
Also change the exit code from 1 to -1 for a better adt-installer user
experience (like pointing the user to the adt_installer.log).
For start-stop-daemon, --make-pidfile is used when starting a
program that does not create its own pid file.
atd would create its own /var/run/atd.pid, so remove this option.
Zhenhua Luo [Wed, 26 Sep 2012 07:18:37 +0000 (15:18 +0800)]
sysvinit-inittab: fix hang issue of series consoles check
The kernel boot process hangs when /proc/consoles doesn't exists, therefore
check the existence of /proc/consoles before executing pkg_postinst script.
Following is the log when /proc/consoles doesn't exist:
Running postinst /etc/rpm-postinsts/102...
cat: /proc/consoles: No such file or directory
cat: /proc/consoles: No such file or directory
cat: /proc/consoles: No such file or directory
INIT: Entering runlevel: 5
Starting OpenBSD Secure Shell server: sshd
generating ssh RSA key...
generating ssh ECDSA key...
generating ssh DSA key...
done.
Starting network benchmark server: netserver.
Starting system log daemon...0
Starting kernel log daemon...0
Stopping Bootlog daemon: bootlogd.
INIT: no more processes left in this runlevel
Phil Blundell [Wed, 26 Sep 2012 11:55:19 +0000 (12:55 +0100)]
package_ipk: Remove spurious '-i' in grep command for log_check
ipk_log_check uses a case-sensitive grep (which is correct) when deciding
whether there were any errors or not. But if it decides that there were, it
then uses a case-insensitive grep to display them. This results in a large
amount of irrelevant and confusing output which makes it hard to see the real
errors amongst the noise.
Phil Blundell [Wed, 26 Sep 2012 09:45:18 +0000 (10:45 +0100)]
gcc-configure-cross: factor out --enable-threads argument into ${GCCTHREADS}
This allows BSPs for architectures with no thread support to set (for
example) "GCCTHREADS=no" without having to override all the other configure
parameters.
Richard Purdie [Wed, 26 Sep 2012 13:32:13 +0000 (14:32 +0100)]
sstate: Remove master manifest usage
This was added to allow detection of duplicate files being installed by sstate.
There is a much simpler way, just check if the file already exists. This
effectively uses the kernel VFS as the cache which is much more efficient.
This resolves a significant performance bottleneck (lock contention on a
single file) when running builds that are just being generated from sstate
cache files.
Richard Purdie [Wed, 26 Sep 2012 11:56:58 +0000 (12:56 +0100)]
packagedata/multilib: Fix search patch for multilib builds
The current multilib search path code for packagedata is flawed since it
doesn't correctly handle changes in the TARGET_VENDOR/TARGET_OS that
multilib may make. This patch enhances the code to correctly build the
search paths so multilib packagedata is found correctly.
Richard Purdie [Wed, 26 Sep 2012 11:45:17 +0000 (12:45 +0100)]
sstate: Fix SSTATE_DUPWHITELIST variable usage
We need to split this variable before using it. Otherwise a single "/"
character in the list whitelists every overlapping sysroot file which
was not the intention making the whole thing useless.
We'll start seeing warnings about overlapping files now this is working
correctly after this patch.
Richard Purdie [Wed, 26 Sep 2012 11:11:00 +0000 (12:11 +0100)]
poky.conf: We need to clear WARN_QA to avoid the unsafe-references
The intention of the previous patch was to disable these warnings but by
commenting out the line, it caused a fallback to the defaults which enable
it. This really disables the warnings.
bitbake: hob/builddetailspage: change tooltips and remove a dialog from "Build stopped" message
When you stop a build, a "Build stopped" message appears. I have changed 2 tooltips and
also eliminate the alert that comes up when you click 'Edit packages'.
Bruce Ashfield [Mon, 24 Sep 2012 20:31:06 +0000 (16:31 -0400)]
beagleboard: update to 3.4
Updating the default preference of the beagleboard to the 3.4
kernel.
build, boot and testing has been done on the beagleboard (revC) and
beagleboard XM. Existing functionality has been confirmed using
core-image-sato, and in particular mouse, keyboard and graphics have
been re-validated.
Signed-off-by: Liang Li <liang.li@windriver.com> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This avoids the hardcoding of ${libdir}/locale which is all over the place,
and will facilitate use of ${exec_prefix}/lib/locale instead of
${libdir}/locale.
This doesn't actually change any output at this time. Verified this with
buildhistory against the packages produced from core-image-base.
gcc-common.inc: Consider multilib when renaming libgcc for debian'ness
When doing multilib builds rpm does not find libgcc1 for lib32
multilib because its not honoring the debian renaming scheme for
libgcc-multilib. Lets add MLPREFIX to fix it.
This solves a problem when installing rpm using the ipk pkg-management
system where /var/cache was conflicting with the existing /var/cache from
base-files.
Updated the section "Using an External SCM." This section was
written so that PN was refering to a package instead of correctly
refering to the recipe.
Scott Rifenbark [Thu, 20 Sep 2012 20:47:34 +0000 (13:47 -0700)]
documentation/poky-ref-manual: PN scrub
Checked and fixed all text surrounding the description and use
of the PN variable. This variable can mean a recipe or a resulting
package depending on context.
Re-write of the SRC_URI glossary entry so that proper terminology
for PN is used. This context the PN refers to the recipe name
and not a resulting package.
Jason Wessel [Mon, 17 Sep 2012 22:43:31 +0000 (17:43 -0500)]
bitbake: bitbake: Unbuffer stdout for log files
It is possible to lose critical log data when python exits in an
unorderly fashion via segmentation fault or certain types of crashes.
This is because the buffer characteristics are inherited from the top
level stdout, which should be set to unbuffered, for the purpose of
all the forked children.
This pushes the buffering to the OS, instead of having python managing
the buffers in its stream handler class.
This change is also to provide the ability to tail logs written from
processes in "real time" because they would be written in an orderly
fashion depending upon the OS characteristics for the file I/O.
Jason Wessel [Mon, 17 Sep 2012 22:43:49 +0000 (17:43 -0500)]
bitbake: event.py, knotty.py, ncurses.py, runningbuild.py: Add support for LogExecTTY event
The LogExecTTY even is intended to provide the ability to spawn a task
on a the controlling tty, if a tty is availble. When a controlling
tty is not availble the previous behavior is preserved where a warning
is issued about the action an end user must execute.
All the available UI's were tested against the new event type.
This feature is primarily intended for hooking up a screen client
session automatically on the controlling tty to allow for a more
streamlined end user experience when using a pure command line driven
environment. The changes that send the LogExecTTY event are in the
oe-core side.
Jason Wessel [Mon, 17 Sep 2012 22:43:51 +0000 (17:43 -0500)]
terminal: Send LogExecTTY event to spawn screen
Bitbake has the ability to request to run a command
and if it is not possible fall back to emitting a
log message. This can be used to start a screen
client automatically on the controling tty if
the UI has an interactive tty.
Richard Purdie [Mon, 24 Sep 2012 08:37:09 +0000 (08:37 +0000)]
bitbake: fetch2/git: Add missing mkdir
bitbake-selftest is failing due to directories not being created. This adds in an
appropriate mkdir so the tests can complete. Presumably in general OE use, something
else is ensuring the parent directory is created.
Paul Eggleton [Sun, 23 Sep 2012 17:05:36 +0000 (18:05 +0100)]
bitbake: fetch2: improve error output for checksum failures
* Don't print the full exception in the initial warning - if we later
succeed in fetching the file from a mirror, we won't usually need the
details (which are in the fetch log if they are needed); otherwise the
full error will be printed when the fetch operation fails. Also adjust
the conditional block so that we don't print another warning just
mentioning we're going to try mirrors.
* Call logger.error() so that with knotty the full log is not printed
* Provide an explanation around the lines we print for easily updating
the checksums in the recipe. We don't want users to be just blindly
updating the recipe in case of a transient failure or deliberately
altered remote file.
Paul Eggleton [Sun, 23 Sep 2012 17:05:35 +0000 (18:05 +0100)]
bitbake: fetch2: make fetch failure errors more readable
Most of the time we don't need to see the fetch command; the fetch log
includes the command as a debug message in any case, so omit it. Also
adjust the way command output is printed (we don't need stderr/stdout
labelled, and print "no output" instead of "output:\nNone" when there is
no output.
Paul Eggleton [Sun, 23 Sep 2012 13:14:24 +0000 (14:14 +0100)]
bitbake: lib/bb/runqueue.py: fix exceptions with -k and failed targets
If a target dependency is marked as failed and yet we are continuing on
because -k has been specified, don't try to access the dependency's data
in taskData.build_targets since it will have been removed. This fixes
"IndexError: list index out of range" errors in this situation.
Also, do not print the "unhandled exception" message when SystemExit is
raised since we will have reported the actual error already in this
case (e.g. when -k has been specified and some targets failed).
Paul Eggleton [Fri, 21 Sep 2012 14:47:25 +0000 (15:47 +0100)]
bitbake: hob: remove confirmation dialog on close
This is not necessary for modern applications - instead we just need to
check if we're in the middle of a build and if so, do the same thing as
pressing the "Stop" button.
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