Andre McCurdy [Thu, 13 Oct 2016 18:49:33 +0000 (11:49 -0700)]
linux-yocto.inc: ensure do_kernel_link_images runs before do_strip
If the do_kernel_link_images task is enabled, then it needs to run
before do_strip. The addtask statement for do_strip makes that
explicit. For consistency, make it explicit in the addtask statement
for do_kernel_link_images too.
Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Martin Jansa [Wed, 12 Oct 2016 12:06:12 +0000 (14:06 +0200)]
live-vm-common.bbclass: Allow to use different kernel image than KERNEL_IMAGETYPE for /vmlinuz
* syslinux config hardcodes kernel image as /vmlinuz add warning message
when the selected image doesn't exist and allow to select different image
with VM_DEFAULT_KERNEL variable (qemuboot.bbclass is using QB_DEFAULT_KERNEL)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
To produce certain types of images wic uses do_bootimg results
to assemble final image. For example, it copies BOOT/EFI directory
produced by do_bootimg to boot partition for every EFI image.
The tricky part of this is that do_bootimg task is not always run,
so we can't always make do_image_wic depend on do_bootimg. We only
need to do it if do_bootimg present in task graph.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang [Thu, 22 Sep 2016 09:36:55 +0000 (02:36 -0700)]
xcb-proto: create .pyc files for python2
Its Makefile's do_install creates .pyc files for python3, now also
create them for python2 so that they will be recorded by manifest, and
can be cleaned correctly.
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Robert Yang [Wed, 12 Oct 2016 06:31:29 +0000 (23:31 -0700)]
source-highlight: use with-boost-libdir
Without with-boost-libdir, it checks lib64 libx32 lib lib64 in
sysroot/usr/ and set it as boost lib path if it exist, this is
unreliable when build with multilib.
Fixed when switch baselib from lib64 to lib, for example, when we build
qemux86-64 + multilib setting, the baselib is lib64, and when disable
multilib, it would be lib, then we may see the error when
do_configure since lib64 may exist during build source-highlight:
configure: error: Could not find a version of the Boost::Regex library!
Signed-off-by: Robert Yang <liezhi.yang@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Juro Bystricky [Tue, 11 Oct 2016 16:56:24 +0000 (09:56 -0700)]
insane.bbclass: Additional "mips" and "mipsel" machine definitions
Add "mips" and "mipsel" to "machdata" table.
Although there is a way to add entries to the "machdata" table
from a BSP without modifying the insane.bbclass directly, MIPS is
already supported in poky and as such the relevant entries should be
present in insane.bbclass.
Ross Burton [Tue, 11 Oct 2016 12:30:42 +0000 (13:30 +0100)]
cmake: improve CMAKE_SYSTEM_PROCESSOR assignment in nativesdk
The previous string manipulations would result in the wrong string being used
for machines such as intel-corei7-64 as the sysroot was split at the first
hyphen (so would result in corei7 instead of corei7-64).
Change the logic so that it looks for processor-distro-os and uses the whole of
the processor field.
Ross Burton [Mon, 10 Oct 2016 11:41:34 +0000 (12:41 +0100)]
cmake: also set CMAKE_FIND_ROOT_PATH_MODE_PACKAGE
The other CMAKE_FIND_ROOT_PATH_MODE_* variables were already set to ONLY, but
PACKAGE was left out. Fix this so that cmake doesn't look on the host for cmake
modules when it should only be looking in the target sysroot.
Previous attempts to constrain execution of `resize` to only TTYs did
not properly handle situations when `tty` would return the string "not a
tty". The symptom is "/etc/profile: line 34: test: too many arguments".
Fix this by utilizing the exit code of `tty`. Also use `case` instead of
`cut` to eliminate a subshell.
Signed-off-by: Richard Tollerton <rich.tollerton@ni.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Thu, 13 Oct 2016 19:36:35 +0000 (20:36 +0100)]
pixbufcache: handle gdk-pixbuf not being present
It's possible - albeit unlikely - that gdk-pixbuf isn't present in the sysroot
when a recipe inheriting this class is and the sysroot is finalised.
One example would be if the sstate archive has librsvg but not gdk-pixbuf:
librsvg will be extracted from the sstate but gdk-pixbuf will be built to "fill
in the gap". In this situation the setscene completion hook installed by
pixbufcache.bbclass will attempt to execute gdk-pixbuf-query-loaders, but that
binary hasn't been installed by gdk-pixbuf yet.
Also add gdk-pixbuf-native to DEPENDS in native builds to ensure that the
binaries we expect will be present, as it's possible to build loaders without
linking to GdkPixbuf.
Joshua Lock [Wed, 12 Oct 2016 20:46:41 +0000 (21:46 +0100)]
Remove RM_OLD_IMAGE, it's no longer useful
Since the move to put image deployment under sstate control in d54339d4b1a7e884de636f6325ca60409ebd95ff old images are automatically
removed before a new image is deployed (the default behaviour of the
sstate logic).
RM_OLD_IMAGE is therefore no longer required to provide this
behaviour, remove the variable and its users.
Scott Rifenbark [Thu, 13 Oct 2016 22:00:23 +0000 (15:00 -0700)]
bitbake: bitbake-user-manual: Changed BB_SETSCENE_VERIFY_FUNCTION name
The BB_SETSCENE_VERIFY_FUNCTION variable has effectively changed
to BB_SETSCENE_VERIFY_FUNCTION2. I changed the three areas in the
book. Basically a name change.
Scott Rifenbark [Mon, 10 Oct 2016 19:49:06 +0000 (12:49 -0700)]
bitbake: bitbake-user-manual: Updated the [noexec] and [nostamp] flag descriptions
Fixes [YOCTO #10401]
Added some wording to clarify that setting these flags to "1"
causes the desired action. Also, provided a cautionary note
about tasks depending on any [nostamp] task causes the task
to always be executed and could cause unnecessary rebuild time.
Scott Rifenbark [Tue, 11 Oct 2016 14:36:00 +0000 (07:36 -0700)]
dev-manual: Applied review comments to "Packaging Externally Produced Binaries"
Fixes [YOCTO #10392]
Moved the last bullet item from the list that was about
DEPENDS to a note form above the list. This was done because
the stuff for DEPENDS is more general.
The whitelist checks for BB_SETSCENE_ENFORCE were running for every call
to execute(). Since the task list doesn't change for each call into
execute, the checks only need to be ran once.
Paul Eggleton [Tue, 11 Oct 2016 21:33:47 +0000 (10:33 +1300)]
classes/externalsrc: re-run do_configure when configure files change
If the user modifies files such as CMakeLists.txt in the case of cmake,
we want do_configure to re-run so that those changes can take effect. In
order to accomplish that, have a variable CONFIGURE_FILES which
specifies a list of files that will be put into do_configure's checksum
(either full paths, or just filenames which will be searched for in the
entire source tree). CONFIGURE_FILES then just needs to be set
appropriately depending on what do_configure is doing; for now I've set
this for autotools and cmake which are the most common cases.
Todor Minchev [Tue, 4 Oct 2016 15:47:11 +0000 (08:47 -0700)]
sdk-installer: Fix unclear SDK installer message
When the host and the SDK architectures are incompatible the SDK
installer outputs an incomplete error message "Error: Installation
machine not supported!". This commit adds a more verbose error
message e.g "Error: Incompatible SDK installer! Your host is i686
and this SDK was built for x86_64 hosts."
Markus Lehtonen [Tue, 11 Oct 2016 12:43:29 +0000 (15:43 +0300)]
sysklogd and busybox: ignore return code from init script stop
The init script will return '1' if we try to stop the service and it is
not currently running. The prerm scriptlet must not fail because of this
because it will cause package deinstallation of upgrade fail if opkg
package manager is used.
We need to ignore the return code from the init script 'stop' command in
the preinst and prerm scriptlets. Otherwise package upgrade or
deinstallation (at least when opkg is used) is likely to fail if the
daemon is not running. That is because an init script possibly returns
'1' if you try to stop a service that is not running which, in turn,
causes the scriptlet to fail which, in turn, causes the package
(de-)installation to fail.
Ross Burton [Tue, 11 Oct 2016 12:19:44 +0000 (13:19 +0100)]
insane: display names instead of ELF machine numbers
The 'arch' QA test currently simply outputs the ELF machine field as a number
which isn't helpful. Display this as a human-readable name to make it clearer
to the user what the problem is.
Jussi Kukkonen [Tue, 11 Oct 2016 10:58:02 +0000 (13:58 +0300)]
vte: Build without vala by default
vala.bbclass DEPENDS on vala and vala-native: Drop the inherit so
that these dependencies can be added on-demand based on vte
PACKAGECONFIG. Add relevant items from vala class into the recipe.
Add copy of vapigen.m4 so building without vala actually succeeds.
Make building without vala the default PACKAGECONFIG.
ref-manual: Updated the USERADD_ERROR_DYNAMIC and USERADDEXTENSION variables.
The value for USERADD_ERROR_DYNAMIC changed from "1" to "error"
to activate this variable. Also, the value "warn" is used
to cause a warning to be issued. I updated the variable
description to reflect this.
For the USERADDEXTENSION variable, I updated the [doc] string
to use proper quote marks. I was not nesting these properly.
Scott Rifenbark [Mon, 10 Oct 2016 18:19:12 +0000 (11:19 -0700)]
dev-manual: Updated "Packaging Externally Produced Binaries"
Fixes [YOCTO #10392]
People often needlessly put [noexec] on tasks, making the recipes
more complicated than they need to be. I updated the first bullet
item in this section to more clearly explain how to do this.
Also, added a new bullet item to the end to point into the DEPENDS
variable for more clarification.
Scott Rifenbark [Mon, 10 Oct 2016 16:36:13 +0000 (09:36 -0700)]
bsp-guide: Updated the yocto-bsp create output in the example.
Fixes [YOCTO #10385]
The output was incorrect for the default kernel type. In the
Krogoth branch, the output uses 4.1 and the text indicates 4.4.
In the master branch it was the same as well. This commit fixes the
master branch to use the default 4.8 kernel in both the example output
and the text.
Scott Rifenbark [Wed, 5 Oct 2016 15:48:42 +0000 (08:48 -0700)]
ref-manual: Updated three SYSROOT_DIRS* variables.
Fixes [YOCTO #10377]
Provided links back into the do_populate_sysroot task and other
key variables. I updated the SYSROOT_DIRS, SYSROOT_DIRS_BLACKLIST,
and SYSROOT_DIRS_NATIVE variables.
Scott Rifenbark [Tue, 4 Oct 2016 16:20:21 +0000 (09:20 -0700)]
ref-manual: Added note about bb.fatal() raising an exception.
Fixes [YOCTO #10363]
Added a small note to the bullet item about bb.fatal(). Noted
that the function raises an exception so the user does not
have to put a "return" statement after the function call.
Scott Rifenbark [Mon, 3 Oct 2016 19:13:18 +0000 (12:13 -0700)]
ref-manual: Added a reference to viewing task variable dependencies.
Put a closing reference in the "Stamp Files and the Rerunning of Tasks"
section to point the user to the area that tells them how to
view information about a task's signature.
Scott Rifenbark [Mon, 3 Oct 2016 18:58:29 +0000 (11:58 -0700)]
yocto-project-qs: Altered MinnowBoard MAX example
Fixes [YOCTO #9667]
The example that built the image out for the MinnowBoard MAX was
buiding a core-image-minimal. This was not ideal. I have fixed
it so that several types of images are suggested as examples with
a reference to the Images chapter in the ref-manual. The actual
command now builds out core-image-base.
Scott Rifenbark [Mon, 3 Oct 2016 18:05:17 +0000 (11:05 -0700)]
mega-manual: Added new chapters to support building the manual
Due to new chapters in the SDK manual and the movement of the devtool
Quick Reference from the dev-manual to the ref-manual, I had to xinclude
these various chapters in the mega-manual.xml file that builds out the
manual.
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: