Richard Purdie [Wed, 19 Mar 2014 12:53:05 +0000 (12:53 +0000)]
bitbake: runqueue: Revert child signal handler for now
We're running into processes using 100% cpu. It appears theses are locked in
a subprocess.poll() type loop where the process has exited but the code is
looping as its not handling the ECHILD error.
This is likely due to one or both of the above bugs. The question is what actually
grabbed the child exit code as it wasn't this code. Its likely there is therefore
some other code racing and taking that code, it may be some kind of race like:
where the fix effectively catches the childs codes in a different part of the system.
We could try and get everyone onto python 2.7.4 where the above bugs are fixed however
for now its safer to admit defeat and go back to polling explictly for our worker exit
codes.
Richard Purdie [Wed, 19 Mar 2014 11:29:12 +0000 (11:29 +0000)]
bitbake: runqueue: Don't catch all child return codes
Catching all child exit status values is a bad idea. Setting an http sstate mirror
is a great way to view that spectacularly break things. The previous change did
have good code changes so don't revert those parts.
Richard Purdie [Tue, 18 Mar 2014 22:58:52 +0000 (22:58 +0000)]
bitbake: runqueue: Really fix sigchld handling
There are several problems. Firstly, a return value of "None" can mean
there is a C signal handler installed so we need to better handle that
case. signal.SIG_DFL is 0 which equates to false so we also need to
handle that by testing explicitly for None.
Finally, the signal handler *must* call waitpid on all child processes
else it will just get called repeatedly, leading to the hanging behaviour
we've been seeing. The solution is to only error for the worker children,
we warn about any other stray children which we'll have to figure out the
sources of in due course.
Hopefully this patch gets things working again properly though.
Richard Purdie [Tue, 18 Mar 2014 13:35:10 +0000 (13:35 +0000)]
pixbufcache: Fix librsvg-native build
bitbake librsvg-native would fail with an error about missing icu-native.
The reason is that bitbake doesn't directly parse setscene dependencies. This
change ensures bitbake does see the dependencies and avoids the error.
Ideally we'd teach bitbake about those but that is a significant and complex
change so this resolves the problem for now.
Richard Purdie [Tue, 18 Mar 2014 13:31:56 +0000 (13:31 +0000)]
autotools: Exclude variables from autotools_copy_aclocals
The autotools aclocal copy function should not depend on various variables, these
are accounted for in other parts of the system. Therefore exclude them.
This was causing differences in sstate checksums between different systems and meaning
the sstate cache wasn't being reused as much as it should.
Richard Purdie [Tue, 18 Mar 2014 10:21:34 +0000 (10:21 +0000)]
bitbake: runqueue: More carefully handle the sigchld handler
We've noticed hanging processes which appear to be looping around
waitpid. Its possible multiple calls to teardown are causing problem
or in theory multiple registrations (although the code should not
allow that). Regardless, put better guards around signal handler
registration.
Valentin Popa [Mon, 17 Mar 2014 15:53:38 +0000 (17:53 +0200)]
bitbake: hob: sync after image deploy
Showing "Deploy image successful" after 'dd' returns
may determine the user to disconnect the usb stick even
though the writing operations are not finished.
This patch makes sure that the entire image is deployed
on the usb stick before the user is informed about any result.
Richard Purdie [Mon, 17 Mar 2014 15:03:51 +0000 (15:03 +0000)]
bitbake: runqueue: Don't error if we never setup workers
If we didn't setup any workers (such as bitbake -S), this would error
since we're trying to set a signal handler to None. This patch
avoids that problem.
Robert Yang [Wed, 12 Mar 2014 05:58:47 +0000 (05:58 +0000)]
docbook-sgml-dtd-native: remove catalog file when do_clean
The docbook_sgml_dtd_sstate_postinst adds catalog file to
/etc/sgml/sgml-docbook.cat and sgml-docbook.bak, but the do_clean would not
remove the file, which would cause unexpected errors since we have multiple
versions of docbook-sgml-dtd:
Mike Crowe [Thu, 13 Mar 2014 10:01:54 +0000 (10:01 +0000)]
boost: Pass CFLAGS, CXXFLAGS and LDFLAGS correctly into boost.build
The compileflags and linkflags do_boostconfig puts into user-config.jam are
having no effect. According to
http://www.boost.org/boost-build2/doc/html/bbv2/reference/tools.html the
correct syntax would be <compileflags>"the flags" <linkflags>"the flags".
Since the flags specified were having no effect they can't be necessary and
can be safely removed. We should be passing ${CFLAGS}, ${CXXFLAGS} and
${LDFLAGS} instead so that users of the recipe can pass arbitrary flags as
they choose.
Valentin Popa [Fri, 14 Mar 2014 11:12:25 +0000 (13:12 +0200)]
mips64-linux: set ac_cv_sizeof_ssize_t
Set ac_cv_sizeof_ssize_t for mips64;
mips-common will not overwrite it.
"ssize_t is a posix define which is architecture specific whose value
is signed size_t, glibc/uclibc for mips64/n64 linux platform defines
it to be equivalent of 'long' and long here is 8bytes because
mips64/n64 follows LP64 model. In OpenEmbedded our default ABI for
mips64 platforms is N64, having said that autoconf decides to poke at
the platform for finding these kind of sizes which fails when you are
doing cross compiling hence we have to cache it." - Khem Raj
Darren Hart [Fri, 14 Mar 2014 21:15:20 +0000 (14:15 -0700)]
linux-yocto-custom: Use SRCREV_machine
The Yocto kernel tools look for SRCREV_machine in do_validate_branches,
if it's empty, it just returns and silently continues. This likely needs
at least a warning. However, this recipe should be using SRCREV_machine,
and not just SRCREV.
This will let folks extend the oe package with modules from other layers.
Given openembedded consists of more than just oe-core, I think this makes
sense, and adds some useful flexibility.
Khem Raj [Sun, 16 Mar 2014 05:42:31 +0000 (22:42 -0700)]
intltool: Define DATADIRNAME=share for uclibc based systems
This otherwise makes localedir to point to prefix/lib
which is wrong location for locale splitting and we end
with unpackaged locale files e.g. systemd throws this
WARNING: QA Issue: systemd: Files/directories were installed but not
shipped
/usr/lib/locale
/usr/lib/locale/fr
/usr/lib/locale/pl
/usr/lib/locale/ru
/usr/lib/locale/it
/usr/lib/locale/fr/LC_MESSAGES
/usr/lib/locale/fr/LC_MESSAGES/systemd.mo
/usr/lib/locale/pl/LC_MESSAGES
/usr/lib/locale/pl/LC_MESSAGES/systemd.mo
/usr/lib/locale/ru/LC_MESSAGES
/usr/lib/locale/ru/LC_MESSAGES/systemd.mo
/usr/lib/locale/it/LC_MESSAGES
/usr/lib/locale/it/LC_MESSAGES/systemd.mo
Khem Raj [Sun, 16 Mar 2014 05:42:30 +0000 (22:42 -0700)]
util-linux: scanf_cv_alloc_modifier changed from 'as' -> 'ms'
This patch actually makes sense for uclibc more than glibc
since if we did not cache scanf_cv_alloc_modifier configure
test will determine it correctly for glibc but the test does
not do proper job when uclibc is involved the reason is it
depends on define __GLIBC_ and uclibc unfortunately poses as
glibc and defines this variable.
%m is implemented in uclibc as well and we enable it so caching value of
'ms' specifier is going to work across all libcs
This fixes mounting errors we see with util-linux/mount on
uclibc/systemd
Mar 16 01:46:40 qemux86 systemd-remount-fs[124]: /bin/mount: /proc/self/mountinfo: parse error: ignore entry at line 21.
Mar 16 01:46:40 qemux86 systemd-remount-fs[124]: /bin/mount: /proc/self/mountinfo: parse error: ignore entry at line 22.
Mar 16 01:46:40 qemux86 systemd-remount-fs[124]: /bin/mount: can't find / in /etc/fstab
Khem Raj [Sun, 16 Mar 2014 05:42:29 +0000 (22:42 -0700)]
glib-2.0: Fix localedir expectations for uclibc
DATADIRNAME is used by many applications using autotools
to install locale data, we get a wrong value for uclibc
systems since it does not recognise it as proper linux
systems and start putting locale info in /usr/lib instead
of /usr/share
bitbake: toaster: Remove the data-toggle attribute
Help icons with the .get-help class do not need the
data-toggle attribute. That attribute initialises the
Bootstrap tooltips, but they are already initialised
in main.js for any element with the .get-help class.
bitbake: toaster: Don't show clear search button if text input field is empty
The clear search button should only show when the search text input
field is populated. If it is empty (as it happens when a filter
returns no results) the clear search button should not display.
bitbake: toaster: Fix Recipe sorting in tasks table
In the tasks table and the other tables derived from it
(Time, CPU usage and Disk I/O) sorting by Recipe was not
working correctly. This change fixes the problem by
specifying use of the recipe name to sort.
bitbake: toaster: Not using task_color tag for execution heading
The modifications to the task_color tag in commit 23a7c338d387ac2ba13a7a1114a4abc75228c960 broke the styling
of failed tasks in the tasks.html template. Undo the
changes to the task_color tag and use an if statement
instead to set the .muted class when the execution
heading says "Not executed".
bitbake: toaster: Presentation fixes for task.html
Tidying up the presentation in the task.html template.
The changes include:
* Correct the markup for the help tooltips
* Fix the help content for the outcome heading
* Make sure <dt> tags do not show for empty log
file, time, cpu and disk I/O values
* Eliminate an extra <dl> for tasks with sstate attempts
* Add <strong> tag to the sstate restored alert
* Replace the .alert-info class with the .muted class
for the no dependencies messages
* Make sure the Executed heading does not inherit
the .red class for failed tasks
* Format time and cpu values to make sure they only
show 2 decimal digits
Changing "Task depends on" to "Dependencies" and
"Task reverse dependencies" to "Reverse dependencies".
This matches the labeling to recipe and package
information, with the additional advantage of
making the labels shorter.
Adding the no search results page to the built packages
(bpackage.html), variables (configvars.html), recipes
(recipes.html) and tasks (tasks.html) tables.
The change copies the code from the build.html template
into the other 4 templates. There is probably a smarter way
of doing this, though.
Replacing the placeholder attribute with the value attribute
in the no search results page broke the "Show all builds" link.
This change applies the inline javacript used for the clear search
button for the "Show all builds" link, which fixes the problem.
bitbake: toaster: Small tweaks to the no results page
Correctly align the Search button to the text input field,
add .btn class to the clear search button, replace the
placeholder attribute with the value attribute so that you
can edit your search query, remove the clear search button
from the tab index so that you don't clear the search by
mistake and edit the margins of the .no-results class.
bitbake: toaster: Format package size in recipe.html
Package sizes in the recipe details page (recipe.html)
were displaying in bytes. Apply the filtered_filesizeformat
project tag to show the package size in a more human
readable format.
bitbake: toaster: Make Order column part of the minimum table
The Order column in the tasks table should be always shown and
be part of the minimum table (i.e. its checkbox should be
disabled in the Edit columns menu). Changing views.py to
make sure this is the case.
bitbake: toaster: Move <tbody> outside for statement
In the package details pages, the <tbody> tags where inside
the for statements, which caused multiple <tbody> tags to
be generated inside a single table.
To make sure only one <tbody> tag exists per table, moving
the <tbody> tag outside the for statement.
Marius Avram [Wed, 12 Mar 2014 12:03:49 +0000 (14:03 +0200)]
bitbake: bitbake: cooker: some IMAGE_FEATURES not recognized
Fixes an issue in hob which happened when the local.conf file was
modified externally by appending "eclipse-debug" to the IMAGE_FEATURES
variable. The reason of the problem is that some IMAGE_FEATURES are
not available in the image.bbclass file and they are declared in the
core-image.bbclass. Now a default hob image will inherit core-image.
Signed-off-by: Ravi Chintakunta <ravi.chintakunta@timesys.com> Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: João Henrique Ferreira de Freitas <joaohf@gmail.com> Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Matthieu Crapet [Wed, 12 Mar 2014 09:15:26 +0000 (10:15 +0100)]
oe-setup-builddir: small rework
Changes:
- drop useless subshell creation in test:
if ! (test -r "$BUILDDIR/conf/local.conf"); then$
- replace "source" builtin by "." (bashsism)
- fix indentation 4 spaces (drop some tabs too)
- fix return => exit (return is not allowed in main)
- drop "sed -i" (doesn't exist in BSD sed)
- for homogeneity, always use [ ] (instead of test)
- replace old [ "x" = "x$VAR" ] by [ -z "$VAR" ]
Richard Purdie [Tue, 11 Mar 2014 18:09:37 +0000 (18:09 +0000)]
bitbake: runqueue: Improve sigchld handler
The sigchld handler was reaping any processes and this was leading to
confusion with any other process handling code that could be active.
This patch:
a) Ensures we only read any process results for the worker processes
we want to monitor
b) Ensures we pass the event to any other sigchld handler if
it isn't an event we're interested in so the functions are properly
chained.
Together this should resolve some of the reports of unknown processes
people have been reporting.
populate_sdk_deb: Fix meta-toolchain-sdk with amd64 ARCH
Map SDK_ARCH x86_64 to DEB_SDK_ARCH amd64
Without this patch meta-toolchain-gmae fails to do_populate_sdk
| The following packages have unmet dependencies:
| nativesdk-packagegroup-sdk-host : Depends: nativesdk-autoconf but it
is not installable
| Depends: nativesdk-libtool but it
is not installable
| Depends: nativesdk-shadow but it is
not installable
| Depends: nativesdk-unfs-server but
it is not installable
| Depends: nativesdk-makedevs but it
is not installable
| Depends: nativesdk-automake but it
is not installable
| Depends: nativesdk-qemu but it is
not installable
| Depends: nativesdk-pkgconfig but it
is not installable
| Depends: nativesdk-pseudo but it is
not installable
| Depends: nativesdk-qemu-helper but
it is not installable
| Depends: nativesdk-opkg but it is
not installable
| packagegroup-cross-canadian-qt5022 : Depends:
gdb-cross-canadian-x86-64 but it is not installable
| Depends:
binutils-cross-canadian-x86-64 but it is not installable
| Depends:
gcc-cross-canadian-x86-64 but it is not installable
| Depends: meta-environment-qt5022
but it is not installable
Saul Wold [Tue, 4 Mar 2014 21:56:06 +0000 (13:56 -0800)]
bind: Update to 9.9.5
Remove CVE patches that are in bind
Updated COPYRIGHT includes date changes the NetBSD Copyright
Modifies the Base BSD License to 3-Clause (removes advertising clause)w
Add patch to disable running tests on host
Add python-core to RDEPENDS for dnssec-checkds and dnssec-coverage and fix path to python
Saul Wold [Tue, 4 Mar 2014 22:06:05 +0000 (22:06 +0000)]
util-linux: Update to 2.24.1
rebase native patch to remove sundisklabel as it's deprectated upstream
Update LIC_FILES_CHECKSUM for modified text, no License Changes
remove deprecated elvtune flag
Rebase the fix-configure patch due to change in configure.ac
Richard Purdie [Wed, 12 Mar 2014 03:16:12 +0000 (03:16 +0000)]
bitbake: bitbake-worker: Ensure children have default sigterm handler
The children of the worker should have the default SIGTERM handler,
else they'll try and do cleanup which should only happen in the
parent leading to all kinds of bizarre build failures.
David Reyna [Sat, 8 Mar 2014 05:48:59 +0000 (21:48 -0800)]
bitbake: toaster: fix 'show all' labels for tasks and variables
Fix the 'Show all' button label to indicate 'variables' and 'tasks'
instead of the internal page label for the variables page and the
Disk I/O, CPU Usage, and Time pages.
* relaxing constraints in Target_Image_File table
* modifying permission filed to string value
* adding license_manifest_path field
* adding image_size field
Stefan Stanacar [Thu, 6 Mar 2014 17:59:07 +0000 (19:59 +0200)]
classes: Add gummiboot class
Adds a gummiboot class similar to grub-efi class and makes the necessary
changes so it can be used for live/hddimg images as well.
One can set EFI_PROVIDER = "gummiboot" in local.conf to use gummiboot instead of grub-efi.
Gummiboot requires some kernel options that are not enabled by default, so one has to build
with KERNEL_FEATURES_append = " cfg/efi-ext".
The install scripts have been updated too, keeping the old behaviour around,
but accounting for the new boot loader config files (if they exist).
It can be argued that the installer and bootimg are a bit wierd and not necessarily correct,
but I wanted to have the exact same behviour with gummiboot.
With the default EFI_PROVIDER = "grub-efi" nothing changes, everthing should be just as before.
I've tested live boot, install and normal boot on:
- FRI2
- genericx86-64 on NUC
with:
EFI_PROVIDER = "gummiboot"
KERNEL_FEATURES_append = " cfg/efi-ext"
in local.conf.
Stefan Stanacar [Thu, 6 Mar 2014 17:57:25 +0000 (19:57 +0200)]
bootimg/grub-efi.bbclass: allow using a different class for EFI images
Abstract away some names so one can select using EFI_PROVIDER a different
class than grub-efi for populating live images, basically allowing the use
of a different bootloader than grub-efi.
Stefan Stanacar [Fri, 21 Feb 2014 10:17:35 +0000 (12:17 +0200)]
recipes-bsp: Add gummiboot recipe
gummiboot is a simple UEFI boot manager.
Recipe imported from meta-intel with these changes:
- drop PR and update configure options
- upgraded to latest version
A couple of notes:
- If you wish you can install the gummiboot package on the target and
use 'gummiboot install' to add the payload to the ESP (see gummiboot --help,
just make sure the ESP partition has the boot flag on as gummiboot won't accept it
otherwise). However the point of this recipe is to be used by bootimg.bbclass and
generate images with gummiboot instead of grub-efi.
- You need a kernel which has CONFIG_EFI_STUB=y at least
- The default linux-yocto kernel config does not enable that, easiest way
to enable is to build with KERNEL_FEATURES_append = " cfg/efi-ext" in local.conf
Chen Qi [Wed, 5 Mar 2014 05:14:32 +0000 (13:14 +0800)]
e2fsprogs: fix cross compilation problem
When compiling e2fsprogs for qemumips64, we got compilation errors.
The root cause is that parse-types.sh script would fail for mips64.
However, the type size checking in parse-types.sh doesn't make much
sense in case of cross compilation. This is because that the typedef
statements in asm_types.h are for the target machine while the generated
binary in parse-types.sh script is executed on build machine.
Gary Thomas [Mon, 24 Feb 2014 17:11:49 +0000 (17:11 +0000)]
.templateconf: New file for customized template defaults
This file will allow easy customization of the build tools,
in particular the default setting of TEMPLATECONF, which
should reduce the need to fiddle with scripts in the future.
Signed-off-by: Gary Thomas <gary@mlbassoc.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Gary Thomas [Mon, 24 Feb 2014 17:11:48 +0000 (17:11 +0000)]
scripts/oe-setup-builddir: Keep track of TEMPLATECONF setting
Keeping track of the TEMPLATECONF variable in the build
tree will let this script produce the same output when
listing 'conf-notes.txt' every time the script is run,
regardless of whether or not TEMPLATECONF has been
provided by the user.
Note that the default value for TEMPLATECONF now comes from
an easily customizable file $OEROOT/.templateconf
Signed-off-by: Gary Thomas <gary@mlbassoc.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Gary Thomas <gary@mlbassoc.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Stefan Stanacar [Fri, 7 Mar 2014 14:20:07 +0000 (14:20 +0000)]
oeqa/utils/qemurunner: search for login string in the entire boot log
If some service is to spammy we might miss the login, so search
in the entire log instead of just the last few lines.
Use qemu in regex too (to avoid a login string from some service).
Stefan Stanacar [Fri, 7 Mar 2014 11:34:05 +0000 (11:34 +0000)]
oeqa/targetcontrol: fix loading a controller using a class name
This was wrong and if one would do TEST_TARGET = "SimpleRemoteTarget"
instead of TEST_TARGET = "simpleremote" it would complain
that there is no such controller when there is.