Saul Wold [Mon, 10 Oct 2016 18:32:05 +0000 (11:32 -0700)]
archiver: fix gcc-source handling
The source archiver was not handling the gcc-source target correctly, since it uses the
work-shared directory, we don't want to unpack and patch it twice, just as the comments
say, but the code was not there to check for the gcc-source target.
Jussi Kukkonen [Mon, 10 Oct 2016 08:30:04 +0000 (11:30 +0300)]
bitbake: depexp: Close UI with error message on NoProvider event
Without this the UI just sits there doing nothing. Showing an
infobar in-UI would be nicer but not much more useful since currently
user couldn't do anything in-UI to fix the situation. Implementation
is based on the one in knotty.
Ed Bartosh [Mon, 10 Oct 2016 08:02:06 +0000 (11:02 +0300)]
genericx86-common.inc: produce EFI wic image
Used mkefidisk.wks as a default kickstart file for genericx86* machines.
Added dependency do_image_wic -> gptfdisk-native as wic uses sgdisk tool
from this package to set partition UUIDS.
Jackie Huang [Sun, 9 Oct 2016 00:56:07 +0000 (08:56 +0800)]
net-tools: fix building with linux-4.8
Fix a build error when using the linux-4.8 headers that results in:
In file included from
.../sysroots/qemuarm64/usr/include/linux/if_tunnel.h:6:0,
from iptunnel.c:39:
.../qemuarm64/usr/include/linux/ip.h:85:8: error: redefinition of
'struct iphdr'
struct iphdr {
^~~~~
In file included from iptunnel.c:29:0:
.../qemuarm64/usr/include/netinet/ip.h:44:8: note: originally defined here
struct iphdr
^~~~~
(From OE-Core rev: 94d15885c516e3bfee4fb68dfb568f4da6904052)
Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Jackie Huang <jackie.huang@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ed Bartosh [Mon, 10 Oct 2016 07:50:41 +0000 (10:50 +0300)]
canned-wks: use GPT partition table
According to UEFI specification all EFI platforms must support
GUID Partition Table(GPT) disk layout. Here is a list of advantages
of using GPT disk layout over the legacy MBR partitioning:
- Logical Block Addresses (LBAs) are 64 bits (rather than 32 bits).
- Supports many partitions (rather than just four primary partitions).
- Provides both a primary and backup partition table for redundancy.
- Uses version number and size fields for future expansion.
- Uses CRC32 fields for improved data integrity.
- Defines a GUID for uniquely identifying each partition.
- Uses a GUID and attributes to define partition content type.
- Each partition contains a 36 character human readable name.
Used GPT partitioning in all EFI kickstart files.
Tested result images on NUC, MinnowBoard MAX and MinnowBoard Turbot.
Ed Bartosh [Mon, 10 Oct 2016 07:40:51 +0000 (10:40 +0300)]
systemd-bootdisk.wks: update kernel command line
Used ttyS0 console.
Removed usage of ttyPCH0 (FRI2 leftover)
Decreased bootloader timeout to 5 seconds
Removed 'vmalloc=256MB snd-hda-intel.enable_msi=0' as it's not
needed for any of reference BSPs.
bitbake: main: Check bitbake server-only port is a number
Either using the memres script or the bitbake call with --server-only
if the port is a string instead of a number then the process hangs
indefinitely causing a loop that never ends.
Add a check at the beginning for the port being a number otherwise
show an error message and exit cleanly.
Richard Purdie [Fri, 7 Oct 2016 07:26:48 +0000 (08:26 +0100)]
bitbake: runqueue: Optimise task id string manipulations
Some task id manipulations were suboptimal:
* taskfn_fromtid and fn_from_tid were effectively the same function
* many calls to split_tid(), then taskfn_fromtid()
* taskfn_fromtid() called split_tid() internally
This patch adds split_tid_mcfn() to replace split_tid() and returns the
"taskfn" variant being used in many places. We update all core calls
to the new function and ignore the return values we don't need since the
function call overhead of the split_tid wrapper is higher than ignoring
a return value.
The one remaining standalone use of taskfn_fromtid is replaced with
fn_from_tid. I couldn't see any external usage so it was dropped.
There is external usage of split_tid so a wrapper remains for it.
Combined together these changes should improve some of the runqueue task
manipulation performance.
bitbake: bb.runqueue: fix unexpected process death logic
`if w in self.rq.worker` when w *is* self.rq.worker doesn't make a great deal
of sense, and results in this error:
File ".../poky/bitbake/lib/bb/runqueue.py", line 2372, in runQueuePipe.read():
name = None
> if w in self.rq.worker:
name = "Worker"
TypeError: unhashable type: 'dict'
Most likely this was meant to be 'is' rather than 'in', but rather than
checking after the fact, just include the name in the iteration, instead.
While we're here, also clean up and fix the broken error message.
AnÃbal Limón [Thu, 6 Oct 2016 21:52:07 +0000 (16:52 -0500)]
bitbake: ui/knotty.py: Fix signal handling of SIGWINCH in BBProgress
Add the ability to pass default signal handler for SIGWINCH in BBProgress
because with multiple instace of BBProgress the original signal handler
set by TerminalFilter (sigwinch_handle) is lost.
This is a fix for stack trace due to multiple async calls of ProgressBar
_handle_resize (ioctl to terminal fd), see:
Current thread 0x00007f70a4793700 (most recent call first):
File
"/home/alimonb/repos/poky/bitbake/lib/progressbar/progressbar.py", line
183 in _handle_resize
File "/home/alimonb/repos/poky/bitbake/lib/bb/ui/knotty.py", line 58
in _handle_resize
File "/home/alimonb/repos/poky/bitbake/lib/bb/ui/knotty.py", line 60
in _handle_resize
...
File "/home/alimonb/repos/poky/bitbake/lib/bb/ui/knotty.py", line 60
in _handle_resize
...
Aborted
Joshua Lock [Thu, 6 Oct 2016 10:06:54 +0000 (11:06 +0100)]
testimage: disable build tests for qemumips and qemumips64
It's not uncommon for qemumips[64] builds on the Yocto Project
autobuilder to fail during Sanity Tests after a very long timeout
period. This is due to the MIPS emulation in QEMU being slow and
some of the build tests taking a very long time on MIPS machines.
This patch works around this slowness by disabling the more
complex build tests for QEMU MIPS machines.
Ed Bartosh [Fri, 7 Oct 2016 06:30:09 +0000 (09:30 +0300)]
mkgummidisk.wks: update kernel command line
Used ttyS0 console.
Removed usage of ttyPCH0 (FRI2 leftover)
Decreased bootloader timeout to 5 seconds
Removed 'vmalloc=256MB snd-hda-intel.enable_msi=0' as it's not
needed for any of reference BSPs.
We fail to compile simple CPP programs because CPP cannot
find relevant header files, looking for them in a non-existing place.
To fix this, we create a symlink of the name CPP expects and point it to
the corresponding existing directory.
Bruce Ashfield [Fri, 7 Oct 2016 21:27:44 +0000 (17:27 -0400)]
linux-yocto/4.8: Enable R8169 driver since its needed by supported platforms
The Realtek 8169 driver is needed by the Minnowboard MAX, one of the
boards we currently support, since some of our images do not contain
modules by default, the network isnt working on genericx86, genericx86-64
and intel-core2-32 (meta-intel) when no modules are installed.
This patch fixes network on images not containing modules when
using the previously mentioned MACHINES for this board.
Markus Lehtonen [Thu, 6 Oct 2016 13:37:04 +0000 (16:37 +0300)]
update-rc.d.bbclass: check that init script is executable before running it
Check that the init script that is going to be called in the prerm()
script really exists and is executable. There might be a packaging bug
or the script might've been removed already earlier in prerm().
Paul Eggleton [Thu, 6 Oct 2016 21:43:04 +0000 (10:43 +1300)]
classes/populate_sdk_ext: add symlinks and unfsd to support Eclipse plugin
The Yocto Project Eclipse plugin requires that runqemu and unfsd are
accessible within the SDK, and indeed the standard SDK has these. This
turns out to be fairly easy to do - we just need to add unfsd and symlink
it, runqemu and a few other scripts into the SDK's bin directory.
Fabio Berton [Tue, 4 Oct 2016 13:54:11 +0000 (10:54 -0300)]
u-boot: Add support to use uboot-extlinux-config class
Use uboot-extlinux-config class to create extlinux.conf file and then
install inside /boot/extlinux directory and also put file to deploy
dir. This file will be only create if UBOOT_EXTLINUX is set to 1.
You can use DEPLOYDIR/extlinux.conf file to install into final image
using wic setting:
Fabio Berton [Tue, 4 Oct 2016 13:54:10 +0000 (10:54 -0300)]
classes/uboot-extlinux-config: Add class
This class allow the extlinux.conf generation for U-Boot use.
The U-Boot support for it is given to allow the Generic Distribution
Configuration specification use by OpenEmbedded-based products.
This class can be inherited by u-boot recipes to create extlinux.conf
and boot using menu options.
U-boot with extlinux support is machine dependent, so to use this class
you need to set UBOOT_EXTLINUX to 1 in machine configuration file and
also set root= kernel cmdline UBOOT_EXTLINUX_ROOT. This variable is used
to pass root kernel cmdline, e.g:
Khem Raj [Thu, 6 Oct 2016 15:35:24 +0000 (08:35 -0700)]
security_flags: Diable PIE for mesa-gl
This creeped in along with rest of the changes in c999b3d88dfcffbe0fb66406fb0bff1fb66f34bc
even after it was reported a build failure in mesa-gl
This is also showing up on arm architecture now
| /usr/src/debug/glibc/2.24-r0/git/csu/elf-init.c:87: undefined reference to `__init_array_end'
| /usr/src/debug/glibc/2.24-r0/git/csu/elf-init.c:87: undefined reference to `__init_array_start'
| /a/builder/mnt/build/tmp-glibc/sysroots/x86_64-linux/usr/libexec/arm-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/6.2.0/ld: .libs/mesa_dri_drivers.so: hidden symbol `__init_array_end' isn't defined
Ed Bartosh [Thu, 6 Oct 2016 15:57:53 +0000 (18:57 +0300)]
mkefidisk.wks: update kernel command line
Used ttyS0 console.
Removed usage of ttyPCH0 (FRI2 leftover)
Decreased bootloader timeout to 5 seconds
Removed 'vmalloc=256MB snd-hda-intel.enable_msi=0' as it's not needed
for any of reference BSPs.
Ed Bartosh [Thu, 6 Oct 2016 10:33:36 +0000 (13:33 +0300)]
wic: generate PARTUUID for MDOS partitions
Added generation of partition UUIDs for MSDOS partitions.
UUID for MSDOS partitions is <disk identifier>-<partition number>,
where disk identifier is a random 4 bytes long number. It's usually
generated when MBR/partition table is initialized.
As UUID is used to point to the root partition in bootloader config
we need to generate it before the MBR is initialized.
After MBR is created we need to rewrite system identifier to match
it with what is used in bootloader config. This will be implemented
in the next commit.
Mark Hatle [Thu, 6 Oct 2016 16:59:38 +0000 (11:59 -0500)]
linuxloader.bbclass: Adjust mips to cover all mips/mips64
[YOCTO #10389]
Use a glob (*) to match all mips (not previously matched). This will ensure
that the linuxloader is properly returned for mips, mipsel, mips64,
mips64el and their n32 variants.
See: https://sourceware.org/glibc/wiki/ABIList#mips for the official list
of loaders.
The loader is located at a new place for multiarch.
For more details, check https://wiki.debian.org/Multiarch
and https://sourceware.org/glibc/wiki/ABIList#mips
Stephano Cetola [Mon, 3 Oct 2016 23:32:45 +0000 (16:32 -0700)]
utils.bbclass: add function to check for git config user
If attempting to patch a git repo without a proper git config setup,
an error will occur saying user.name/user.email are needed by git
am/apply. After some code was removed from kernel-yocto, it was
simple enough to reproduce this error by creating a kernel patch and
using a container to build.
This patch abstracts out functionality that existed in buildhistory
for use in other classes. It also adds a call to this functionality
to the kernel-yocto class.
Michael Wood [Thu, 6 Oct 2016 00:08:54 +0000 (17:08 -0700)]
bitbake: toaster: Update tests to reflect front end changes
- Browser test we changed the project heading access to use the class name
- Update toastergui unit test for additional gotoUrl property
- On faster browsers we had a race for layer details inputs being
visible
Michael Wood [Thu, 6 Oct 2016 00:08:52 +0000 (17:08 -0700)]
bitbake: toaster: importlayer Fix layer dependencies button state toggle
Fix regression introduced by switching typeahead library. Make sure we
enable and disable the add button based on whether the selection event
has fired or not.
Michael Wood [Thu, 6 Oct 2016 00:08:50 +0000 (17:08 -0700)]
bitbake: toaster: buildinfohelper: Use correct way to get message from LogMessage
Use the correct method to get a message value from the LogMessage object
rather than constructing it ourselves which is not recommended. This
causes an exception when the msg contains a '%' such as when there are
wildcards in file names (something2.%.bbappends)
Michael Wood [Thu, 6 Oct 2016 00:08:49 +0000 (17:08 -0700)]
bitbake: toaster: api / project Cancel any in progress builds before project delete
Before we finally delete any project make sure we send the cancel command to
any in-progress builds. This ensures that an inaccessible build doesn't block
up the system and that we don't get errors after deletion.
Scott Rifenbark [Tue, 4 Oct 2016 16:58:44 +0000 (09:58 -0700)]
bitbake: bitbake-user-manual: Added new section on BB-style functions
Fixes [YOCTO #10364]
Added a new section titled "Bitbake-Style Python Functions
Versus Python Functions". This section describes differences
for the user between the two types of functions.
Also, cleaned up a consistency problem with the terms
"BitBake style" and "BitBake-style". I used the latter
throughout the manual.
Scott Rifenbark [Wed, 21 Sep 2016 22:30:14 +0000 (15:30 -0700)]
bitbake: bitbake-user-manual: Added examples for using overrides with functions.
Fixes [YOCTO #10296]
This adds some bits clarifying you can append and prepend to
functions. Added a bit to the introduction paragraph of the
"Appending and Prepending (Override Style Syntax)" section to
note that you can do this. Referenced some new examples.
In the "Shell Functions" section I added an example. In the
"BitBake Style Python Functions" section I also added an example.
bavery [Thu, 6 Oct 2016 00:43:06 +0000 (17:43 -0700)]
uninative: users can override download site
The default download site for the uninative tarball is
http://downloads.yoctoproject.org/releases/uninative/<version>. There
are scenarios in which the user may need to force the download to be
somewhere else. This patch allows the UNINATIVE_URL to be set in the
local.conf.
Stephano Cetola [Wed, 5 Oct 2016 17:07:17 +0000 (10:07 -0700)]
devtool: modify command fails to ignore source files
With recent changes to recipeutils, the list of local files returned
by get_recipe_local_files could possibly include source files. This
only happens when the recipe contains a SRC_URI using subdir= to put
files in the source tree. These files should be ignored when
populating the list of local files for oe-local-files directory.
package_manager.py: Allow multiple regexps in PACKAGE_EXCLUDE_COMPLEMENTARY
The PACKAGE_EXCLUDE_COMPLEMENTARY variable can currently only contain
one regular expression. This makes it hard to add to it from different
configuration files and recipes.
Allowing it to contain multiple, whitespace separated regular
expressions should be backwards compatible as it is assumed that
whitespace is not used in package names and thus is not used in any
existing instances of the variable.
After this change, the following three examples should be equivalent:
package_manager.py: Allow a leading - in PACKAGE_EXCLUDE_COMPLEMENTARY
This allows a regular expression specified in
PACKAGE_EXCLUDE_COMPLEMENTARY to have a leading dash. Without this,
the dash was treated by oe-pkgdata-util as the beginning of a command
line argument. E.g., if PACKAGE_EXCLUDE_COMPLEMENTARY = "-foo$", it
resulted in an error like:
ERROR: <imagename>-1.0-r0 do_populate_sdk: Could not compute
complementary packages list. Command '<topdir>/scripts/oe-pkgdata-util -p
<builddir>/tmp/sysroots/<machine>/pkgdata glob
<workdir>/installed_pkgs.txt *-dev *-dbg -x -foo$' returned 2:
ERROR: argument -x/--exclude: expected one argument
usage: oe-pkgdata-util glob [-h] [-x EXCLUDE] pkglistfile glob [glob ...]
Markus Lehtonen [Wed, 5 Oct 2016 13:29:49 +0000 (16:29 +0300)]
oeqa.buildperf: measure apparent size instead of real disk usage
This change aligns disk usage measurements of the eSDK test with the old
build-perf-test.sh script. And thus, also makes the results between the
old and the new script comparable.
bavery [Mon, 3 Oct 2016 23:56:26 +0000 (16:56 -0700)]
bitbake: toaster: add Font Awesome license
Font Awesome fonts are bundled with the Toaster UI and are released
under the SIL Open Font License 1.1. This patch adds that information
to the LICENSE file.
bitbake: bb.build: in _exec_task, catch errors from TaskStarted
We don't always want a traceback when an exception is raised by the
TaskStarted event handler. Silently return if we get a SystemExit or
HandledException, and print the error and return for FuncFailed.
This is done via a separate try/catch block, to avoid firing TaskFailed if all
the TaskStarted event handlers didn't complete, otherwise the bitbake UIs get
unhappy.
Joshua Lock [Tue, 4 Oct 2016 10:03:55 +0000 (11:03 +0100)]
bitbake: event: prevent unclosed file warning in print_ui_queue
Use logger.addHandler(), rather than assigning an array of Handlers
to the loggers handlers property directly, to avoid a warning from
Python 3 about unclosed files:
$ bitbake
Nothing to do. Use 'bitbake world' to build everything, or run 'bitbake --help' for usage information.
WARNING: /home/joshuagl/Projects/poky/bitbake/lib/bb/event.py:143: ResourceWarning: unclosed file <_io.TextIOWrapper name='/home/joshuagl/Projects/poky/build/tmp/log/cooker/qemux86/20161004094928.log' mode='a' encoding='UTF-8'>
logger.handlers = [stdout]
Jussi Kukkonen [Tue, 4 Oct 2016 13:16:42 +0000 (16:16 +0300)]
gtk+3: Backport treeview focus fix
Treeview did not grab focus properly on mouse click, leading to e.g.
multifile selection with click/shift-click not working in the
filechooser. Backport a fix.
Bruce Ashfield [Wed, 5 Oct 2016 03:03:48 +0000 (23:03 -0400)]
linux-yocto/4.8: fix BUG_ON() in workingset_node_shadows_dec() triggers
Paul Gotmaker pointed out that a last minute merge to the 4.8 kernel
has the potential to hard hang a kernel when VM debugging is enabled:
https://lkml.org/lkml/2016/10/4/1
He also pointed out the fix for it in commit 21f54dda
[Using BUG_ON() as an assert() is _never_ acceptable].
While that fix will loop through -stable into 4.8.1, that will
likely be too late for our release. So I've cherry picked the
change to make it available.
Richard Purdie [Wed, 5 Oct 2016 07:55:11 +0000 (08:55 +0100)]
pigz: Update SRC_URI
Upstream have released a new tarball and removed the old one. Revert to
the Yocto Project source mirror instead, preserving the upstream version
check.
This patch brings the last bit from meta-mentor for the perf
to build successfully with minnowmax BSP. The meta-mentor
commit for the same is:
http://git.yoctoproject.org/cgit/cgit.cgi/meta-mentor/commit/meta-mentor-staging?id=a8db95c0d4081cf96915e0c3c4063a44f55e21cc
The previous fix:
http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/meta/recipes-kernel/perf?id=ef942d6025e1a339642b10ec1e29055f4ee6bd46
was incomplete and was not submitted upstream. And due to that this change is required.
When built on minnowmax ( machine name: intel-corei7-64),
an error is noticed during the do_compile:
/home/sujith/codebench-linux-install-2015.12-133-i686-pc-linux-gnu/codebench/bin/i686-pc-linux-gnu-ld:
Relocatable linking with relocations from format elf64-x86-64
(/home/sujith/MEL/dogwood/build-minnowmax/tmp/work/intel_corei7_64-mel-linux/perf/1.0-r9/perf-1.0/fd/array.o)
to format elf32-i386 (/home/sujith/MEL/dogwood/build-minnowmax/tmp/work/intel_corei7_64-mel-linux/perf/1.0-r9/perf-1.0/fd/libapi-in.o)
is not supported