Compare commits

...

653 Commits

Author SHA1 Message Date
Richard Purdie
226a508da9 build-appliance-image: Update to master head revision
(From OE-Core rev: 303868c8976523342026817c6aa1a04ce0408c5d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-01 23:11:03 +00:00
Richard Purdie
8343ed93c4 meta-environment: Clean up the task structure to reduce manifest warnings
This puts the dependencies on the correct task and removes pointless
noexec tasks allowing for a slightly cleaner task structure.

(From OE-Core rev: 8b80aee29150fcd50b11dedaab42cdec6e3f222b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-01 18:02:12 +00:00
Richard Purdie
85e9af9d78 staging: Reduce the number of mkdirs calls
The number of mkdir calls was showing up high on the profile charts since
it was getting called once per file which is excessive. Each call results
in one or more syscalls which is bad for performance. Cache which
directories we've seen to reduce the calls to a more reasonable number
and speed up recipe specific sysroots.

(From OE-Core rev: 680fb343be5d0a7f9abbe9c75ca232abe5871663)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-01 18:02:12 +00:00
Richard Purdie
758f18167f sstate/staging: Batch log messages for performance
According to profile data, repeated calls to bb.debug and bb.note in
the extend_recipe_sysroot() codepath were accounting for 75% of the time
(1.5s) in calls from tasks like do_image_complete.

This batches up the log messages into one call into the logging system
which gives similar behaviour to disabling the logging but retains the
debug information.

Since setscene_depvalid is also called from bitbake's setscene code,
we have to be a little creative with the function parameters and leave
the other debug output mechanism in place. This should hopefully
speed up recipe specific sysroots.

(From OE-Core rev: 3b0af8dc0f796345d1f1ba77ea35bbd090a5feb3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-01 18:02:12 +00:00
Richard Purdie
ec3d83f9a9 xmlto: Don't hardcode the path to tail
We don't need to hardcode a path to tail, follow the other tools examples and
don't specify a path since PATH is good enough for us.

(From OE-Core rev: 1a1e70304932cce5ad194e0a7ebb495da7b24c2e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 23:47:33 +00:00
Richard Purdie
9852db9d22 binutils-cross: Remove exec_prefix from the linker search path
We don't put target libs into a native/cross ${exec_prefix} but having
this in the default search path means all linker scripts have to be relocated.
This is a considerable chunk of files to create multiple copies of for no good
reason.

Instead, patch out the paths we don't need.

(From OE-Core rev: 20816eb5398512652c971a37589a2ca28ffd3d68)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 23:47:33 +00:00
Richard Purdie
3e2a47fdfc distro/defaultsetup: Enable removal of libtool .la files by default
Relocation of native .la files during recipe specific sysroot relocation
is probably the final straw in just killing these files off.

Change things so this class is inherited by default. If distros don't want to
do this, they can opt out but it seems like the best thing to do now since
.la files aren't needed on Linux.

(From OE-Core rev: 11d801f6a7319a95f824842df118c446f8da7a71)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 23:47:33 +00:00
Richard Purdie
e9256edb33 relocatable: Make native .pc files relocatable
The native .pc files currently have hardcoded paths in them meaning each has
to be relocated at final install time. pkg-config has built in functionality
to avoid this, namely the pcfiledir variable.

This function translates .pc files to use the variable meaning further
relocation later is unnecessary.

(From OE-Core rev: a3f4e9ff55c7d9eba175e83eb6c99cf349a74432)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 23:47:33 +00:00
Richard Purdie
2bb0b1d9b5 utils: Avoid need to relocate wrapper scripts
Whilst the path to the executable is dynamically determined, the passed in
environment variables or parameters are not relocatable and rely on the sstate
remapping code. In the recipe specific sysroot case this has become more costly.

This patch translates such paths into relocatable entries which means that
a sed replacement at final installation isn't needed.

(From OE-Core rev: 3e02a7cda0ba70e3f9886c5cce37d71361280b11)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 23:47:33 +00:00
Aníbal Limón
bfead495de oeqa/core/context.py: Add validation for run-tests option
The run-tests option is optional so if isn't specified set
to None instead of crash on split().

(From OE-Core rev: 877732406cad2ee4bf11293dc8ccddc2998ffbaf)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 23:27:47 +00:00
Aníbal Limón
90b4e075f4 oeqa/runtime/cases: Rename syslog module to oe_syslog
Debian based distros has a builtin syslog module so when
try to load tests using unittest it references the builtin
module instead of runtime/cases.

[YOCTO #10964]

(From OE-Core rev: 9923e3cdb58c2b3c54ec5fe99b2cec4cdc9fff92)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 23:27:47 +00:00
Mariano Lopez
3eef8f7955 testimage.bbclass: Fixes about suites and dependencies
There are some missing suites on sato-sdk and lsb-sdk images so add it.

The createrepo-native needs to be built before run testimage in
order to create a repository from install packages.

The DL_DIR data also needs to be updated from the current bitbake
environment instead of use the value from testdata file.

[YOCTO #10964]

(From OE-Core rev: 42f3026b39519ba98ae3153329622ce670d57c09)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 23:27:47 +00:00
Mariano Lopez
5582b67f6d runtime/cases: Fix case numbers, missing cases and unused classes
gcc: Removed unneded lines.

multilib: fixed case number.

syslog: added a missing test.

[YOCTO #10964]

(From OE-Core rev: 3f1c57191802309e58a7b3b42e8ec812e83bd8ed)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 23:27:47 +00:00
Patrick Ohly
cb3d884e0a libtasn1: depends on yacc
This fixes a potential pollution by the build host and build error
when yacc isn't installed on the build host:

 | ../../libtasn1-4.9/build-aux/ylwrap: line 175: yacc: command not found
 | Makefile:1116: recipe for target 'ASN1.c' failed
 | make[3]: *** [ASN1.c] Error 127

(From OE-Core rev: 1135024502bb120c331e065f4c441d6a3efb6d4f)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 15:34:57 +00:00
Patrick Ohly
d99b29838d verify-bashisms: support warnings with more than one line of source code
All warnings start with "possible bashism in", followed by one or more
(in the case of line continuation) lines of source code. To support
more than one line, we now split by matching against the known intro
text.

Example:

 $ verify-bashisms guile
 ...
 /.../openembedded-core/meta/recipes-devtools/guile/guile_2.0.13.bb
  possible bashism in guile_cross_config line 94 ($'...' should be "$(printf '...')"):
         	echo '#!'`which ${BUILD_SYS}-guile`$' \\\n--no-auto-compile -e main -s\n!#\n(define %guile-build-info '\'\( \
 			> ${B}/guile-config.cross

(From OE-Core rev: e2dd3621c45e854b4eb054b4d4537487462cdd39)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 15:28:41 +00:00
Patrick Ohly
a15895dac1 populate_sdk_ext: fix == bashism
Found via verify-bashisms.

(From OE-Core rev: b690b8dc634844b4f6672d524f0e6f1d86dc4e20)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 15:28:41 +00:00
Patrick Ohly
0b95e47180 verify-bashisms: check scripts only once, include original file and line
Several scripts that are defined in .bbclass files end up in multiple
different recipes. It's better (faster, less repetitive error reports)
to check them only once.

In addition, the real information for the developer is where he can
find the script, not which recipe file uses it. verify-bashisms now
prints the original file instead of the recipe whenever possible
(i.e. 'filename' is set) and also bumps the line number so that it is
relative to the file and not the script.

Example with one real error and one added just for testing:

  $ verify-bashisms core-image-minimal core-image-sato
  Loading cache: 100% |#################################################################################| Time: 0:00:00
  Loaded 2935 entries from dependency cache.
  Parsing recipes: 100% |###############################################################################| Time: 0:00:01
  Parsing of 2137 .bb files complete (2101 cached, 36 parsed). 2935 targets, 412 skipped, 0 masked, 0 errors.
  Generating scripts...
  Scanning scripts...

  /.../openembedded-core/meta/classes/populate_sdk_ext.bbclass
   possible bashism in install_tools line 515 (should be 'b = a'):
  	if [ "${SDK_INCLUDE_TOOLCHAIN}" == "1" -a ! -e $unfsd_path ] ; then
   possible bashism in install_tools line 521 (type):
            type fixme

(From OE-Core rev: ca4932b60f464430266cc43e34122b2973e8a200)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 15:28:41 +00:00
Patrick Ohly
3108bff175 verify-bashisms: revise update-rc.d whitelist entry
The actual code recently changed to:
   if ${@use_updatercd(d)} && type update-rc.d >/dev/null 2>/dev/null; then

(From OE-Core rev: 32ae3e686db067a2a63932782970db79eb1703e8)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 15:28:41 +00:00
Patrick Ohly
010f9fa86a verify-bashisms: fix problems with tinfoil2
tinfoil2 is based on a client/server architecture, which broke the
verify-bashisms script:

- The tinfoil instance and its data proxies can't be pickled, so
  all interaction with the bitbake server has to run in the main
  script process and only processing of the plain scripts can
  be done with multiprocessing:

  _pickle.PicklingError: Can't pickle <class 'bb.tinfoil.TinfoilCookerAdapter.TinfoilRecipeCacheAdapter'>: attribute lookup TinfoilRecipeCacheAdapter on bb.tinfoil failed

- The multiprocessing pool has to be created before initializing
  tinfoil, otherwise the pool workers end up trying to communicate
  with the bitbake server during shutdown:

  ERROR: UI received SIGTERM
  Process ForkPoolWorker-2:
  Traceback (most recent call last):
    File "/usr/lib/python3.4/multiprocessing/process.py", line 257, in _bootstrap
      util._exit_function()
    File "/usr/lib/python3.4/multiprocessing/util.py", line 286, in _exit_function
      _run_finalizers(0)
    ...
    File "/usr/lib/python3.4/multiprocessing/process.py", line 131, in is_alive
      assert self._parent_pid == os.getpid(), 'can only test a child process'
   AssertionError: can only test a child process

- func() needs to defined before creating the pool to avoid:

  AttributeError: Can't get attribute 'func' on <module '__main__' from '/work/openembedded-core/scripts/verify-bashisms'>

(From OE-Core rev: aa439f11c7f414774843720d68ebe0a6d3375ea6)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 15:28:41 +00:00
Patrick Ohly
48c65ddaa4 verify-bashisms: explicitly shut down server
Current tinfoil2 requires manually shutting down the server.
Without that, the script hangs during exit. This might change
in the future.

(From OE-Core rev: 62f42ce063115f4a02c219e323252223818a150f)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 15:28:41 +00:00
Patrick Ohly
83469f229d verify-bashisms: point out where to get checkbashisms.pl
The current SourceForge project seems to be unmaintained (last release
2.0.0.2 from 2015) while the copy used by Debian is quite active (last
commit 2016-09-30).

Ideally, checkbashisms.pl should get installed automatically via a
recipe, but for now at least provide the link for manual installation.

(From OE-Core rev: 65e74348b4ed40b24671776410d2a579dcc7abab)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 15:28:40 +00:00
Patrick Ohly
15a97dea65 verify-bashisms: fix typo
Variable was renamed, it's now called "output".

(From OE-Core rev: c3d125b4132e5a706f6265a5bcaedafbe8e5355f)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 15:28:40 +00:00
Markus Lehtonen
5b64eda8a1 at-spi2-atk: depend on glib-2.0-native
Missing dependency revealed by recipe specific sysroots. If the host
system does not have glib-compile-schemas installed have (via
libglib2.0-dev, glib2, glib2-tools or similar) do_configure would fail
with:
  configure: error: glib-compile-schemas not found.

(From OE-Core rev: 483801020f358fb201703b56326cb90e6df84fdb)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 15:25:56 +00:00
Markus Lehtonen
7fc6390ff8 wpa-supplicant: inherit pkgconfig
Missing dependency uncovered after recipe specific sysroots were enabled.

(From OE-Core rev: 3173505ba6014271e59fdde2450ecc0d3cd4c8c2)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 15:25:56 +00:00
Markus Lehtonen
86310792d3 rpm: inherit pkgconfig
Rpm needs pkg-config in order to build successfully.  Recipe specific
sysroots revealed this missing dependency when trying to build on a host
without pkg-config.

(From OE-Core rev: 6ad1deb0d728b8d34589b1a42acc8fa268e95f28)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 15:25:56 +00:00
Ross Burton
e7ea95eaaa grep: add missing pkgconfig inherit
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:02 +00:00
Ross Burton
90ecdec944 python: add missing pkgconfig inherit
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:02 +00:00
Saul Wold
0df07f4144 grub-efi: Deploy grub named efi binaries
This allows both grub and systemd-boot efi bootloaders to co-exisit

(From OE-Core rev: 26f4eb19b6e9c71374659605a01af762a0361f41)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:02 +00:00
Alejandro Hernandez
01997345a0 core-image-tiny-initramfs: Fix error message shown after a successful initrd boot
When booting core-image-tiny-initramfs, since we want to live on initrd,
on purpose, we never find a rootfs image to switch root to,
this causes init to show an error as it would with other images,
this patch replaces the message shown to the user, avoiding confusion
when it was indeed a successful boot.

(From OE-Core rev: 3378c322247f5c261f40d06480379da9a24e3082)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:02 +00:00
Tom Zanussi
5d847e6424 core-image-tiny-initramfs: Add and image creating image artifacts only
Add an image that simply creates image artifacts using
image-live-artifacts support instead of creating an actual image.

The image artifacts can then be subsequently assembled by an external
tool such as wic to create an actual image.

This eliminates redundant image creation when using such tools.

(From OE-Core rev: 97237259a9acb9a1511823914dea52b9719fbafd)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:02 +00:00
Daniel Schultz
d053ce3071 cryptodev: Fix changed mm interface in Kernel 4.9
The memory management interface has changed in Kernel 4.9.

This patch adds a patch which fixes the paramter of the function call.

Backport from https://github.com/cryptodev-linux/cryptodev-linux
Based on commit f126e4837e6334d0464540995df7426fedf6b175

(From OE-Core rev: 29e3e2999ae0fd92fd41c2180359e110301a488c)

Signed-off-by: Daniel Schultz <d.schultz@phytec.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:02 +00:00
Yannick Gicquel
710a6e6bdc ccache: update to 3.3.3
Release note available at this location:
https://ccache.samba.org/releasenotes.html#_ccache_3_3_3

Moving to tarball source as git.samba.org is not used anymore.

License checksum change is due to an update in URL, now refering to "https"
protocol instead of "http", line 32:
'https://ccache.samba.org/authors.html'

(From OE-Core rev: d6b064fc19ba66b503fd7ad1fe56338f81499dc8)

Signed-off-by: Yannick Gicquel <yannick.gicquel@iot.bzh>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:02 +00:00
Ming Liu
5707949f03 rootfs-postcommands.bbclass: drop insert_feed_uris function
The source makes no reference to insert_feed_uris any more, simply drop
the unused reference, to avoid confusing the developers.

(From OE-Core rev: 26dddb7d4a4945abaaefd460a342de6abd609594)

Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:02 +00:00
Ming Liu
3c89b61533 meta: remove remaining True option to getVarFlag calls
This is a complementary fix to commit 2dea9e49:
[ meta: remove True option to getVarFlag calls ]

it intended to remove all True option to getVarFlag calls, but there are
still some remaining.

Search made with the following regex: getVarFlag ?\((.*), True\)

(From OE-Core rev: 5b53b34dcb64dc65ee651cbf78cbbd9105dc4f4c)

Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:02 +00:00
Ming Liu
e2280b9e12 meta: remove remaining True option to getVar calls
This is a complementary fix to commit 7c552996:
[ meta: remove True option to getVar calls ]

it intended to remove all True option to getVar calls, but there are
still some remaining.

Search made with the following regex: getVar ?\((.*), True\)

(From OE-Core rev: 87d03ffe03d6f01e360bfd51714be96e62506e0a)

Signed-off-by: Ming Liu <peter.x.liu@external.atlascopco.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:02 +00:00
Juro Bystricky
8b448ab012 runqemu: allow bypassing of network setup
At present it is silently assumed all QEMU machines support networking.
As a consequence, one cannot run QEMUs without network emulation
using "runqemu".
This patch allows bypassing any network setup providing the qemuboot.conf
file contains:

    qb_net = none

[YOCTO#10661]

(From OE-Core rev: 6a9454027ced4efbb401a23df94f711b8253c8fa)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:02 +00:00
Mariano Lopez
1e88c8fce4 testimage.bbclass: Allow to run tests on autobuilder's images
With the change to the new framework data store dependecy was
removed, instead a new file is generated and used in testimage.
When testing builds from the autobuilders the test data values
are from the autobuilder, including the paths.

Some tests require paths to current environment in order to run,
this commit will update such paths and fix the error of running
images donwloaded from autobuilders.

[YOCTO #10964]

(From OE-Core rev: 26ad5105fc2ce03b7ee8ecc6911fd40a52bd573a)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:01 +00:00
Mariano Lopez
e8935e20d6 runtime/cases/smart.py: Check for IMAGE_PKGTYPE instead of PACKAGE_CLASSES
smart test requires to build the image using rpm packages, this check was
included, but it checked for PACKAGE_CLASSES=='package_rpm', and this is
not true when building packages for rpm and deb/ipk. So this would check
IMAGE_PKGTYPE instead.

[YOCTO #10964]

(From OE-Core rev: 570f50b30072a10c5eadfbbfea2647339ee85176)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:01 +00:00
Mariano Lopez
45ef4ef2c4 runtime/cases/connman.py: Stop using oeRuntimeTest
oeRuntimeTest class is not used anymore as part of runtime
migration, this particular case was missed, so fix it.

[YOCTO #10964]

(From OE-Core rev: d928e5166d8812e7e20bc95c0a8b5cb5439ec497)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:01 +00:00
James Minor
1f7c9094f7 kmod: Fix handling of quotes in kernel command line
If a module parameter on the command line contains quotes, any
spaces inside those quotes should be included as part of the
parameter.

Upstream-Status: Accepted

(From OE-Core rev: a54be23887cdc24a9b128be0913029fc8e63973d)

Signed-off-by: James Minor <james.minor@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:01 +00:00
Joe Slater
50c885e165 gnutls: avoid accidentally using libseccomp
Specify whether to use libseccomp or not.  Do not
just let configure check for it.

(From OE-Core rev: 62cc91e8831c72e9beceff13ad68dd69298135b5)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:01 +00:00
Joe Slater
34fd5043b2 gnutls: account for ARM_EABI
Do not reference unavailable system calls when
building for ARM_EABI.

(From OE-Core rev: 67f0094af624866f02e7fb0173c335a7e8942921)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:01 +00:00
Francisco Pedraza
aca3afcb59 oeqa/sdk: Updates sanity tests for minimal eSDK
Updates sanity tests to cope with minimal eSDK installer
1. Skips the validation of sanity if packagegroup-cross-canadian is in
host package.
2. Skips if SDK does not include toolchain at cases/devtool.py

This should fix [YOCTO #10794]

(From OE-Core rev: 59a99cd8661af594ee0c33e086578d29d50a6268)

Signed-off-by: Francisco Pedraza <francisco.j.pedraza.gonzalez@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:01 +00:00
Ola x Nilsson
2e77eff6cc externalsrc: Hide created symlinks with .git/info/exclude
Add created symlinks to the exclude file.  This will both make them
less distracting and hide them from the srctree_hash_files function.

(From OE-Core rev: c11fcd6fbde4a90913960b223451e0ce9e6b4b64)

Signed-off-by: Ola x Nilsson <olani@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:01 +00:00
Kristian Amlie
2313a77d84 sstate: Make SSTATE_SCAN_CMD vars configurable using weak defaults.
For this we move them out of the python section so they can be
overridden on a per-recipe basis.

The motivation for this change is that not all tool chains need the
path modifications provided by the command, and these will provide
alternative or empty commands. The Go compiler is such an example.

(From OE-Core rev: 7d2a2160336413736dd4640f5b84ba4d74bb00f5)

Signed-off-by: Kristian Amlie <kristian.amlie@mender.io>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:01 +00:00
Ed Bartosh
5302fb4620 toolchain-shar-extract: compare SDK and host gcc versions
If ext sdk is built by gcc version higher than host gcc version
and host gcc version is 4.8 or 4.9 the installation is known to
fail due to the way uninative sstate package is built.

It's a known issue and we don't have a way to fix it for above
mentioned combinations of build and host gcc versions.

Detected non-installable combinations of gcc versions and
print an installation error.

[YOCTO #10881]

(From OE-Core rev: bfb9ea2604557804bd8c16adb57ccdd868a4020f)

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>
2017-01-31 14:43:01 +00:00
Ismo Puustinen
b7d212dc2f bluez5: make readline support conditional.
Add readline support to PACKAGECONFIG. If readline needs if left out
of compilation, the bluez utilities which depend on readline are not
included in build or packages.

The defaults in PACKAGECONFIG are the same as before, so there should be
no change to current users.

(From OE-Core rev: 3985eed70c194c3d9d0c6e94a65e2edfa3f29a8e)

Signed-off-by: Ismo Puustinen <ismo.puustinen@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:01 +00:00
Li Zhou
49f6a9e794 libtiff: Security Advisory - libtiff - CVE-2017-5225
Libtiff is vulnerable to a heap buffer overflow in the tools/tiffcp
resulting in DoS or code execution via a crafted BitsPerSample value.

Porting patch from <https://github.com/vadz/libtiff/commit/
5c080298d59efa53264d7248bbe3a04660db6ef7> to solve CVE-2017-5225.

(From OE-Core rev: 434990304bdfb70441b399ff8998dbe3fe1b1e1f)

Signed-off-by: Li Zhou <li.zhou@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:01 +00:00
Saul Wold
837fd05511 xserver-xorg: Enable glamor by default
To enable glamor, we need to also enable both dri3 and xshmfence as dependencies.

(From OE-Core rev: 33864ddc1ca5326e0b2bb7443410069a8cd9f57b)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:01 +00:00
Saul Wold
1e8fff77fb xserver-xf86-config: add glamoregl
When using the modesetting with glamor and MUSL, the glamoregl
library needs to be pre-loaded, so add it to the list here.

(From OE-Core rev: 95701f1491e50e894a7c5f2543137c3bda1877b9)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:01 +00:00
Ross Burton
72f3e90837 acl: drop in instead of patching configure.ac
(From OE-Core rev: 14833280276c083a60d3d6fdbcc5e25eb2456c48)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:01 +00:00
Ross Burton
5ffd69e257 acl: merge pointless .inc
(From OE-Core rev: 362d55794c39e09ca25e52ab672274e693cb7a1a)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:01 +00:00
Ross Burton
88825076d2 attr: move attr-specific patches into attr/
(From OE-Core rev: 75ecb106dcf7d7e9b5634562a234acee123f4af6)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:01 +00:00
Andreas Oberritter
929787c271 gptfdisk: fix support for 'large' drives
Make's switch '-e' replaced important compiler flags from the
project's Makefile, i.e. -D_FILE_OFFSET_BITS=64.

(From OE-Core rev: 93996a327d4c8652a16292824a06a163b13dc228)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:01 +00:00
Andreas Oberritter
9b63862911 util-linux: create own package for lsblk
Let util-linux-bash-completion depend on it, because it uses it.

(From OE-Core rev: 27efae1e0ba8fc6b08117b31c4cb35638afc37e4)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:01 +00:00
Andrea Galbusera
6476182c33 oe-publish-sdk: add pyshtables.py to .gitignore
pyshtables.py should be ignored by git as it is generated. If kept in
the repo, causes subsequent runs of sdk-update to fail.

[ YOCTO #10963 ]

(From OE-Core rev: 0ac1387bd12b5d023dea06ffe65d1fdcb050bcb4)

Signed-off-by: Andrea Galbusera <gizero@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:00 +00:00
Ross Burton
c13a94660f default-distrovars: add acl to DISTRO_FEATURES
ACLs are pretty useful in the modern world, with security systems such as
SELinux and Smack that use them extensively.  As the overhead is minimal, add
ACL to DEFAULT_DISTRO_FEATURES so that support for them is enabled by default.

The overhead for core-image-sato is that coreutils, libarchive, and opkg link
against libacl. The size increase of those packages is minimal, and libacl is
35kb.

[ YOCTO #8200 ]

(From OE-Core rev: 0c4d6dec32615af10fdaa4f1685b8c4f2a167feb)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:00 +00:00
Ross Burton
e286829fcc package_deb: handle allarch when mapping tune to dpkg architectures
It was discovered that buildtools-tarball can't be built with Debian packaging:

E: Unable to locate package nativesdk-buildtools-perl-dummy

The package exists but dpkg doesn't see it because the Architecture field isn't
valid: for this package the Architecture field is 'allarch' which isn't in the
list of valid architectures we define.

package_deb already has a mapping of OE architectures (PACKAGE_ARCH) to dpkg
architectures (DPKG_ARCH), for example our x86_64 is amd64 in dpkg.  However
allarch.bbclass sets an invalid TARGET_ARCH of 'allarch' (to break anything
which attempts to use the target architecture) and package_deb relied on the
PACKAGE_ARCH check later turning the Architecture field into 'all'.

This usually works, but nativesdk-buildtools-perl-dummy inherits allarch but
then changes PACKAGE_ARCH to buildtools-dummy-nativesdk to isolate the packages
in a separate feed.  We can handle this by explictly checking for allarch in the
TARGET_ARCH check, as that everything that inherits allarch will want to have
Architecture: all in their packages.

[ YOCTO #10700 ]

(From OE-Core rev: 58a5771f20f7851816b5f39df0ada8f16438065c)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:00 +00:00
Ross Burton
9533e14e6f distrodata: add DATETIME to vardepsexclude for do_distro_check.
This task uses DATETIME so add it to vardepsexclude so bitbake doesn't refuse to
execute the task when the time changes between the controller and the worker
calculating the hash.

[ YOCTO #10960 ]

(From OE-Core rev: e6784ef0d56a1b297001bc59c0da3aecebd1c656)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:43:00 +00:00
Ed Bartosh
d5b2539213 isoimage-isohybrid: renamed variable hdd_dir
Renamed variable hdd_dir to deploy_dir as this variable is
assigned to the value of DEPLOY_DIR_IMAGE.

(From OE-Core rev: fc84893c319f3e8c72f13c58f25e0b54095c3a49)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:38:32 +00:00
Ed Bartosh
1239f625b1 wic-tools: add dependency to systemd-boot
Added systemd-boot to the list of dependencies of wic-tools
as wic bootimg-efi plugin depends on it.

(From OE-Core rev: 1ac0a182bd21e38588fc5b168e7dfea01a6c4b26)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:38:32 +00:00
Ed Bartosh
75df73526a grub-efi.bbclass: use 'grub-efi-' prefix
grub-efi recipe added 'grub-efi-' prefix to the file name of
efi binary. Changed grub-efi.bbclass accordingly.

(From OE-Core rev: 860c44435ea7cbbe3517d5ab9146213cc80fd0e7)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:38:32 +00:00
Ed Bartosh
3e833c681a selftest: wic: fix test_iso_image test case
Added "iso" to IMAGE_FSTYPES to build iso artifacts required
to fix test of isoimage-isohybrid wic plugin.

(From OE-Core rev: 055d6814f6de2e54ae27c5fa2e0c40e3e531590e)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:38:32 +00:00
Ed Bartosh
18c0af5214 selftest: stop using hddimg in the wic test suite
Removed hddimg from IMAGE_FEATURES as wic code doesn't
use hddimg anymore.

[YOCTO #10835]

(From OE-Core rev: 885a5beae86a55cc228fb2aa998a8b1135371eb4)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:38:32 +00:00
Ed Bartosh
6740b8fdbb isoimage-isohybrid: use TRANSLATED_TARGET_ARCH instead of MACHINE_ARCH
isoimage-sihybrid plugin uses MACHINE_ARCH to get the name of initrd image.
It doesn't work for all machines, for example for quemux86-64 machine
MACHINE_ARCH is quemux86_64 and initrd name is
core-image-minimal-initramfs-qemux86-64.cpio.gz

Used TRANSLATED_TARGET_ARCH variable to get the initrd image name.
Replaced MACHINE_ARCH->TRANSLATED_TARGET_ARCH in WICVARS variable to
make it available from <image>.env file.

(From OE-Core rev: edf0830412de66eada9ef3f3947ca42e301c5377)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:38:32 +00:00
Tom Zanussi
66d08e0fda wic: Look for image artifacts in a common location
Rather than have each image type look for artifacts in image-specific
locations, move towards having them look for artifacts in a common
location, in this case DEPLOY_DIR_IMAGE

Use the existing deploy.bbclass to have the bootloaders put their binaries
in DEPLOY_DIR_IMAGE and then wic will find them and place them in the image

(From OE-Core rev: 1c8acea91e775b1b6f8b25e774aaba3e790fc59b)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:38:32 +00:00
Ed Bartosh
62310b3726 image-wic: remove HDDDIR from WICVARS
Removed HDDDIR as it's not used by wic anymore.
Stopped usage of HDDDIR in wic test suite.

(From OE-Core rev: b3ed3a79852f85651c8fa192a8118f9904e88ef8)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:38:32 +00:00
Ed Bartosh
8a04795db6 wic: isoimage-isohybrid: stop using HDDDIR
Stop using HDDDIR in isoimage-isohybrid wic plugin.
This variable is set by hddimg code, which is going to be
removed soon.

All required artifacts should be available from ISODIR.
wic-image.bbclass has been modified to build iso artifacts,
so it should be safe to remove usage of HDDDIR.

[YOCTO #10835]

(From OE-Core rev: 4ceb0df10db7254b290784cabc5279ffa2b946a4)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:38:32 +00:00
Ed Bartosh
a508cb384c wic: use INITRD_LIVE in isoimage-isohybrid
INITRD variable is not set if hddimg is disabled.
isoimage-isohybrid can't get correct name for initrd if INITRD
variable is not set.

Added INITRD_LIVE to WICVARS and used it in isoimage-isohybrid
code to get initrd artifact name. Used INITRD if INITRD_LIVE is not set.

(From OE-Core rev: c672753be60550b15d5d593c251b61776d5b104d)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:38:32 +00:00
Ed Bartosh
02dafba6ed image-wic: move wic code to image-wic.bbclass
There is a lot of wic code in image.bbclass and image_types.bbclass
Having all code separated in one file should make it more readable
and easier to maintain.

(From OE-Core rev: 786368568a9525212e69f5cbf6da236f0a6be013)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:38:32 +00:00
Ed Bartosh
de23b7bb2f selftest: check results in test_image_vars_dir*
Tested that result images are produced in test_image_vars_dir_long
and test_image_vars_dir_short test cases.

(From OE-Core rev: 9ed399b99e40ec9ec76df1fbdedfb8104a463acc)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:38:32 +00:00
Ed Bartosh
8c51ca5cd6 selftest: split wic tests cases
Split tests to run wic only once per test case.
This should fix failures caused by result images left
from the previous wic run.

(From OE-Core rev: 71e3c631bac859d00cef05bbf7bd901a96bac520)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:38:32 +00:00
Jukka Laitinen
cebf67086f wic: partitionedfs: set partition name for gpt partitions
Set proper gpt partition name for the partitions in case given
in the configuration

(From OE-Core rev: bc6e6a34f35bd081d828160bab8ee12e770c7e1e)

Signed-off-by: Jukka Laitinen <jukka.laitinen@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:38:32 +00:00
Ed Bartosh
c01cc6ff24 wic: change location of .env files
Current location of .env files $STAGING_DIR/imagedata. It doesn't
depend on machine and be rewritten by the builds for different
machines.

Changed location to $STAGING_DIR/$MACHINE/imagedata to avoid .env
files to be rewritten.

(From OE-Core rev: 94245144f5cef344d90bc2a7b3267cdae9d192e4)

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>
2017-01-31 14:38:32 +00:00
Ed Bartosh
3d585a518c selftest: wic: test default output directory
As tests now explicitly specify output directory we don't
need test_alternate_output_dir test case. However, we need
to test wic output to default output location.

Removed test_alternate_output_dir test case.
Added test_default_output_dir test case.

(From OE-Core rev: c1be1161cf555727aa56ee2109ee77f420f67c9f)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:38:32 +00:00
Ed Bartosh
3f21101e72 selftest: wic: explicitly specify output directory
wic started to use current directory as a default output dir.
Specified output directory in wic command line to make tests
more predictable and easier to maintain.

(From OE-Core rev: 0f205aed90edd90fcba0a565a6cadfe96339b410)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:38:32 +00:00
Ed Bartosh
6d78ff1144 image_types: use correct output directory
Wic put result images into <output dir>/build, which was confusing.
Now it's fixed in wic code and images are put into output directory.
Changed code in image_types to reflect this.

[YOCTO #10783]

(From OE-Core rev: 3983507bf859f6c3c29e9dea06ffe51f42c0759c)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:38:32 +00:00
Ed Bartosh
3407f25216 wic: direct.py: get rid of names with two underscores
Attributes with two leading underscores are mangled in Python
and used mainly for avoiding name clashes with names from
subclasses. They're not needed in most of wic classes.

(From OE-Core rev: 2f92c0490f1acf5a6926fc6654ce3b6588ddcc24)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:38:32 +00:00
Ed Bartosh
d59196c3a8 wic: remove unused API DirectImageCreator.get_disk_names
(From OE-Core rev: f77efbe81a5d3d16ecb1872cf237bb3e56c63c39)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:38:31 +00:00
Ed Bartosh
e9bd1ed673 wic: make workdir a temporary directory
Wic used hardcoded path /var/tmp/wic/ as a work directory,
which caused conflicts if two wic instances run in parallel.

Made work directory unique and temporary. Moved results from
work directory to output directory when they're ready.

[YOCTO #10783]

(From OE-Core rev: 5d948f04823dedfa26a879aa6a5dc23de2bb9354)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:38:31 +00:00
Ed Bartosh
75318c7b0c wic: get rid of baseimager inheritance
Simplified DirectImageCreator code by removing inheritance
from BaseImageCreator. This inheritance doesn't make much sense
as DirectImageCreator is the only class that was inherited from
BaseImageCreator.

(From OE-Core rev: 4e9952514211ef4b9a3731ce915090385f335a31)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:38:31 +00:00
Ed Bartosh
88dce2cf41 wic: change default output directory
Set default output directory to current dir.

[YOCTO #10783]

(From OE-Core rev: ad116c4d02ccf36e22fbf3e45e45bc508849a833)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 14:38:31 +00:00
Richard Purdie
d45d4a5a21 staging: Handle stale sysroot rebuild issue
If a stale sysroot object was found the complete stamp wasn't removed,
meaning later code could fail when the new link creation was attempted.
Ensure the stale complete stamp is also removed if present.

(From OE-Core rev: d7d26488f252d60628862ee114a4404e8d6cb6f1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-28 23:32:16 +00:00
Richard Purdie
f66f1af4b1 staging: Fix missing nativesdk do_populate_sysroot depends on binutils
Recent changes exposed the fact this dependency was missing in nativesdk
cases, fix this.

(From OE-Core rev: 46bd7e48cb5ae654d915fa493420534219682e85)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-28 23:32:16 +00:00
Ed Bartosh
e330cf4a38 selftest: wic: split test_debug test case
Splitted to test_debug_short and test_debug_long to make each
of the test cases to run wic once. This is consistent with the
rest of the test cases and ensures that test cases are set up
properly.

This also fixes the following test failure caused by the image
left from the first wic run:

FAIL: test_debug (oeqa.selftest.wic.Wic)
Test debug
----------------------------------------------------------------------
Traceback (most recent call last):
  File "meta/lib/oeqa/utils/decorators.py", line 109, in wrapped_f
    return func(*args, **kwargs)
  File "meta/lib/oeqa/selftest/wic.py", line 270, in test_debug
    self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct")))
AssertionError: 1 != 2

(From OE-Core rev: a453009821d7d7cb1dd8a7ae05c0d32227b4753b)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-28 23:32:16 +00:00
Richard Purdie
aa8319c05d libxml2: Drop docs in native case
With rss, moving these around was having an increasing overhead and we don't
need them in the native case so remove them.

(From OE-Core rev: 3b8dcd210a494baecead7dd1e568fb60ac93ed9b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-28 23:32:16 +00:00
Richard Purdie
1d4c20ecc2 staging: Allow removal of stale sysroot objects
The main sysroot components of unreachable build targets will be removed by the core
code. This currently doesn't trigger a removal in the individual workdirs. This
adds in symlinking between the complete stamps and the component sysroot meaning
we can detect when someting was removed and hence remove it from the sysroot.

This fixes cases where DISTRO_FEATURES like systemd are changed amongst other
things and makes builds more robust against configuration changes.

If a dependency is rebuild, that is caught by checksum comparision code elsewhere
in this function as before.

(From OE-Core rev: 7656347c556915dc9acc5a2311ec4e879de6f43d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-28 23:32:16 +00:00
Richard Purdie
a4274bcc37 staging: Drop common prefix WORKDIR from manifest files
Manifest files containing the same duplicated prefix are wasteful on space
and ultimately this costs build time. Drop the WORKDIR prefix from the manifest
files since this small change mounts up a lot.

(From OE-Core rev: 1cb245a99762e21a170b6a9beabb07e558424946)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-28 23:32:16 +00:00
Richard Purdie
a90c8817a5 sstate: Allow sstate_clean_manifest to take a prefix
Manifest files containing the same duplicated prefix are wasteful on space
and ultimately this costs build time. Add support for manifest files with
common prefixes removed and use the prefix if the path isn't absolute.

(From OE-Core rev: 71e8c98238d627f9665faee9d7c226b9c07bd256)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-28 23:32:16 +00:00
Richard Purdie
ab0f46400c gzip/pigz/expat/image: Simplify gzip-native/pigz-native
With recipe specific sysroots, the gzip-replacement-native dance/class
is obsolete, simplify the code accordingly.

(From OE-Core rev: 39865fdf3698a130f792d41853f9c9ca1901e335)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-28 23:32:16 +00:00
Richard Purdie
e6e0ac4fb8 allarch: Drop STAGING_DIR_HOST expansion
Now that STAGINGDIR_HOST doesn't contain MACHINE, we no longer need to expand
the value. Pre-expansion can mean components like PV can be expanded too early
and cause problems for certain use cases.

(From OE-Core rev: d04f0363a1e8ae641da3e80ffbd4c8803cb1c91a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-28 23:32:16 +00:00
Richard Purdie
60662a2117 image/kernelsrc/packagegroups/recipes: Remove uneeded noexec tasks
We used to have issues removing tasks like do_fetch due to implications
for targets like world and universe. These have now been resolved.

Removing uneeded tasks has advantages compared to noexec since it means
that accidentally left in dependencies are no longer needed/processed
(e.g. do_patch depends on quilt-native).

This cleans up a number of cases which local analysis highlighted as
being unneeded leading to slightly cleaner task graphs.

(From OE-Core rev: 4e6ee37e09c60e83c0dfd844ba9cf8a07507f099)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-28 23:32:16 +00:00
Markus Lehtonen
48f79758ea scripts/buildstats-diff: simplify timestamp handling
Simply use floats instead of datetime and timedelta objects for handling
timestamps.

(From OE-Core rev: d97c844f388bd4c52248fe597d5985ef20d5a96d)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-28 23:32:16 +00:00
Patrick Ohly
46ed698f05 image_types.bbclass: rebuild .wks file when .wks.in changes
WKS_FILE(S) can refer to .wks.in files which get expanded during the
build by do_write_wks_template. The actual content of the .wks.in file
gets added to the recipe meta data during parsing, and thus we need to
ensure that the recipe gets re-parsed when the file changes.

This fixes two related problems:
- editing the .wks.in file and rebuilding an image did not recreate
  the image unless something else changed or "bitbake -c clean" was
  used explicitly
- when forcing a rebuild, the cached meta data and the actual one
  do not match, leading to "ERROR: Taskhash mismatch ... for ....bb.do_write_wks_template"

(From OE-Core rev: d00b95b18237b276c221b16dfc511a6da150ef06)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-28 23:32:16 +00:00
Richard Purdie
deaef6c879 gcc-cross: Ensure do_gcc_stash_builddir happens before do_build
If we don't do this, things break with rm_work which removes things
before the task completes causing task failures.

(From OE-Core rev: bfea0e6a5aee9ce15bf20bcb2781329e6281284c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-28 10:20:55 +00:00
Richard Purdie
0150dddeaf sanity.conf: Update minimum bitbake version requirements to 1.33.0
Recipe specific sysroots and mutliconfig need recent versions of bitbake,
look for version 1.33.0 as a minimum

(From OE-Core rev: 3a617a4c66941cecbdccb6f410e1b0d8bfde9845)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-27 10:42:39 +00:00
Richard Purdie
6f14790163 bitbake: bitbake: Bump version to 1.33.0 (develoment version)
(Bitbake rev: 2a309cd20cddf3d2258bd00ad06b26452e6cc043)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-27 10:41:09 +00:00
Patrick Ohly
478644aedf bitbake: build.py: avoid exception when function is not defined
exc_func() fails with a hard to debug exception when the
function does not exist, for example due to a typo:

  ERROR: ...: Traceback (most recent call last):
    File "/work/bitbake/lib/bb/build.py", line 644, in exec_task
      return _exec_task(fn, task, d, quieterr)
    File "/work/bitbake/lib/bb/build.py", line 584, in _exec_task
      exec_func(func, localdata)
    File "/work/bitbake/lib/bb/build.py", line 198, in exec_func
      cleandirs = flags.get('cleandirs')
  AttributeError: 'NoneType' object has no attribute 'get'

There is code further down which will print a warning, but we don't
reach that unless we allow None as result of of d.getVarFlags() first.

The warning is further down intentionally and has to stay there, to
ensure that 'cleandirs' gets executed also for empty functions.

(Bitbake rev: 25df3db5eeda9dbf417e67e96845f376e5c8e6b3)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:28 +00:00
Jussi Kukkonen
8147b84777 xserver-xorg: Upgrade 1.19.0 -> 1.19.1
Point release with bug fixes.

(From OE-Core rev: a99cca0e8ee15f7b542986d89b70054ac7cb24be)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:28 +00:00
Jussi Kukkonen
6b0e8edf64 xf86-input-evdev: Upgrade 2.10.4 -> 2.10.5
Small release with bug fixes and config improvements.

(From OE-Core rev: 8fcffd2ac817a44dc60f915977d498b944d4c74e)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:28 +00:00
Jussi Kukkonen
b1d9222e5e libxpm: Upgrade 3.5.11 -> 3.5.12
Tiny bug fix release.

(From OE-Core rev: e97f6c10fe18683406157d3c2193b833a53e9f7d)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:28 +00:00
Jussi Kukkonen
b88fcfe230 libxkbcommon: Upgrade 0.7.0 -> 0.7.1
Small release with bug fixes.

(From OE-Core rev: 043f0b03a4993a97b68128ce4a4666d33cf8f2be)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:28 +00:00
Jussi Kukkonen
b029787fac libxi: Upgrade 1.7.8 -> 1.7.9
Tiny bug fix release.

(From OE-Core rev: c6cbc8fdd39b062f42372c75813b634b86bbe6c4)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:28 +00:00
Jussi Kukkonen
f9e5843d9d libinput: Upgrade 1.5.0 -> 1.6.0
Bug fixes, new quirks and touchpad acceleration improvements.

(From OE-Core rev: b719dc085b1f120a0520611e4df3d3bf2d25a7e9)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:28 +00:00
Jussi Kukkonen
1d20339710 libevdev: Upgrade 1.5.4 -> 1.5.6
Only changes in helper tools and a header (to support new keycodes in
linux 4.9 headers).

(From OE-Core rev: b84e78a793fec4e36d9f9c7821b20f63e19675d2)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:28 +00:00
Jussi Kukkonen
77ab1d68e5 gtk+3: Upgrade 3.22.5 -> 3.22.7
Point releases with mostly just bug fixes.

(From OE-Core rev: 068a1e50ab1060238b8c320e1ebb5b3e05065852)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:28 +00:00
Jussi Kukkonen
505ea0b712 freetype: Upgrade 2.7.0 -> 2.7.1
Bug fixes and some new features: support for Adobe CFF2 font format
and OpenType 1.8 variation fonts.

(From OE-Core rev: 1f99a31609be7028444075b176e752a44c93115c)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:28 +00:00
Dengke Du
d742290d84 openssh: upgrade to 7.4p1
1. Drop CVE patch: fix-CVE-2016-8858.patch, because the version 7.4p1 have
   been fixed it.

2. Rebase the remaining patchs on the version 7.4p1.

(From OE-Core rev: b648b382046bd94f0cf5fe0aa4b77ab250f126cd)

Signed-off-by: Dengke Du <dengke.du@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:28 +00:00
Maxin B. John
543d0b0d1b libpng12: Upgrade 1.2.56 -> 1.2.57
This upgrade fixes the vulnerability: CVE-2016-10087

License file changes are due to updates in Version and Copyright date. ie:
'libpng versions 1.0.7, July 1, 2000, through 1.2.57, December 29, 2016, are
 Copyright (c) 2000-2002, 2004, 2006-2016 Glenn Randers-Pehrson'

(From OE-Core rev: ca763e7e784e7f485423752d1e23917652a057a1)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:28 +00:00
Maxin B. John
8f90c28397 libpng: Upgrade 1.6.26 -> 1.6.28
This upgrade fixes the vulnerability: CVE-2016-10087

License file changes are due to updates in Package Version
and Copyright date. ie:
 'libpng version 1.6.28, January 5, 2017'

(From OE-Core rev: 94bb606b9f21b7fe4c5d7e9ae3fda17da047ece5)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:28 +00:00
Patrick Ohly
f98baa62e5 socat: support native compilation
This is needed for building the swtpm TPM simulator (recipe
in meta-security).

Native compilation disables tcp-wrappers by default to simplify
the build.

"nativesdk" is added just in case that someone also wants this
in an SDK.

(From OE-Core rev: a33a252462e2d7b90a1c89e42a96b9696eb08b23)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:28 +00:00
Patrick Ohly
fdd6d5daf1 expect: support native compilation
This is needed for building the swtpm TPM simulator (recipe
in meta-security).

"nativesdk" is added just in case that someone also wants this
in an SDK.

(From OE-Core rev: 4b43aab5b2043a5b83ef1fa9a8406f8a46ccfa72)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:28 +00:00
Bruce Ashfield
81507d8c2e linux-libc-headers: introduce 4.9 headers
Bumping the linux-libc-headers to the 4.9 kernel variant. Since 4.9
will be a LTSI kernel, and there will be an associated linux-yocto
it is worth moving to these headers sooner rather than later.

This commit also drops the 4.8 headers and sets 4.9 to be the default.

(From OE-Core rev: cb0ef6e5fe096cecade81d42e95918f056bba052)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:28 +00:00
Jussi Kukkonen
6a315883b8 connman: Add workaround to build with musl & 4.9 headers
Kernel headers break when musl defines IFF_LOWER_UP. While
waiting for more proper fix in musl, add a workaround to connman.

(From OE-Core rev: e6178138968717e1bdb7af7b5aed42fc74d956ab)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:28 +00:00
Mariano Lopez
a02f7f2a33 testimage.bbclass: Add systemd test automatically
This adds systemd test automatically when an image
is build with systemd DISTRO_FEATURE

[YOCTO #10935]

(From OE-Core rev: 2e6ba167bee7c7b42b1e0e96eb5a7be2eb0fd2c0)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:27 +00:00
Ross Burton
06272333ac gstreamer1.0-plugins-base: disable ivorbis
Even old hardware these days doesn't really need fixed-integer Vorbis decoding
by default, so disable Tremor out of the box.

(From OE-Core rev: 958926dd51d5e18ef983280a6e3b50fc8f33eb12)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:27 +00:00
Leonardo Sandoval
70a30d9770 selftest: sstatetests: skip glibc-initial tests in case of non-glibc distro
Some distros uses non-glibc so skip those tests requiring glibc-initial as target

(From OE-Core rev: 41f02cb7307faec32b13733e41f78a0ebdc1b52b)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:27 +00:00
Leonardo Sandoval
6702c7b089 selftest/imagefeatures: skip weston test if required features are not present
Also, remove hard-coded features because the image already contains them.

(From OE-Core rev: 899680840d497343095d0e7d7264e3e278ba4602)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:27 +00:00
Ioan-Adrian Ratiu
6805ae0f2a useradd_base: keep group if it still has users
perform_groupdel() tries to delete a group irrespective if other
users have it as their primary group, thus the call to groupdel will
fail with the following error error:

groupdel: cannot remove the primary group of user '<user>'

Add a check to perform_groupdel() to determine if there are other
users and keep the group, printing a warning. This is called right
after a user is deleted to delete it's group. If the last user is
deleted, only then the group is also deleted.

(From OE-Core rev: bba1f02cb6d80279c6fed34bb18f010aa921fc1e)

Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:27 +00:00
Patrick Ohly
95cdd91a80 runqemu: more verbose error message about missing qemuboot.conf
When invoking "runqemu" with a mistyped image or architecture name,
the resulting error message is about the missing qemuboot.conf,
without any indication about the root cause:

 $ runqemu core-image-mimimal ext4 intel-corei7-64
 runqemu - INFO - Assuming MACHINE = intel-corei7-64
 runqemu - INFO - Running MACHINE=intel-corei7-64 bitbake -e...
 runqemu - INFO - MACHINE: intel-corei7-64
 runqemu - INFO - DEPLOY_DIR_IMAGE: /fast/build/refkit/intel-corei7-64/tmp-glibc/deploy/images/intel-corei7-64
 Traceback (most recent call last):
   File "/work/openembedded-core/scripts/runqemu", line 1095, in <module>
     ret = main()
   File "/work/openembedded-core/scripts/runqemu", line 1082, in main
     config.read_qemuboot()
   File "/work/openembedded-core/scripts/runqemu", line 643, in read_qemuboot
     raise Exception("Failed to find <image>.qemuboot.conf!")
 Exception: Failed to find <image>.qemuboot.conf!

Including the name of the actual file the scripts expects to find plus
adding some hints what to check for might help. The error now is:

 $ runqemu core-image-mimimal ext4 intel-corei7-64
 ...
 Exception: Failed to find <image>.qemuboot.conf = .../tmp-glibc/deploy/images/intel-corei7-64/core-image-mimimal-intel-corei7-64.qemuboot.conf (wrong image name or BSP does not support running under qemu?).

The comment about the BSP is included because that would be the real
reason why the file might be missing.

(From OE-Core rev: 946c4558f6c2726d0f12e48974568188a4ffef0d)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:27 +00:00
David Vincent
fdaa2d181d useradd-staticids: Fix groupadd
When a group name is duplicated between USERADD_PARAM and
GROUPADD_PARAM, this class tries to add it twice which results in
failure of the groupadd command.

(From OE-Core rev: 5b84cc895500c28674d2a7b7c2dd618cf8fb30e9)

Signed-off-by: David Vincent <freesilicon@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:27 +00:00
Joshua Lock
0eafcc05d8 toolchain-scripts: remove CCACHE_PATH from environment script
CCACHE_PATH was added to the toolchain-scripts in commit
1d31ddb856a80ba9da1a64ed5d701dc0f7351ef7 without a detailed
explanation as to why. This commit removes that environment
variable as it's causing failures since the introduction of
host_gcc_version() to oe.utils in
d36f41e5658bbbb6080ee833027879c119edf3e0, as used by
uninative to determine NATIVELSBSTRING.

This causes errors when the host has ccache available in in PATH
- host_gcc_version() fails because ccache has been told to only
look for the compiler in CCACHE_PATH and can't find gcc in order
to check its version. Toolchain compilers aren't detected due to
the binaries being prefixed with the triplet of the target.

(From OE-Core rev: e47fb403c2cb472d2666ed3ba4b10933467c8c7b)

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:27 +00:00
Ross Burton
53d29591b3 wipe-sysroot: remove
This script was useful to delete the sysroot so that future builds happen from a
clean sysroot.  Now that recipes have their own sysroot this script doesn't need
to exist anymore, and if in fact if used will break your TMPDIR.

(From OE-Core rev: e8bc8dc1b2a54a00792c61e134f48a6c06ad861e)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:27 +00:00
Ross Burton
d6fd8ff56e rsync: update SRC_URI
rsync.samba.org has disappeared from the Internet and isn't responding anymore,
so point the SRC_URI at the canonical samba.org download server instead.

(From OE-Core rev: 792368afdf61e7670bc5002e99880449098d50fb)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:27 +00:00
Ross Burton
64a9d36faa ppp: update SRC_URI
ppp.samba.org has disappeared from the Internet and isn't responding anymore, so
point the SRC_URI at the canonical samba.org download server instead.

(From OE-Core rev: 9b2f5a57bdff46973cc1625da78d04b666710209)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:27 +00:00
Richard Purdie
4d04f4196c unfs3: Switch to using mirror tarball instead of subversion
This really is the last subversion url in OE-Core so replacing it with
a mirror tarball will save us from the subversion-native build chain.

(From OE-Core rev: 187f7c18582e76beca76c523cad6be2d5fff5786)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:27 +00:00
Khem Raj
27c106e087 autotools.bbclass: Change acpaths defaults to be a weak assignment
We currently have to override the default setting using a particular
assignment order in the recipe, setting it weakly helps to get rid
of this problem.

(From OE-Core rev: 57be81156f74666ff2ed2755f5faa48edf00e4dc)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:27 +00:00
Richard Purdie
da114c7d7d staging: Handle overlapping files for build-sysroot
The use of bb.fatal means build-sysroots fails as soon as multiple gdb's are
built with overlapping files, or multiple recipes with overlapping headers
exist.

Change the fatal call into an exception which we can then trap. Also
avoid trying to call readlink on something with isn't a symlink.

This allows build-sysroots to work better under various scenarios.

(From OE-Core rev: e20343a90e401bc92167867729076d321081d120)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:27 +00:00
Richard Purdie
7fb3c6a40a image/packagegroup/populate_sdk: Drop do_populate_sysroot task properly
Setting do_populate_sysroot as noexec means the code keeps thinking it can find
a manifest file for it. It also complicates sstate installtion since the code
would believe there is an sstate object there it should look for.

Instead, delete the task. This causes sdk failures as the dependencies are wrong
so fix those as well.

(From OE-Core rev: bd7d0314038a4c1a8e8c9ebdb7194f8e17db3fef)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:27 +00:00
Richard Purdie
7c55daec93 gcc: Clean up unnecessary variable confusion
SDKPKGSUFFIX could only really be "nativesdk" and TARGET_SYS never contains
that so the code manipulating TARGET_SYS is pointless. I suspect this once
worked against MULTIMACH_TARGET_SYS which would be a different question but
it no longer does. Its been cut and pasted everywhere.

This patch cleans up the variable references to make things a little more
readable.

(From OE-Core rev: 5599cb72d17bce2ba6e2be16ef64d9a388bcfb25)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:27 +00:00
Richard Purdie
1d75635ac5 gcc/gcc-source: Move libcc1 manipulation into gcc-source
Currently there is a race where if you build -cross-canadian without building gcc (target)
you see QA errors about RPATHS. I've tracked this down to this manipulation where the
target gcc recipe changes libcc1 in the shared sources directory. As long as you build
things in the right order, the problem doesn't occur.

Since its changing ${S} move it to gcc-source and avoid the race, saving RP
some head scratching about why unrelated changes failed to build cleanly.

(From OE-Core rev: 626064c69b6fd1b5cead6995097f99e5fbda3f19)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:27 +00:00
Richard Purdie
42ed1d8ac9 gcc: Split builddir saving into its own sstate task
When we stashed the gcc build directory for use in generating the various runtimes
we were being lazy and just used the staging directory. With recipe specific
sysroots this means we're copying a large chunk of data around with the cross
compiler which we don't really need in most cases.

Separate out the data into its own task and inject this into the configure
step. We have to do that here since autotools will wipe out ${B} if it thinks
we're rebuilding and we therefore have to time its recreation after that.

This also takes the opportunity to remove some pointless (as far as I can tell)
conditionals from the do_install code.

(From OE-Core rev: dcf15ccf3cc9d55e77228ba8d526f967fc9791b4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:27 +00:00
Richard Purdie
1cec0f3bf4 cross: Update MULTIMACH_TARGET_SYS to reflect modern recipes
Mixing PACKAGE_ARCH with BUILD_* has always seemed somewhat odd. This
comes into play when building different SDKMACHINES as the PN space
for the recipes did once overlap. With the modern build process we
use, this overlap is a thing of the past since PN has SDK_SYS appended
to it.

cross.bbclass sets PACKAGE_ARCH == BUILD_ARCH so this change only affects
crosssdk.bbclass where PACKAGE_ARCH == SDK_ARCH.

The current structure is quite confusing and this removes this artefact
of history, allowing other gcc cleanups rather than meaning we futher
complicate the code.

(From OE-Core rev: 525bbfd08dacba84c92da0ab34310a85369526b7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:27 +00:00
Richard Purdie
bb5fe4c35d staging/allarch: Remove hardcoded PACKAGE_ARCHS from the class
The code was making an assumption that the only PACKAGE_ARCH in use
was TUNE_PKGARCH. This is incorrect so iterate over the list from
PACKAGE_EXTRA_ARCH instead.

We also need to change allarch to preserve this variable, else the
staging code doesn't function. We do this in a way which clears the
variable history so that the task hashes remain unaffected.

[Thanks to Andrew Goodbody <andrew.goodbody@cambrionix.com> for
testing/fixing]

(From OE-Core rev: b1bab7a6eff6b195824be7d754de58c6e9ee2bfb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-26 10:44:27 +00:00
Scott Rifenbark
aa7e2717d3 ref-manual: remove core-image-directfb reference
core-image-directfb was removed from oe-core with this commit:

remove core-image-directfb.bb as part of moving directfb
from oe-core
(From OE-Core rev: 8871fe1189776d78e5848b08edb9c990b9aebf2d)

I made the similar change to the ref-manual by removing it
from the "Images" chapter.

(From yocto-docs rev: bee62aea8469cfca77e6f5e97a9ef2f52f16c9cb)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-25 12:07:43 +00:00
Scott Rifenbark
76bff7e67a ref-manual: Removed package-depends.dot and pn-depends.dot
The generated package-depends.dot and pn-depends.dot stuff
contains partial data about the taskgraph and tends to
confuse users.  Richard Purdie suggested removing these from
bitbake/lib/bb/cooker.py.  I have removed the references to
them in the "Viewing Dependencies Between Recipes and Tasks"
section of the ref-manual.

(From yocto-docs rev: 3dc9b124532b52369cec2de8209f33aebce2b648)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-25 12:07:43 +00:00
Richard Purdie
62d7d41302 build-appliance-image: Update to master head revision
(From OE-Core rev: 40463f9d806b478a887128345a66135ef6fa2fe8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 23:32:23 +00:00
Richard Purdie
6ab4c5033a classes/oeqa: Replace subprocess.check_call() with check_output()
If you use subprocess.check_output() the traceback will contain the output
when the command fails which is very useful for debugging. There is no
good reason not to use this everywhere.

(From OE-Core rev: ad750dd1cc9d789abe723daddd098ce41d8547f5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 23:30:57 +00:00
Richard Purdie
0a30ae5e18 poky: Follow OE-Core recipe specific sysroot version bump
(From meta-yocto rev: 89ebf8f2e66bb6d89241ec2dbdeb97b8ae08ac79)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 23:30:15 +00:00
Scott Rifenbark
a0cc88dc66 bitbake: bitbake-user-manual: Fixed small typo in "Events" section
There was a stra quote character after the word database
and I removed it.

(Bitbake rev: 50afcab054b2d93be96bfd3c224affebcab023cc)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 23:30:15 +00:00
Scott Rifenbark
000d2708b2 bitbake: bitbake-user-manual: Updated Event descriptions
Fixes [YOCTO #10886]

Added text descriptions for many of the events in the list of the
"Events" section.

(Bitbake rev: e3b7e8430cb207756b59b32128aa3cef6a626fa1)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 23:30:14 +00:00
Richard Purdie
3b4a36be50 sanity/abi-version: Force a clean TMPDIR after recipe specific sysroot changes
With the recipe specific sysroots, we need a clean tmpdir, else pseudo-native,
openssl-native, subversion-native and serf-native need to be manually cleaned.
After these there are probably more places where software doesn't rebuild correctly
even if we pass in new parameters to it.

The simplest solution is to force people to start from a clean TMPDIR since
everything would rebuild anyway.

(From OE-Core rev: da58e27a0f8fc8200f1953f05888834abd79c9f8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 23:30:14 +00:00
Richard Purdie
c433e9bc6d gobject-introspection: Fix sysroot postinst scripting error
Clearly the echo into ld.so.conf doesn't make sense and there was a cut and paste
error when writing this code. As long as the directory existed, the builds worked
so it created a race. Fix it as people hit build failures.

(From OE-Core rev: b7b45faaf1246bef262a65d033aa1daa3219e318)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 23:30:14 +00:00
Ross Burton
986f44933e ed: use yoctoproject mirror for SRC_URI
Upstream has removed a number of releases from the canonical download site,
including the 1.9 release we were using.

We shoud upgrade to the latest release but as new releases are only compressed
using lzip that means adding lzip-native to oe-core, so this is a suitable
short-term fix.

(From OE-Core rev: 7d24d476e03f88bf47385f7a85ceb7c82662ed76)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 22:40:38 +00:00
Scott Rifenbark
16ab8fb9ee yocto-project-qs, poky.ent: Added "pexpect" to essential packages
Fixes [YOCTO #10889]

Missing this package.  Speculation is that this package was
part of the Python 2.7 stuff but not Python 3.  So, adding it
clears the issue up.

(From yocto-docs rev: c61672267f872ed0f57ecf83d86b0d96080aac51)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 22:38:49 +00:00
Aníbal Limón
8a3221e6e5 bitbake: lib/bb/main.py: Shutdown cooker when server isn't foreground
The cooker is added to the BBServer and then detached creating
a copy of the cooker in the process, if the server isn't in
foreground it cause fd leaks on inotify this can be see using
many instances of tinfoil.

Example:

from bb.tinfoil import Tinfoil
while True:
    with Tinfoil() as tinfoil:
        input("Pre\n")
        tinfoil.prepare(config_only=True)
        input("Post\n")

[YOCTO #10873]

(Bitbake rev: 2ada2efb057a291eb34c66d975eb339232137956)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 22:38:49 +00:00
Aníbal Limón
509d26f95b bitbake: bb/server/process.py: ProcessEventQueue add close of _writer pipe
Call explicity close in _writer to avoid fd leakage because isn't
called on Queue.close()

[YOCTO #10873]

(Bitbake rev: 12dfac442d2d5674198485fbeb708a01d215c576)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 22:38:49 +00:00
Matthew McClintock
a5a51304d1 bitbake: bitbake-layers: show-appends: add optional argument to limit package list
Add ability to limit output per package:

$ bitbake-layers show-appends m4
=== Matched appended recipes ===
m4_1.4.17.bb:
  /home/mattsm/git/openembedded-core/meta-selftest/recipes-test/m4/m4_1.4.17.bbappend

Useful for writing tools to process the output, and debugging
bbappends for specific packages

(Bitbake rev: 43668657a8a679acc957e26e6fd8f47ab4cb3da8)

Signed-off-by: Matthew McClintock <msm-oss@mcclintock.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 22:38:49 +00:00
Richard Purdie
ab7fef0ebc tremor: Use mirror tarball instead of svn url
This is the only remaining svn url in OE-Core and building subversion-native
for things like the url checker is wearing and slows down builds. Since
this rarely changes, use the mirror tarball instead.

(From OE-Core rev: 0be6f3b5a69a65107b49a90bee98815a5a7ac9d8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 22:38:49 +00:00
Richard Purdie
bc72e4dac2 busybox: Guard against interrupted compiles
If busybox is interrupted during do_compile, it can corrupt .config with
the suid version, or worse. Typically this leads to files disappearing,
particularly /etc/init.d/* which leads to an empty busybox-hwclock.
That then results in errors at do_rootfs time due to the missing package.

The fix is to use any 'orig' present to restore stat at the start of
compile.

(From OE-Core rev: 601abb497531823a73bdec3baf56952086e5b4f4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 22:38:49 +00:00
Rick Altherr
4aa6644f92 kernel-fitimage: Use compressed ramdisks in FIT images if available
kernel-fitimage:fitimage_assemble() was calling copy_initramfs from
kernel.bbclass which decompresses the initramfs cpio.  Assume that if
INITRAMFS_FSTYPES includes a compressed cpio, that is what it desired in
the FIT image.

(From OE-Core rev: 842ad404b36e00c89f615a3f7db4a2d30062effa)

Signed-off-by: Rick Altherr <raltherr@google.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:23 +00:00
Bruce Ashfield
d648400662 linux-yocto/4.9: merge 4.9.3 and ethernet config changes
Merging the following meta-data changes:

 03a2d3f7f999 Add support for NVMe storage devices
 27a79fa51d44 Modularize PCI/PCIe ethernet drivers
 53d2a7d9c9f8 Modularize USB network drivers

And the 4.9.3 -stable update, which has the following shortlog:

   584fd7872c1b Linux 4.9.3
   3999c535da7a usb: gadget: composite: always set ep->mult to a sensible value
   7ff469ceba26 Revert "usb: gadget: composite: always set ep->mult to a sensible value"
   ec3d5c521af8 Revert "rtlwifi: Fix enter/exit power_save"
   cf365b117388 tick/broadcast: Prevent NULL pointer dereference
   34db201f0de7 clocksource/dummy_timer: Move hotplug callback after the real timers
   1b9c2556809a xfs: fix max_retries _show and _store functions
   91192ae41e6f xfs: fix crash and data corruption due to removal of busy COW extents
   b96e4e87d2b0 xfs: use the actual AG length when reserving blocks
   d9c7c9fa600a xfs: fix double-cleanup when CUI recovery fails
   aa38f370b25a xfs: use GPF_NOFS when allocating btree cursors
   3c382dda47e4 xfs: ignore leaf attr ichdr.count in verifier during log replay
   c00203386d50 xfs: don't cap maximum dedupe request length
   f8b20705a383 xfs: don't allow di_size with high bit set
   12815dd15c48 xfs: error out if trying to add attrs and anextents > 0
   cd4bf1d416ef xfs: don't crash if reading a directory results in an unexpected hole
   b88398de1833 xfs: complain if we don't get nextents bmap records
   4bb31bccea38 xfs: check for bogus values in btree block headers
   b85f32481d93 xfs: forbid AG btrees with level == 0
   4081d4a79a95 xfs: handle cow fork in xfs_bmap_trace_exlist
   a585e1c4ec93 xfs: pass state not whichfork to trace_xfs_extlist
   bdbfd4ee6bc7 xfs: Move AGI buffer type setting to xfs_read_agi
   06ac11df915d xfs: pass post-eof speculative prealloc blocks to bmapi
   553937d3cce8 xfs: use new extent lookup helpers xfs_file_iomap_begin_delay
   3d6e3b12bb4e xfs: clean up cow fork reservation and tag inodes correctly
   4a323331d8c9 xfs: use new extent lookup helpers in __xfs_reflink_reserve_cow
   cf168f2ff8ba xfs: track preallocation separately in xfs_bmapi_reserve_delalloc()
   cf4fb510473b xfs: remove prev argument to xfs_bmapi_reserve_delalloc
   390325766033 xfs: always succeed when deduping zero bytes
   2b7dae91a134 xfs: factor rmap btree size into the indlen calculations
   49dc19915d3b xfs: new inode extent list lookup helpers
   b49ef758f600 xfs: fix unbalanced inode reclaim flush locking
   63fa793e757d xfs: check minimum block size for CRC filesystems
   f380ee72a7a4 xfs: provide helper for counting extents from if_bytes
   3978c5bb0043 xfs: don't BUG() on mixed direct and mapped I/O
   2f092422e1ce xfs: don't skip cow forks w/ delalloc blocks in cowblocks scan
   a11f90ca5f30 xfs: check return value of _trans_reserve_quota_nblks
   ae8b6cb40cb2 xfs: don't call xfs_sb_quota_from_disk twice
   56d22b912542 tpm_tis: Check return values from get_burstcount.
   4ffac6f06dfa drm/i915/gen9: fix the WM memory bandwidth WA for Y tiling cases
   f482823e99f0 drm/i915/gen9: unconditionally apply the memory bandwidth WA
   2bdb638de2fc drm/i915: disable PSR by default on HSW/BDW
   9ab30a6529b5 drm/radeon: Always store CRTC relative radeon_crtc->cursor_x/y values
   5417f59cb996 s390/pci: fix dma address calculation in map_sg
   dae9151a88f7 s390/topology: always use s390 specific sched_domain_topology_level
   b3539f813578 powerpc/pci/rpadlpar: Fix device reference leaks
   1aaa777ec009 PCI: Enable access to non-standard VPD for Chelsio devices (cxgb3)
   c444cc34534b PCI: Support INTx masking on ConnectX-4 with firmware x.14.1100+
   e2822904ace5 PCI: Convert Mellanox broken INTx quirks to be for listed devices only
   890661544739 PCI: Convert broken INTx masking quirks from HEADER to FINAL
   04b97a6be2ed PCI: Add Mellanox device IDs
   090cce6f6f88 PCI: rockchip: Correct the use of FTS mask
   6e4bcf8539af PCI: rockchip: Fix negotiated lanes calculation
   257349bedca3 staging: media: davinci_vpfe: unlock on error in vpfe_reqbufs()
   a299abd23081 f2fs: hide a maybe-uninitialized warning
   725ba1a3ebc4 f2fs: remove percpu_count due to performance regression
   5cc85ef4ffe6 md: fix refcount problem on mddev when stopping array.
   60a931c20d1a md: MD_RECOVERY_NEEDED is set for mddev->recovery
   d33a490770e5 crypto: arm64/aes-ce - fix for big endian
   eb64cbc5665d crypto: arm64/aes-xts-ce: fix for big endian
   c3edfe038a75 crypto: arm64/sha1-ce - fix for big endian
   39b7e1c2fdda crypto: arm64/aes-neon - fix for big endian
   d018dc9540f7 crypto: arm64/aes-ccm-ce: fix for big endian
   e6ce55f7be90 crypto: arm/aes-ce - fix for big endian
   a7c9666735f4 crypto: arm64/ghash-ce - fix for big endian
   cdeaed7dda7b crypto: arm64/sha2-ce - fix for big endian
   a05aa258b237 s390/crypto: unlock on error in prng_tdes_read()
   5d7d362abc40 mm, compaction: fix NR_ISOLATED_* stats for pfn based migration
   dc1b6d0aed97 mm: khugepaged: fix radix tree node leak in shmem collapse error path
   058a4a534c23 mm: khugepaged: close use-after-free race during shmem collapsing
   cd6d9ffffc4c docs-rst: fix LaTeX \DURole renewcommand with Sphinx 1.3+
   66c677037936 mm/hugetlb.c: use the right pte val for compare in hugetlb_cow
   17df3e74fb51 rpmsg: qcom_smd: Correct return value for O_NONBLOCK
   1d8286ccbcc6 mmc: mmc_test: Uninitialized return value
   74e365e69687 genirq/affinity: Fix node generation from cpumask
   65f796837e00 PM / wakeirq: Fix dedicated wakeirq for drivers not using autosuspend
   3b198ddd5855 irqchip/bcm7038-l1: Implement irq_cpu_offline() callback
   5cbea795f4d1 PCI/MSI: Check for NULL affinity mask in pci_irq_get_affinity()
   825e6a0f7c51 ima: fix memory leak in ima_release_policy
   c4c11b4bdbf6 relay: check array offset before using it
   3dd50a5e2be9 sbp-target: Fix second argument of percpu_ida_alloc()
   0e79a6b45677 target/iscsi: Fix double free in lio_target_tiqn_addtpg()
   962a12f8e523 scsi: mvsas: fix command_active typo
   5157e98aa024 scsi: g_NCR5380: Fix release_region in error handling
   d451b3cc89c7 ASoC: samsung: i2s: Fixup last IRQ unsafe spin lock call
   574bac4f4022 ASoC: Intel: Skylake: Fix a shift wrapping bug
   d61a969f0e94 ASoC: cht_bsw_rt5645: Fix leftover kmalloc
   311742c40da9 ASoC: lpass-platform: initialize dma channel number
   afd7e2b4258a iommu/vt-d: Flush old iommu caches for kdump when the device gets context mapped
   ef41459ab279 iommu/vt-d: Fix pasid table size encoding
   2148835de3c2 iommu/amd: Fix the left value check of cmd buffer
   48ffae87e913 iommu/amd: Missing error code in amd_iommu_init_device()
   54eed7ab1367 clk: renesas: mstp: Support 8-bit registers for r7s72100
   5dd700e897e4 clk: imx31: fix rewritten input argument of mx31_clocks_init()
   6c9f62846872 clk: sunxi-ng: sun8i-h3: Set CLK_SET_RATE_PARENT for audio module clocks
   36a6f7005f38 clk: sunxi-ng: sun8i-a23: Set CLK_SET_RATE_PARENT for audio module clocks
   7af503c02b33 clk: ti: dra7: fix "failed to lookup clock node gmac_gmii_ref_clk_div" boot message
   411873a0390e clk: clk-wm831x: fix a logic error
   e3b665ef4110 clk: qcom: ipq806x: Fix board clk rates
   447433e5f804 Input: synaptics-rmi4 - unlock on error
   584cb7dd15a3 hwmon: (lm90) fix temp1_max_alarm attribute
   2aca9a4fe104 hwmon: (g762) Fix overflows and crash seen when writing limit attributes
   81616a9f751e hwmon: (nct7802) Fix overflows seen when writing into limit attributes
   a69a6ebd036a hwmon: (ds620) Fix overflows seen when writing temperature limits
   29e7b170db90 hwmon: (amc6821) sign extension temperature
   af3cd3f0a805 hwmon: (scpi) Fix module autoload
   7a13086bd457 platform/x86: fujitsu-laptop: use brightness_set_blocking for LED-setting callbacks
   36c1bc65d211 x86/cpu: Probe CPUID leaf 6 even when cpuid_level == 6
   bedcab8723ce x86/prctl/uapi: Remove #ifdef for CHECKPOINT_RESTORE
   e641c92fd2ae debugfs: improve DEFINE_DEBUGFS_ATTRIBUTE for !CONFIG_DEBUG_FS
   629138cd28be clk: renesas: cpg-mssr: Fix inverted debug check
   47e3472507f0 efi/efivar_ssdt_load: Don't return success on allocation failure
   4e1dfb0035e1 cris: Only build flash rescue image if CONFIG_ETRAX_AXISFLASHMAP is selected
   15e0355a1ec5 ath10k: use the right length of "background"
   ac86312e0870 mfd: tps65217: Fix page fault on unloading modules
   a24f1f3520e6 ath10k: fix failure to send NULL func frame for 10.4
   45816391e1a5 nl80211: Use different attrs for BSSID and random MAC addr in scan req
   cd84516473a7 mac80211: fix tid_agg_rx NULL dereference
   1d9c33f1b45c drm/i915: tune down the fast link training vs boot fail
   8b4879154a67 drm/i915/dp: add lane_count check in intel_dp_check_link_status
   5af6f56bb16c usb: dwc3: gadget: always unmap EP0 requests
   c008309f53e5 usb: dwc3: ep0: explicitly call dwc3_ep0_prepare_one_trb()
   5f7fd4d2f94d usb: dwc3: ep0: add dwc3_ep0_prepare_one_trb()
   96a0c8ee7ce6 iio: accel: st_accel: fix LIS3LV02 reading and scaling
   a673f99884e3 staging: iio: ad7606: fix improper setting of oversampling pins
   fc322290fc06 mei: move write cb to completion on credentials failures
   5d46c4e9a05e mei: bus: fix mei_cldev_enable KDoc
   af776953108b mei: fix parameter rename KDoc
   c1ec6ba3d7c7 USB: serial: io_ti: bind to interface after fw download
   fb0a00fb0843 dibusb: fix possible memory leak in dibusb_rc_query()
   5f6136debf7e ARM: dts: sun7i: bananapi-m1-plus: Enable USB PHY for USB host support
   5ef54ae37b13 arm64: dts: hip06: Correct hardware pin number of usb node
   93f6891a383f USB: phy: am335x-control: fix device and of_node leaks
   d387f98cb0c1 ARM: dts: r8a7794: Correct hsusb parent clock
   a10a1b797a0f usb: gadget: fix request length error for isoc transfer
   b429e37b80fd usb: gadget: Fix second argument of percpu_ida_alloc()
   8da83724d491 USB: serial: kl5kusb105: abort on open exception path
   e7c72dccd725 ALSA: usb-audio: Fix bogus error return in snd_usb_create_stream()
   2eb09ccfa45b usb: musb: blackfin: add bfin_fifo_offset in bfin_ops
   64244edf304b usb: gadget: udc: core: fix return code of usb_gadget_probe_driver()
   8ecf70fb0889 usb: hub: Move hub_port_disable() to fix warning if PM is disabled
   d7550d7d6ae2 usb: musb: Fix trying to free already-free IRQ 4
   5e3c2920e9f2 usb: dwc3: gadget: Fix full speed mode
   81f1f24d1873 usb: dwc3: pci: Fix dr_mode misspelling
   6af3ba285acb usb: dwc3: pci: add Intel Gemini Lake PCI ID
   63d92d10a820 xhci: Fix race related to abort operation
   799dfdeb33a0 xhci: Use delayed_work instead of timer for command timeout
   6db52153fea3 usb: xhci-mem: use passed in GFP flags instead of GFP_KERNEL
   1bd67e85edf1 USB: serial: mos7720: fix parallel probe
   6ea44fb2183c USB: serial: mos7720: fix parport use-after-free on probe errors
   e7cf756c8932 USB: serial: mos7720: fix use-after-free on probe errors
   ac81f1fa956f USB: serial: mos7720: fix NULL-deref at open
   bd52ddb0996a USB: serial: mos7840: fix NULL-deref at open
   9de856caff86 USB: serial: kobil_sct: fix NULL-deref in write
   b2aa55142ea5 USB: serial: cyberjack: fix NULL-deref at open
   4de811c61ac5 USB: serial: oti6858: fix NULL-deref at open
   65914eeb39f4 USB: serial: io_edgeport: fix NULL-deref at open
   2e5167b239e6 USB: serial: ti_usb_3410_5052: fix NULL-deref at open
   0556702bf34e USB: serial: garmin_gps: fix memory leak on failed URB submit
   9401cc62b7f5 USB: serial: iuu_phoenix: fix NULL-deref at open
   69017618a61e USB: serial: io_ti: fix I/O after disconnect
   a66274a9b2f4 USB: serial: io_ti: fix another NULL-deref at open
   32631d1a739f USB: serial: io_ti: fix NULL-deref at open
   b5264ea24484 USB: serial: spcp8x5: fix NULL-deref at open
   dda7611ec4a5 USB: serial: keyspan_pda: verify endpoints at probe
   69c415ed5c98 USB: serial: pl2303: fix NULL-deref at open
   2a4ae7bc3d8d USB: serial: quatech2: fix sleep-while-atomic in close
   6ae3e89aa6b1 USB: serial: omninet: fix NULL-derefs at open and disconnect
   9acba5179d6c usb: return error code when platform_get_irq fails
   cb02cce9a7f8 usb: xhci: hold lock over xhci_abort_cmd_ring()
   9e6c400bb582 xhci: Handle command completion and timeout race
   78ccc1966c9e usb: host: xhci: Fix possible wild pointer when handling abort command
   a2118d097409 usb: xhci: fix return value of xhci_setup_device()
   3bf5e7410178 xhci: free xhci virtual devices with leaf nodes first
   40359f915694 usb: xhci: apply XHCI_PME_STUCK_QUIRK to Intel Apollo Lake
   9da8e3e48e88 usb: xhci: fix possible wild pointer
   9bdd47c53b7c usb: dwc3: core: avoid Overflow events
   2b95c939cb88 usb: gadget: composite: Test get_alt() presence instead of set_alt()
   735daeec9e60 USB: dummy-hcd: fix bug in stop_activity (handle ep0)
   05b0f2fc3c2f USB: fix problems with duplicate endpoint addresses
   da4543b3bce0 USB: gadgetfs: fix checks of wTotalLength in config descriptors
   46427c247b62 USB: gadgetfs: fix use-after-free bug
   b946777664db USB: gadgetfs: fix unbounded memory allocation bug
   404954e5b8a6 usb: gadgetfs: restrict upper bound on device configuration size
   72271ae49d6b usb: storage: unusual_uas: Add JMicron JMS56x to unusual device
   4a37dbe68289 usb: musb: dsps: implement clear_ep_rxintr() callback
   5de2dd7f1be1 usb: musb: core: add clear_ep_rxintr() to musb_platform_ops
   84fd8feb5bb5 KVM: MIPS: Flush KVM entry code from icache globally
   26a401a6a52f KVM: MIPS: Don't clobber CP0_Status.UX
   f39969ab0418 KVM: x86: reset MMU on KVM_SET_VCPU_EVENTS
   fe4fc2d67d0b drm/i915: Initialize overlay->last_flip properly
   f0f7f38e8068 drm/i915: Force VDD off on the new power seqeuencer before starting to use it
   73d425635989 drm/i915: Fix oops in overlay due to frontbuffer tracking
   5652dd3f005d drm/i915: Fix oopses in the overlay code due to i915_gem_active stuff
   8f8157c2a72a gcc-plugins: update gcc-common.h for gcc-7
   8c775affbbd6 asm-prototypes: Clear any CPP defines before declaring the functions
   5e7598a625ee mac80211: initialize fast-xmit 'info' later
   3c4eef316703 pinctrl/amd: Set the level based on ACPI tables
   c7b1b7951d9d ARM: davinci: da850: don't add emac clock to lookup table twice
   5f390df2baf7 HID: sensor-hub: Move the memset to sensor_hub_get_feature()
   0c8033357b1d parisc: Mark cr16 clocksource unstable on SMP systems
   e569eef6298a parisc: Add line-break when printing segfault info
   d259b6853732 fscrypt: fix renaming and linking special files
   be4e3aec5667 ALSA: usb-audio: Fix irq/process data synchronization
   5b2c3cafcafc ALSA: hda - Apply asus-mode8 fixup to ASUS X71SL
   71c88fc3bde7 ALSA: hda - Fix up GPIO for ASUS ROG Ranger
   755259ba2a3a staging: octeon: Call SET_NETDEV_DEV()
   ea991c8354c3 iio: bmi160: Fix time needed to sleep after command execution
   7090b8da3836 iio: max44000: correct value in illuminance_integration_time_available
   cf49219364fd iio: common: st_sensors: fix channel data parsing

(From OE-Core rev: 0f72ddb55b42bc96acca2ee52257e5beabf8d071)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:23 +00:00
Bruce Ashfield
97311f59c3 linux-yocto/4.8: update to -rt10
Paul Gortmaker has updated 4.8 to the latest -rt release. This
integrates those changes to standard/preempt-rt/*. As usual the
branches are kept fast forward, and a clean copy of the patches
can be found on standard/preempt-rt/rebase.

(From OE-Core rev: 9b4a71785221e2b67180fe6047e2ba2ad83f6523)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:23 +00:00
Bruce Ashfield
220d069629 linux-yocto/4.1: update to v4.1.37
Integrating the -stable release. Changes are as follows:

   35327468a79d Linux 4.1.37
   c27edfb64bbf scsi: megaraid_sas: fix macro MEGASAS_IS_LOGICAL to avoid regression
   016d02981cce tipc: check minimum bearer MTU
   efcf38bd4020 net: ping: check minimum size on ICMP header length
   e29fdf045048 packet: fix race condition in packet_set_ring
   fabaaaa96d54 net: add recursion limit to GRO
   7abf32087c1d Bluetooth: Fix potential NULL dereference in RFCOMM bind callback
   74cd81c810b9 ptrace: being capable wrt a process requires mapped uids/gids
   8165fc3eb28c scsi: arcmsr: Buffer overflow in arcmsr_iop_message_xfer()
   1171afc4a34e mnt: Add a per mount namespace limit on the number of mounts
   62fa696b7b43 posix_acl: Clear SGID bit when setting file permissions
   de42b9559d0c fs: Avoid premature clearing of capabilities
   cb8e1eef351b fs: Give dentry to inode_change_ok() instead of inode
   2ee3ceeccd34 nfsd: Disable NFSv2 timestamp workaround for NFSv3+
   820bc4582ab9 fuse: Propagate dentry down to inode_change_ok()
   89bc54c54027 xfs: Propagate dentry down to inode_change_ok()
   1b364dc9edba xattr: Option to disable meta-data block cache
   9a66bc6ee0f9 tcp: fix use after free in tcp_xmit_retransmit_queue()
   ebdb88b8e465 x86/kexec: add -fno-PIE
   672612a21845 scripts/has-stack-protector: add -fno-PIE
   e06ded86d961 x86/init: Fix cr4_init_shadow() on CR4-less machines
   eec746939372 ARM: 8617/1: dma: fix dma_max_pfn()
   58024f829d0b mm,ksm: fix endless looping in allocating memory when ksm enable
   d427d645ccf9 can: dev: fix deadlock reported after bus-off
   791a92897274 cpuset: handle race between CPU hotplug and cpuset_hotplug_work
   6b82b0601ac2 mtd: nand: davinci: Reinitialize the HW ECC engine in 4bit hwctl
   e537a0977f3e drm/msm: fix use of copy_from_user() while holding spinlock
   b56eb9cdc5f1 bus: arm-ccn: Fix PMU handling of MN
   7298a8bf4c63 bus: arm-ccn: Provide required event arguments

(From OE-Core rev: 592468a262cc01e4954be33b4281ffca84fea838)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:23 +00:00
Bruce Ashfield
318925957f linux-yocto/4.4: update to v4.4.41
Integrating the korg -stable release. Changes are as follows:

   cdd86b972265 Linux 4.4.41
   9f11a0ab6a96 net: mvpp2: fix dma unmapping of TX buffers for fragments
   d85727365859 sg_write()/bsg_write() is not fit to be called under KERNEL_DS
   7fb5a936457d kconfig/nconf: Fix hang when editing symbol with a long prompt
   e321f384d8a5 target/user: Fix use-after-free of tcmu_cmds if they are expired
   e5de1c724c06 powerpc: Convert cmp to cmpd in idle enter sequence
   cadaba838f1b powerpc/ps3: Fix system hang with GCC 5 builds
   8a2bcaae1bc7 nfs_write_end(): fix handling of short copies
   b66e3126569e libceph: verify authorize reply on connect
   edfe6a79f905 PCI: Check for PME in targeted sleep state
   8db00756afbd Input: drv260x - fix input device's parent assignment
   44685f03dd56 media: solo6x10: fix lockup by avoiding delayed register write
   952a9f5af9f8 IB/cma: Fix a race condition in iboe_addr_get_sgid()
   b7f73ada92a3 IB/multicast: Check ib_find_pkey() return value
   7b1369215616 IPoIB: Avoid reading an uninitialized member variable
   0de381ca35b5 IB/mad: Fix an array index check
   e945df4c6bc2 fgraph: Handle a case where a tracer ignores set_graph_notrace
   88e41441ccd4 platform/x86: asus-nb-wmi.c: Add X45U quirk
   2ef502e860f1 ftrace/x86_32: Set ftrace_stub to weak to prevent gcc from using short jumps to it
   19aa9c14989e kvm: nVMX: Allow L1 to intercept software exceptions (#BP and #OF)
   129e4323df37 KVM: PPC: Book3S HV: Don't lose hardware R/C bit updates in H_PROTECT
   ddf5718adfb8 KVM: PPC: Book3S HV: Save/restore XER in checkpointed register state
   1c8841c9b7d2 md/raid5: limit request size according to implementation limits
   d78006d2345f sc16is7xx: Drop bogus use of IRQF_ONESHOT
   b988320dab53 s390/vmlogrdr: fix IUCV buffer allocation
   656c9abd574b firmware: fix usermode helper fallback loading
   429a533a3d9a ARC: mm: arc700: Don't assume 2 colours for aliasing VIPT dcache
   dbb67e1d585d scsi: avoid a permanent stop of the scsi device's request queue
   565ae61d8995 scsi: zfcp: fix rport unblock race with LUN recovery
   3b3739dfa69c scsi: zfcp: do not trace pure benign residual HBA responses at default level
   1cc0f9488b91 scsi: zfcp: fix use-after-"free" in FC ingress path after TMF
   bccd78746f88 scsi: megaraid_sas: Do not set MPI2_TYPE_CUDA for JBOD FP path for FW which does not support JBOD sequence map
   49ea06561154 scsi: megaraid_sas: For SRIOV enabled firmware, ensure VF driver waits for 30secs before reset
   edf1169bbbaa vt: fix Scroll Lock LED trigger name
   f4f02a856a92 block: protect iterate_bdevs() against concurrent close
   abb78811e242 mei: request async autosuspend at the end of enumeration
   1f9c91a37542 drivers/gpu/drm/ast: Fix infinite loop if read fails
   970dc8cdec9c drm/gma500: Add compat ioctl
   0e0b70f581fc drm/radeon: add additional pci revision to dpm workaround
   62a272498dbe drm/radeon: Hide the HW cursor while it's out of bounds
   deac395e0ba8 drm/radeon: Also call cursor_move_locked when the cursor size changes
   cb8d63d885e9 drm/nouveau/i2c/gk110b,gm10x: use the correct implementation
   adea4a7b0f2b drm/nouveau/fifo/gf100-: protect channel preempt with subdev mutex
   d32d4b3d7c9f drm/nouveau/ltc: protect clearing of comptags with mutex
   3a2990e67b05 drm/nouveau/bios: require checksum to match for fast acpi shadow method
   a163451c80b0 drm/nouveau/kms: lvds panel strap moved again on maxwell
   69e236e70ead ACPI / video: Add force_native quirk for HP Pavilion dv6
   2c2375e40d28 ACPI / video: Add force_native quirk for Dell XPS 17 L702X
   01b6089b5622 staging: comedi: ni_mio_common: fix E series ni_ai_insn_read() data
   5283a7bedbcb staging: comedi: ni_mio_common: fix M Series ni_ai_insn_read() data mask
   e692edec93c1 thermal: hwmon: Properly report critical temperature in sysfs
   9d9541d44a26 clk: bcm2835: Avoid overwriting the div info when disabling a pll_div clk
   e01b04be3eb0 timekeeping_Force_unsigned_clocksource_to_nanoseconds_conversion
   96ea1b9ea099 regulator: stw481x-vmmc: fix ages old enable error
   842ec27cd3f2 mmc: sdhci: Fix recovery from tuning timeout
   dae7cb414834 ath9k: Really fix LED polarity for some Mini PCI AR9220 MB92 cards.
   b63929e8e130 cfg80211/mac80211: fix BSS leaks when abandoning assoc attempts
   05f4183ab5a4 rtlwifi: Fix enter/exit power_save
   f5d90f434c9a ssb: Fix error routine when fallback SPROM fails
   a3edc7b2e537 Linux 4.4.40
   7a2b4ee54b3f ppp: defer netns reference release for ppp channel
   37de955c11b5 driver core: fix race between creating/querying glue dir and its cleanup
   f85a337b4066 xfs: set AGI buffer type in xlog_recover_clear_agi_bucket
   fdb17ddd0a49 arm/xen: Use alloc_percpu rather than __alloc_percpu
   9397e79c4b2d xen/gntdev: Use VM_MIXEDMAP instead of VM_IO to avoid NUMA balancing
   00a0de085d60 tpm xen: Remove bogus tpm_chip_unregister
   f93777c91544 kernel/debug/debug_core.c: more properly delay for secondary CPUs
   f2b8b3455b22 kernel/watchdog: use nmi registers snapshot in hardlockup handler
   597f9c03b2d5 CIFS: Fix a possible memory corruption in push locks
   a9c69e152897 CIFS: Fix missing nls unload in smb2_reconnect()
   f0b715409cb9 CIFS: Fix a possible memory corruption during reconnect
   6dcb01e78333 ASoC: intel: Fix crash at suspend/resume without card registration
   701ec6e5cea7 dm space map metadata: fix 'struct sm_metadata' leak on failed create
   85290a163b06 dm crypt: mark key as invalid until properly loaded
   9188611f81e3 dm flakey: return -EINVAL on interval bounds error in flakey_ctr()
   f0898dc2852b blk-mq: Do not invoke .queue_rq() for a stopped queue
   c53af76d5de1 usb: gadget: composite: always set ep->mult to a sensible value
   b35f34f66943 exec: Ensure mm->user_ns contains the execed files
   0812936b11ea fs: exec: apply CLOEXEC before changing dumpable task flags
   14d8e5cae039 mm/vmscan.c: set correct defer count for shrinker
   ffef1630187b loop: return proper error from loop_queue_rq()
   011ded975e34 f2fs: set ->owner for debugfs status file's file_operations
   3460edfc70c2 ext4: do not perform data journaling when data is encrypted
   36af7cd560b9 ext4: return -ENOMEM instead of success
   519a30148e23 ext4: reject inodes with negative size
   f655b3575c47 ext4: add sanity checking to count_overhead()
   3995881b0f72 ext4: fix in-superblock mount options processing
   386588013810 ext4: use more strict checks for inodes_per_block on mount
   7b74c351de1c ext4: fix stack memory corruption with 64k block size
   26492d8a22b0 ext4: fix mballoc breakage with 64k block size
   4b6050922fb8 crypto: caam - fix AEAD givenc descriptors
   1c1f15f8ebfb ptrace: Capture the ptracer's creds not PT_PTRACE_CAP
   03eed7afbc09 mm: Add a user_ns owner to mm_struct and fix ptrace permission checks
   d80411dea6a4 block_dev: don't test bdev->bd_contains when it is not stable
   85cfbd9db2c6 btrfs: make file clone aware of fatal signals
   323ffc03ddb2 Btrfs: don't BUG() during drop snapshot
   107800061996 Btrfs: fix memory leak in do_walk_down
   5a9b659edef6 Btrfs: don't leak reloc root nodes on error
   8ca6845a58cd Btrfs: return gracefully from balance if fs tree is corrupted
   78a587c608f9 Btrfs: bail out if block group has different mixed flag
   25ee81e54620 Btrfs: fix memory leak in reading btree blocks
   590202271ffd clk: ti: omap36xx: Work around sprz319 advisory 2.1
   119b6658ce05 ALSA: hda: when comparing pin configurations, ignore assoc in addition to seq
   f0ea0ade046e ALSA: hda - Gate the mic jack on HP Z1 Gen3 AiO
   fa695bdc1741 ALSA: hda - fix headset-mic problem on a Dell laptop
   faff777fb456 ALSA: hda - ignore the assoc and seq when comparing pin configurations
   518fca87c645 ALSA: hda/ca0132 - Add quirk for Alienware 15 R2 2016
   29348065c339 ALSA: hiface: Fix M2Tech hiFace driver sampling rate change
   d0ba0f6a8291 ALSA: usb-audio: Add QuickCam Communicate Deluxe/S7500 to volume_control_quirks
   cbb2a2563587 USB: UHCI: report non-PME wakeup signalling for Intel hardware
   8ede2d7908aa usb: gadget: composite: correctly initialize ep->maxpacket
   c67c2ed829f3 usb: gadget: f_uac2: fix error handling at afunc_bind
   747b31526369 usb: hub: Fix auto-remount of safely removed or ejected USB-3 devices
   acca3cf0d62b USB: cdc-acm: add device id for GW Instek AFG-125
   5d6a392b6d36 USB: serial: kl5kusb105: fix open error path
   6a6e113cd928 USB: serial: option: add dlink dwm-158
   17907f291779 USB: serial: option: add support for Telit LE922A PIDs 0x1040, 0x1041
   1f5adadcd032 Btrfs: fix qgroup rescan worker initialization
   b5e715ed11ec btrfs: store and load values of stripes_min/stripes_max in balance status item
   919b74ba5ed5 Btrfs: fix tree search logic when replaying directory entry deletes
   0d619cf6f982 btrfs: limit async_work allocation and worker func duration
   a34f0e8a2f89 Linux 4.4.39
   5d488dee9236 crypto: rsa - Add Makefile dependencies to fix parallel builds
   1c0f4e0ebb79 hotplug: Make register and unregister notifier API symmetric
   537e42d759ae batman-adv: Check for alloc errors when preparing TT local data
   f03531d09125 m68k: Fix ndelay() macro
   55e15b2f44d7 arm64: futex.h: Add missing PAN toggling
   e29949ed3903 can: peak: fix bad memory access and free sequence
   083021bdba1e can: raw: raw_setsockopt: limit number of can_filter that can be set
   9a3baed9103b crypto: mcryptd - Check mcryptd algorithm compatibility
   c4db8a7d1e0c perf/x86: Fix full width counter, counter overflow
   c6a5bf4cda12 locking/rtmutex: Use READ_ONCE() in rt_mutex_owner()
   b27d9147f24a locking/rtmutex: Prevent dequeue vs. unlock race
   e286b6c16758 zram: restrict add/remove attributes to root only
   a0bd6aa097a4 parisc: Fix TLB related boot crash on SMP machines
   605f315c5a83 parisc: Remove unnecessary TLB purges from flush_dcache_page_asm and flush_icache_page_asm
   db9598605768 parisc: Purge TLB before setting PTE
   4bcea472de10 powerpc/eeh: Fix deadlock when PE frozen state can't be cleared
   c95b7f1fab0c Linux 4.4.38
   52783ada69b4 esp6: Fix integrity verification when ESN are used
   3bf28ce9c749 esp4: Fix integrity verification when ESN are used
   2176ec1c82ea ipv4: Set skb->protocol properly for local output
   25d8b7c105e1 ipv6: Set skb->protocol properly for local output
   d41fb2fbb28d Don't feed anything but regular iovec's to blk_rq_map_user_iov
   fd1aa12c6340 constify iov_iter_count() and iter_is_iovec()
   899b60535a2a sparc64: fix compile warning section mismatch in find_node()
   ed7b60db00a1 sparc64: Fix find_node warning if numa node cannot be found
   438e91da24fa sparc32: Fix inverted invalid_frame_pointer checks on sigreturns
   06cdad2b6d92 net: ping: check minimum size on ICMP header length
   77125815f058 net: avoid signed overflows for SO_{SND|RCV}BUFFORCE
   6e682c528b3e geneve: avoid use-after-free of skb->data
   a89e2ff894bc sh_eth: remove unchecked interrupts for RZ/A1
   c36a2a14f26d net: bcmgenet: Utilize correct struct device for all DMA operations
   5a01eaf19858 packet: fix race condition in packet_set_ring
   1a15519fdcdb net/dccp: fix use-after-free in dccp_invalid_packet
   baaf0c65bc8e netlink: Do not schedule work from sk_destruct
   d1ed9c1dba63 netlink: Call cb->done from a worker thread
   6c42bd6a393c net/sched: pedit: make sure that offset is valid
   cfa7c16d4577 net, sched: respect rcu grace period on cls destruction
   94de6f2ffb3d net: dsa: bcm_sf2: Ensure we re-negotiate EEE during after link change
   56366fa0ad46 l2tp: fix racy SOCK_ZAPPED flag check in l2tp_ip{,6}_bind()
   aece024e38cb rtnetlink: fix FDB size computation
   6ef59b986190 af_unix: conditionally use freezable blocking calls in read
   acf9504ae220 net: sky2: Fix shutdown crash
   49695d1e3b81 ip6_tunnel: disable caching when the traffic class is inherited
   2b54505c877f net: check dead netns for peernet2id_alloc()
   790fd11f9ed6 virtio-net: add a missing synchronize_net()

(From OE-Core rev: 2042e74352fcec84ac69645387273438794966f6)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:23 +00:00
Bruce Ashfield
8c6c15a678 linux-yocto/4.8: -stable update to v4.8.17
Updating to the korg 4.8.17 -stable release. Changes are as follows:

   3d8f8d06abb3 Linux 4.8.17
   adf363fd5ab9 drm/i915: skip the first 4k of stolen memory on everything >= gen8
   000e612673da drm/i915: Initialize dev_priv->atomic_cdclk_freq at init time
   22aba475d97b drm/i915: Fix cdclk vs. dev_cdclk mess when not recomputing things
   294bb3402c76 drm/i915/dsi: Do not clear DPOUNIT_CLOCK_GATE_DISABLE from vlv_init_display_clock_gating
   6a412ff3df87 drm/i915/dsi: Fix chv_exec_gpio disabling the GPIOs it is setting
   4803ec2a74c4 net: mvpp2: fix dma unmapping of TX buffers for fragments
   48f26edb689c sg_write()/bsg_write() is not fit to be called under KERNEL_DS
   d787c6b32c3f kconfig/nconf: Fix hang when editing symbol with a long prompt
   e141d1a21e31 target/user: Fix use-after-free of tcmu_cmds if they are expired
   29f3d1127c4b libnvdimm, pfn: fix align attribute
   3a4e4281b5cd powerpc/ps3: Fix system hang with GCC 5 builds
   e451d674bac5 powerpc/64e: Convert cmpi to cmpwi in head_64.S
   0349fbebd984 SUNRPC: fix refcounting problems with auth_gss messages.
   c513ade4ca56 pNFS: Fix a deadlock between read resends and layoutreturn
   abb2903f1ac2 pNFS: Clear NFS_LAYOUT_RETURN_REQUESTED when invalidating the layout stateid
   f061c76c1d56 pNFS: Don't clear the layout stateid if a layout return is outstanding
   7de1b81c27fd pNFS: On error, do not send LAYOUTGET until the LAYOUTRETURN has completed
   8f5ff877bf19 nfs_write_end(): fix handling of short copies
   1678adac85da libceph: verify authorize reply on connect
   1f93d1a77b17 PCI: Check for PME in targeted sleep state
   c75bc2bde102 i40iw: Use correct src address in memcpy to rdma stats counters
   7d0a6cf3e8c9 Input: drv260x - fix input device's parent assignment
   b7843712cbd2 v4l: tvp5150: Add missing break in set control handler
   4963b1910090 media: solo6x10: fix lockup by avoiding delayed register write
   88bfde25e60f s5p-mfc: fix failure path of s5p_mfc_alloc_memdev()
   c3fe33d185e0 mn88473: fix chip id check on probe
   84b2f664409c mn88472: fix chip id check on probe
   15d1d226eab4 IB/cma: Fix a race condition in iboe_addr_get_sgid()
   7b3721aff59b IB/rxe: Fix a memory leak in rxe_qp_cleanup()
   2a0aa77a54fb IB/multicast: Check ib_find_pkey() return value
   37d4adba02d3 IPoIB: Avoid reading an uninitialized member variable
   f079fc11f28e IB/mad: Fix an array index check
   e661b5d4b94f fgraph: Handle a case where a tracer ignores set_graph_notrace
   b2758da04d73 platform/x86: asus-nb-wmi.c: Add X45U quirk
   f61152e3bbf0 ftrace/x86_32: Set ftrace_stub to weak to prevent gcc from using short jumps to it
   8569aadeed3f vsock/virtio: fix src/dst cid format
   576ea9e5e92e fsnotify: Fix possible use-after-free in inode iteration on umount
   43983ce75e61 kvm: nVMX: Allow L1 to intercept software exceptions (#BP and #OF)
   9a5cf8c4b112 KVM: PPC: Book3S HV: Don't lose hardware R/C bit updates in H_PROTECT
   b751eb6e9d99 KVM: PPC: Book3S HV: Save/restore XER in checkpointed register state
   0773e9248ae3 scsi: aacraid: remove wildcard for series 9 controllers
   b202064f0b3f md/raid5: limit request size according to implementation limits
   47090341ec97 sc16is7xx: Drop bogus use of IRQF_ONESHOT
   c33e1abd2e31 arm64: KVM: pmu: Reset PMSELR_EL0.SEL to a sane value before entering the guest
   d3d61bb37afb s390/kexec: use node 0 when re-adding crash kernel memory
   9652b62af49d s390/vmlogrdr: fix IUCV buffer allocation
   f356ab038e78 firmware: fix usermode helper fallback loading
   5c98bf834d6f ARC: mm: arc700: Don't assume 2 colours for aliasing VIPT dcache
   cc328ce59a4a scsi: avoid a permanent stop of the scsi device's request queue
   6d675dffd425 scsi: zfcp: fix rport unblock race with LUN recovery
   057fe03d627e scsi: zfcp: do not trace pure benign residual HBA responses at default level
   5cebfea8080c scsi: zfcp: fix use-after-"free" in FC ingress path after TMF
   de8a06c673ac iscsi-target: Return error if unable to add network portal
   9c3928be0dba scsi: megaraid_sas: Do not set MPI2_TYPE_CUDA for JBOD FP path for FW which does not support JBOD sequence map
   dbd4e6c60b4f scsi: megaraid_sas: For SRIOV enabled firmware, ensure VF driver waits for 30secs before reset
   3863ab6d710d stm class: Fix device leak in open error path
   698ac693dbb4 vt: fix Scroll Lock LED trigger name
   6d8bb567102c block: protect iterate_bdevs() against concurrent close
   2695afd5e9c2 mei: me: add lewisburg device ids
   7be0a5f39d64 mei: request async autosuspend at the end of enumeration
   dfc3c8a0fa1b drivers/gpu/drm/ast: Fix infinite loop if read fails
   0f95e4a58ecd drm/amdgpu: fix init save/restore list in gfx_v8.0
   8bfa4f5e6395 drm/gma500: Add compat ioctl
   10b598df92d9 drm/radeon/si: load the proper firmware on 0x87 oland boards
   cdb7aaaaecff drm/radeon: add additional pci revision to dpm workaround
   1f884ec818a6 drm/radeon: Hide the HW cursor while it's out of bounds
   6fb94229b2f6 drm/radeon: Also call cursor_move_locked when the cursor size changes
   9c6fb7bf404d drm/nouveau/fifo/gf100-: protect channel preempt with subdev mutex
   2a7a43772bff drm/nouveau/i2c/gk110b,gm10x: use the correct implementation
   28d186430686 drm/nouveau/ttm: wait for bo fence to signal before unmapping vmas
   82d9824d9446 drm/nouveau/ltc: protect clearing of comptags with mutex
   ce71868acee2 drm/nouveau/bios: require checksum to match for fast acpi shadow method
   764e8e8af190 drm/nouveau/kms: lvds panel strap moved again on maxwell
   00e1fb138ffa drm/nouveau/gr: fallback to legacy paths during firmware lookup
   fef542735a48 drm/amd/amdgpu: enable GUI idle INT after enabling CGCG
   bab520835f81 ACPI / video: Add force_native quirk for HP Pavilion dv6
   b7eea51a3a5c ACPI / video: Add force_native quirk for Dell XPS 17 L702X
   ce8100660364 staging: comedi: ni_mio_common: fix E series ni_ai_insn_read() data
   689d59259385 staging: comedi: ni_mio_common: fix M Series ni_ai_insn_read() data mask
   823c5c94f716 hv: acquire vmbus_connection.channel_mutex in vmbus_free_channels()
   235394e1625c docs: sphinx-extensions: make rstFlatTable work with docutils 0.13
   a26a016a4e2f thermal: hwmon: Properly report critical temperature in sysfs
   def2c87dc7ac clk: bcm2835: Avoid overwriting the div info when disabling a pll_div clk
   2f885dafe704 arm64: tegra: Add VDD_GPU regulator to Jetson TX1
   bd12562fceb4 gpio: chardev: Return error for seek operations
   61d0b7139cf9 timekeeping_Force_unsigned_clocksource_to_nanoseconds_conversion
   95d2a43e5a59 regulator: stw481x-vmmc: fix ages old enable error
   52980ceb1832 mmc: sdhci: Fix recovery from tuning timeout
   0ed0b2592437 ath9k: Really fix LED polarity for some Mini PCI AR9220 MB92 cards.
   d80ff7cb5d06 ath9k: fix ath9k_hw_gpio_get() to return 0 or 1 on success
   42e76c596c93 cfg80211/mac80211: fix BSS leaks when abandoning assoc attempts
   d2546f653bb0 rtl8xxxu: Work around issue with 8192eu and 8723bu devices not reconnecting
   2abcc023a460 perf/x86/intel/cstate: Prevent hotplug callback leak
   7b9e1a16a1b0 perf/x86: Fix exclusion of BTS and LBR for Goldmont
   e24523a80c19 rtlwifi: Fix enter/exit power_save
   c9fce6ba9c09 ssb: Fix error routine when fallback SPROM fails
   c65ed08dcc04 Linux 4.8.16
   645897231f96 driver core: fix race between creating/querying glue dir and its cleanup
   f199bdbaab37 Revert "netfilter: move nat hlist_head to nf_conn"
   99d6d4e0c50c Revert "netfilter: nat: convert nat bysrc hash to rhashtable"
   774225699b4d arm64: mark reserved memblock regions explicitly in iomem
   587e89bd56c1 xfs: set AGI buffer type in xlog_recover_clear_agi_bucket
   959e363eaf14 arm/xen: Use alloc_percpu rather than __alloc_percpu
   6fbd3fb6c4df xen/gntdev: Use VM_MIXEDMAP instead of VM_IO to avoid NUMA balancing
   883f12a20583 tpm xen: Remove bogus tpm_chip_unregister
   8419f5215db3 kernel/debug/debug_core.c: more properly delay for secondary CPUs
   63b33e0885d6 watchdog: qcom: fix kernel panic due to external abort on non-linefetch
   bf902ead61d8 watchdog: mei_wdt: request stop on reboot to prevent false positive event
   2f826a72ea8b kernel/watchdog: use nmi registers snapshot in hardlockup handler
   bbf23f00d55e CIFS: Fix a possible memory corruption in push locks
   9f1f5076149a CIFS: Fix missing nls unload in smb2_reconnect()
   ff04da387c10 CIFS: Fix a possible memory corruption during reconnect
   6cb589c7529f ASoC: intel: Fix crash at suspend/resume without card registration
   769c0922d4a6 dm space map metadata: fix 'struct sm_metadata' leak on failed create
   ab10ab0a2a3d dm raid: fix discard support regression
   454b98d3f2b5 dm rq: fix a race condition in rq_completed()
   26011e67339e dm crypt: mark key as invalid until properly loaded
   bd5fcd18c8c3 dm flakey: return -EINVAL on interval bounds error in flakey_ctr()
   1ca66d6a19d2 dm table: an 'all_blk_mq' table must be loaded for a blk-mq DM device
   d948d3b1e416 dm table: fix 'all_blk_mq' inconsistency when an empty table is loaded
   45f631113b36 blk-mq: Do not invoke .queue_rq() for a stopped queue
   e3742a15d6cd PM / OPP: Pass opp_table to dev_pm_opp_put_regulator()
   8b63a922ac07 usb: gadget: composite: always set ep->mult to a sensible value
   d4f4b2e659f5 mm, page_alloc: keep pcp count and list contents in sync if struct page is corrupted
   0927d281a2fc mm/vmscan.c: set correct defer count for shrinker
   3e0ef1b8e0cc nvmet: Fix possible infinite loop triggered on hot namespace removal
   6290a3bcd3c3 loop: return proper error from loop_queue_rq()
   bf0f02079039 f2fs: fix overflow due to condition check order
   154d83a8384e f2fs: set ->owner for debugfs status file's file_operations
   67e5239c8366 Revert "f2fs: use percpu_counter for # of dirty pages in inode"
   d06eaf28f1bb ext4: do not perform data journaling when data is encrypted
   e33673bef6f0 ext4: return -ENOMEM instead of success
   3664877022ea ext4: reject inodes with negative size
   1bfcffbb8801 ext4: add sanity checking to count_overhead()
   9689eb99ce0f ext4: fix in-superblock mount options processing
   52a9daa3d5c0 ext4: use more strict checks for inodes_per_block on mount
   7505584356d2 ext4: fix stack memory corruption with 64k block size
   86efd99f0ebe ext4: fix mballoc breakage with 64k block size
   8022387d236a crypto: caam - fix AEAD givenc descriptors
   ade692b8f1f5 ptrace: Capture the ptracer's creds not PT_PTRACE_CAP
   23d179acb363 vfs,mm: fix return value of read() at s_maxbytes
   e45692fa1aea mm: Add a user_ns owner to mm_struct and fix ptrace permission checks
   04804d83d483 block_dev: don't test bdev->bd_contains when it is not stable
   52d69727a441 fs: exec: apply CLOEXEC before changing dumpable task flags
   781e976ac2c6 exec: Ensure mm->user_ns contains the execed files
   fc1d3e5f3cd0 btrfs: make file clone aware of fatal signals
   8c59356c1232 Btrfs: fix incremental send failure caused by balance
   02fffa116bda Btrfs: don't BUG() during drop snapshot
   0f2e022db237 btrfs: fix a possible umount deadlock
   65563ab7271b Btrfs: fix memory leak in do_walk_down
   364b85c57d25 btrfs: clean the old superblocks before freeing the device
   6a6e9276f3f5 Btrfs: don't leak reloc root nodes on error
   4d3d9b59d963 Btrfs: return gracefully from balance if fs tree is corrupted
   a6522e487b2c Btrfs: bail out if block group has different mixed flag
   d7839adcb0e3 Btrfs: fix memory leak in reading btree blocks
   1a087cd869c6 clk: ti: omap36xx: Work around sprz319 advisory 2.1
   2b96c4b19e0a ALSA: hda: when comparing pin configurations, ignore assoc in addition to seq
   dc8144f49988 ALSA: hda - Gate the mic jack on HP Z1 Gen3 AiO
   685c4db17890 ALSA: hda - fix headset-mic problem on a Dell laptop
   b757fc019fc9 ALSA: hda - ignore the assoc and seq when comparing pin configurations
   38c6095f48fe ALSA: hda/ca0132 - Add quirk for Alienware 15 R2 2016
   5496ec423449 ALSA: hiface: Fix M2Tech hiFace driver sampling rate change
   abf549a8b969 ALSA: usb-audio: Add QuickCam Communicate Deluxe/S7500 to volume_control_quirks
   6b0a56e9aaf3 usbip: vudc: fix: Clear already_seen flag also for ep0
   a9143e58d3cc USB: UHCI: report non-PME wakeup signalling for Intel hardware
   4422a26936ae usb: gadget: composite: correctly initialize ep->maxpacket
   be8f1c44177a usb: gadget: f_uac2: fix error handling at afunc_bind
   79d5a30e37ab usb: hub: Fix auto-remount of safely removed or ejected USB-3 devices
   e3dfbc8904b3 usb: dwc3: gadget: set PCM1 field of isochronous-first TRBs
   269edaef820f USB: cdc-acm: add device id for GW Instek AFG-125
   741523f3da82 USB: serial: kl5kusb105: fix open error path
   f34b7e027eeb USB: serial: option: add dlink dwm-158
   e47e81c4e705 USB: serial: option: add support for Telit LE922A PIDs 0x1040, 0x1041
   3aa3cb940878 Btrfs: fix qgroup rescan worker initialization
   691ea6c7eb1e Btrfs: fix emptiness check for dirtied extent buffers at check_leaf()
   0695d8b10a88 btrfs: store and load values of stripes_min/stripes_max in balance status item
   80f7d2836e37 Btrfs: fix relocation incorrectly dropping data references
   f1b268d7a8e2 Btrfs: fix tree search logic when replaying directory entry deletes
   65553a02a313 Btrfs: fix deadlock caused by fsync when logging directory entries
   361e82137a2d Btrfs: fix BUG_ON in btrfs_mark_buffer_dirty
   562de9c7ce24 btrfs: limit async_work allocation and worker func duration
   f080d7094838 aoe: fix crash in page count manipulation
   8bba2e2e62cb Linux 4.8.15
   762c9bb16fce crypto: rsa - Add Makefile dependencies to fix parallel builds
   014e5a7d9354 hotplug: Make register and unregister notifier API symmetric
   3527ad05b46e batman-adv: Check for alloc errors when preparing TT local data
   32ccd76788a5 m68k: Fix ndelay() macro
   9fc7a4758608 ceph: don't set req->r_locked_dir in ceph_d_revalidate
   a05f493f8d4e ARM: dts: imx7d: fix LCDIF clock assignment
   798c825fb006 ARM: dts: orion5x: fix number of sata port for linkstation ls-gl
   d271b9bec2d3 Revert "ACPI: Execute _PTS before system reboot"
   3ee9f16cff18 can: peak: fix bad memory access and free sequence
   212e0ff80970 can: raw: raw_setsockopt: limit number of can_filter that can be set
   bdb5ed2040f5 crypto: marvell - Don't corrupt state of an STD req for re-stepped ahash
   bfef274e4dae crypto: mcryptd - Check mcryptd algorithm compatibility
   86bea59218a0 crypto: caam - fix pointer size for AArch64 boot loader, AArch32 kernel
   666531ca650e crypto: marvell - Don't copy hash operation twice into the SRAM
   04925ba9b944 acpi, nfit: fix bus vs dimm confusion in xlat_status
   53ed7c2e8d02 acpi, nfit: validate ars_status output buffer size
   e04e2dace316 acpi, nfit, libnvdimm: fix / harden ars_status output length handling
   483ac1487a9d acpi, nfit: fix extended status translations for ACPI DSMs
   0525cebf8ef7 perf/x86: Fix full width counter, counter overflow
   eceab1fd7f9e vhost-vsock: fix orphan connection reset
   b0224f36735e sched/autogroup: Fix 64-bit kernel nice level adjustment
   2a477999977c scsi: lpfc: fix oops/BUG in lpfc_sli_ringtxcmpl_put()
   ac65fe0bbdea device-dax: fix private mapping restriction, permit read-only
   2386c6b188c5 locking/rtmutex: Use READ_ONCE() in rt_mutex_owner()
   7b2347c8e803 locking/rtmutex: Prevent dequeue vs. unlock race
   bed4eef2e8fa zram: restrict add/remove attributes to root only
   4fb7569c7370 parisc: Fix TLB related boot crash on SMP machines
   b81e5db49515 parisc: Remove unnecessary TLB purges from flush_dcache_page_asm and flush_icache_page_asm
   7e8f68aa1833 parisc: Purge TLB before setting PTE
   6e284445bab5 fuse: fix clearing suid, sgid for chown()
   e70d6d2d7383 powerpc/boot: Fix build failure in 32-bit boot wrapper
   a82ad493f045 powerpc/mm: Fix lazy icache flush on pre-POWER5
   84b36287c72d powerpc/eeh: Fix deadlock when PE frozen state can't be cleared
   7b8c57cad53a Linux 4.8.14
   1670d1584701 esp6: Fix integrity verification when ESN are used
   b3e9d4982939 esp4: Fix integrity verification when ESN are used
   be5339492b29 flowcache: Increase threshold for refusing new allocations
   3a116fa8c95d Revert: "ip6_tunnel: Update skb->protocol to ETH_P_IPV6 in ip6_tnl_xmit()"
   686182870c6a ipv4: Set skb->protocol properly for local output
   e67bd82fb79d ipv6: Set skb->protocol properly for local output
   22d94c326660 Don't feed anything but regular iovec's to blk_rq_map_user_iov
   e4a6c61c6b71 constify iov_iter_count() and iter_is_iovec()
   907bc3181c9a sparc32: Fix inverted invalid_frame_pointer checks on sigreturns
   360e257f8cf3 sparc64: fix compile warning section mismatch in find_node()
   2f02dcb673a4 sparc64: Fix find_node warning if numa node cannot be found
   ad02ec7d37a2 ipv4: Drop suffix update from resize code
   0b1c601d367f ipv4: Drop leaf from suffix pull/push functions
   cd8a6c0e95bf ipv4: Fix memory leak in exception case for splitting tries
   a8780378b39e ipv4: Restore fib_trie_flush_external function and fix call ordering
   5ff5e5c06c25 net: ping: check minimum size on ICMP header length
   f818e5d86aef net: avoid signed overflows for SO_{SND|RCV}BUFFORCE
   bfecf9017f8b geneve: avoid use-after-free of skb->data
   4daa2c73eb05 tipc: check minimum bearer MTU
   1ff3209a21c8 sh_eth: remove unchecked interrupts for RZ/A1
   bbf913d774b7 net: bcmgenet: Utilize correct struct device for all DMA operations
   accb7c99fc0f cdc_ether: Fix handling connection notification
   34457543e203 ip6_offload: check segs for NULL in ipv6_gso_segment.
   cef222d40f2e packet: fix race condition in packet_set_ring
   17941a9d6409 GSO: Reload iph after pskb_may_pull
   ff0d7874078d net/dccp: fix use-after-free in dccp_invalid_packet
   023cd33ece37 net: macb: fix the RX queue reset in macb_rx()
   25d9b4bb64ea netlink: Do not schedule work from sk_destruct
   f5dad3473d83 netlink: Call cb->done from a worker thread
   360d6a23e79d net/sched: pedit: make sure that offset is valid
   aa239369bdfa net: dsa: fix unbalanced dsa_switch_tree reference counting
   9a7479273949 net, sched: respect rcu grace period on cls destruction
   a9437ebc69f5 net: dsa: bcm_sf2: Ensure we re-negotiate EEE during after link change
   ddf053431efe udplite: call proper backlog handlers
   7b0aa75be3ab ipv6: bump genid when the IFA_F_TENTATIVE flag is clear
   58c8cc33de6c rtnl: fix the loop index update error in rtnl_dump_ifinfo()
   84df56749f48 l2tp: fix racy SOCK_ZAPPED flag check in l2tp_ip{,6}_bind()
   7f8b251a0985 rtnetlink: fix FDB size computation
   c39caa8f80c0 af_unix: conditionally use freezable blocking calls in read
   bdc5c63e4b38 net: sky2: Fix shutdown crash
   a75684ab7a12 ip6_tunnel: disable caching when the traffic class is inherited
   1b079d5b9fc1 net: check dead netns for peernet2id_alloc()
   65dfc8b4547f net: dsa: b53: Fix VLAN usage and how we treat CPU port
   f959eb507439 virtio-net: add a missing synchronize_net()
   8070f33be6c4 gro_cells: mark napi struct as not busy poll candidates
   55d64c0b3c15 Linux 4.8.13
   a4edb1a2b045 arm64: suspend: Reconfigure PSTATE after resume from idle
   6353400d9130 arm64: mm: Set PSTATE.PAN from the cpu_enable_pan() call
   b49b1ae6d341 arm64: cpufeature: Schedule enable() calls instead of calling them via IPI
   e4e77deda200 batman-adv: Detect missing primaryif during tp_send as error
   f106de5604dd clk: sunxi: Fix M factor computation for APB1
   9e2d9e95094a perf/x86: Restore TASK_SIZE check on frame pointer
   ab34b429a01f drm/mediatek: fix null pointer dereference
   43b5bb262711 pwm: Fix device reference leak
   6c6947613979 KVM: use after free in kvm_ioctl_create_device()
   ff8b06b4efa6 arm64: dts: juno: fix cluster sleep state entry latency on all SoC versions
   f67b89acdfa1 drm/radeon: fix check for port PM availability
   835bb5cd3653 drm/amdgpu: fix check for port PM availability
   972d595824b6 drm/radeon: fix power state when port pm is unavailable (v2)
   be1b75edf20b drm/amdgpu: fix power state when port pm is unavailable
   bd78c077f8fe drm/i915: drop the struct_mutex when wedged or trying to reset
   5dd86b6e5873 drm/i915: Don't touch NULL sg on i915_gem_object_get_pages_gtt() error
   05abe7452b71 KVM: arm/arm64: vgic: Don't notify EOI for non-SPIs
   ca42bd35d308 mwifiex: printk() overflow with 32-byte SSIDs
   de9ba13ebfdb PCI: Set Read Completion Boundary to 128 iff Root Port supports it (_HPX)
   4f4857148b4a PCI: Export pcie_find_root_port
   27dce9bcad4d mm: workingset: fix NULL ptr in count_shadow_nodes
   60e33689a06e rcu: Fix soft lockup for rcu_nocb_kthread
   b6f9e236b7ef Input: psmouse - disable automatic probing of BYD touchpads
   6ca8ab7052c4 Input: change KEY_DATA from 0x275 to 0x277
   600bec25b855 ovl: fix d_real() for stacked fs
   5661a6926871 mm: fix false-positive WARN_ON() in truncate/invalidate for hugetlb
   48b6b50a2ba5 kasan: update kasan_global for gcc 7
   db04d354b7f1 zram: fix unbalanced idr management at hot removal
   010020900006 thp: fix corner case of munlock() of PTE-mapped THPs
   08fd95de5eee mm, thp: propagation of conditional compilation in khugepaged.c
   76e59ecacd54 ARC: Don't use "+l" inline asm constraint
   b43fb9f6f162 ARC: mm: PAE40: Fix crash at munmap
   8d1ee7b245ef scsi: libfc: fix seconds_since_last_reset miscalculation
   10e2627377b0 scsi: hpsa: use bus '3' for legacy HBA devices
   e170c1003c02 libata-scsi: Fixup ata_gen_passthru_sense()

(From OE-Core rev: 9cd1850a0a8882796f89c65c073bc80f915f413f)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:23 +00:00
Bruce Ashfield
d28e6d2087 linux-yocto/4.9: -stable update to v4.9.2
The shortlog of changes follows:

   6f2fabab8d63 Linux 4.9.2
   8ed8791885aa drm/i915: Fix setting of boost freq tunable
   18a00ac6d7f1 drm/i915: skip the first 4k of stolen memory on everything >= gen8
   639641105443 drm/i915: Initialize dev_priv->atomic_cdclk_freq at init time
   159e2ea9ed49 drm/i915: Fix cdclk vs. dev_cdclk mess when not recomputing things
   d816da6f5766 drm/i915/dsi: Do not clear DPOUNIT_CLOCK_GATE_DISABLE from vlv_init_display_clock_gating
   6cb4179f97cf drm/i915/dsi: Fix chv_exec_gpio disabling the GPIOs it is setting
   2037b1b46cdb net: mvpp2: fix dma unmapping of TX buffers for fragments
   3f3a6bbe6f9f sg_write()/bsg_write() is not fit to be called under KERNEL_DS
   d024532a97db kconfig/nconf: Fix hang when editing symbol with a long prompt
   173fd37a3d21 target/user: Fix use-after-free of tcmu_cmds if they are expired
   630a2ef354bb libnvdimm, pfn: fix align attribute
   6838ac125324 of, numa: Return NUMA_NO_NODE from disable of_node_to_nid() if nid not possible.
   d5cf5ae25c95 powerpc/boot: Request no dynamic linker for boot wrapper
   efcb3d9442ff powerpc/ps3: Fix system hang with GCC 5 builds
   4b23132d6cf5 powerpc/64e: Convert cmpi to cmpwi in head_64.S
   369b330c9d82 SUNRPC: fix refcounting problems with auth_gss messages.
   ba15defe1807 pNFS: Fix a deadlock between read resends and layoutreturn
   e523ce8c99f9 pNFS: Clear NFS_LAYOUT_RETURN_REQUESTED when invalidating the layout stateid
   f32659df6e15 pNFS: Don't clear the layout stateid if a layout return is outstanding
   24b049fa0cd9 pNFS: On error, do not send LAYOUTGET until the LAYOUTRETURN has completed
   b775b86a5fe8 nfs_write_end(): fix handling of short copies
   fc6cb9c303e2 libceph: verify authorize reply on connect
   d8c34b0cc0be PCI: Check for PME in targeted sleep state
   7cc603e9a828 i40iw: Use correct src address in memcpy to rdma stats counters
   6195cd1a9628 bad_inode: add missing i_op initializers
   afd2a1994ea4 Input: drv260x - fix input device's parent assignment
   e5d92c0c84f3 v4l: tvp5150: Add missing break in set control handler
   7f89c1373637 media: solo6x10: fix lockup by avoiding delayed register write
   3fbe140e9d36 s5p-mfc: fix failure path of s5p_mfc_alloc_memdev()
   9fd64b830259 mn88473: fix chip id check on probe
   eb9afff9513d mn88472: fix chip id check on probe
   9aff8b170fe0 IB/cma: Fix a race condition in iboe_addr_get_sgid()
   476ed812c42d IB/rxe: Fix a memory leak in rxe_qp_cleanup()
   5984423bf7eb IB/multicast: Check ib_find_pkey() return value
   4187dfa67fa9 IPoIB: Avoid reading an uninitialized member variable
   382072e09f19 IB/mad: Fix an array index check
   239b40eb6189 fgraph: Handle a case where a tracer ignores set_graph_notrace
   a035dc674dd4 x86/smpboot: Make logical package management more robust
   3168762e8ad3 platform/x86: asus-nb-wmi.c: Add X45U quirk
   21be088c36c6 ftrace/x86_32: Set ftrace_stub to weak to prevent gcc from using short jumps to it
   e80ceb2da52e vsock/virtio: fix src/dst cid format
   d06485e0fcf5 fsnotify: Fix possible use-after-free in inode iteration on umount
   3f618a0b872f kvm: nVMX: Allow L1 to intercept software exceptions (#BP and #OF)
   94107133ae81 KVM: PPC: Book3S HV: Don't lose hardware R/C bit updates in H_PROTECT
   75b1053c2b8c KVM: PPC: Book3S HV: Save/restore XER in checkpointed register state
   483eeca2cf38 scsi: aacraid: remove wildcard for series 9 controllers
   8beb252f2be2 md/raid5: limit request size according to implementation limits
   a0357979d620 sc16is7xx: Drop bogus use of IRQF_ONESHOT
   7d5ec9eb3eea latent_entropy: fix ARM build error on earlier gcc
   959e95305f13 arm64: KVM: pmu: Reset PMSELR_EL0.SEL to a sane value before entering the guest
   111e0ccaf979 s390/kexec: use node 0 when re-adding crash kernel memory
   53bbee3348d8 s390/vmlogrdr: fix IUCV buffer allocation
   b3854cefe3d2 firmware: fix usermode helper fallback loading
   ce7ec3d7526c ARC: mm: arc700: Don't assume 2 colours for aliasing VIPT dcache
   9d33a3995667 scsi: avoid a permanent stop of the scsi device's request queue
   2a940b853ef6 scsi: zfcp: fix rport unblock race with LUN recovery
   744807cb251f scsi: zfcp: do not trace pure benign residual HBA responses at default level
   2ce34d9da427 scsi: zfcp: fix use-after-"free" in FC ingress path after TMF
   8032a30081c1 iscsi-target: Return error if unable to add network portal
   113783ec1cdb scsi: megaraid_sas: Do not set MPI2_TYPE_CUDA for JBOD FP path for FW which does not support JBOD sequence map
   6089f8712dcb scsi: megaraid_sas: For SRIOV enabled firmware, ensure VF driver waits for 30secs before reset
   2d2914349286 stm class: Fix device leak in open error path
   fbb28e76454f vt: fix Scroll Lock LED trigger name
   11aa5c10102a block: protect iterate_bdevs() against concurrent close
   09c154920e77 mei: me: add lewisburg device ids
   0814c3ede27a mei: request async autosuspend at the end of enumeration
   66469319c01a drivers/gpu/drm/ast: Fix infinite loop if read fails
   8dbd6f709e62 drm/amdgpu: fix init save/restore list in gfx_v8.0
   f2d3d7f84cdf drm/amdgpu: fix enable_cp_power_gating in gfx_v8.0.
   326760ba1802 drm/amd/powerplay: bypass fan table setup if no fan connected
   aa286e88fd91 drm/gma500: Add compat ioctl
   6187f21f8c97 drm/radeon/si: load the proper firmware on 0x87 oland boards
   851bedd86b95 drm/radeon: add additional pci revision to dpm workaround
   126f676b087d drm/radeon: Hide the HW cursor while it's out of bounds
   45ec673dfe0f drm/radeon: Also call cursor_move_locked when the cursor size changes
   9195157f7d03 drm/nouveau/fifo/gf100-: protect channel preempt with subdev mutex
   64a5c4725fd3 drm/nouveau/i2c/gk110b,gm10x: use the correct implementation
   bfa563bae251 drm/nouveau/ttm: wait for bo fence to signal before unmapping vmas
   a5b4c77c92da drm/nouveau/ltc: protect clearing of comptags with mutex
   d95ef8af5425 drm/nouveau/bios: require checksum to match for fast acpi shadow method
   2c256b8e81bf drm/nouveau/kms: lvds panel strap moved again on maxwell
   42e5fd6bce5b drm/nouveau/gr: fallback to legacy paths during firmware lookup
   c2a51dd3138d drm/amd/amdgpu: enable GUI idle INT after enabling CGCG
   8e1b86f30bc1 drm/amdgpu: Also call cursor_move_locked when the cursor size changes
   2cea21516231 drm/amdgpu: Store CRTC relative amdgpu_crtc->cursor_x/y values
   eb0d743b4188 drm/amdgpu: add additional pci revision to dpm workaround
   f3dd47e0f683 drm/amdgpu/si: load the proper firmware on 0x87 oland boards
   a04465251f94 ACPI / video: Add force_native quirk for HP Pavilion dv6
   6d46601e6564 ACPI / video: Add force_native quirk for Dell XPS 17 L702X
   745f7d0d1951 staging: comedi: ni_mio_common: fix E series ni_ai_insn_read() data
   bd1692bed615 staging: comedi: ni_mio_common: fix M Series ni_ai_insn_read() data mask
   3b2f287b7795 staging: lustre: ldlm: pl_recalc time handling is wrong
   38b2dc0b0f38 staging/lustre/osc: Revert erroneous list_for_each_entry_safe use
   bf6a9b31e8a9 hv: acquire vmbus_connection.channel_mutex in vmbus_free_channels()
   5bd6ccd9c95f docs: sphinx-extensions: make rstFlatTable work with docutils 0.13
   fab303ba78ee thermal: hwmon: Properly report critical temperature in sysfs
   05bc2071b11b clk: bcm2835: Avoid overwriting the div info when disabling a pll_div clk
   b6d666315b99 arm64: tegra: Add VDD_GPU regulator to Jetson TX1
   5f654078b760 gpio: chardev: Return error for seek operations
   acd0993f8e97 gpio: stmpe: fix interrupt handling bug
   ca22975afa14 timekeeping_Force_unsigned_clocksource_to_nanoseconds_conversion
   efd16f76f4da mmc: sd: Meet alignment requirements for raw_ssr DMA
   dbcde92b1b44 regulator: stw481x-vmmc: fix ages old enable error
   cee935845420 mmc: sdhci: Fix recovery from tuning timeout
   5bb425033ef1 Revert "mmc: sdhci: Reset cmd and data circuits after tuning failure"
   71717a3ef900 ath9k: do not return early to fix rcu unlocking
   de5d62f892c3 ath9k: Really fix LED polarity for some Mini PCI AR9220 MB92 cards.
   072ebf89ca23 ath9k: fix ath9k_hw_gpio_get() to return 0 or 1 on success
   1976c7689a58 cfg80211/mac80211: fix BSS leaks when abandoning assoc attempts
   3f23f7f21ac5 rtl8xxxu: Work around issue with 8192eu and 8723bu devices not reconnecting
   19d55b9f32b6 perf/x86/intel/cstate: Prevent hotplug callback leak
   ba12b35fbd69 perf annotate: Don't throw error for zero length symbols
   54fa190d0a54 perf/x86: Fix exclusion of BTS and LBR for Goldmont
   98068574928f rtlwifi: Fix enter/exit power_save
   ea23fca0c600 ath10k: fix soft lockup during firmware crash/hw-restart
   b8425f413466 ssb: Fix error routine when fallback SPROM fails
   6437abdb624e Linux 4.9.1
   705df55bd0cf x86/kbuild: enable modversions for symbols exported from asm
   c728f2b5edf2 builddeb: fix cross-building to arm64 producing host-arch debs
   e12096297ea5 xfs: set AGI buffer type in xlog_recover_clear_agi_bucket
   c11a13d6f527 xfs: fix up xfs_swap_extent_forks inline extent handling
   e67053ad4840 arm/xen: Use alloc_percpu rather than __alloc_percpu
   45394bf3e11e xen/gntdev: Use VM_MIXEDMAP instead of VM_IO to avoid NUMA balancing
   b7bbf06c21aa tpm xen: Remove bogus tpm_chip_unregister
   f726f4f411f9 kernel/debug/debug_core.c: more properly delay for secondary CPUs
   9b78d6905424 watchdog: qcom: fix kernel panic due to external abort on non-linefetch
   2eccf0e0bcb1 watchdog: mei_wdt: request stop on reboot to prevent false positive event
   36b08b819713 kernel/watchdog: use nmi registers snapshot in hardlockup handler
   c954acc0007b CIFS: Fix a possible memory corruption in push locks
   9f9d98246e5f CIFS: Decrease verbosity of ioctl call
   46890ffba1d6 CIFS: Fix a possible double locking of mutex during reconnect
   69d13b69e79c CIFS: Fix missing nls unload in smb2_reconnect()
   48f9526f4dcb CIFS: Fix a possible memory corruption during reconnect
   7aa58e7ad53b cifs: Fix smbencrypt() to stop pointing a scatterlist at the stack
   41c856b32900 ASoC: intel: Fix crash at suspend/resume without card registration
   f5dca4881fac dm space map metadata: fix 'struct sm_metadata' leak on failed create
   461f272954cf dm raid: fix discard support regression
   e362c317ba76 dm rq: fix a race condition in rq_completed()
   2c017f77e13d dm crypt: mark key as invalid until properly loaded
   3fae2a9e994b dm flakey: return -EINVAL on interval bounds error in flakey_ctr()
   e74fb822281e dm table: an 'all_blk_mq' table must be loaded for a blk-mq DM device
   470b6910f7c1 dm table: fix 'all_blk_mq' inconsistency when an empty table is loaded
   67b0069a5175 blk-mq: Do not invoke .queue_rq() for a stopped queue
   7ac62bcde2d4 PM / OPP: Don't use OPP structure outside of rcu protected section
   c7a8a0ac8fee PM / OPP: Pass opp_table to dev_pm_opp_put_regulator()
   eab1c4e2d0ad usb: gadget: composite: always set ep->mult to a sensible value
   44919a2ac4c6 mm, page_alloc: keep pcp count and list contents in sync if struct page is corrupted
   04597beae7c2 mm/vmscan.c: set correct defer count for shrinker
   fe3d462821b0 nvmet: Fix possible infinite loop triggered on hot namespace removal
   890c39d35eb0 loop: return proper error from loop_queue_rq()
   01e15b3328c4 f2fs: fix to determine start_cp_addr by sbi->cur_cp_pack
   027611ef345d f2fs: fix overflow due to condition check order
   1134ef11ffff f2fs: set ->owner for debugfs status file's file_operations
   a43e1c459a3d Revert "f2fs: use percpu_counter for # of dirty pages in inode"
   9abce3ca80a7 ext4: do not perform data journaling when data is encrypted
   acf3efd6f003 ext4: return -ENOMEM instead of success
   3e4f8da9d177 ext4: reject inodes with negative size
   8084f57bc468 ext4: add sanity checking to count_overhead()
   956e2a0e6779 ext4: fix in-superblock mount options processing
   01772f4683a9 ext4: use more strict checks for inodes_per_block on mount
   b493c715cdce ext4: fix stack memory corruption with 64k block size
   c3881abae6e7 ext4: fix mballoc breakage with 64k block size
   24d1251a5d83 ext4: don't lock buffer in ext4_commit_super if holding spinlock
   21cc91554c3d crypto: caam - fix AEAD givenc descriptors
   e71b4e061c96 ptrace: Don't allow accessing an undumpable mm
   e747b4ae3b6b ptrace: Capture the ptracer's creds not PT_PTRACE_CAP
   48466c4772d2 vfs,mm: fix return value of read() at s_maxbytes
   694a95fa6dae mm: Add a user_ns owner to mm_struct and fix ptrace permission checks
   cfa2d65b2622 block_dev: don't test bdev->bd_contains when it is not stable
   b6cce9b8e813 splice: reinstate SIGPIPE/EPIPE handling
   c1df5a63716b fs: exec: apply CLOEXEC before changing dumpable task flags
   21245b8635e8 exec: Ensure mm->user_ns contains the execed files
   0de98eef9c11 clk: ti: omap36xx: Work around sprz319 advisory 2.1
   0ce4f00087b4 ALSA: hda: when comparing pin configurations, ignore assoc in addition to seq
   e029ef3a9c82 ALSA: hda - Gate the mic jack on HP Z1 Gen3 AiO
   0119d5d44034 ALSA: hda - fix headset-mic problem on a Dell laptop
   37b7c5db5a30 ALSA: hda - ignore the assoc and seq when comparing pin configurations
   0f1047be4a9f ALSA: hda/ca0132 - Add quirk for Alienware 15 R2 2016
   fa2e770f88bc ALSA: hiface: Fix M2Tech hiFace driver sampling rate change
   205d3de9637f ALSA: usb-audio: Add QuickCam Communicate Deluxe/S7500 to volume_control_quirks
   77bd73ce21fa usbip: vudc: fix: Clear already_seen flag also for ep0
   420f170ce1ba USB: UHCI: report non-PME wakeup signalling for Intel hardware
   e0aa5ec40d6e usb: gadget: composite: correctly initialize ep->maxpacket
   5180169dae85 usb: gadget: f_uac2: fix error handling at afunc_bind
   eab169397ad6 usb: core: usbport: Use proper LED API to fix potential crash
   32a35351b7ec usb: hub: Fix auto-remount of safely removed or ejected USB-3 devices
   3666b6280351 usb: dwc3: gadget: set PCM1 field of isochronous-first TRBs
   20d7c1a68b5b USB: cdc-acm: add device id for GW Instek AFG-125
   c094cd32b0c7 USB: serial: kl5kusb105: fix open error path
   5e7c90bd53c6 USB: serial: option: add dlink dwm-158
   142513d6dc7c USB: serial: option: add support for Telit LE922A PIDs 0x1040, 0x1041
   1a5ec7dd17a9 Btrfs: fix qgroup rescan worker initialization
   a1e0e0476afb Btrfs: fix emptiness check for dirtied extent buffers at check_leaf()
   c01ea880e88a btrfs: store and load values of stripes_min/stripes_max in balance status item
   01f285fe1d88 Btrfs: fix relocation incorrectly dropping data references
   26dc52465f0d Btrfs: fix tree search logic when replaying directory entry deletes
   664b053c5363 Btrfs: fix deadlock caused by fsync when logging directory entries
   7d470f04e36c Btrfs: fix BUG_ON in btrfs_mark_buffer_dirty
   3bac322e18c3 btrfs: limit async_work allocation and worker func duration
   56eaecc8ecf3 hotplug: Make register and unregister notifier API symmetric

(From OE-Core rev: 338874156bbe1b63a225643910bcdf0491d5c7f9)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:23 +00:00
Bruce Ashfield
23e27711af kernel-yocto: firewire and audio configuration updates
Integrating firewire and audio configuration updates from Jussi:

    Add support for IEEE-1394 (Firewire)

    Adds support for IEEE-1394 aka Firewire bus and some commonly used
    devices.

    Signed-off-by: Jussi Laako <jussi.laako@linux.intel.com>

    Update audio support

    Updates audio support to work with modern audio hardware while
    dropping some legacy parts.

    Signed-off-by: Jussi Laako <jussi.laako@linux.intel.com>

(From OE-Core rev: bbde3fa90ea4470630049a92ee7f683115868466)

Signed-off-by: Jussi Laako <jussi.laako@linux.intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:23 +00:00
Bruce Ashfield
12da4527ea linux-yocto/4.4/4.8/4.9: netfilter: iptables: enable NAT tables
This changes adds 'nat' table in iptables. The netfilter side
is already configured for NAT but iptables config was missing.

Further, CONFIG_IP_NF_TARGET* configured below depend on
CONFIG_IP_NF_NAT but remain disabled unless CONFIG_IP_NF_NAT
is explicitly enabled.

CONFIG_IP_NF_TARGET_MASQUERADE is needed by Connman to
support tethering.

(From OE-Core rev: 0a382b58c01bb359b225f48f312f696f0badf27b)

Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:23 +00:00
Bruce Ashfield
5191d13abe kernel-yocto: tiny features aka Link Time Optimization
Integrating the following patches for the 4.4/4.8 and 4.9
kernel to enable LTO for linux-yocto-tiny configurations
(i.e. poky-tiny).

b9735c0b4235 intel-quark: Remove support for serial-all
ce02da2e7833 features/usb/serial: Add new usb serial feature
f5b00d3a7e68 soc/x1000: Remove 'default policy' features
ca2dc186ff32 soc/x1000: Remove unnecessary features
90061752cbb5 soc/x1000: Remove bsp/common-pc/*
00b26ed213c4 meta/intel-common: Have intel-quark-tiny use common-drivers-32-essential
7ce24a2c497b meta/intel-common: Add intel-common-drivers-32-essential feature
ef711e0ab70e meta: Add lto-debug feature
1ca570817bf3 meta: Add lto-disable feature
45e5c2e9118e meta: Add lto (Link-Time Optimization) enablement feature

(From OE-Core rev: 6a8e6b66ff65cf849a3c34a506cf650abfef2420)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:23 +00:00
Bruce Ashfield
d3c607aee8 linux-yocto-rt/4.9: add -rt specific patches
The 4.9-rt kernel has been released, and this commit integrates
the 286 patches in that series.

(From OE-Core rev: 5249e168ac3afac7ddc5d67d526c3bf74d82aa5c)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:22 +00:00
Bruce Ashfield
da46595d90 kernel: introduce linux-yocto v4.9 recipes
Introducing the 4.9 kernel recipes. 4.9 will be a LTSI kernel, so we
introduce these recipes with the intent that they'll replace 4.1 as
the LTSI kernel, and other older kernels (i.e 4.4/4.8)  once 4.9
shown to be stable.

linux-yocto-tiny and linux-yocto-rt are also part of this commit, but
are placeholders while we wait for their content to be available. They
will build, but provide nothing above the standard kernel at the
moment.

(From OE-Core rev: e8a1f4ccb10af234af1f2cb6905c638992558556)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:22 +00:00
Aníbal Limón
f9c758a2e7 qemu: Upgrade to 2.7.1
Minor upgrade contains fixes from 2.7.0.

Removed patches (already in upstream):

- 0001-pci-assign-sync-MSI-MSI-X-cap-and-table-with-PCIDevi.patch
- 0001-virtio-zero-vq-inuse-in-virtio_reset.patch
- 0002-fix-CVE-2016-7423.patch

(From OE-Core rev: 0f29bd2c267efcb0087d73c38202ba233af636fd)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:22 +00:00
Francisco Pedraza
51b6df76f2 oeqa/selftest: Adds test case for sdk-update eSDK
1. Test case adds perl recipe before build eSDK.
2. After this added recipe, the script verifies the update:

    ${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.sh
    oe-publish-sdk [esdk] [path-to-http]
    CORE_IMAGE_EXTRA_INSTALL = "perl"
    bitbake -c populate-sdk-ext [some-image]
    devtool sdk-update

This should fix [YOCTO #9369]

(From OE-Core rev: 21bd406bf89e9ceafe1a807877406be817cacca6)

Signed-off-by: Francisco Pedraza <francisco.j.pedraza.gonzalez@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:22 +00:00
Benjamin Esquivel
44ac2995b8 selftest: automatically add the meta-selftest layer
adding the meta-selftest layer is a small bump you always encounter
when you want to run selftest. Adding an automatic procedure to include
the layer if it is not yet present.

(From OE-Core rev: b5000dd7b1d74d5dfede869ffa75ed87f5a8553c)

Signed-off-by: Benjamin Esquivel <benjamin.esquivel@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:22 +00:00
Saul Wold
45ae1e9684 linux-firmware: relocate ath9k_htc blobs to correct package
The newer firmware blobs were versioned and landing in the default
package so move them to their appropriately named package.

[YOCTO #10942]

(From OE-Core rev: d7657df13d18f982d8ca08f1c992f4605f88ceb4)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:22 +00:00
Paul Eggleton
dd83bdb2f7 create-pull-request: fix for OE cgit URL change
The /cgit.cgi/ part is no longer valid in cgit URLs on
git.openembedded.org as of recent infrastructure changes.

(From OE-Core rev: a17ac420290c7e0debddec78b9540ae8726720dc)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:22 +00:00
Paul Eggleton
61f206195d devtool: check locale and refuse to start if it isn't UTF-8
We need to ensure the locale is UTF-8 or otherwise strange errors will
occur later on during execution - the same reason we check this in
BitBake itself. Unfortunately this check has to be before command line
parsing and therefore showing the help text in response to --help, since
that relies upon parsing bitbake's configuration (as we need to load
plugins in other layers).

Fixes [YOCTO #10908].

(From OE-Core rev: 370c6ba16c72bb52e80da098a5812ed1e09ac659)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:22 +00:00
Robert Yang
be60ae52f2 qemuboot.bbclass: add blank lines in comments
Add blank lines in comments to make it easy for readind and updating.

(From OE-Core rev: 3f3344d1c063b0013a9ae7203bac30ab8f4ea17c)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:22 +00:00
Robert Yang
9dd223bf18 runqemu: fixes for slirp, network device and hostfwd
Fixed:
- Add QB_NETWORK_DEVICE to set network device, it will be used by both
  slirp and tap.
- Set QB_NETWORK_DEVICE to "-device virtio-net-pci" in qemuboot.bbclass
  but runqemu will default to "-device e1000" when QB_NETWORK_DEVICE is
  not set, this is because oe-core's qemu targets support
  virtio-net-pci, but the one outside of oe-core may not,
  "-device e1000" is more common.
- Set hostfwd by default: 2222 -> 22, 2323 -> 23, and it will choose a
  usable port when the one like 222 is being used. This can avoid
  conflicts when multilib slirp qemus are running. We can forward more
  ports by default if needed, and bsp.conf can custom it.
- Use different mac sections for slirp and tap to fix conflicts when
  running both of them on the same host.

[YOCTO #7887]

CC: Nathan Rossi <nathan@nathanrossi.com>
CC: Randy Witt <randy.e.witt@linux.intel.com>
(From OE-Core rev: 7dddd090806914a62d977730440d803e48f44763)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:22 +00:00
Robert Yang
5ea3627dbb runqemu: support multiple qemus running when nfs
Fixed:
* In build1:
  $ runqemu nfs qemux86-64
  In build2:
  $ runqemu nfs qemux86-64

  It would fail before since the port numerbs and conf files are
  conflicted, now make runqemu-export-rootfs work together with runqemu to
  fix the problem.

* And we don't need export PSEUDO_LOCALSTATEDIR in runqemu, the
  runqemu-export-rootfs can handle it well based on NFS_EXPORT_DIR.

* Remove "async" option from unfsd to fix warning in syslog:
  Warning: unknown exports option `async' ignored

* Fixed typos

Both slirp and tap can work.

(From OE-Core rev: 84b2281595bbdb497daa42640e3ee4658bf0bed8)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:22 +00:00
Marek Vasut
c32720422e u-boot: Update to 2017.01 release
Upgrade U-Boot to the latest version.

(From OE-Core rev: d151d86d18127ae63be3cddde605e7953bd812d9)

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Cc: Denys Dmytriyenko <denis@denix.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:22 +00:00
Chen Qi
2a64701acf package_manager: default to have scriptlet output captured in log
We need to have scriptlet output captured in log. If we don't do so,
some useful information from scriptlets (especially postinstall script)
would be missing. In case a script has a warning message but it does not
necessarily have to fail, the message should be captured.

Opkg has already done that. Change for rpm and dpkg so that scriptlet
output is captured and no warning message is missing.

(From OE-Core rev: 0e52e0c619e02327602d83999a61d978d3a9240e)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:22 +00:00
Joe Slater
83ec24789f build-compare: derive PV from SRCPV
Currently, PV is "git" and contains no version information.

(From OE-Core rev: e1fe3f8a601ba289a2e9963ef3f1309e431704eb)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:22 +00:00
Khem Raj
49fec741eb glibc: Upgrade to 2.25 snapshot
glibc 2.25 release is in freeze stage now

(From OE-Core rev: b72dbf70646e9dca0dbb5b22bc70d919e6eb8bdc)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:22 +00:00
Markus Lehtonen
f4c96ea829 oeqa.buildperf: store measurements as a dict (object) in the JSON report
Store measurements as a dict, instead of an array, in the JSON report.
This change makes traversing of the report much easier. The change also
disallows identically named measurements under one test, as a sanity
check for the test cases.

[YOCTO #10590]

(From OE-Core rev: 81065092f38c9631dcf5917d70a25809a21de5f4)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:22 +00:00
Markus Lehtonen
7171710acd oeqa.buildperf: change sorting in json report
Use OrderedDict() instead of sort_keys=True (of json.dump()). Makes for
more logical sorting of the values in the report.

[YOCTO #10590]

(From OE-Core rev: 75e8aec0e0d81888be47b35c3c84df73edb91868)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:22 +00:00
Markus Lehtonen
8e01802c9f oe-build-perf-test: remove unused imports and fix indent
[YOCTO #10590]

(From OE-Core rev: 0b1892fa9165407a156609ff7cb3708e21bacd8c)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:22 +00:00
Markus Lehtonen
0981bcb098 oe-build-perf-test: save test metadata in a separate file
The patch introduces a new metadata (.json or .xml) file in the output
directory. All test meta data, e.g. git revision information and tester
host information is now stored there. The JSON report format is slightly
changed as the metadata is not present in results.json anymore.

[YOCTO #10590]

(From OE-Core rev: 2036c646019660e32f1bc277fdec0cdbff0afdd4)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:22 +00:00
Markus Lehtonen
0e2d84728b oeqa.buildperf: report results in chronological order
Write results in the report file in chronological order, instead of
random order dependent on test statuses.

[YOCTO #10590]

(From OE-Core rev: 91ba6ea9fe2eb82f992a6516d7971b435e1cfd32)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:22 +00:00
Markus Lehtonen
fa4742f585 oeqa.buildperf: extend xml report format with test description
Add test description as an attribute to the <testcase> element.

[YOCTO #10590]

(From OE-Core rev: 7c23ddfeb4a46ee519cafdbd83ad1880621fba4d)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:21 +00:00
Markus Lehtonen
4a26ceaecf oeqa.buildperf: extend xml format to contain measurement data
Make the xml report format slightly non-standard by incorporating
measurement data into it.

[YOCTO #10590]

(From OE-Core rev: b7164d30fb125ff0c85a2ea508b0f1801aa57f66)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:21 +00:00
Markus Lehtonen
07c245792e oe-build-perf-test: enable xml reporting
Add --xml command line option to oe-build-perf-test script for producing
a test report in JUnit XML format instead of JSON.

[YOCTO #10590]

(From OE-Core rev: 21ae1c491b93675254b7733640662b566ed76f98)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:21 +00:00
Markus Lehtonen
96fcb0f7b4 oeqa.buildperf: include error details in json report
This will typically mean assert message and exception type plus a
traceback. In case of skipped tests the reason (i.e. skip message) is
included.

[YOCTO #10590]

(From OE-Core rev: bd5f5ab6f7350b4487c9cc2dbd100fa4b687d0fa)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:21 +00:00
Markus Lehtonen
184afbc6ce oeqa.buildperf: sync test status names with JUnit
Use 'failure' instead of 'fail'. Also, use 'expected' instead of 'exp'.

[YOCTO #10590]

(From OE-Core rev: 51ae18c64eee074478157a484f71a53faadca80b)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:21 +00:00
Markus Lehtonen
ef988b3d06 oeqa.buildperf: prevent a crash on unexpected success
(From OE-Core rev: af205d9a13d182a0b590426ba8c4e3dff7f3f02b)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:21 +00:00
Bruce Ashfield
6a4debb732 kern-tools: kconf_check: flag CONFIG options with invalid spaces
Options with spacs around = signs will be droped/ignored by the
kernel.

The audit phase can detect this and warn the user:

    % kconf_check --report -o .kernel-meta/cfg/ \
      linux-qemux86-standard-build/.config `pwd` $cfgs

     [errors (3): .kernel-meta/cfg/fragment_errors.txt
       There are errors withing the config fragments.

    % cat .kernel-meta/cfg/fragment_errors.txt
       Warning: Ignoring "CONFIG_PARAVIRTT_CLOCK =y" -- spaces around equals are invalid
       Warning: Ignoring "CONFIG_PARAVIRTTT_CLOCK = y" -- spaces around equals are invalid
       Warning: Ignoring "CONFIG_PARAVIRTTTT_CLOCK= y" -- spaces around equals are invalid

(From OE-Core rev: 952a455c09eb88755b2d24ae05c2d6b886922b63)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:21 +00:00
Bruce Ashfield
e7e7e9df16 kern-tools: scc: Fix process_file error check
Commit 626ceac135fa66277c2fa53197be33cc9d4d7614 broke the error
    check in process_file by adding in three lines that stomp on $? which
    print the output file when verbose is set.

    Move output file on verbose print to an elif after the error check.

    Signed-off-by: George McCollister <george.mccollister@gmail.com>

(From OE-Core rev: 01657e8023ee535420ab5ba4a5d1952e13bce0cd)

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:21 +00:00
Maxin B. John
dd501e3075 busybox: refresh the flock patch
Upstream accepted the flock fix with some improvements. Backport those
changes.

(From OE-Core rev: 16813b55d1cd624820f955ab752c922f305856e8)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:21 +00:00
Tanu Kaskinen
12106c68cd alsa-tools: 1.1.0 -> 1.1.3
Drop 0001-Cus428Midi-Explicitly-cast-constant-to-char-type.patch,
because the new release has an equivalent fix (and that's actually the
only change in the new release).

(From OE-Core rev: df748d5b9f1cc0166cb8de5d770e001171cc3926)

Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:21 +00:00
Andreas Müller
0af7715cbb alsa-utils(-scripts): fix compile on build machines with python-docutils installed
(From OE-Core rev: dca468b5977b9c2cb2268c32c92e8c41c586f172)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:21 +00:00
Andreas Müller
1f663369ff alsa-utils-scripts: update 1.1.2 -> 1.1.3
(From OE-Core rev: d421cbe8e323e398852404a0fe3e11283e3bb61e)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:21 +00:00
Andreas Müller
f58050d970 alsa-utils: update 1.1.2 -> 1.1.3
(From OE-Core rev: 307f4996eaad61c638cb69a04d0710c5db895ff9)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:21 +00:00
Tanu Kaskinen
624ceb2961 flac: 1.3.1 -> 1.3.2
Changelog: https://xiph.org/flac/changelog.html

The license checksum changes are due to simple copyright year updates.

(From OE-Core rev: 2383cfd61e7be076b2079f159a3df1d237d28bb8)

Signed-off-by: Tanu Kaskinen <tanuk@iki.fi>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:21 +00:00
Richard Purdie
a0336965aa python3: Add upstream random.c fixes for recent glibc
python3 fails to work with recent glibc versions on older hosts, giving
errors like:

Fatal Python error: getentropy() failed
Aborted

This breaks buildtools-tarball and hence eSDK. This patch backports the
changes to random.c from upstream that address the problem.

(From OE-Core rev: 126b2c47b1806b53fbd9a4706bc48bc7c4efd3be)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:21 +00:00
Mariano Lopez
6cea270c54 selftest/runtime-test.py: Adapt test to use new runtime framework
This adapt the current runtime selftest to use the new runtime
framework.

(From OE-Core rev: cfeec8a59ba03f98944fd3dca1a67d80e7edb4c9)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:21 +00:00
Mariano Lopez
46ce0b5ef3 testexport.bbclass: Migrate testexport to use new framework
This migrates current testexport implmentation to use the
new OEQA framework.

[YOCTO #10686]

(From OE-Core rev: 92cb884c989460563a063b29d2be8b7acd20577e)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:21 +00:00
Mariano Lopez
1cc2bac7ec oeqa/runtime/context.py: Add defaults for runtime context
This adds default values to OERuntimeTestContextExecutor class in
order to make easier the execution of exported test that were
generated with testexport class.

[YOCTO #10686]

(From OE-Core rev: c78aeaac3b75610bada62b138c9670815a07ee80)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:21 +00:00
Mariano Lopez
58789be270 testimage.bbclass: Add package install feature
This allows to use the package install feature with
the new OEQA framework.

[YOCTO #10234]

(From OE-Core rev: 077dc19445574457769eb4f231de97e8059cb75e)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:20 +00:00
Mariano Lopez
f8d7db1905 testimage.bbclass: Add support for package extraction
testimage support the installation of packages without a package
manager in the target. This adds support for package extraction
required to support the installation feature.

[YOCTO #10234]

(From OE-Core rev: 8c7335290cb00ed0683241249297ca573ebd353a)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:20 +00:00
Mariano Lopez
8970ed4b1f oeqa/core/utils/test.py: Add functions to get module path
This will add functions to get module file path from a test
case or a complete suite.

[YOCTO #10234]

(From OE-Core rev: 11dd49cb9faaf6588f045083ab5bd6679e2eafc1)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:20 +00:00
Mariano Lopez
41e4db0eea runtime/cases/smart.py: Migrate smart tests
This migrates the smart test from the old framework to
the new one. This has its own commit because smart
test was using bb and oe libraries that are available
when exporting the test cases to run in a different host.

Because of the removal of bb and oe libraries index and
packages feeds creation will be managed in testimage bbclass.

[YOCTO #10234]

(From OE-Core rev: 8d64ac4208e8dcb8a6fde6ea2959c9b3edfe2172)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:20 +00:00
Mariano Lopez
b569aa0e00 oeqa/runtime/cases: Migrate runtime tests.
This migrates current runtime test suite to be used with the new framework.

[YOCTO #10234]

(From OE-Core rev: b39c61f2d442c79d03b73e8ffd104996fcb2177e)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:20 +00:00
Mariano Lopez
3857e5c91d testimage.bbclass: Migrate class to use new runtime framework
This migrates testimage class to use the new framework. Most of
the code added here is to get rid off the data store dependency.

[YOCTO #10234]

(From OE-Core rev: 2aa5a4954d7610f31875ba7e655f25f8892517b6)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:20 +00:00
Mariano Lopez
211c5be54c core/target/qemu.py Adds qemu target
This adds qemu target to be used in testimage.
It uses the current QemuRunner class in order
to boot and control qemu.

[YOCTO #10231]

(From OE-Core rev: 44d4e9d0bb31fbc28d8c1fad8860ff56e5ae043a)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:20 +00:00
Mariano Lopez
71e456add8 oeqa/runtime/context.py: Add logger to getTarget
Current targets (ssh and qemu) require a logger in their
constructors, so in order to get a new target we need
to provide the logger.

[YOCTO #10686]

(From OE-Core rev: 26bae3c255bc1e1cc8d81db0cffc809de0182a43)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:20 +00:00
Aníbal Limón
0e8d0a03f0 oeqa/runtime/context.py: Prepare for qemu
This commit will prepare context to use qemu and not just
simpleremote.

(From OE-Core rev: 7485a08c967916fb6edff4cc573d9314ec577031)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:20 +00:00
Aníbal Limón
2d34b08533 oeqa/utils/dump: Move get_host_dumper to OERuntimeTestContextExecutor class
To avoid getVar calls inside a utils module, also moves
get_host_dumper import inside testexport isn't needed.

[YOCTO #10231]

(From OE-Core rev: f8beaf94e943a8b20d146be47a756af312ef107c)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:20 +00:00
Aníbal Limón
1247118870 oeqa/runtime/context: Move helper functions for process args to executor
(From OE-Core rev: 07ee2fa0008a50da87fd840aea5e8bb6051c68fa)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:20 +00:00
Aníbal Limón
6c3ca00884 oeqa/runtime/context: Add runtime option group and options for target type and server ip.
(From OE-Core rev: d3cc6761a13fd1da673829797b45323aed7997d0)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:20 +00:00
Mariano Lopez
32a3f4d6ab oeqa/core/context: Add option to select tests to run
This add the option to select what tests to run in the
<module>[.<class>[.<test>]] format.

Currently it just support modules

(From OE-Core rev: 0050565d71cee5a0cc22660b2398e4334d4b6719)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:20 +00:00
Mariano Lopez
41b0b31a84 oeqa/core/decorator: Add skipIfNotDataVar and skipIfNotInDataVar
skipIfNotDataVar will skip a test if a variable doesn't have certain value.

skipIfNotInDataVar will skip a test if a value is not in a certain variable.

(From OE-Core rev: a81045f4e2b740173237f5ae4e80e2bc0b287faa)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:20 +00:00
Mariano Lopez
c35b42cdbb oeqa/runtime/utils/targetbuildproject.py: Don't use more than 80 characters per line
(From OE-Core rev: 95a55e0736fc59ecdcb88d43f08b447ffa5a43ed)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:20 +00:00
Mariano Lopez
5f57fd0b08 oeqa/runtime/files: Move runtime files from old directory
As part of the refactor we require to move the files used
in runtime testing to the new directory. This also adds
the path to the runtime test context.

[YOCTO #10234]

(From OE-Core rev: f80c21b46f69c42ff0853bf8abd01cf0c082c346)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:20 +00:00
Mariano Lopez
bfe20fd23c oeqa/core/decorator/data.py: Add skipIfNotFeature decorator
This adds a new decorator to check if image under tests has
certain DISTRO_FEATURE or IMAGE_FEATURE.

[YOCTO #10234]

(From OE-Core rev: 8740803d0696a0e97b72210a56f4fbd3135826ed)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:20 +00:00
Mariano Lopez
9ee0816ca9 oeqa/runtime: Add OEHasPackage decorator
This new decorator will be used to skip the test
if the image under test doesn't have the required
packages installed.

[YOCTO #10234]

(From OE-Core rev: 021449938ff0b4d182d7f02930a80693f109c8ba)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:20 +00:00
Mariano Lopez
4cd982566b oeqa/runtime: Add case, context and loader classes for runtime testing
This adds OERuntimeTestCase, OERuntimeTestContext, and OERuntimeTestLoader
to be used for runtime testing.

As expected there are some changes in runtime context:

- Adds the target to be used for runtime testing, the default
is a SSH connection to the device under test running a OE image.
- Runtime context requires image manifest because several
tests are skipped if a package is missing or installed.
- Several tests require the output of the ps command and it changes
its output and arguments if busybox o procps is installed, so the
case must use the correct ps command.

[YOCTO #10234]

(From OE-Core rev: f995f178de79d6d11422cd879d06371811f50651)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:20 +00:00
Mariano Lopez
6ad52a82ea oeqa/core/target Add OESSHTarget to sent commands to targets using SSH
With this commit now it is possible to add targets with SSH for testing.
Most of it was imported for existing code, with improvements in log
handling.

[YOCTO #10234]

(From OE-Core rev: 3bc13548df4adb85f09467d200530a9c9f60da04)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:20 +00:00
Aníbal Limón
b61326efb1 oeqa/runtime: Move to runtime_cases
The new oeqa core framework will modify the structure of the runtime
folder the new runtime folder will have python code inside to support
runtime test cases.

(From OE-Core rev: 637b712096e9d230e15b1a432a561e4118db34c8)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:19 +00:00
Aníbal Limón
ba1aec3407 oeqa: Fix files handling on runtime tests.
Common files was move to oeqa/files from oeqa/runtime/files
because the same files are used across Runtime,SDK,eSDK tests.

(From OE-Core rev: f099302efe8f222c3e4ae3604429f5ede4fd8c67)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:19 +00:00
Aníbal Limón
e5f05409d0 oeqa/runtime: Fix TargetBuildProject instances
TargetBuildProject was refactored to avoid bitbake dependency so
the instance don't allow to pass data store anymore.

classes/testimage: Export proxies before run tests

The TargetBuildProject based tests download archives from network.

(From OE-Core rev: e275f29de500a338a02402ecc570405309963b35)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:19 +00:00
Aníbal Limón
260741847a oeqa/sdkext/cases: Migrate test case to new OEQA framework
Summary,

- Changes base case class to OESDKExtTest.
- Changes decorator classes to new ones.
- Chnages variable names sdktestdir -> sdk_dir.
- Added missing license to MIT.

(From OE-Core rev: 49568055df0a64e4228f27130b13ccafbba2a460)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:19 +00:00
Aníbal Limón
03d175f1fa classes/testsdk: Migrate to use the new OESDKExtTestContext
(From OE-Core rev: b254822dad850ce74563c83b7a9e31463501baa7)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:19 +00:00
Aníbal Limón
14eee4fdf8 oeqa/sdkext: Adds case and context modules.
The extensible sdk context and case modules extends the sdk ones,
this means that the tests from sdk are run also the sdkext tests.

Enables support in context for use oe-test esdk command for run
the test suites, the same options of sdk are required for run esdk tests.

Removes old related to case and context inside oetest.py.

[YOCTO #10599]

(From OE-Core rev: 1f0bb99249744b87dd39227a4cf37f2341f5499c)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:19 +00:00
Aníbal Limón
55f05fab2b oeqa/sdkext: Move test cases inside cases directory
For match with the new structure of the OEQA framework.

In the new framework Test component base directory in this case
sdk module will contain case and context implementations.

[YOCTO #10599]

(From OE-Core rev: bdb92fa4d9bd2e4a0a14e3adc62a6b9e9bf639d3)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:19 +00:00
Aníbal Limón
3fac2417dd classes/testsdk: Remove the need of TEST_LOG_DIR variable
The TEST_LOG_DIR was used for store sdk_target_log this log
contains the output of the run of build commands now that information
could be found also on log.do_testsdk under WORKDIR.

The log will continue to store into SDK_DIR instead of TEST_LOG_DIR.

(From OE-Core rev: 1c9ba4b698bab916d42b58255692a7bf3d773bbc)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:19 +00:00
Aníbal Limón
c9fe59d7c5 oeqa/sdk/cases: Migrate tests to the new OEQA framework
Summary of the changes:

- Remove auto extend_path using pkgutil at __init__, is not needed.
- Change base class to OESDKTestCase.
- Add td_vars attr to set dependencies of certain variables in test
data.
- Change skips from module level to class level because Test context
  (tc)
now isn't at module level.
- Variable names changes to be consistent (i.e. sdktestdir ->
  sdk_dir).

[YOCTO #10599]

- Don't use bb.utils functions use instead remove_safe and shutil
  for copy files.
- SDKBuildProject pass test data variables instead of call getVar
  inside.

[YOCTO #10231]

(From OE-Core rev: 91cd1ed19a3f34c29cd77eb136036975fe465444)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:19 +00:00
Aníbal Limón
51be188063 oeqa/utils: {Target,SDK,}BuildProject remove dependency of bb
Don't use bitbake references inside utils modules, in order todo
that changes getVar calls for arguments in the __init__ method like
dl_dir for all the classes and testlogdir, builddatetime in
SDKBUildProject.

Also don't export proxies inside _download_archive method, a good
practice is to setup the proxies at init of the process instead of
do it in this helper module.

[YOCTO #10231]
[YOCTO #10599]

(From OE-Core rev: 581c34d1efe9839f50ef322761269b4e4d8a56a6)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:19 +00:00
Aníbal Limón
72e9ae377d oeqa/utils: Move targetbuild to buildproject module
The new buildproject module will contain only BuildProject class
a helper class for build source code.

The remaining classes TargetBuildProject and SDKBuildProject was
move to runtime and sdk respectively.

[YOCTO #10599]

(From OE-Core rev: 525fd2a5cda00890e921b63f7f608a10bc024d73)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:19 +00:00
Aníbal Limón
92c57a5db7 classes/testsdk: Migrates testsdk.bbclass to use new OESDKTestContext
The functionality provided is the same with imporvements on code
reuse and better interfaces.

(From OE-Core rev: 7a1ae3149965b162fb2c71fc7067e07a7a189249)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:19 +00:00
Aníbal Limón
8a37763ae9 oeqa/sdk: Add case and context modules for the SDK component
Adds case and context modules for SDK based on oetest.py old code.

Enables SDK Test component usage with oe-test, the SDK Test component
adds command line options for specify sdk installed dir, sdk environment
and target/hosts maniftest.

[YOCTO #10599]

(From OE-Core rev: 19e875dd81c42841666e6db5f6b665b4e1cddfe6)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:19 +00:00
Aníbal Limón
9a23e0f703 oeqa/{runtime,sdk}/files: Move testsdkmakefile from runtime to sdk module
It doesn't make sense to have files related to sdk module into runtime
module.

[YOCTO #10599]

(From OE-Core rev: 9a3be58b17afbe4ef00030b0e6ad8b20b03adc49)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:19 +00:00
Aníbal Limón
2726c26efe oeqa/sdk: Move test cases inside cases directory
For match with the new structure of the OEQA framework.

In the new framework Test component base directory in this case
sdk module will contain case and context implementations.

[YOCTO #10599]

(From OE-Core rev: 57af8ee4021c302bd351adf03e6d85274ad7efd5)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:19 +00:00
Aníbal Limón
8d3640b90d oeqa: Move common files to oeqa/files instead of runtime only
Those files are used by runtime and sdk test cases, so move to
base directory of oeqa module.

[YOCTO #10599]

(From OE-Core rev: ec73e8a3d3149f3866b7bfc06f169c6e05e2d338)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:19 +00:00
Mariano Lopez
bbb7366db3 oeqa/utils/__init__.py: Adds compatibility with bitbake logger
The bitbake logger changes the way debug is logged and adds
different levels within debug, this is passed as argument
to the function and breaks compatibility with vanilla loggers.

This implements a way to handle this adding a new function for
debug, that will dispatch the correct logging method signature.

Also overrides info method to use logging.INFO + 1 in order to
see plain data.

Also this commit fix the issue of not showing the test summary
and results when running from bitbake.

[YOCTO #10686]

(From OE-Core rev: 619c9ab308fbef9e3563dc661e432603e764b562)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:19 +00:00
Aníbal Limón
ad2168365f classes/populate_sdk_base: Add write_sdk_test_data to postprocess
This function will generates testdata.json per SDK type.

[YOCTO #10231]

(From OE-Core rev: bff1b66c6b88fd2d99d14cecba27ee2f7462711f)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:19 +00:00
Aníbal Limón
60e5310f56 classes/rootfs-postcommands: Add write_image_test_data
This function will generates testdata.json by image type.

[YOCTO #10231]

(From OE-Core rev: 4c0061422df472395ca0caa76ef92adb860f1167)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:19 +00:00
Aníbal Limón
4054b25d5e oe/data: Add export2json function
The export2json function export the variables contained in
the data store to JSON format, the main usage for now will be
to provide test data to QA framework.

(From OE-Core rev: 57c7bf68ed66a56601e1431bb2db750c5742b5ce)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:18 +00:00
Aníbal Limón
388503c032 oeqa/core: Add README
The README has an introduction and explains how to run the test suite
and creates a new Test component.

(From OE-Core rev: 9d474172c47695be1a61538f5b87ca8d9db25fa7)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:18 +00:00
Aníbal Limón
9a5f285fe3 oeqa/core/cases: Add example test cases
Serves as an first input of how to the OEQA framework works.

(From OE-Core rev: 115f80adf1b230c5d0392e7833e9aeb274642bcb)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:18 +00:00
Aníbal Limón
94cb20f20d oeqa/core/context: Add support of OETestContextExecutor
The OETestContextExecutor class supports to use oe-test for run core
test component also is a base class for the other test components
(runtime, sdk, selftest).

Te principal functionality is to support cmdline parsing and execution
of OETestContext, the test components could extend the common options
to provide specific ones. The common options between test components
are test data file, output log and test cases path's to scan.

Also it initializes the logger to be passed to the whole OEQA framework.

[YOCTO #10230]

(From OE-Core rev: 039deafa5f2c8fab31b8373b39f8bc219377b893)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:18 +00:00
Aníbal Limón
90f4325dd5 scripts/oe-test: Add new oe-test script
The new oe-test script will be use to run test components with
one single script.

The oe-test script search for test components inside meta/lib/oeqa,
the test components needs to implement OETestContextExecutor inside
context module in order to be supported by oe-test.

[YOCTO #10230]

(From OE-Core rev: 04b69cff3957731fa1ed2f7d23f2f616978ed0b7)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:18 +00:00
Mariano Lopez
7bf63b28f1 oeqa/core: Add tests for the OEQA framework
This test suite covers the current functionality for the OEQA
framework.

For run certain test suite,

$ cd meta/lib/oeqa/core/tests
$ ./test_data.py

(From OE-Core rev: 7d7d0dc3736fc12ae7848de2785f0066e6470cd1)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:18 +00:00
Aníbal Limón
4da4091cee oeqa/core/decorator: Add support for OETestDataDepends and skipIfDataVar
The OETestDataDepends decorator skips a test case if a variable
isn't into test data (d).

The skipIfDataVar decorator skips a test case if a variable
has certain value.

(From OE-Core rev: 7dc519d20e835ee7693c31903e164c4bc0e5e598)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:18 +00:00
Mariano Lopez
b685a7c1a8 oeqa/core/decorator: Add support for OETimeout decorator
The OETimeout provides support for specify certain timeout
in seconds for a test case, if the timeout is reach the SIGALRM
is sent and an exception is raised to notify the timeout.

[YOCTO #10235]

(From OE-Core rev: 1bf66a370361912e9950d7ff45e382c93622a169)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:18 +00:00
Mariano Lopez
b8cebdb96c oeqa/core/decorator: Add support for OETestID and OETestTag
These two decorators stores certain TAG or ID for the test case
also provides support for filtering in loading step.

[YOCTO #10236]

(From OE-Core rev: 047af4ce864bbf98e2617b348ae9ccb77ac52871)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:18 +00:00
Aníbal Limón
95a2ec6aab oeqa/core/decorator: Add support for OETestDepends
The OETestDepends decorator could be used over test cases to
define some dependency between them.

At loading time sorting the tests to grauntee that a test case
executes before also raise an exception if found a circular
dependency between test cases.

At before test case run reviews if the dependency if meet, in the
case of don't it skips the test case run.

(From OE-Core rev: 2385bd3c8a7c012fd1cad5465ec7d34675552c75)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:18 +00:00
Aníbal Limón
13c8c08b95 oeqa/core: Add loader, context and decorator modules
loader: Implements OETestLoader handling OETestDecorator
and filtering support when load tests. The OETestLoader is
responsible to set custom methods, attrs of the OEQA
frameowork.

[YOCTO #10231]
[YOCTO #10317]
[YOCTO #10353]

decorator: Add base class OETestDecorator to provide a common
way to define decorators to be used over OETestCase's, every
decorator has a method to be called when loading tests and
before test execution starts. Special decorators could be
implemented for filter tests on loading phase.

context: Provides HIGH level API for loadTests and runTests
of certain test component (i.e. runtime, sdk, selftest).

[YOCTO #10230]

(From OE-Core rev: 275ef03b77ef5f23b75cb01c55206d1ab0261342)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:18 +00:00
Mariano Lopez
abb55ab304 oeqa/core: Add utils module for OEQA framework
misc: Functions for transform object to other types.
path: Functions for path handling.
test: Functions for operations related to test cases and suites.

[YOCTO #10232]

(From OE-Core rev: 102d04ccca3ca89d41b76a8c44e0ca0f436b7004)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:18 +00:00
Aníbal Limón
08714d3b7e oeqa/core: Add base OEQA framework
case: Defines OETestCase base class that provides custom
    methods/attrs defined by the framework.
    Every OETestCase instance contains a reference to the test
    data (d), the test context (tc) and the logger.
    Also implements _oe{SetUp,TearDown}Class for make special
    handling of OEQA decorators and validations.

runner: Defines OETestRunner/OETestResult with support for RAW
    and XML result logs.

exception: Custom exceptions related to the OEQA framework based
    on class OEQAException.

[YOCTO #10230]
[YOCTO #10233]

(From OE-Core rev: c466086ccc4d4bb02d578a821cfb945945bfd529)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:18 +00:00
Ed Bartosh
7998501f47 wic: bootimg-pcbios: use wic-tools target
Used wic-tools target to get location of syslinux.

(From OE-Core rev: 5afd7def3b101bb3d650db4d005cb8d36aaf074a)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:18 +00:00
Ed Bartosh
e0193182c5 wic: rebuild wic-tools if its sysroot doesn't exist
Rebuild wic-tools if its native sysroot doesn't exist to ensure
that all required tools are available.

(From OE-Core rev: 0d005d099a2b8ee1303b98710cdc78e06e14ab39)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:18 +00:00
Ed Bartosh
7d5f44b455 wic: misc.py: add parameter 'cache' to get_bitbake_vars
This parameter will be used to allow or prevent variable caching.

For example, we don't want to cache value of RECIPE_SYSROOT_NATIVE
wic-tools variable as we may decide to rebuild wic-tools.

(From OE-Core rev: e4269fdb4c3ef06b97df063f8586f74986215c83)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:18 +00:00
Ed Bartosh
253b8d7d58 selftest: fixed 3 wic test cases
Fixed test_systemd_bootdisk, test_wic_image_type and test_qemu
test cases by building core-image-minimal with correct configuration.

(From OE-Core rev: 897fe85d34302953c98d07ade4fa2dd749ae2d22)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:18 +00:00
Ed Bartosh
78d4d09cf2 selftest: wic: don't set WKS_FILE
Setting WKS_FILE variable should be done only when
wic image is expected to be built by bitbake.
If it's set for all images it breaks image building in
some cases.

(From OE-Core rev: 46b84310f7df157c2ef290a60f5c2136d4206f09)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:18 +00:00
Ed Bartosh
657f1e44b1 wic: fixed test_iso_image test case
Fixed isoimage-isohybrid plulgin and correspondent wic tet case:
- used wic-tools target when getting varlue of STAGING_LIBDIR variable
- ensured that image is built with efi and hddimg enabled

(From OE-Core rev: 5878484da64c38c7fde45bb06d76e22e608eb022)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:18 +00:00
Ed Bartosh
349dbad11d wic: fixed recipe name
Renamed grub-efi-native -> grub-efi in NATIVE_RECIPES
dictionary as '-native' suffix is added to the recipe name in
the code.

(From OE-Core rev: cd0e7b20de2de67793d0454f4e5cf6bb6f4a16f7)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:18 +00:00
Ed Bartosh
4ab4e155f8 partition.py: use FAKEROOTCMD variable to get path to pseudo
wic used native sysroot to get path to pseudo utility.
This approach doesn't work with recipe specific sysroots.

Using FAKEROOTCMD should fix the issue.

(From OE-Core rev: 03e051d594f285ea3c014d45e9b30028e683c602)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:17 +00:00
Ed Bartosh
dc4a612e60 image.bbclass: put .env files to ${STAGING_DIR}/imgdata/
As STAGING_DIR_TARGET started to point to a recipe specific
sysroot wic is not able to add .env files when .wks file refers
to multiple rootfs recipes.

Used STAGING_DIR instead of STAGING_DIR_TARGET to make the
directory with .env files the same for all recipes.

(From OE-Core rev: 3797cfd7473d3f9b7c0d999dcf9cd9608c8c7c6c)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:17 +00:00
Ed Bartosh
d781747102 image_types: add RECIPE_SYSROOT_NATIVE to WICVARS
Added RECIPE_SYSROOT_NATIVE to the WICVARS for wic
to be able to access it when run from bitbake.

(From OE-Core rev: 3443ff47374c7e20ea54e838609b991f3f72810e)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:17 +00:00
Ed Bartosh
168f62e427 wic: fix getting path of native sysroot
wic used STAGING_DIR_NATIVE variable as a path to native sysroot.
This doesn't work with recipe specific sysroots as STAGING_DIR_NATIVE
points to the native sysroot of the current recipe.

Used RECIPE_SYSROOT_NATIVE variable of wic-tools recipe
to fix the issue.

(From OE-Core rev: de9d7d14cd03e4dfc5812890a53c79b706b56537)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:17 +00:00
Ed Bartosh
a79b32c75a selftest: build wic-tools in the Wic.setUp
Built wic-tools recipe instead of set of tools recipes
to ensure that all tools are available from one recipe sysroot.

(From OE-Core rev: 52ce14d5ea667ffd319fdb3e147b6eb29505cf8e)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:17 +00:00
Ed Bartosh
06a4500004 image_types.bbclass: build wic-tools
Added dependency do_image_wic -> wic-tools:do_build to ensure
that all required tools are ready to use by wic.

(From OE-Core rev: 9f547605d2bec282c5679fb35cd5b28a37c5a0d5)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:17 +00:00
Ed Bartosh
c13943dbf9 wic: add wic-tools recipe
This meta recipe is for building tools used by wic.
It allows wic to find tools in recipe specific sysroot as
all tools will be present in wic-tools sysroot.

NOTE: task do_build_sysroot is created to ensure that
sysroot is re-populated when package is built. Otherwise it will
be taken from sstate and sysroot will not be populated.

Generated wic-tools.env file for wic to be able to get values of
wic-tools variables when wic run from bitbake.

Also add dependency to grub-efi

Without grub-efi test_iso_image test case fails with this error:

AssertionError: Command 'wic create mkhybridiso --image-name
core-image-minimal' returned non-zero exit status 1:
Error: Please build grub-efi first

Fixed by adding dependency wic-tools -> grub-efi.

[RP: Added syslinux exclusion for non-IA arches]
(From OE-Core rev: 71066ce21514725428860ca926cc29161f710af6)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:17 +00:00
Richard Purdie
8ba68cc1f7 bitbake.conf: Exclude extend_recipe_sysroot function from sstate checksums
The extend_recipe_sysroot itself is excluded from the task hashes. This is
because it only ever acts upon the contents of the task dependencies and hence
those checksums accurately relfect what its doing. It does mean sysroots don't
repopulate if this function changes but there are other easy ways to achieve
that if needed.

(From OE-Core rev: cec305150801d43d58e3758e020e714d2e90e10b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:17 +00:00
Richard Purdie
209a21ed46 selftest/devtool: Update to account for recipe specific sysroot
There is no common sysroot any more so add the libusb dependency using DEPENDS
and check for the output in the sysroot output directory so the tests
work with recipe specific sysroots.

(From OE-Core rev: ff30b833a423d300ec2b81bf80ef6733a6d8039b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:17 +00:00
Richard Purdie
9107d6ca14 Switch to Recipe Specific Sysroots
This patch is comparatively large and invasive. It does only do one thing, switching the
system to build using recipe specific sysroots and where changes could be isolated from it,
that has been done.

With the current single sysroot approach, its possible for software to find things which
aren't in their dependencies. This leads to a determinism problem and is a growing issue in
several of the market segments where OE makes sense. The way to solve this problem for OE is
to have seperate sysroots for each recipe and these will only contain the dependencies for
that recipe.

Its worth noting that this is not task specific sysroots and that OE's dependencies do vary
enormously by task. This did result in some implementation challenges. There is nothing stopping
the implementation of task specific sysroots at some later point based on this work but
that as deemed a bridge too far right now.

Implementation details:

* Rather than installing the sysroot artefacts into a combined sysroots, they are now placed in
  TMPDIR/sysroot-components/PACKAGE_ARCH/PN.

* WORKDIR/recipe-sysroot and WORKDIR/recipe-sysroot-native are built by hardlinking in files
  from the sysroot-component trees. These new directories are known as RECIPE_SYSROOT and
  RECIPE_SYSROOT_NATIVE.

* This construction is primarily done by a new do_prepare_recipe_sysroot task which runs
  before do_configure and consists of a call to the extend_recipe_sysroot function.

* Other tasks need things in the sysroot before/after this, e.g. do_patch needs quilt-native
  and do_package_write_deb needs dpkg-native. The code therefore inspects the dependencies
  for each task and adds extend_recipe_sysroot as a prefunc if it has populate_sysroot
  dependencies.

* We have to do a search/replace 'fixme' operation on the files installed into the sysroot to
  change hardcoded paths into the correct ones. We create a fixmepath file in the component
  directory which lists the files which need this operation.

* Some files have "postinstall" commands which need to run against them, e.g. gdk-pixbuf each
  time a new loader is added. These are handled by adding files in bindir with the name
  prefixed by "postinst-" and are run in each sysroot as its created if they're present.
  This did mean most sstate postinstalls have to be rewritten but there shouldn't be many of them.

* Since a recipe can have multiple tasks and these tasks can run against each other at the same
  time we have to have a lock when we perform write operations against the sysroot. We also have
  to maintain manifests of what we install against a task checksum of the dependency. If the
  checksum changes, we remove its files and then add the new ones.

* The autotools logic for filtering the view of m4 files is no longer needed (and was the model
  for the way extend_recipe_sysroot works).

* For autotools, we used to build a combined m4 macros directory which had both the native and
  target m4 files. We can no longer do this so we use the target sysroot as the default and add
  the native sysroot as an extra backup include path. If we don't do this, we'd have to build
  target pkg-config before we could built anything using pkg-config for example (ditto gettext).
  Such dependencies would be painful so we haven't required that.

* PKDDATA_DIR was moved out the sysroot and works as before using sstate to build a hybrid copy
  for each machine. The paths therefore changed, the behaviour did not.

* The ccache class had to be reworked to function with rss.

* The TCBOOTSTRAP sysroot for compiler bootstrap is no longer needed but the -initial data
  does have to be filtered out from the main recipe sysroots. Putting "-initial" in a normal
  recipe name therefore remains a bad idea.

* The logic in insane needed tweaks to deal with the new path layout, as did the debug source
  file extraction code in package.bbclass.

* The logic in sstate.bbclass had to be rewritten since it previously only performed search and
  replace on extracted sstate and we now need this to happen even if the compiled path was
  "correct". This in theory could cause a mild performance issue but since the sysroot data
  was the main data that needed this and we'd have to do it there regardless with rss, I've opted
  just to change the way the class for everything. The built output used to build the sstate output
  is now retained and installed rather than deleted.

* The search and replace logic used in sstate objects also seemed weak/incorrect and didn't hold
  up against testing. This has been rewritten too. There are some assumptions made about paths, we
  save the 'proper' search and replace operations to fixmepath.cmd but then ignore this. What is
  here works but is a little hardcoded and an area for future improvement.

* In order to work with eSDK we need a way to build something that looks like the old style sysroot.
  "bitbake build-sysroots" will construct such a sysroot based on everything in the components
  directory that matches the current MACHINE. It will allow transition of external tools and can
  built target or native variants or both. It also supports a clean task. I'd suggest not relying on
  this for anything other than transitional purposes though. To see XXX in that sysroot, you'd have
  to have built that in a previous bitbake invocation.

* pseudo is run out of its components directory. This is fine as its statically linked.

* The hacks for wayland to see allarch dependencies in the multilib case are no longer needed
  and can be dropped.

* wic needed more extensive changes to work with rss and the fixes are in a separate commit series

* Various oe-selftest tweaks were needed since tests did assume the location to binaries and the
  combined sysroot in several cases.

* Most missing dependencies this work found have been sent out as separate patches as they were found
  but a few tweaks are still included here.

* A late addition is that extend_recipe_sysroot became multilib aware and able to populate multilib
  sysroots. I had hoped not to have to add that complexity but the meta-environment recipe forced my
  hand. That implementation can probably be neater but this is on the list of things to cleanup later
  at this point.

In summary, the impact people will likely see after this change:

* Recipes may fail with missing dependencies, particularly native tools like gettext-native,
  glib-2.0-native and libxml2.0-native. Some hosts have these installed and will mask these errors

* Any recipe/class using SSTATEPOSTINSTFUNCS will need that code rewriting into a postinst

* There was a separate patch series dealing with roots postinst native dependency issues. Any postinst
  which expects native tools at rootfs time will need to mark that dependency with PACKAGE_WRITE_DEPS.

There could well be other issues. This has been tested repeatedly against our autobuilders and oe-selftest
and issues found have been fixed. We believe at least OE-Core is in good shape but that doesn't mean
we've found all the issues.

Also, the logging is a bit chatty at the moment. It does help if something goes wrong and goes to the
task logfiles, not the console so I've intentionally left this like that for now. We can turn it down
easily enough in due course.

(From OE-Core rev: 809746f56df4b91af014bf6a3f28997d6698ac78)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:17 +00:00
Richard Purdie
45df694a9f bitbake: data_smart: Fix unneeded variable manipulation
If was pointed out that if we have:

XXX = " A"
XXX_remove_inactive-override = "YY"

then XXX can become "A" and the leading space can be removed. This is because
the remove override code changes the variable value even when there is no
removals active. In the process it dirties the cache.

We don't really need to do this so tweak the code accordingly.

(Bitbake rev: 2bc4d35fb32defc59cd6ed1fc87e35924c201a5c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-22 09:05:39 +00:00
Richard Purdie
0ccdfb116e package_rpm: Clean up pointless exception handling
The exception handling in this function seemed mildly crazy. Python will
given perfectly good or in several cases better information if we let its
standard traceback/exception handling happen. Remove the pointless code.

(From OE-Core rev: 5ecdab6c2589a83bbbc522074052ff4438782102)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-22 09:05:39 +00:00
Richard Purdie
2628a65ffe package_ipk: Clean up pointless exception handling
The exception handling in this function seemed mildly crazy. Python will
given perfectly good or in several cases better information if we let its
standard traceback/exception handling happen. Remove the pointless code.

(From OE-Core rev: 61390438aec4a1f9beb4d332821cc6cda82e0379)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-22 09:05:39 +00:00
Richard Purdie
596c9eff21 package_ipk: Improve failure debug output
Currently if the dpkg-deb command fails you see an error message like this:

ERROR: nss-3.27.1-r0 do_package_write_ipk: opkg-build execution failed
ERROR: nss-3.27.1-r0 do_package_write_ipk: Function failed: do_package_ipk

which is pretty much useless. If we use subprocess.check_output, we see a
traceback and then:

Exception: subprocess.CalledProcessError: Command '<cmd>' returned non-zero exit status 1

Subprocess output:
<output>

which is much easier to debug from.

(From OE-Core rev: 64c8366a805e9cf0168ea2331c50c8d6a70c6dc4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-22 09:05:39 +00:00
Richard Purdie
fdb52ade90 package_deb: Clean up pointless exception handling
The exception handling in this function seemed mildly crazy. Python will
given perfectly good or in several cases better information if we let its
standard traceback/exception handling happen. Remove the pointless code
along with the duplicated key checking which was broken in the inner loop
by usage of the wrong variable.

(From OE-Core rev: f755b07b528e828618141eda402399d791efba4a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-22 09:05:39 +00:00
Richard Purdie
53a3c58774 package_deb: Improve failure debug output
Currently if the dpkg-deb command fails you see an error message like this:

ERROR: nss-3.27.1-r0 do_package_write_deb: dpkg-deb execution failed
ERROR: nss-3.27.1-r0 do_package_write_deb: Function failed: do_package_deb

which is pretty much useless. If we use subprocess.check_output, we see a
traceback and then:

Exception: subprocess.CalledProcessError: Command '<cmd>' returned non-zero exit status 1

Subprocess output:
<output>

which is much easier to debug from.

(From OE-Core rev: 18160442869f56ee71538bc2dc60d7cb6c08c8a2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-22 09:05:39 +00:00
Richard Purdie
d6b3f722c7 populate_sdk_ext: Add wic-tools to BB_SETSCENE_ENFORCE_WHITELIST
wic-tools has tasks which would always rerun and not come from sstate
to ensure we have a correctly populated sysroot. This is low overhead
and can be ignored from an eSDK perspective.

(From OE-Core rev: b631fe91b3939b7981dbf62cb2fb70f7baebe403)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-22 09:05:39 +00:00
Richard Purdie
60d8ca3e96 Revert "populate_sdk_ext: whitelist do_package tasks"
Since Paul reverted the sstate.bbclass change which was checking the sstate
mirror test results, this change should also not be needed anymore.

This reverts commit e30f5002c4.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-22 09:05:39 +00:00
Jussi Kukkonen
917c8a88e2 epiphany: Fix dependencies for recipe specific sysroot
gettext and glib-2.0 tools are required during build.

(From OE-Core rev: 082db0d21e4b628b6063b1ec713a8f15fe2caa4e)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-22 09:05:39 +00:00
Richard Purdie
b523b2cc80 meta-environment: Ensure all multilib dependencies are accounted for
Currently the recipe depends on the mulitlib libcs all being built
but the dependencies don't account for this. Fix the DEPENDS so
that the requires pieces are all built first rather than relying on
luck.

(From OE-Core rev: ef16a14725fe9bc44bff41e4632721ca611b1728)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-22 09:05:39 +00:00
Richard Purdie
a49ee524a9 utils: Factor out common multilib datastore creation function
This code is already used in two places and we need it in others so
turn it into its own function.

(From OE-Core rev: 2a57e1334ff261a7ab45084be0f217e2acfe99af)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-22 09:05:39 +00:00
Scott Rifenbark
b47ecf2877 poky.ent: Added "pip3" as an essential host installation package
Apparently, this package dropped out when migrating to Python3.
So, I have added it to all the supported distributions as an
essential package.

Fixes [YOCTO #10909]

(From yocto-docs rev: e5f915fb80fc36db515ad5a56bc31228a7f875d3)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:57:25 +00:00
Scott Rifenbark
ba4552ab89 poky.ent: Updated the Ubuntu/Debian Essential package list
Fixed [YOCTO #10854]

BitBake fails on a new Ubuntu/Debian installation unless the
"cpio", "Python", and "python3" packages are installed.  I added
these to the essentials list variable for the distro.  Affects
both the YP Quick Start and YP ref-manual.

(From yocto-docs rev: 7a0ef9a85404ef4478bae103d1ea47c3e1c675f0)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:57:25 +00:00
Scott Rifenbark
e4512cda0e poky.ent: Added Essential packages to Fedora and openSUSE
Fixes [YOCTO #10855]

On Fedora version 24, missing packages were preventing
BitBake from running.  These essential packages included
"python", "cpio", and "file".  Also, missing for openSUSE
were "python3", "python3-curses", and "tar".

I added these sets of packages to the essentials variable
for each of the hosts involved.  They resolve to both the
YP Quick Start and YP Reference Manual, appropriately.

(From yocto-docs rev: 5150bb932536dc17d99f94a96245655144ae5137)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:57:25 +00:00
Scott Rifenbark
faee9d8c37 dev-manual: Updated the "How to Submit a Change" section.
Fixes [YOCTO #10905]

I updated the section with suggested improvements for completeness.
The section has been broken into more subsections and provides the
reader with more direction on mailing lists based on components
changed.

(From yocto-docs rev: f7c9010c14d96c64d00ca32e2e217d2dd1343919)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:57:25 +00:00
Scott Rifenbark
f4b667cfbc ref-manual: Updated LIC_FILES_CHKSUM example
Fixes [YOCTO #10898]

No information indicated the use of "endline" and "beginline"
in the examples setting LIC_FILES_CHKSUM.  I added a note
indicating that line numbering starts with one and the "endline"
value is inclusive.

(From yocto-docs rev: 21114f09efa423033da67af1f27c99eb3cb9695d)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:57:25 +00:00
Scott Rifenbark
70b9668b26 yocto-project-qs: Updated Manual Note information on title page
Fixes [YOCTO #10076]

Added a new note for where the reader can find the most recent
version of the manual dictated by release or in-progress work.

(From yocto-docs rev: 8c2bd2a72ba89354027fa87872395d5b727c8b90)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:57:25 +00:00
Paul Eggleton
b1b59b8a4b oe-selftest: devtool: remove use of git -C
The -C option isn't available in versions of git older than 1.8.5,
and officially we only require git 1.8.3.1 or newer (and the latter is
the version you'll find on CentOS 7, so the test fails there). In any
case we can simply specify the working directory to runCmd() so just
do that instead.

(From OE-Core rev: ce5c7075d530c0950f2feed35f95fbcd9f50721f)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:51 +00:00
Jussi Kukkonen
fc7394fe2d kernel.bbclass: Add PACKAGE_WRITE_DEPS for postinst
The depmodwrapper dependency is not actually used by the class but
anyone using pkg_postinst_kernel-base() will need it.

(From OE-Core rev: e3f5290d8deba9b7cead73b52ac45a37228fece9)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:51 +00:00
Jussi Kukkonen
8a17181e24 cantarell-fonts: inherit pkgconfig
configure fails without pkg-config.

(From OE-Core rev: 3a2c08f77f0b477414ac8f6e4df93ee0df3afec2)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:51 +00:00
Jussi Kukkonen
b7d5e29dd7 fontcache.bbclass: Add PACKAGE_WRITE_DEPS for postinst
Qemu is used to run fc-cache on postinstall.

(From OE-Core rev: bd20404a78b258bb95df41066f844e08a21e53fa)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:51 +00:00
Jussi Kukkonen
c8a488768b gconf.bbclass: Add PACKAGE_WRITE_DEPS for postinst
gconftool-2 is used during postinstall.

(From OE-Core rev: d4272e712fe26689f350142426c9893ffe088ddb)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:51 +00:00
Jussi Kukkonen
136e4781b3 gio-module-cache: Add PACKAGE_WRITE_DEPS for postinst
Qemu is used to run gio-querymodules on postinstall.

(From OE-Core rev: d5361cc25fb7dd749e69063be48275c52462f72c)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:51 +00:00
Jussi Kukkonen
1ceb9934b3 gsettings: Add PACKAGE_WRITE_DEPS for postinst
glib-compile-schemas is needed during postinstall.

(From OE-Core rev: e049427e09b51c09b55d7f1299a7b878fe21768a)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:51 +00:00
Jussi Kukkonen
ef05d22456 gtk-immodules-cache: Add PACKAGE_WRITE_DEPS for postinst
Qemu is used to run gtk-query-immodules-* on postinstall.

(From OE-Core rev: 7103447b198a12a30fdee3f789ff9e0d81534d54)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:51 +00:00
Jussi Kukkonen
c197a98cee mime.bbclass: Add PACKAGE_WRITE_DEPS for postinst
update-mime-database is used in postinstall.

(From OE-Core rev: 57d63e8e89980c53f40e12ca670fc3f58f7e4c0f)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:51 +00:00
Jussi Kukkonen
777ed33f44 update-alternatives.bbclass: Add PACKAGE_WRITE_DEPS for postinst
(From OE-Core rev: 00e1e87d0dcf13f3b30682f1fb066f7fa4eed205)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:50 +00:00
Jussi Kukkonen
b699afaeb8 update-rc.d: Add PACKAGE_WRITE_DEPS for postinst
use_updatercd() will always return true in rootfs generation so
checking that is not required.

(From OE-Core rev: 0db5328ee2a80152904b9f82b738f92e9e38da55)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:50 +00:00
Jussi Kukkonen
f7e642da23 dbus: Add PACKAGE_WRITE_DEPS for postinst
systemctl is needed if both systemd and sysvinit are in distro
features.

(From OE-Core rev: 39fb37a5143981ae16e722f4ebbbe1b29cbed5a4)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:50 +00:00
Jussi Kukkonen
0c37833e62 systemd: Add PACKAGE_WRITE_DEPS for postinst
Qemu is used to run udevadm in postinstall.

(From OE-Core rev: f186b0c59e707b9a3bff8fcf3b51dbcef5573298)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:50 +00:00
Jussi Kukkonen
b22c6e0b09 eudev: Add PACKAGE_WRITE_DEPS for postinstall
Qemu is used to run udevadm in postinstall.

(From OE-Core rev: df239dd45f04198138a32443db0d3bcf4cf8b7b6)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:50 +00:00
Jussi Kukkonen
e2ea1cdce9 shadow: Add PACKAGE_WRITE_DEPS for postinst
pwconv and grpconv are used in the postinstall script.

(From OE-Core rev: 5a59e292d1382ea6858f6ccb532e48a9f1f4bea6)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:50 +00:00
Jussi Kukkonen
5d01111eb8 xorg-font-common: Add PACKAGE_WRITE_DEPS for postinst
mkfontdir and mkfontscale are used in the postinstall script.

(From OE-Core rev: 7b2ab076386a6a8e92a90c0c804647feca61dd40)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:50 +00:00
Jussi Kukkonen
31943a7ecf linux-dtb: Add PACKAGE_WRITE_DEP for postinstall
update-alternatives is used in postinstall.

(From OE-Core rev: ca2626a78f44a253adf4e93a1eae0ea323a0196f)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:50 +00:00
Jussi Kukkonen
8259bf1ecb nss: Add PACKAGE_WRITE_DEPS
nss-native is required in postinst. It's also needed during
build so not removed from DEPENDS.

(From OE-Core rev: 88540c5b08dea069660d1a68e506aebdd68e6ae0)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:50 +00:00
Richard Purdie
b5a8679574 useradd: Add PACKAGE_WRITE_DEPS for postinst
The postinstall needs shadow-native, mark the dependency

(From OE-Core rev: f3140f9c9cb8ff7ea29d0b77a9bfac419a216cf4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:50 +00:00
Richard Purdie
c7591ae0bb ca-certificates: Add PACKAGE_WRITE_DEPS for postinst
The postinstall needs ca-certificates-native, mark the dependency

(From OE-Core rev: 723a924adf0661167690987acfc4213803ec3305)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:50 +00:00
Richard Purdie
06b130fc10 matchbox-session-sato: Add PACKAGE_WRITE_DEPS for postinst
The postinstall needs gconf-native, mark the dependency and drop
the now unneeded DEPENDS.

(From OE-Core rev: f480815b2ed0ea5a1792b0ab9c681d39f60701e3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:50 +00:00
Richard Purdie
d623c58711 modutils-initsripts: Add PACKAGE_WRITE_DEPS for postinst
The postinstall needs systemd-systemctl-native, mark the dependency

(From OE-Core rev: 5e8336b2d45da36c64039080f896338537ec234e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:50 +00:00
Richard Purdie
5c967d072c systemd-compat-units: Add PACKAGE_WRITE_DEPS for postinst
The postinstall needs systemd-systemctl-native, mark the dependency

(From OE-Core rev: 279fec228282749f4ff6c95f79295c1e8b3db76d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:50 +00:00
Richard Purdie
2ef9c181ab psplash: Add PACKAGE_WRITE_DEPS for postinst
The postinstall needs systemd-systemctl-native, mark the dependency

(From OE-Core rev: 14388db7f0b605536129c925aa667998777b4077)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:50 +00:00
Richard Purdie
d4f69f40ac initscripts: Add PACKAGE_WRITE_DEPS for postinst
The postinstall needs systemd-systemctl-native, mark the dependency

(From OE-Core rev: 853f05b4d81c9af0fe1050cd15f13b8d3f9a93a9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:50 +00:00
Richard Purdie
7ba7380d77 v86d: Add PACKAGE_WRITE_DEPS for postinst
The postinstall needs systemd-systemctl-native, mark the dependency

(From OE-Core rev: f97d9e6befb4b96531a381547d546632ec0e8496)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:50 +00:00
Richard Purdie
1d564fa2ef keymaps: Add PACKAGE_WRITE_DEPS for postinst
The postinstall needs systemd-systemctl-native, mark the dependency

(From OE-Core rev: 84fed37e18b17c419f0538c6b414e3b79ed2df8d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:50 +00:00
Richard Purdie
94a648f9f5 systemd: Add PACKAGE_WRITE_DEPS for postinst
The postinstall needs systemd-systemctl-native, mark the dependency

(From OE-Core rev: d2fb76e4aed927e9900de2e87e7e1b792bc88651)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:50 +00:00
Richard Purdie
f4fb2ed60a pixbufcache: Add PACKAGE_WRITE_DEPS for postinst
The postinstall needs qemu-native and gdk-pixbuf-native, mark these dependencies

(From OE-Core rev: 334a12bb25770dfcd999a7def3612db4b6cd762a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:50 +00:00
Richard Purdie
70f4ad49a7 kernel-module-split: Add PACKAGE_WRITE_DEPS for postinst
The postinstall needs kmod-native and depmodwrapper-cross, mark these dependencies.

(From OE-Core rev: 0e4f5eb4f8443ed98d7c8aaf0b999c5618b7cf25)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:50 +00:00
Richard Purdie
eae2dcd574 gtk-icon-cache: Add PACKAGE_WRITE_DEPS for postinst
gdk-pixbuf-native and gtk-icon-utils-native are needed by the postinstall
scripts so mark the dependency. The utils may be needed at icon build
time too so DEPENDS is unchanged.

(From OE-Core rev: d62e9fe21a47f5b38278a9b12b73d617c29d3c4f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:49 +00:00
Richard Purdie
efd120e714 sstate: Drop the depchain isPostDep() checks
The dependencies of do_package_write_* tasks are either going to be packaging
tools needed to build the packages, or, native tools needed at postinst
time. Now we've formalised this dependency pattern, drop the hardcoded
list and work based on the rule. The package creation tools are usually
the same tools needed at rootfs/postinst time anyway so the difference is
moot.

(From OE-Core rev: 8082c6aabf838a2cc5253d2bb1bd8867f2e1ba6a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:49 +00:00
Richard Purdie
bc7162a46c classes/package*: Add support for PACKAGE_WRITE_DEPS
Add a new variable to allow markup of postinstall (and preinst)
script dependnecies on native/cross tools.

If your postinstall can execute at rootfs creation time rather than on
target but depends on a native tool in order to execute, you need to
list that tool in PACKAGE_WRITE_DEPENDS.

(From OE-Core rev: aff8ca95b8303a4a2a5600c0d8ec0a50ad677258)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:49 +00:00
Richard Purdie
eeb30764e9 lib/oe/utils: Add build_depends_string function
This is useful when manipulating depends strings for task [depends]
flags and is slightly easier to parse than some inline python.

(From OE-Core rev: 7b05ea65a8db8a27b2a5579675775ee34ceb63c2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:49 +00:00
Jason Wessel
7085148116 Revert "kernel: Modify kernel modules installation path."
This reverts commit 0ccb2efe9837e2915c093341a662dffc1df00866.

The OVS fails to function and the kernel modules cannot be found by
any of the kernel tools such as depmod because they are installed
into the wrong directory in multilib 64bit/32bit bulids.

(From OE-Core rev: 85cec1e3df68e932c7b210956ef5f17b85f3616f)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:49 +00:00
Jason Wessel
78f4011210 Revert "linux-firmware: Modify firmware installation path"
This reverts commit a46a23fed9acd097ecc8ab3985d18688abe7b065.

The 64bit/32bit multilib builds break because the kernel's
firmware loader cannot find the firmware because it
gets placed int the wrong directory.

(From OE-Core rev: 91673c29d079117d18b6b405645b94222930e33b)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:49 +00:00
Paul Eggleton
e9d3b7dc75 Revert "classes/sstate: add a mode to error if sstate package unavailable"
It turns out that this check cannot work. We don't have the information
to know whether an sstate package is really needed at this point in the
execution, so we check the availability for things that we won't
actually end up needing later on. Thus we can't fail if some of these
aren't found or we'll get needless failures.

This check was intended to give earlier more accurate errors when sstate
artifacts failed to download, but that's not practical so we'll rely
solely on the task execution check that was added within the runqueue.

This reverts most of commit 9e711b54487c3141d7264b8cf0d74f9465020190 (we
still need to allow BB_SETSCENE_ENFORCE through from the external
environment since the eSDK relies upon that.)

(From OE-Core rev: ff29ac6901d04487312f554d9e62250a18729c6c)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:49 +00:00
Paul Eggleton
785bec81ef classes/populate_sdk_ext: force a known value for TMPDIR
If TMPDIR is configured to be somewhere outside of TOPDIR (a not
uncommon configuration where you have multiple disks and space on /home
is at a premium) then our attempt to find out the location of paths
under TMPDIR by using a relative path led to horribly broken paths
ending up in the eSDK. To save pain, just force a known value for TMPDIR
(i.e. ${TOPDIR}/tmp) and then we can assume that everywhere else.

Fixes [YOCTO #10797].

(From OE-Core rev: 4fe60d526a94f30b201c434994e80fef0f7392f0)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:49 +00:00
Richard Purdie
620f5880d8 core-image-sato: SDK should contain intltool and glib-2.0 tools for NLS
The SDK (and its tests) need these tools. We happened to be finding them
from the native tools in PATH but recipe specific sysroots prevents that.

This fixes the SDK to work as originally intended and contain these tools.

We have to clear this in the eSDK case since the _append can't be overridden
from the class. Ugly, but we'll have to come back to this issue.

(From OE-Core rev: edde4c52872fbd089f85b10b94db4d6ef1796be5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:49 +00:00
Richard Purdie
b0f70c5f9e staging: Add dependency on virtual/binutils for strip binary
The staging code strips binaries and we need virtual/binutils for that.
Add a specific dependency since the one from do_configure and others
may not be enough to ensure the binaries are in our own sysroot.

(From OE-Core rev: 9a799f70574ee8e0b1267497edfb4ac63166ef8f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:49 +00:00
Richard Purdie
41fb482ee1 oe-selftest: Error if the user has buildhistory enabled
buildhistory interfers with various tests so error if the user has it enabled,
hence avoiding time spent running the tests only for them to fail.

For example, if there is an sstate cache and something comes from that cache,
you can get a "version went backwards" warning from buildhistory which would
then change the outcome of a test. Its safer/easier to disable it.

(From OE-Core rev: 941ec7c50c30052e346e72fef2920135dba89a21)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:49 +00:00
Richard Purdie
d80c95d53f multilib_global: Drop pointless event mask/code filtering
This code was pointless so cleanup, drop the unused event and the
filtering is no longer needed.

(From OE-Core rev: 4fd9e74035703b45a9e6e9143b1ec421e172200c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:49 +00:00
Paul Eggleton
9b3e808624 devtool: fix source extraction to work with recipe specific sysroots
When extracting source for a recipe within devtool (for extract, modify
or upgrade) We need to redirect WORKDIR, STAMPS_DIR etc. under a
temporary directory so that:
 (a) we pick up all files that get unpacked to the WORKDIR, and
 (b) we don't disturb the existing build
However, with recipe-specific sysroots the sysroots for the recipe will
be prepared under WORKDIR, and if we used the system temporary directory
i.e. usually /tmp) as used by mkdtemp by default, then our attempts to
hardlink files into the recipe-specific sysroots will fail on systems
where /tmp is a different filesystem, and we'd have to fall back to
copying the files which is a waste of time. Put the temp directory under
the WORKDIR to prevent that from being a problem.

(From OE-Core rev: e10a973cd9390eacb13bdb99693a0622bd3695f5)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
[RP: Add needed mkdirhier call]
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:49 +00:00
Richard Purdie
38bcf14abc sstate: Fix EXTRA_STAGING_FIXMES handling
The code wasn't working properly, tweak so that it works as expected and
the grep expression includes the right patterns. Not sure this code has ever
worked prior to this.

(From OE-Core rev: 6a46a974611c5262efefc21a11adb736c0fb206a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:49 +00:00
Richard Purdie
f7e18547c1 sysprof/gst-player/pcmanfm: Add missing glib-2.0-native DEPENDS
These recipes use glib-2.0 NLS tools so we need to depend on glib-2.0-native.

(From OE-Core rev: 3e521148bbec01ccd1818b0a26221ab6342a3299)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:49 +00:00
Richard Purdie
8ac0ba06a4 sysprof: Add missing libxml2-native DEPENDS
Configure searches for xmllint which comes from libxml2-native.

(From OE-Core rev: 087c89fd62db5701b268cfbb0bbdaf3be907daf0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:49 +00:00
Richard Purdie
f681ebb7ea vte: Add missing libxml2-native DEPENDS
Configure searches for xmllint which comes from libxml2-native.

(From OE-Core rev: 122f18ddf65ee025cfd164738eb76359cad2656b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:49 +00:00
Richard Purdie
292463aa26 systemd-boot: Add missing gperf-native DEPENDS
Configure searches for this and fails if its not present.

(From OE-Core rev: d4d2dcf3fb00ef1ccd9f1471a8017b1df5052a88)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:49 +00:00
Richard Purdie
9a93c8e725 intltool: Allow nativesdk variant to build
This tool has been missing from the SDKs, the recipe specific sysroot
work highlighted the issues.

(From OE-Core rev: e4346299da911dd7c43c2e221b941e5cda502d1e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:49 +00:00
Richard Purdie
13f256fb11 libxml-parser-perl: Allow nativesdk variant to build
This is needed in order to be able to build nativesdk-intltool.

(From OE-Core rev: 427ec49e34dee36157e706bb2bbb93c5f15e2d6a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:49 +00:00
Patrick Ohly
90f1ef88d6 rm_work.bbclass: clean up sooner
Having do_rm_work depend on do_build had one major disadvantage:
do_build depends on the do_build of other recipes, to ensure that
runtime dependencies also get built. The effect is that when work on a
recipe is complete and it could get cleaned up, do_rm_work still
doesn't run because it waits for those other recipes, thus leading to
more temporary disk space usage than really needed.

The right solution is to inject do_rm_work before do_build and after
all tasks of the recipe. Achieving that depends on the new bitbake
bb.event.RecipeTaskPreProcess and bb.build.preceedtask().

It can't just run in an anonymous function, because other anonymous
functions that run later may add more tasks. There's still such a
potential conflict when some future RecipeTaskPreProcess event handler
also wants to change task dependencies, but that's not a problem
now. Should it ever occur, the two handlers will have to know about
each other and cooperate to resolve the conflict.

Benchmarking (see "rm_work + pybootchart enhancements" on the OE-core
mailing list) showed that builds with the modified rm_work.bbclass
were both faster (albeit not by much) and required considerably less
disk space (14230MiB instead of 18740MiB for core-image-sato).
Interestingly enough, builds with rm_work.bbclass were also faster
than those without.

(From OE-Core rev: 936179754c8d0f98e1196ddc6796fdfd72c0c3b4)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:49 +00:00
Patrick Ohly
ce84432d98 rm_work_and_downloads.bbclass: more aggressively minimize disk usage
rm_work.bbclass never deletes downloaded files, even if they are not
going to be needed again during the
build. rm_work_and_downloads.bbclass is more aggressive in minimizing
the used disk space during a build, but has other disadvantages:
- sources required by different recipes need to be fetched once per
  recipe, not once per build
- incremental builds do not work reliably because sources get
  removed without ensuring that sources gets fetched again

That makes rm_work_and_downloads.bbclass useful for one-time builds in
a constrained environment (like a CI system), but not for general use.

(From OE-Core rev: ca23a07fc6677720508197f2b44573bfd6b52f28)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:48 +00:00
Patrick Ohly
3ba8917c4d rm_work.bbclass: allow preserving additional content
By default, do_rm_work either skips recipes entirely (when listed in
RM_WORK_EXCLUDE) or removes everything except for temp.

In meta-swupd, virtual image recipes collaborate on producing update
data for the base recipe. Tasks running in the base recipe need some
information from the virtual images.

Those files could be passed via a new shared work directory, but that
scatters data in even more places. It's simpler to use the normal
WORKDIR and teach rm_work.bbclass to not remove the special output
with the new RM_WORK_EXCLUDE_ITEMS.

(From OE-Core rev: 28fbb2dd17033308cc09811fbc4f43e2f6c17f54)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:53:48 +00:00
Patrick Ohly
bf0ea57e4a bitbake: runqueue.py: revised completion scheduler
The idea is that tasks which complete building a recipe (like
do_package_qa) are more important than tasks which start building new
recipes (do_fetch) or those which increase disk usage
(do_compile). Therefore tasks get ordered like this (most important
first, do_rm_work before do_build because the enhanced rm_work.bbclass
was used):

1. ID /work/poky/meta/recipes-support/popt/popt_1.16.bb:do_build
2. ID /work/poky/meta/recipes-core/readline/readline_6.3.bb:do_build
3. ID /work/poky/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb:do_build
...
464. ID /work/poky/meta/recipes-sato/images/core-image-sato.bb:do_build
465. ID /work/poky/meta/recipes-graphics/xorg-proto/inputproto_2.3.2.bb:do_rm_work
466. ID /work/poky/meta/recipes-devtools/python/python3_3.5.2.bb:do_rm_work
467. ID /work/poky/meta/recipes-core/packagegroups/packagegroup-base.bb:do_rm_work
...
3620. ID virtual:native:/work/poky/meta/recipes-extended/pbzip2/pbzip2_1.1.13.bb:do_install
3621. ID /work/poky/meta/recipes-devtools/qemu/qemu-helper-native_1.0.bb:do_install
3622. ID /work/poky/meta/recipes-core/zlib/zlib_1.2.8.bb:do_compile_ptest_base
3623. ID /work/poky/meta/recipes-extended/bzip2/bzip2_1.0.6.bb:do_compile_ptest_base
...
3645. ID /work/poky/meta/recipes-support/libevent/libevent_2.0.22.bb:do_compile_ptest_base
3646. ID /work/poky/meta/recipes-core/busybox/busybox_1.24.1.bb:do_compile_ptest_base
3647. ID /work/poky/meta/recipes-kernel/linux/linux-yocto_4.8.bb:do_uboot_mkimage
3648. ID /work/poky/meta/recipes-kernel/linux/linux-yocto_4.8.bb:do_sizecheck
3649. ID /work/poky/meta/recipes-kernel/linux/linux-yocto_4.8.bb:do_strip
3650. ID /work/poky/meta/recipes-kernel/linux/linux-yocto_4.8.bb:do_compile_kernelmodules
3651. ID /work/poky/meta/recipes-kernel/linux/linux-yocto_4.8.bb:do_shared_workdir
3652. ID /work/poky/meta/recipes-kernel/linux/linux-yocto_4.8.bb:do_kernel_link_images
3653. ID /work/poky/meta/recipes-devtools/quilt/quilt-native_0.64.bb:do_compile
3654. ID /work/poky/meta/recipes-extended/texinfo-dummy-native/texinfo-dummy-native.bb:do_compile
...

The order of the same task between different recipes is the same as
with the speed scheduler, i.e. more important recipes come first.

(Bitbake rev: 70e297e5c285ce0a02e9efd3117ff62cdc77ec12)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:52:52 +00:00
Patrick Ohly
633697cce6 bitbake: build.py: add preceedtask() API
The API is required by the revised rm_work.bbclass implementation,
which needs to know all tasks that do_build depends so that it
can properly inject itself between do_build and those tasks.

The new API primarily hides the internal implementation of the "after"
and "before" dependency tracking. Because tasks defined as
precondition via "recrdeptask" may or may not be relevant (they are for
rm_work.bclass), the API also includes support for that.

There's no default value for including recrdeptasks, so developers
have to think about what they need.

(Bitbake rev: 9289ab40e77906e983a2f79cd7602ee95be5025a)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:52:52 +00:00
Richard Purdie
3f8d56d113 bitbake: fetch2: Avoid recursive errors
If PATH contains WORKDIR which contains PV which contains SRCPV we can end
up in circular recursion within the fetcher. This code change allows for the recursion
to be broken by giving PV a temporary dummy value in a data store copy.

(Bitbake rev: ce1e70b8018340b54dba3a81d7d379182cb77514)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:52:52 +00:00
Richard Purdie
51abd41ff6 bitbake: cooker: Add BB_LIMITEDDEPS support
When we're running with bitbake -b, BB_TASKDEPDATA is incorrect and limited.
We really need a way to know this from the metadata and this new variable
provides this in worker context. This means existing code can stop having
to guess.

(Bitbake rev: 05763bc886024dcce2ce6b3060fb00abf79a9402)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:52:52 +00:00
Richard Purdie
631229df72 bitbake: event/ast: Add RecipeTaskPreProcess event before task finalisation
There are various pieces of code which need to run after the tasks are
finalised but before bitbake locks in on the task dependencies. This
adds such an event so dependency changes in anonymous python can
be accounted for and acted upon by these specific event handlers.

(Bitbake rev: 4dcd0e53f5ff4bf4f2d6cbdc51ff33a5f5f206af)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:52:52 +00:00
Richard Purdie
d8b2257f57 bitbake: runqueue: Fix traceback when using -b
Without this, bitbake -b of image recipes cause tracebacks since
the list of providers is empty.

(Bitbake rev: c53e43f3c6a675c0934a7a4e358fd66b049ffca3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:52:52 +00:00
Richard Purdie
918736d6c9 bitbake: cooker: Only add universe targets where the task exists
Currently "bitbake universe -c fetch" will error if every task in the system
doesn't have a fetch task. This seems unreasonable so filter the list based
upon whether the task exists. This implementation does assume if a task exits
for a given provider name, it can run, even if the preferred provider that
ends up getting built might be the namespace without the task. This is unlikely
to be a real world issue at this point.

(Bitbake rev: 438986f4e39974930ee3205ca4c4d620090e57bb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-20 11:52:52 +00:00
Ross Burton
a304b94eae oeqa/selftest/devtool: rewrite modify testcase
The modify testcase had to be updated as it started failing when mdadm was
upgraded due to hardcoding version numbers in the test.  I then noticed how
inefficient the test was and mostly rewrote it.

Start by changing the minor modification to change "Linux Software RAID" (the
subtitle of the man page) to "antique pin sardine" (a nonsense phrase that is
unlikely to appear upstream), and neaten the logic.

Start by not removing sstate at the beginning of the test. To ensure builds
happen we can use -f and -C, and iterating the sstate cache is time consuming.

Don't bitbake mdadm repeatedly until it stabilizes, we can start with bitbake -C
unpack to ensure that a full build is done from scratch.

os.path.join has the interesting quirk that join(/foo, /bar) results in /bar, so
use oe.path.join instead of working around that manually.

Don't repeatedly call get_bb_var(), each call results in a call to bitbake.

These changes reduce the runtime of the test from over 600 seconds to around 160
seconds on my machine.

(From OE-Core rev: fc97963bc61bf16112859fe1d7e460a13d34baca)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:22 +00:00
Mariano Lopez
81c3d4824a oeqa/utils/qemurunner.py: Be sure to stop qemu-system
When runqemu fails, qemu-system process would keep running
and won't be killed, setpgrp() was used when runqemu was
a shell script but it seems it doesn't work always with python.

This would kill qemu-system explicity and to avoid leaving
it behind.

(From OE-Core rev: 9d2b1aa1bcfb2f1933a8eeb9470b4174d5da2f0d)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:22 +00:00
Mariano Lopez
de17891185 oeqa/utils/qemurunner.py: Add missing sys module
This adds the missing sys module used by the child process
to exit. It seems the exception was cached in testimage and
selftest. It seems nobody noticed this because the module
is only used for sys.exit().

(From OE-Core rev: 66f66d1d763ff7bbaab9e8fcdf7fc882f2dfbb13)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:22 +00:00
Markus Lehtonen
e530a95c5a oeqa.utils.metadata: include BB_NUMBER_THREADS and PARALLEL_MAKE
Inlude values of BB_NUMBER_THREADS and PARALLEL_MAKE in the metadata.

[YOCTO #10590]

(From OE-Core rev: 97c07a55815c2fc3915705317b6f30d212fa1d45)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:22 +00:00
Markus Lehtonen
56a7f41711 oeqa.utils.metadata: allow storing any bitbake config variables
Make it possible to store any bitbake config variables in the metadata.
Config values will be stored under a new config element in the xml report:
    <config>
        <variable name="MACHINE">qemux86</variable>
    </config>

The value of MACHINE is moved there instead of having a dedicated
<machine> element.

[YOCTO #10590]

(From OE-Core rev: 6e7e6e37664b0a86111272f5f6f4a4e1d0f23302)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:22 +00:00
Markus Lehtonen
c74af56d4b oeqa.utils.metadata: add bitbake revision information
[YOCTO #10590]

(From OE-Core rev: 71ca7dab08fc500b231054249aacc90ae4aa85da)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:22 +00:00
Markus Lehtonen
47aac40869 oeqa.utils.metadata: have layer name as an attribute in xml
Have the layer name as an attribute instead of of the name of the
element itself. That is, have <layer name="layer_name"/> instead of
<layer_name/>. A bit better XML design.

[YOCTO #10590]

(From OE-Core rev: 50ea44c19005b536a2791113f8b536fd10548ead)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:22 +00:00
Markus Lehtonen
28858af49f oeqa.utils.metadata: add commit count information
Makes it easier to put the commits into a timeline.

[YOCTO #10590]

(From OE-Core rev: 7757970bced4ecd6503991c0cf11f4d9158f650c)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:22 +00:00
Markus Lehtonen
ceed2c7eb5 oeqa.utils.metadata: rename 'revision' to 'commit'
Revision is a bit vague and could point to a tag, for example. Git
commit objects are unambiguous and persistent so be explicit that the
element should contain git commit hash.

[YOCTO #10590]

(From OE-Core rev: a6521b89e86ddba6bd646dd3974d7b0390323b56)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:22 +00:00
Markus Lehtonen
927e759bb2 oeqa.utils.metadata: fix retrieval of git branch and revision
Always return a valid branch name, or, '(nobranch)' if the current HEAD
is detached. Also, always return the hash of the commit object that HEAD
is pointing to. Previous code returned an incorrect branch name (or
crashed) e.g. in the case of detached HEAD.

[YOCTO #10590]

(From OE-Core rev: 02d3ba17a8090bd088beb973980651d664f713bb)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:22 +00:00
Markus Lehtonen
4e67232f34 oeqa.utils.metadata: drop 'unknown' git data elements
It's better just to not have the xml elements than to have elements with
faux data. One could have git branch named 'unknown', for example.

[YOCTO #10590]

(From OE-Core rev: fce531c21f5e56d0f416b3405a0b0fc5ba567679)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:22 +00:00
Markus Lehtonen
df8c0540e4 oeqa.utils.metadata: re-organise distro information
Use the same format, based on /etc/os-release, as for host distro
information.

[YOCTO #10590]

(From OE-Core rev: 0156ef46ccf5334ee72f0202f1089249c62af37b)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:22 +00:00
Markus Lehtonen
8d51f62cd4 oeqa.utils.metadata: re-organise host distro information
Put all host distro data under one <host_distro> element. In addition
take the data directly from /etc/os-release instead of the "lsb API".
The /etc/os-release file is virtually ubiquitous, now, and using its
field names and values provides a more standardized and extensible
format.

[YOCTO #10590]

(From OE-Core rev: 98cad0b4063772dad94fea96edce1a5422256c32)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:22 +00:00
Jose Perez Carranza
2cd7613582 oeqa/selftest/tinfoil: add test IDs to tinfoil test cases
Testopia entrances were created and the IDs retrieved are
added to their corresponding test case on tinfoil script.

(From OE-Core rev: 486e5ad8270a4d3897f477ae5ae61422826f93ce)

Signed-off-by: Jose Perez Carranza <jose.perez.carranza@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:22 +00:00
André Draszik
51d5d7f843 time: BBCLASSEXTEND to native and nativesdk
Some recipe might use time, e.g.
  http://git.yoctoproject.org/cgit/cgit.cgi/meta-swupd/tree/classes/swupd-image.bbclass?id=531a8e636ca891c34f2596eb7f6365a11d4b29a7#n481
Time is a bash built-in, or a separate utility (typically
in /usr/bin/), but not everybody uses bash, or has
GNU time installed by default.

(From OE-Core rev: a335aed0c2f64defc503ae3cc66c9ca0645eb6db)

Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:22 +00:00
André Draszik
1e2085a538 python3-pygobject: enable cairo only when a display is available
It doesn't seem to make sense to unconditionally enable cairo
support, as this pulls in lots of other dependencies, where
none of these can actually be used without some sort of
graphical interface.

Not having a generic distro feature to detect this, we just
use any of DirectFB / Wayland / X11

(From OE-Core rev: 9fc8ea24914a322536d831ea11295c4ef0dc6b66)

Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:21 +00:00
Nathan Lynch
007b89204e babeltrace: upgrade to 1.5.1
(From OE-Core rev: c49d0a7741100c8864aa826f232a93311dcc7752)

Signed-off-by: Nathan Lynch <nathan_lynch@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:21 +00:00
Nathan Lynch
9ba3f6d20f lttng-tools: upgrade to 2.9.3
Notable recipe changes:

* switch to using release tarball
* brokensep no longer required
* drop upstreamed error.h patch
* change do_install_ptest to selectively copy build artifacts to
  install tree.
* use backported patch to address file-rdeps warning

(From OE-Core rev: 0846aaa429a18557129579260ff09c0145aba903)

Signed-off-by: Nathan Lynch <nathan_lynch@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:21 +00:00
Nathan Lynch
493af5a84c lttng-modules: upgrade to 2.9.0
Switch to using release tarballs.

(From OE-Core rev: 7db8edbffdd29a01694add88d5a6988fab4511ad)

Signed-off-by: Nathan Lynch <nathan_lynch@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:21 +00:00
Nathan Lynch
2a6224f4fd lttng-ust: upgrade to 2.9.0
buildhistory-diff says:

  /usr/lib/liblttng-ust-python-agent.so.0 was removed
  /usr/lib/liblttng-ust-python-agent.so.0.0.0 was removed

This is because prior versions of lttng-ust unconditionally built
the Python agent libraries; this was fixed upstream in 21ddb8e ("Only
build python lib when agent is enabled").

Switch to using release tarballs.

(From OE-Core rev: a40bb2b7991adf5ef7121a45461747226c04bac1)

Signed-off-by: Nathan Lynch <nathan_lynch@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:21 +00:00
Nathan Lynch
2acc2f708b lttng-ust: don't exclude manual pages from build
Adding "manpages" to PACKAGECONFIG results in a lttng-ust-doc package
with no manpages.  Fix the patch we carry to only exclude the examples
directory, which seems to have been its original intent anyway.

(From OE-Core rev: 54d9fb2664d16a561f9e9232a53b60810678f9bf)

Signed-off-by: Nathan Lynch <nathan_lynch@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:21 +00:00
Edwin Plauchu
f8c8be4f72 python3-docutils: upgrade to 0.13.1
Changed document date field and roman.py notes
https://fossies.org/diffs/docutils/0.12_vs_0.13.1/COPYING.txt-diff.html

(From OE-Core rev: 2429aec52ab04e866e3d9af5a5c7682aa8878467)

Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:21 +00:00
Edwin Plauchu
742e766876 python3-pip: fixed dependecy with python3-enum
it solved problem of pip's console showing error "module enum not ..."

[YOCTO #10904]

(From OE-Core rev: 1f379cbfa5ea9e29db771884bea61a7826f5f8ab)

Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:21 +00:00
Fabio Berton
5fbb1228fb openssl: Use linux-aarch64 target for aarch64
aarch64 target was being configured for linux-generic64 but openssl has
linux-aarch64 target. Change to use linux-aarch64 as default.

(From OE-Core rev: 13e9a692510151383bc3243c3917154896b0e049)

Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:21 +00:00
Ross Burton
a04bb6803b gstreamer1.0: make libunwind detection deterministic
Otherwise libunwind support will be based on the contents of the sysroot, which
can cause problems.

(From OE-Core rev: 14cb8fe36fcb2dc20830fb4ba63ed1302255b61b)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:21 +00:00
Ross Burton
bc14d82c0e perf: add PACKAGECONFIG for systemtap
Otherwise it's possible to race with systemtap headers being present during the autodetection and disappearing during the build:

tests/sdt.c:14:21: fatal error: sys/sdt.h: No such file or directory
 #include <sys/sdt.h>
                     ^
(From OE-Core rev: 8aafed5f4757550f2ff688e1b8981e5e8e6e3428)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:21 +00:00
Ross Burton
73adcf1b66 perf: use PACKAGECONFIG instead of hand-rolled logic
PERF_FEATURES_ENABLE and perf_feature_enabled() was basically a poor man's clone
of PACKAGECONFIG, without the automatic handling of dependencies and configure
options.

As part of the port to PACKAGECONFIG the options have been changed to remove the
perf- prefix, but are otherwise unchanged.

Also remove BUILDPERF_libc_uclibc assignment as nothing in the metadata uses a
BUILDPERF variable.

(From OE-Core rev: 33d05772c30036e8d2bb2dc8928989bf98d388f1)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:21 +00:00
Maxin B. John
3b262f458c harfbuzz: upgrade to 1.4.1
1.3.4 -> 1.4.1

(From OE-Core rev: d4b2e8298127a5100eb99309e010c3002f769dd5)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:21 +00:00
Maxin B. John
43ef96a4d2 netbase: upgrade to version 5.4
5.3 -> 5.4

Refreshed the following patch:
 a) netbase-add-rpcbind-as-an-alias-to-sunrpc.patch

(From OE-Core rev: 3a63b7530377cb225c05a68fb8130d2ec3c3981c)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:21 +00:00
Maxin B. John
17a92e1fb0 mdadm: upgrade to version 4.0
3.4 -> 4.0

Removed the following upstreamed or backported patches:

 a) 0001-Fix-some-type-comparison-problems.patch
 b) 0001-Fix-typo-in-comparision.patch
 c) 0001-mdadm.h-bswap-is-already-defined-in-uclibc.patch
 d) 0001-raid6check-Fix-if-else-indentation.patch
 e) 0001-util.c-include-poll.h-instead-of-sys-poll.h.patch
 f) mdadm-3.2.2_fix_for_x32.patch

(From OE-Core rev: b32f5098fc06c96d9331abe0f4ff9cc7c7c08c76)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:21 +00:00
Maxin B. John
2068a1e37a libproxy: update to version 0.4.14
0.4.13 -> 0.4.14

(From OE-Core rev: f4f28c4d246e14ee60ae2bc46761f871eaca9898)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:21 +00:00
Andre McCurdy
d76af0e88a gstreamer1.0-plugins-good: fix qtdemux_parse_svq3_stsd_data() memory leak
Backport from 1.11.1

  https://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=29433495d697e4dcb3bc50ff0e0d866acb949890

(From OE-Core rev: a41129815bc46460d145208113a8b75a92f3d19d)

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>
2017-01-19 22:47:21 +00:00
Edwin Plauchu
da76cda28f python3-setuptools: upgrade to 31.1.1
It is a simultaneous upgrade for python 2 and 3 over setuptools.

(From OE-Core rev: e37e023da9833fc6d17a8a57554aaf986b4e8d56)

Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:21 +00:00
Edwin Plauchu
b0fc05ea49 swig: upgrade to 3.0.11
(From OE-Core rev: 6b97088924e60352647a16f879577e2e4194c695)

Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:20 +00:00
Chen Qi
cf670c4629 byacc: upgrade to 20161202
0001-byacc-do-not-reorder-CC-and-CFLAGS.patch is added to fix the problem
of byacc dropping options from $CC.

(From OE-Core rev: e7a4eea6fe9ed9630eddf508a07af0e9dccd66da)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:20 +00:00
Khem Raj
72ee691056 gstreamer1.0-plugins-bad: Backport patches for improving live playback
(From OE-Core rev: 23c37ffb25a41cd8b30a3fb56731fd6753478092)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:20 +00:00
Patrick Ohly
fdf4a0d3cf gcc-source.inc: cleanly disable do_rm_work
Using "deltask" assumes that do_rm_work has been added already, which
won't be the case anymore in the upcoming improved rm_work.bbclass,
because then an anonymous python method will add do_rm_work.

Setting RM_WORK_EXCLUDE works with the current and upcoming
rm_work.bbclass and is the API that is meant to be used for excluding
recipes from cleaning, so use that.

(From OE-Core rev: 1f2a3cdadac1560b0e03a7be25f452ad48c27ddb)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:20 +00:00
Robert Yang
dcaeaf2df1 runqemu-export-rootfs: fix inconsistent var names
Fixed:
$ runqemu nfs qemux86-64
[snip]
On your target please remember to add the following options for NFS
nfsroot=IP_ADDRESS:/path/to/nfsroot,nfsvers=3,port=,mountprog=,nfsprog=,udp,mountport=
[snip]

Note that the values are null, this is because their var names are
inconsistent.

[YOCTO #10519]

(From OE-Core rev: 10c136a382006c0ec2679a70f47ff2446c10372c)

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>
2017-01-19 22:47:20 +00:00
Robert Yang
65a8d4d185 scripts/runqemu: fix checking for <file>.cpio.gz
When "runqemu /path/to/<file>.cpio.gz", it used the last suffix "gz" as
the fstype which was wrong. Check filename against self.fstypes firstly
can fix the problem.

(From OE-Core rev: 68c7589b67a83977331a04356b53aa51680a1d9d)

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>
2017-01-19 22:47:20 +00:00
Mariano Lopez
55aa669750 lib/oe/package_manager.py: Fix extract for ipk and deb
With the move to use lists instead of strings in subprocess
calls, package extraction was broken for ipk and deb. This
fixes this issue.

(From OE-Core rev: 3e1d8e5c7ac3238eda85ee95dfef044bef2a6411)

Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:20 +00:00
David Vincent
f4fedefe49 extrausers: Use static ids when available
When creating users at the image level using extrausers class, the
current behavior is to ignore the status of USERADDEXTENSION. This could
lead to undefined behavior when static ids are expected but the system
falls back to dynamic ones.

(From OE-Core rev: 331140e892f84b70bced44a0b5d14f32ec95042e)

Signed-off-by: David Vincent <freesilicon@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:20 +00:00
Maciej Borzecki
cb10cfd64f wic: partitionedfs: account for non-table partitions when checking if logical parititon is needed
Commit 8c1c43b790 `wic: Create a logical partition
only when it is really mandatory` did not account for partitions that are not
present in partition table.

(From OE-Core rev: 57b05e924bba7b2fff07a34690474c0fa3046865)

Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:20 +00:00
Ola Redell
47400e3648 kernel-module-split: Append KERNEL_VERSION string to kernel module name
The KERNEL_VERSION string is added to kernel module package names in order
to make the kernel modules for different kernel versions distinct packages
instead of different versions of the same package. With this change, when
a new kernel is installed together with its kernel modules (e.g. by upgrade
of the packages kernel and kernel-modules) using some package manager such
as apt-get or rpm, the kernel modules for the older kernel will not be
removed. This enables a fall back to the older kernel if the new one fails.

Also, for backwards compatibility and to enable kernel version agnostic
dependencies to kernel modules, create a virtual package with the old
(shorter) kernel module package name using RPROVIDES.

(From OE-Core rev: 78cde87bb6e71ec5b603426879267874900d09f3)

Signed-off-by: Ola Redell <ola.redell@retotech.se>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:20 +00:00
Andreas Müller
eb6bd89014 waf.bbclass: handle PACKAGECONFIG
(From OE-Core rev: 8d72bea03b3db1ddece309d1bab80f9e4c4c2d33)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:20 +00:00
Nathan Rossi
ff14510cdf kernel-fitimage.bbclass: Check value of UBOOT_SIGN_ENABLE
Check the value of UBOOT_SIGN_ENABLE, as it is defaulted to "0" which
for matches as True in python due to being a non-empty string.

(From OE-Core rev: 35ebe793f2d933366863d17fb807b3d39f594334)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:20 +00:00
Nathan Rossi
4c88512843 kernel-fitimage.bbclass: Don't assume KERNEL_IMAGETYPE == fitImage
The name of the output image for a fitImage that contains a ramdisk
should match the same as for the fitImage that does not contain a
ramdisk. As such it should not be assumed that KERNEL_IMAGETYPE is
"fitImage". This change explicitly sets the name of the output
ramdisk/initramfs to start with fitImage as does the non-ramdisk output.

(From OE-Core rev: 81caed2b7071ffc9ed8077d7d76952f2a2a4713d)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:20 +00:00
Nathan Rossi
492ee05c65 kernel-fitimage.bbclass: Allow unset load/entry addresses for ramdisks
Allow the load and entry addresses to remain unset if the UBOOT_RD_*
variables are also unset for ramdisk entries in the image tree. This
allows for U-Boot to decide dynamically where to load the ramdisk.

(From OE-Core rev: 941b6ce3b297ed83f1c05dd76bfeefbf93482e6f)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 22:47:20 +00:00
Robert Yang
28ef841440 qemuboot.bbclass: use IMGDEPLOYDIR
So that "bitbake <image> -ccleansstate" can remove qemuboot.conf

(From OE-Core rev: 0704f15d1ad7483f80ffa18fa32b6115923641cf)

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>
2017-01-19 22:47:20 +00:00
Benjamin Esquivel
5c2c17d076 poky: add fedora-25 to the SANITY_TESTED_DISTROS
I have tested Fedora 25 enough times to add it to the tested distros
list. Additionally, in Guadalajara's staging autobuilder has been
tested for some time now so it is safe to put it in.

(From meta-yocto rev: c6ac52f061207e8fcedebda0ca4279fa5b07b9a6)

Signed-off-by: Benjamin Esquivel <benjamin.esquivel@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 20:20:16 +00:00
Joshua Lock
54eb3902f7 poky: Switch to post release name/version
(From meta-yocto rev: d2a87580c95db2d4e49eba4b78fd2198453b8230)

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 20:20:16 +00:00
Richard Purdie
7b3ddd8b64 poky: Add Ubuntu 16.10 as supported distro
I'm this locally on my build machine so its likely to work.

(From meta-yocto rev: df2bdba3b96ae0957fee5065befa569fc940b5e3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 20:20:16 +00:00
Juro Bystricky
7d18d05d45 bitbake: cooker.py: new multiconfig '*' syntax support
Currently you cannot build a target for all the configured multiconfigs without
specifying a list. The list can be quite long, requiring to type several lines
of text.

This enhancement is to support globbing so that you can do this,
e.g. instead of:

    $ bitbake multiconfig:A:bash multiconfig:B:bash bash

you can do:

    $ bitbake multiconfig:*:bash

There are real world use cases where it is desirable to use multiconfig with
two different tasks. For example:  SDKs with multiple toolchains but also
containing set of additional host tools, or multiconfig builds requiring one image for
the  main CPU(s) and a different co-image for a companion CPU.
For this reason, two variations of the new syntax are supported.

For example, the following:

    $ bitbake multiconfig:*:meta-toolhchain

would expand to:

    $ bitbake multiconfig:A:meta-toolchain multiconfig:B:meta-toolchain meta-toolchain

However the following:

    $ bitbake multiconfig:*:meta-toolhchain hosttools

would expand to:

    $ bitbake multiconfig:A:meta-toolchain multiconfig:B:meta-toolchain hosttools

In other words, if the user specified the "default" task explicitly, it replaces the implicit
"default" task.

[YOCTO#10680]

(Bitbake rev: 1559ad1fc3ae8b1e4e75b210f598b90be192571b)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-19 20:20:16 +00:00
brian avery
63f899a950 bitbake: toaster: bin/toaster whitelist TOASTER_DIR
Some of the tinfoil2 changes resulted in TOASTER_DIR being cleared by
the memory resident bitbake server toaster starts up.  This prevented
toaster from being able to connect to its sqlite database. Adding
TOASTER_DIR to the BB_ENV_EXTRAWHITE list stops the cooker from clearing
out the TOASTER_DIR variable.

[YOCTO #9252]

(Bitbake rev: 2420953b3d03551d8254609300ca572717aecdcd)

Signed-off-by: brian avery <brian.avery@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-17 13:18:47 +00:00
Juro Bystricky
fe84f7b33e sanity.bbclass: Improved error message
When a non-existing MACHINE is specified, sanity check issues
the following message:

    Please set a valid MACHINE in your local.conf or environment

However, MACHINE can also be set in multiconfig .conf file(s).
Hence we may have several different MACHINE settings within one
(multiconfig) build, so the present error message is fairly
ambiguous.

This patch remedies this by explicitly naming the offending MACHINE and
by amending the list of places where this erroneous MACHINE definition
could have originated.

    MACHINE=xyz is invalid. Please set a valid MACHINE in your local.conf, environment or other configuration file.

[YOCTO#10810]

(From OE-Core rev: a7cb408dd784178197687a2129e936620bf6a0d3)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-17 11:31:36 +00:00
Juro Bystricky
7fbd940e89 bitbake.conf: require conf/multiconfig/${BB_CURRENT_MC}.conf
Presently there is no check to verify the existence of configuration
files as listed in BBMULTICONFIG.
For example, BBMULTICONFIG = "foobar" in local.conf does not trigger
an error or even a warning when there is no conf/multiconfig/foobar.conf.
The missing file is silently ignored.

This patch changes the inclusion of all multiconfig configuration files as
a non-optional requirement. If the file is missing, we get an error such as:

ERROR: ParseError at /data/master-multi/poky/meta/conf/bitbake.conf:704: Could not include required file conf/multiconfig/foobar.conf

Although the "default" configuration is not listed in BBMULTICONFIG,
this change also requires the file multiconfig/default.conf to exist.
The "default" (non-multiconfig) configuration is normally configured via local.conf,
so although this file is required, it can/should be empty. This patch creates
an empty file default.conf in meta/conf/multiconfig.

[YOCTO#10917]

(From OE-Core rev: ca46c09d38b766b69f485f1e82fc78f2a5e6a4c8)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-17 11:31:36 +00:00
Alejandro Hernandez
bad00064ef gummiboot: Remove gummiboot tests
Since we replaced gummiboot with systemd-boot
along with its tests, the gummiboot tests are
no longer necessary.

[YOCTO #10332]

(From meta-yocto rev: 43c3f96d0395c9ceb0f3c63a026ec34073fad69e)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-17 11:29:29 +00:00
Ola Redell
d937b5f5e7 bitbake: gitsm.py: Add force flag to git checkout command in update_submodules
When the gitsm fetcher is used with a repo that includes a .gitattributes
file that makes git modify files on cloning (e.g. line break characters),
the subsequent checkout performed in the update_submodules function fails.
This is fixed by adding the force flag (-f) to the checkout command.

(Bitbake rev: c05e1396625b14e66d795408ea2ae4cd2afc3209)

Signed-off-by: Ola Redell <ola.redell@retotech.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-17 11:29:29 +00:00
Jianxun Zhang
7eb02e837e bitbake: use multiple processes to dump signatures.
This change significantly shortens the time on reparsing stage
of '-S' option.

Each file is reparsed and then dumped within a dedicated
process. The maximum number of the running processes is not
greater than the value of BB_NUMBER_PARSE_THREADS if it is set.

The dump_sigs() in class SignatureGeneratorBasic is _replaced_
by a new dump_sigfn() interface, so calls from the outside and
subclasses are dispatched to the implementation in the base
class of SignatureGeneratorBasic.

Fixes [YOCTO #10352]

(Bitbake rev: 99d3703edd77a21770b366c6ad65a3c0f5183493)

Signed-off-by: Jianxun Zhang <jianxun.zhang@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-17 11:29:28 +00:00
Ed Bartosh
62591d9722 mpc8315e-rdb: move wks file to wic/ directory
Moved mpc8315e-rdb.wks from scripts/lib/wic/canned-wks/ to
layer wic/ directory to gather all wks files for reference
BSPs in one place.

(From meta-yocto rev: 73337565a4489225a9a204aaf24b8fa82fdb821e)

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>
2017-01-16 18:08:20 +00:00
Ed Bartosh
ca4901d834 README.hardware: update MPC8315E-RDB section
Added instructions to flash and boot device from USB stick.

[YOCTO #8719]

(From meta-yocto rev: 69d7d159f07eed1ca71f6530e1a7822146878575)

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>
2017-01-16 18:08:20 +00:00
Ed Bartosh
90f5f60992 edgerouter: add edgerouter.wks
Currently edgerouter machine uses sdimage-bootpart.wks from
scripts/lib/wic/canned-wks. It'd be easier to find this file
if it's name contains machine name and it's located in the same
layer.

Added edgerouter.wks to meta-yocto-bsp/wic/ to make it independent
from changes in oe-core and easier to maintain.

[YOCTO #8719]

(From meta-yocto rev: 6313c8fffe0dd4c3670ed06eca4c0a815d931e4a)

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>
2017-01-16 18:08:20 +00:00
Ed Bartosh
acfb6bf018 genericx86: add genericx86.wks
Currently genericx86* machines use mkefidisk.wks from
scripts/lib/wic/canned-wks. It'd be easier to find this file
if it's name contains machine name and it's located in the same
layer.

Added genericx86.wks to meta-yocto-bsp/wic/ to make it independent
from changes in oe-core and easier to maintain.

[YOCTO #8719]

(From meta-yocto rev: becb5f506198d94762e43f1b5a47b50d24b5ab35)

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>
2017-01-16 18:08:20 +00:00
Ed Bartosh
f689defd6d mpc8315e-rdb.conf: produce wic images for MPC8315
Added wic images to the list of default image types for mpc8315e-rdb
machine. Configured wic sdimage-boot plugin to put u-boot.bin, kernel
and device tree on the first partition.

[YOCTO #8719]

(From meta-yocto rev: dfbd39add8c24b366ba1709154f453dadd17a5a5)

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>
2017-01-16 18:08:20 +00:00
Ed Bartosh
40a11d4f03 beaglebone: add beaglebone.wks
Currently beaglebone machine uses sdimage-bootpart.wks from
scripts/lib/wic/canned-wks. It'd be easier to find this file
if it's name contains machine name and it's located in the same
layer.

Added beaglebone.wks to meta-yocto-bsp/wic/ to make it independent
on changes in oe-core and easier to maintain.

[YOCTO #8719]

(From meta-yocto rev: e88c4da453f24845f3b95f9ff7b23a4a38dc670a)

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>
2017-01-16 18:08:20 +00:00
Alejandro Hernandez
928a93d516 systemd-boot.bbclass: Fix SYSYTEMD_BOOT_CFG creation
This patch makes sure the directory which will contain
the systemd configuration (loader.conf) is created before
the configuration file is written, fixing errors when it
tried to write it to a non-existent directory

(From OE-Core rev: f4ba23212c97fb8c3351a3cf981ee355ae2fc9b1)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:14 +00:00
Tom Zanussi
1cae998af9 scripts: python3 fixes and new tool ksum
'ksum.py' generates a combined summary of vmlinux and module sizes for
a built kernel, as a quick tool for comparing the overall effects of
systemic tinification changes.  Execute from the base directory of the
kernel build you want to summarize.  Setting the 'verbose' flag will
display the sizes for each file included in the summary.

(From OE-Core rev: 016b19c2589582d7ec3c8cac9cfa75a1edc716fe)

Signed-off-by: Tom Zanussi <tom.zanussi@linux.intel.com>
Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:14 +00:00
André Draszik
9d0b36d9ff opkg-utils: use D instead of OPKG_OFFLINE_ROOT in postrm
While both result in the same in this case, postrm
should really be referring to $D as we do everywhere
else.

(From OE-Core rev: 7e459843e0371953d3d9d3ad05b019947ed7ca04)

Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:14 +00:00
André Draszik
08fd7c4fc2 lib/oe/rootfs: reliably handle alternative symlinks
When removing unneeded packages from a (read-only) rootfs
during rootfs creation, alternative symlinks from those
packages may or may not be removed.

The reason is as follows:

update-alternatives(-native) is used during package
installation as part of the image creation. It uses
a database which contains entries for all the
alternative symlinks possible, and the -native version
uses the target's database by means of $OPKG_OFFLINE_ROOT,
i.e. the rootfs we're in the process of creating.

Once the rootfs has been created, OE removes certain
packages because we have a read-only rootfs - in
particular ROOTFS_RO_UNNEEDED which includes
VIRTUAL-RUNTIME_update-alternatives, i.e. the
update-alternatives. Recently, a change was made in
OE, where uninstallation of update-alternatives from the
rootfs causes removal of its database, too, to save space
(700KiB (uncompressed) in a busybox system)
  b24a63d71b517af701dfedbc7f7b541d25af708f
  http://git.openembedded.org/openembedded-core/commit/meta/recipes-devtools/opkg-utils/opkg-utils_git.bb?id=b24a63d71b517af701dfedbc7f7b541d25af708f

Following from that, if update-alternatives is removed
from the target file system, update-alternatives-native
has no database anymore, meaning it can't manage any of
the alternative symlinks anymore.

Because the order of packages to uninstall is
non-deterministic, and update-alternatives could well
be removed before any packages that use the mechanism
provided, sometimes the extra symlinks are removed,
sometimes not.

By sorting the list of packages to be removed such that
update-alternatives is removed last, we can ensure that
that tings work reliably. (Certainly opkg seems to
uninstall packages in the order given on the command
line.)

[YOCTO #10916]

(From OE-Core rev: 5263dd3eac9d9fbdb7ef654d0cd532c192baed16)

Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:14 +00:00
Chen Qi
6bb64c8fa4 scripts/oe-selftest: fix typo
Change 'agains' to 'against'.

(From OE-Core rev: b72dba9cadb1ae0ee3feb184af1c5bb4a99f70e3)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:14 +00:00
Leonardo Sandoval
0bb40f0bb9 selftest: runtime-test: skip image-install test for poky-tiny
poky-tiny cannot build full-cmdline image, so skip this test in this case.

(From OE-Core rev: c2b1c562db160876fc3e1ee8b15bd07136d6ea7a)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:14 +00:00
Leonardo Sandoval
5c5db3a477 selftest: devtool: use distro agnostic recipes for devtool checks
The recipes being replaced are not compatible with all distros, so
use mraa and virtual/make for some checks.

(From OE-Core rev: bb32b232d686d1c057dede6f61ed4051b0088673)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:14 +00:00
Ross Burton
55228a1ca4 selftest/base: don't fetch DISTRO variable in constructor
Fetching the DISTRO variable in the base constructor means that we have to start
bitbake for every test case instance, which adds minutes to the startup time.

(From OE-Core rev: ac1c118dcb3cb27807b55115ef274a92bb512dd6)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:14 +00:00
Ross Burton
2abc37dbe8 selftest/bblayers: don't fetch a variable that is never used
(From OE-Core rev: f812f9518ef01abbdd9a6f415e5dc92263135f87)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:13 +00:00
Patrick Ohly
1f6e6455fe insane.bbclass: print license text as part of QA message
It it is hard to select exactly the right lines from a file, in
particular because the documentation did not specify the exact
semantic (YOCTO #10898).

When the QA license check fails, it now includes the license text for
which the md5sum was calculated. When adding a new entry to
LIC_FILES_CHKSUM, developers can then verify that they picked the
desired lines. When the checksum of an older entry changes, the developer
does not have to manually look up the changed text.

Here's an example which probably has an endline which is too large
(message triggered by changing the md5sum in the recipe):

ERROR: cmake-native-3.7.1-r0 do_populate_lic: QA Issue: cmake-native: The LIC_FILES_CHKSUM does not match for file://Source/cmake.h;beginline=1;endline=3;md5=deadbeef
cmake-native: The new md5 checksum is 4494dee184212fc89c469c3acd555a14
cmake-native: Here is the selected license text:
vvvvvvvvvvvvvvvvvvvvvvvvvvvv beginline=1 vvvvvvvvvvvvvvvvvvvvvvvvvvvvv
/* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
   file Copyright.txt or https://cmake.org/licensing for details.  */
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ endline=3 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
cmake-native: Check if the license information has changed in .../cmake.h (lines 1 through to 3) to verify that the LICENSE value "BSD" remains valid [license-checksum]

The beginline/endline values are only repeated in the borders if set.

License snippets larger larger than 20 lines (configurable with
QA_MAX_LICENSE_LINES) are truncated in the middle.

(From OE-Core rev: b5b869348adc8e932eb58ecdfdff93d1d63e775c)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:13 +00:00
Alistair Francis
7f013f2a54 runqemu: Allow the user to specity no kernel or rootFS
In some cirsumstances the user doesn't want to supply a kernel, rootFS
or DTB to QEMU. This will occur more now that QEMU supports loading
images using a '-device loader' method.

Allow users to specify 'none' for QB_DEFAULT_FSTYPE or QB_DEFAULT_KERNEL
to avoid supplying these options to QEMU.

(From OE-Core rev: 2cc01c4e46b05b7ffcc8a11e7ebde6c43256c3c3)

Signed-off-by: Alistair Francis <alistair.francis@xilinx.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:13 +00:00
Ross Burton
4cac4f194e grub_git: remove redundant inherits
These are already inherited by grub2.inc.

(From OE-Core rev: 98cd9cd5fe99d0466712be3ec7c4a4ff74afeb11)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:13 +00:00
Khem Raj
afeefb30c4 grub-git: Upgrade to tip of master and fix with glibc 2.25
(From OE-Core rev: c92ccf2117a6fbc0beb82f540296e0e5b5c6a193)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:13 +00:00
Ross Burton
cf8fcba8e7 selftest/archiver: don't build an image for a basic test
This test only exercises the include/exclude behaviour so it only needs to build
the two recipes that it tests against, not an entire image.

Part of #10874.

(From OE-Core rev: 9b02216be6c9dbf2f680db1ad1309bcb9fb32b23)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:13 +00:00
Andre McCurdy
5659aa92b5 wayland: minor recipe cleanup
Reorder lines, no functional changes.

(From OE-Core rev: db450e6e472ea0fecef0129abcfc46ee67b20c8e)

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>
2017-01-16 18:05:13 +00:00
Ed Bartosh
fae29ac083 wic: _exec_cmd: produce error if exit code is not 0
Current code doesn't always show error output of the
external command and even ignores non-zero exit code.

Moved checking of exit code value to the lowest level
possible: to _exec_cmd. This should make wic to always
check exit code of the external command and issue
an error if it's not 0.

[YOCTO #10816]

(From OE-Core rev: 7f68001579c08509332d633b27b5c2ea9386b6c9)

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>
2017-01-16 18:05:13 +00:00
Ed Bartosh
c1bb8c9b14 direct.py: fix getting image name
part.rootfs_dir was used as an image name in the code.
However, when multi-rootfs feature is used this attribute
points to the name of the rootfs, e.g. if --rootfs command line
is rootfs1=core-image-minimal partf.rootfs_dir is 'rootfs1'.

The code also fails when image name is not provided in wic
commandline. For example, when wic is called with
--rootfs-dir=<path> part.rootfs_dir will contain path and
wic will crash trying to call bitbake -e <path> to get
value of ROOTFS_SIZE variable.

Fixed the code by getting image name properly and checking
if it's not a path.

[YOCTO #10815]

(From OE-Core rev: 2e05d9709f1308fc95d3406b8a409ea982c5b474)

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>
2017-01-16 18:05:13 +00:00
Leonardo Sandoval
c52432498b recipes-test: exclude recipes from world target
These recipes should be excluded from target 'world' because these are
just intended to be used internally by oe-selftest (devtool, recipetool, etc.)

(From OE-Core rev: 4868bc94b8c4ebcf427ea6d321332d8b8fe6ce4a)

Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:13 +00:00
Christoph Settgast
2a12b59172 libdrm: enable etnaviv experimental support
The etnaviv project is a free and open source linux driver for Vivante
2D/3D GPUs in i.MX SoCs.

Support for etnaviv in libdrm was added in 2.4.71.

(From OE-Core rev: a6721e69400f214de147f72f274ff1b240fce8ad)

Signed-off-by: Christoph Settgast <christoph.settgast@methodpark.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:13 +00:00
Andreas Müller
47608e0a9b python3-pygobject: add PACKAGECONFIG for cairo - enabled by default
Have onboard (onscreen-keyboard) in the pipe for meta-oe. For that working
properly we need python3-pygobject build with cairo support.

(From OE-Core rev: 7355a3c4f665e066925ea6327ac72365ab1f2f39)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:13 +00:00
Maxin B. John
6c4e5e0ffb sqlite3: upgrade to 3.16.2
3.15.2 -> 3.16.2

1. Updated the SRC_URI for releases in 2017
2. Removed the following revert patch as the fix is present in this release:
        a) 0001-revert-ad601c7962-that-brings-2-increase-of-build-ti.patch

[YOCTO #10695]

(From OE-Core rev: 05317fe9f11565d40b84ad71300b39c990a53f6d)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:13 +00:00
Chen Qi
988f2efd65 selftest/buildoptions.py: fix path assumption for DEPLOY_DIR_SRC
Fix path assumption for DEPLOY_DIR_SRC, otherwise, the testcase may fail
even if the functionality works well.

(From OE-Core rev: dab5d3901755a965cdd8f5b5e8ffb8e4cb79f2e5)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:13 +00:00
Chen Qi
0967a78689 selftest/bbtests.py: fix path assumption for LICENSE_DIRECTORY
Fix path assumption for LICENSE_DIRECTORY, otherwise, the test case
may fail even if the functionality it tests works well.

(From OE-Core rev: ae388652b8de0665390560e78429e10119d4d537)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:13 +00:00
Zheng Ruoqin
0c943538e4 iproute2 4.7->4.9
Upgrade iproute2 from 4.7 to 4.9

(From OE-Core rev: c6e7db1446a4c94caf3df0b8a9758888d1b8b7f9)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:13 +00:00
Ed Bartosh
e652fa4420 canned-wks: remove mpc8315e-rdb.wks
This file has been moved to meta-yocto-bsp/wic/

(From OE-Core rev: efa7639b31c51e2874ba61fd68f9e2cb51145eaf)

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>
2017-01-16 18:05:13 +00:00
Ross Burton
1800b1ba7a rootfs: don't put /usr/lib/ssl and /etc into debugfs
The /etc and /usr/lib/ssl directories were only put into the opkg-generated
debugfs because of a bug in opkg which means that a conffile has to exist if
we're running 'opkg status'.  This is now fixed, so the workaround can be
reverted.

(From OE-Core rev: 7267b1f6fa25e290eac070263355aa7f30b2ebcb)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:13 +00:00
Ross Burton
b894376415 opkg: fix conffile errors in 'opkg status' calls
If a conffile has been deleted (common when building a debugfs) the status
command will throw errors instead of handling that situation.  Stop the code
being executed in the first place if it wasn't asked for, and handle errors
gracefully.

[ YOCTO #10761 ]

(From OE-Core rev: 0aaaacdf4456fe832b1c3940997c097e7e94b9e6)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:13 +00:00
Linus Wallgren
3f6504dc65 apt-package: Include maintenance scripts
Apt can run multiple tasks daily, such as for example clean, update,
autoclean, unattended-upgrades etc.

[YOCTO #10669]

(From OE-Core rev: cde67af8ce9b8e72b5818233a7ef4c2aa181404a)

Signed-off-by: Linus Wallgren <linus.wallgren@scypho.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:13 +00:00
Ola x Nilsson
e97422f400 oe-selftest: devtool: Add test for externalsrc buildclean
Test both for S == B and S != B.

(From OE-Core rev: 3b46c1ac203717d85a1e2e8da067a69f066b7037)

Signed-off-by: Ola x Nilsson <olani@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:13 +00:00
Ola x Nilsson
8a85d44ced externalsrc.bbclass: Add task buildclean
The buildclean task should call the package build system clean
command, just implemented for Make for now.

This is meant for recipes where S == B, but can be useful as a
standalone task for other recipes too.

When S == B, set it to run before do_clean which will do what most
developers expect when calling bitbake -c clean.  For S != B, do not
add it before clean as it is not needed and may take some time.

(From OE-Core rev: cfaad320d9565003e97893efcb14d00d0b8e23bb)

Signed-off-by: Ola x Nilsson <olani@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:13 +00:00
Chen Qi
9a1e8b9cf5 selftest/eSDK.py: fix sstate dir not found error
Fix the error below when SSTATE_DIR is not "${BUILDDIR}/sstate-cache".

  FileNotFoundError: [Errno 2] No such file or directory: '/xxx/../sstate-cache'

(From OE-Core rev: 785f0343d04c1684363b5289a3012cf7e1caa95f)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:12 +00:00
Ioan-Adrian Ratiu
436df4de37 wic/isoimage-isohybrid: remove do_stage_partition()
The purpouse of this function was to check dependencies for building a
hybrid iso and build them using bitbake if not found. Calling bitbake in
this context means this wic plugin itself cannot be instrumented inside
bitbake recipes which is undesirable, the benefits of this are clear:
there is no need to maintain outside scripts to generate an iso using wic
and the isohybrid building logic can be further abstracted away into an
isohybrid.bbclass in the future which can be easily inherited or something
similar.

So remove the function and add all dependencies to NATIVE_RECIPES so that
wic can print useful errors when they're not built.

To automate building the isohybrid image dependencies, add the following
somewhere in your image build inheritence hierarcy (or maybe create a
bbclass in the future to do these sort of things automatically):

DEPENDS += "syslinux syslinux-native cdrtools-native e2fsprogs-native \
            parted-native dosfstools-native mtools-native grub-efi-native"

(From OE-Core rev: ba4346069ab87f1cf942d1928f911eca6a9d65cd)

Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:12 +00:00
Amarnath Valluri
c04a5673b6 linux-firmware: Modify firmware installation path
Install firmware files under ${base_libdir}/firmware instead of hardcoded
/lib/firmare.

(From OE-Core rev: a46a23fed9acd097ecc8ab3985d18688abe7b065)

Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:12 +00:00
Amarnath Valluri
9c2158c073 kernel: Modify kernel modules installation path.
Use ${base_libdir}/modules inplace of /lib/modules for kernel modules installation path.

(From OE-Core rev: 0ccb2efe9837e2915c093341a662dffc1df00866)

Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:12 +00:00
Jose Perez Carranza
970b76a728 runtime: Add cleanup for logrotate tests
Delete logrotate dir to avoid errors
when test are executed more than 1
time on the same target.

(From OE-Core rev: 02c98c848163a6837692fe74a91754701a44a6c0)

Signed-off-by: Jose Perez Carranza <jose.perez.carranza@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:12 +00:00
Haiqing Bai
6e2b26eb22 kexec: ARM: fix align issue of add_buffer_phys_virt() for LPAE kernel
If LPAE is enabled, 3 level page table is used and the 'SECTION_SIZE'
is (1<<21), so add_buffer_phys_virt() should align to (1 << 21).

(From OE-Core rev: 582cad510953d3540ffe35b10b1ce2a8d034b535)

Signed-off-by: Haiqing Bai <Haiqing.Bai@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:12 +00:00
Patrick Ohly
753471db45 rootfs-postcommands.bbclass: sort passwd entries
The /etc passwd files in a rootfs consist of the default entries from
base-passwd plus anything that gets added via package installation,
EXTRA_USERS_PARAMS and/or system sysusers.

The execution order of preinst scripts is not perfectly deterministic,
or at least unrelated changes caused it to change in a
non-deterministic way, resulting in irrelevant changes in the order of
passwd entries.

useradd-staticids.bbclass ensures that the numeric IDs don't change,
but re-ordering can still occur, which is bad for reproducible builds
and file-based update mechanisms like swupd which work best if changes
are as minimal as possible.

To achieve that, the files get sorted in a post-processing command,
enabled by default. Sorting is based primarily on the numeric IDs, so
for example, the "root" user continues to be listed first. "nobody"
now is at the end, which wasn't the case before.

The order of the entries should not matter, but in obscure cases where
it does (like having multiple entries for the same numeric ID) this
behavior can be disabled by setting SORT_PASSWD_POSTPROCESS_COMMAND to
an empty string.

Fixes: YOCTO #10520

(From OE-Core rev: ba684f436908ac2300a00c174d5aa06b4f824367)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:12 +00:00
Derek Straka
413e11ba98 python-3.5-manifest: Add http module to the netclient package
Adding http module from Python's standard library. This allow use
of the http module without installing all python-misc modules.

(From OE-Core rev: 3d0060f9703ba39fbdaafcbdf91e0c319b56f7b3)

Signed-off-by: Derek Straka <derek@asterius.io>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:12 +00:00
Ross Burton
2bc83c8a3b flex: upgrade to 2.6.2
Patches dropped as they are merged upstream:
- CVE-2016-6354.patch
- 0002-avoid-c-comments-in-c-code-fails-with-gcc-6.patch
- do_not_create_pdf_doc.patch

Apply a patch from github to simplify cross-compilation and not need a
flex-native to bootstrap.

(From OE-Core rev: 3632abd01abb8dfff230e18f828af705da488f97)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:12 +00:00
Ross Burton
171a070918 opkg-utils: set CLEANBROKEN as upstream Makefile doesn't have clean target
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:12 +00:00
Ed Bartosh
5651e8da60 wic: fix parsing of 'bitbake -e' output
Current parsing code can wrongly interpret arbitrary lines
that are of 'key=value' format as legitimate bitbake variables.

Implemented more strict parsing of key=value pairs using
regular expressions.

(From OE-Core rev: f0ec387ad40fb9c098ac8d761993bc2bacc76e65)

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>
2017-01-16 18:05:12 +00:00
Mark Asselstine
e30f00bca5 sysklogd: do more to properly work with systemd
It was noticed that syslogd and klogd were no longer running on system
startup, meaning no /var/log/messages etc.. It appears as though
sysklogd has never been updated to follow the expected logging
requirement for systemd as described here:
https://www.freedesktop.org/wiki/Software/systemd/syslog/

As such no service was started and no logging present. Using the above
guidelines we create two new service files syslogd.service and
klogd.service. We make use of tmpfiles.d in order to ensure the
xconsole device node exists and do other minor recipe cleanup to
ensure peaceful coexistence with sysvinit and systemd implementations.

The systemd documentation also asks that for a logger which is not
rsyslog that we also enable 'ForwardToSyslog=' in journald.conf, but
this is already the case so no action is required.

With this change in place syslogd and klogd are started at system
startup and the expected logs are available.

Unfortunately I was not able to find any work done on this upstream or
in other distros so this is my best effort at making this work.

(From OE-Core rev: 914e08cf627e54e5019eda2154663c30b9a68ded)

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:12 +00:00
Saul Wold
5ff8fdd3d6 nfs-utils: remove -f exports from nfsserver
The upstream project remove that option as it was quote:
    It is completely ineffective.

[YOCTO #10843]

(From OE-Core rev: 52a12c6e5360f3f60b5610eb9ad6edaa076427c1)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:12 +00:00
Alejandro del Castillo
b774c4a808 opkg-utils: bump SRCREV to 0.3.4 tag
* Add patch that removes hardcoded installation directories.

(From OE-Core rev: 60c9a970426cf9a9985fb70b4d896dc29ba2befd)

Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:12 +00:00
Juro Bystricky
4028407326 build-appliance-image: support for Toaster
Various changes needed to enable to run Toaster in the
Build Appliance:

1. Pre-install packages as specified by the file
   "bitbake/toaster-requirements.txt"
2. Include pip3 in the image
3. Include tzdata in the image (needed by django)
4. Bump SRCREV to a commit with proper settings.py (ALLOWED_HOSTS)
   for Django 1.8.16
5. Added README_VirtualBox_Toaster.txt to provide steps for
   configuring VirtualBox network adapters (NAT or Bridged)
   and steps to launch Toaster

[YOCTO#10767]

(From OE-Core rev: dffbac64bbf86c91247ba7373b3b5bd6af24103f)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:12 +00:00
Randy Witt
b138a8bba5 image_types.bbclass: IMAGE_TYPEDEP_ now adds deps for conversion types
Previously if IMAGE_TYPEDEP_* contained a conversion type of the form,
"foo.bar", the dependency on CONVERSION_DEPENDS_bar would not get added
to the task depends for do_rootfs.

[YOCTO #10883]

(From OE-Core rev: 037d39898e0e16c6d5b24a8d3844abfb328d3c14)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:12 +00:00
Randy Witt
f64e321baf image_typedep.py: Add a test that ensures conversion type deps get added
Add a test that ensures if IMAGE_TYPEDEP_* contains a conversion type,
that the corresponding CONVERSION_DEPENDS_ for that type gets added to
the dependency tree for do_rootfs.

(From OE-Core rev: 9cf9c725f7d534c326ffd95ec539b041f4ad286f)

Signed-off-by: Randy Witt <randy.e.witt@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:12 +00:00
Alejandro del Castillo
f7cf740fc4 opkg: upgrade to v0.3.4
* Add localstatedir and sysconfdir class-native configure definitions to
  override OE default sysroot values.

(From OE-Core rev: 3428a3d1b4d250b82582d472907fb202efe25d40)

Signed-off-by: Alejandro del Castillo <alejandro.delcastillo@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:12 +00:00
Chen Qi
2f689ed92a coreutils: upgrade to 8.26
Add 0001-local.mk-fix-cross-compiling-problem.patch to fix the following
cross compiling problem.

| Makefile:3418: *** Recursive variable 'INSTALL' references itself (eventually).  Stop.

(From OE-Core rev: 07fabf6aa622c4b9ed6f0dc97a6acf5df5a6f058)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:12 +00:00
Chen Qi
40cca1d048 grep: upgrade to 2.27
(From OE-Core rev: 5cacc3cd986d5a6e7ed68171b3908fbae111330b)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:12 +00:00
Chen Qi
382975e7b0 sysstat: upgrade to 11.5.3
(From OE-Core rev: 21c8a422cd115e726ce8451b5ea998d7a830f113)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:12 +00:00
Chen Qi
9f77790b2b dbus/dbus-test: upgrade to 1.10.14
(From OE-Core rev: a196662b49dac6386e21656dcd0b21f37d35dad3)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:12 +00:00
Chen Qi
5c9aaf36d6 systemd-bootchart: upgrade to 231
(From OE-Core rev: b4dccaf03ed4d01f6b41518f391948bbb6789f72)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:12 +00:00
Khem Raj
4e2421419b musl: Upgrade to 1.1.16+ on master
summary of changes

http://git.musl-libc.org/cgit/musl/commit/?id=8fe1f2d79b275b7f7fb0d41c99e379357df63cd9

(From OE-Core rev: 6536c9d333587d1bb7941acfc58af3d36262abd8)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:11 +00:00
Ed Bartosh
8f38e76861 image_types.bbclass: look for wks files in <layer>/wic
Added <layer>/wic directory to the list of paths to look
for wks files. This makes wic behaviour consistent when
invoked manually and by bitbake.

(From OE-Core rev: d345985db69dc86e9a8f8e2506b250d8780374cb)

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>
2017-01-16 18:05:11 +00:00
Ross Burton
c6e41018df linux-firmware: remove alternatives for brcmfmac-stdio.bin
These alternatives are only used to provide an unversioned brcmfmac-sdio.bin,
which was required by kernels prior to 3.13.  As these alternatives all have the
same priority there's no determinism in which one is selected, and current
kernels (since January 2014) use the appropriately versioned firmware names.

(From OE-Core rev: 7ac00f2efee4973703ef9725c81242bd6eae36c0)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:11 +00:00
Alejandro Hernandez
a250452f56 gummiboot: Remove old gummiboot recipe, related class and wks file
Since the gummiboot project is no longer being maintained
and we are using systemd-boot as a replacement instead,
we can now clean up all remaining gummiboot files.

[YOCTO #10332]

(From OE-Core rev: 65eb3f51b70baaf24de871301a7247d5baed00ed)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-16 18:05:11 +00:00
Scott Rifenbark
81021bc0aa yocto-project-qs, ref-manual: Added note for "resources temporarily unavailable" error
Fixes [YOCTO #10818]

There is a weird and intermittant error that can occur on any given
distribution that has a 4.3+ Linux kernel and a version 228+ systemd.
The error happens during an initial build of an image and indicates
that resources are unavailable.  Investigation determines that
resources are available.  The combination of the kernel and the
systemd in a distro is causing issues when a distro is upgraded.

yocto-project-qs:
I added a note in the two areas where the user is stepped through
the bitbake process to build an image.  The note mentions the
possibility of the error, the host configuration situation, and a
couple work-arounds, which are to reboot the machine or to set the
"DefaultTaskMax" systemd parameter to "infinity".

ref-manual:
Added the same note in the "Building an Image" section.

(From yocto-docs rev: 3516803f9e6b5a29e4f95d31742c6e03ff63ef41)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-11 17:23:18 +00:00
Scott Rifenbark
3ecc502b8d dev-manual: Added section on bmap-tool to flash images
Fixes [YOCTO #10621]

bmaptool is integrated into the OpenEmbedded build system but is
not documented.  I added a new section describing how to flash an
image to media using the tool.  Also, updated a small section in the
Wic part of the manual that used "dd" to flash an example.  I added
a bmaptool counterpart here and referenced the reader back to the
main new section.

(From yocto-docs rev: 98ebe9acccceea2b833c1372a3e664befd1b6aef)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-11 17:23:18 +00:00
Scott Rifenbark
a8e9faac40 dev-manual: Added section on bmap-tool to flash images
Fixes [YOCTO #10621]

bmaptool is integrated into the OpenEmbedded build system but is
not documented.  I added a new section describing how to flash an
image to media using the tool.  Also, updated a small section in the
Wic part of the manual that used "dd" to flash an example.  I added
a bmaptool counterpart here and referenced the reader back to the
main new section.

(From yocto-docs rev: 83a9a3aa5f20c7f389306eea9213eabea997aba1)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-11 17:23:18 +00:00
Scott Rifenbark
50074dfafa dev-manual: Added cross-reference for tool-chain installation.
(From yocto-docs rev: f57728c63cc83c44682fb5a109808a17e1f18485)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-11 17:23:17 +00:00
Scott Rifenbark
4460bed6c2 dev-manual: Updated "Building an Initial RAM Filesystem (initramfs) Image" section
Fixes [YOCTO #7096]

Applied a couple review comments to the section to clarify where
to set key variables.  Also fixed an incorrect variable name used
to specify the *.cpio file.

(From yocto-docs rev: 24861b36804cbd636aafc36b1918bcfe33ca3811)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-11 17:23:17 +00:00
Scott Rifenbark
62f7812b93 ref-manual: New VOLATILE_LOG_DIR variable description
Fixes [YOCTO #6132]

No mention of how to make the target directory /var/log
persistent.  I added a note to the "post-install-logging"
image feature that points to the new VOLATILE_LOG_DIR
variable description, which I added to the glossary.

(From yocto-docs rev: 5d2bdf49e569e44d02602501d72418f04dbe6e4a)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-11 17:23:17 +00:00
Martin Vuille
5d64b8e076 dev-manual: Fixed "recipetool create" example
Fixes [YOCTO #10763]

The final example in the section describing how to create
the base recipe using receipetool create was wrong.  I updated
it to use the -d option in addition to the -o opetion.  I also
changed the description to match appropriately.

(From yocto-docs rev: 8cc6d5e21532eeaac0e6d9ace3e0b58803a9804e)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-11 17:23:17 +00:00
Scott Rifenbark
ecaab75be6 dev-manual, ref-manual: Created new section on initramfs
Fixes [YOCTO #7096]

We did not document how to create an initramfs image to be included
with a kernel build.  Various variables sort of inferred the
knowledge.  I created a new section in the "Common Tasks" section
of the dev-manual that describes how to create an initramfs image.

Also, I updated the kernel.bbclass reference section to point back
to the new "how-to" section.

Finally, I also created a bunch of cross-reference links from various
related variables back to the new "how-to" section.

(From yocto-docs rev: 289dfbd5d24241e42446a043104eecd6dca76f13)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-11 17:23:17 +00:00
Scott Rifenbark
d229fded3e ref-manual, dev-manual: Removed term "wic-partitioned"
This term was incorrect and I have replaced it with the
term "partitioned."

(From yocto-docs rev: 50dd5c6994a2f799fdaf1ccbf7138b0074e981ee)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-11 17:23:17 +00:00
Scott Rifenbark
27751642cd dev-manual: Updated to the "Creating Partitioned Images" section
new information on how wic works

(From yocto-docs rev: 7b6a54a593a678442541b1fa6847498a792183c7)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-11 17:23:17 +00:00
Scott Rifenbark
617b5bd4f3 ref-manual: Added WKS_FILE description for new variable
This new variable points to the location of the wics kickstart
file.

(From yocto-docs rev: 80d18224140f95fdca0b4efad8f6a6e545ee4d56)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-11 17:23:17 +00:00
Richard Purdie
840e221ea7 bitbake: event: Replace slightly elderly bbmake references!
bbmake hasn't existed for a while (a decade+) so we should
probably remove the references.

(Bitbake rev: 4170cf874850b950f31d2e36c895c110c0b096c3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:13 +00:00
Richard Purdie
6f6f51783a bitbake: prserv/persist_data/utils: Drop obsolete python2 imports
These imports were from python 2.6 and earlier, 2.4 in some cases.
Drop them since we're all python3 now.

(Bitbake rev: 7ef12684e8647b006bf46cae695069d4bfece1cf)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:13 +00:00
Ross Burton
949c7062b7 selftest/devtool: update test to work with new mtd-utils
The new mtd-utils (version 2.0) has been autotooled so the test needs to touch
Makefile.am instead of Makefile.

(From OE-Core rev: acce512a0b85853b5acf2ef07e4163a3b4f33a98)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:13 +00:00
Robert Yang
1a06778c09 hdparm: 9.48 -> 9.50
Remove "-e MAKEFLAGS=" from EXTRA_OEMAKE to fix:
ERROR: hdparm-9.50-r0 do_package: QA Issue: File '/sbin/hdparm.hdparm' from hdparm was already stripped, this will prevent future debugging! [already-stripped]
ERROR: hdparm-9.50-r0 do_package: Fatal QA errors found, failing task.

The "-e MAKEFLAGS=" would cause submake can't get vars from environment,
The git log said that it was added for fixing a QA warning, but
everything is OK after remove it now.

(From OE-Core rev: 6305c1361c0d1140e37513402532600528a63744)

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>
2017-01-09 13:39:13 +00:00
Denys Dmytriyenko
29c9e43e75 attr/ea-acl: pass --disable-gettext when USE_NLS=no
Fixes following error in configure:
  FATAL ERROR: msgfmt does not seem to be installed.
  attr cannot be built without a working gettext installation.

(From OE-Core rev: d044fad8a0ac5d57deb88b25106f3a39cb7c1636)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:13 +00:00
Christopher Larson
35dde34c89 webkitgtk: add missing python-native dep
Since we can't inherit pythonnative, we need this dep explicitly.

(From OE-Core rev: 63530f59e43738bac081aaf3c89ec57006038dce)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:13 +00:00
Christopher Larson
09d4274a9d webkitgtk: patch & disable JIT for x32
It might not be speedy, but it does build now.

(From OE-Core rev: 79f7e215ee7c176f02efafe7359aaa77dbd9430c)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:13 +00:00
Christopher Larson
904d06ffc9 gnome-desktop3: fix for x32
Explicitly use strftime+strptime rather than snprintf+atol. This fixes the
build for X32, where long's size doesn't match that of time_t.

(From OE-Core rev: 72fa7d558a43ed053547ddc74972631504e40614)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:13 +00:00
Christopher Larson
106a782693 libunwind: apply a patch to fix x32
Apply patch to fix the X32 build from https://github.com/sjnewbury/x32

(From OE-Core rev: cdd6130255d8fc78b0a43fad410cde024cb1b9a5)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:13 +00:00
Christopher Larson
0e74dff7e9 nss: fix for x32
This was casting to a pointer, and the pointer sizes are 32-bit on X32, not
64-bit. Adjust as appropriate.

(From OE-Core rev: d9dca61ed26af166df913f34bdce3f2830682b33)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:13 +00:00
Christopher Larson
602b185811 x264: for x32, disable asm and pass -mx32
We should probably patch it to stop adding the -m argument to CFLAGS/LDFLAGS
in the first place, since we pass it in via CC, but this will do for now.

(From OE-Core rev: 5d2b0816a92965cdbbb2dca5d3009fbd5064b9ca)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:12 +00:00
Christopher Larson
8547e44a0e ffmpeg: disable asm for x32
This is the usual way this is handled in desktop distros (see debian, gentoo).
I wasn't able to track down a patch to add proper x32 support to ffmpeg. There
was, however, a libav patch series which may be worth investigating.

(From OE-Core rev: 94bfdb0accab0a2638e3bea1271cb80596f38e00)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:12 +00:00
Christopher Larson
fb2b975326 gstreamer1.0-libav: disable asm for x32
The included libav lacks support for x32, so disable the assembly
optimizations.

(From OE-Core rev: 7bac614503d0d9fda03b087501690e5f8262d966)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:12 +00:00
Christopher Larson
550052f9d8 boost: drop flags bits, fix for x32
boost was adding -march/-mcpu itself, and adding -m32/-m64 itself as well.
Patch that behavior out, apply another similar patch from elsewhere, and
adjust BJAM_OPTS to fix the x32 build.

(From OE-Core rev: 2dc30ad281b625e0c4f2437879bce58245aa45b1)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:12 +00:00
Christopher Larson
0bfe263816 ltp: fix build for x32
We need to use the correct time() definition with time_t rather than a long,
since long is 32-bit on x32.

(From OE-Core rev: 520cee660efa60e44dbf004a617c130597be6cae)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:12 +00:00
Christopher Larson
629b96f142 gnu-efi: ignore arch mismatch for x32
(From OE-Core rev: 97976de2a5465cb476379ebc9d9e1b3f0837853a)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:12 +00:00
Christopher Larson
c12cd31231 gnu-efi: build 64-bit for x32
We're targeting the x86_64 EFI ABI.

(From OE-Core rev: 24325410acb670a3e7bc626ac3607efa8df38dc5)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:12 +00:00
Christopher Larson
00e354910b lttng-tools: fix for x32
(From OE-Core rev: af0203f1543e444d4c9397c6b400ba627baf9574)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:12 +00:00
Christopher Larson
c148c3639d grub-efi: ignore arch mismatch for x32
Ordinary 64-bit binaries are expected for the bootloader.

(From OE-Core rev: 688a79b720044dd9fca3e95ff3d172252fba1e7a)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:12 +00:00
Christopher Larson
411e4e8bbe packagegroup-core-tools-profile: exclude valgrind for x32
valgrind doesn't seem to support x32 at this time, even in current upstream.

(From OE-Core rev: 0203ae47dacc1a4b37007062f962fa8d4bd602e2)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:12 +00:00
Christopher Larson
5704ff0be1 valgrind: skip for linux-gnux32
valgrind doesn't support x32 at this time, so skip it for that host.

(From OE-Core rev: b0764fc58e2ebe0555b71392a6fd177ecfd0be66)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:12 +00:00
Joshua Lock
0fc45ce12d zlib: update SRC_URI to fix fetching
Upstream have removed the file from zlib.net as a new version has
been released, switch to fetching from the official sourceforge
mirror.

[YOCTO #10879]

(From OE-Core rev: bb99e4a620efd59556539c156cd98ea23aae74c8)

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:12 +00:00
Mike Crowe
780033d5c4 mtd-utils: Upgrade to 2.0.0
Upstream has started using automake which means that the recipe must now
inherit from autotools and pkgconfig.

The source tree has been reorganised too which requires the paths in the
patches to be modified. None of the patches appear to have been applied
upstream.

(From OE-Core rev: dacf6ab5aaf8cc588280b92d64db2e28c6c07a22)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:12 +00:00
Haiqing Bai
1da4d59ec7 nettle: Modify configure script to get consistent build.
The original configure script detects the header files
of openssl to set variable like 'HAVE_OPENSSL_AES_H' in
config.h and ignore the value of '--enable-openssl', this
may cause inconsistent build.

(From OE-Core rev: 17e34c083aa53914610d8eca2341e82d0e1208e2)

Signed-off-by: Haiqing Bai <Haiqing.Bai@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:12 +00:00
David Vincent
c9e21f0266 nss: Fix postinstall script
When installing NSS on a read-only rootfs, the current postinstall
scriptlet exits after having run the signing part. This causes an error
when appending the task because the rest of the script is simply ignored
and therefore never run.

(From OE-Core rev: 8f782f7095e718dd9452055af53363beb6bdbece)

Signed-off-by: David Vincent <freesilicon@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:12 +00:00
Oleksandr Kravchuk
bfdc6f565d curl: upgrade to 7.52.1
(From OE-Core rev: d4218bb468ab9485a0a0cb12b07cb1d96dc6326b)

Signed-off-by: Oleksandr Kravchuk <oleksandr.kravchuk@pelagicore.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:12 +00:00
Jussi Kukkonen
81339d0113 ppp: Add patch to fix build with musl and 4.9 headers
Removing unused includes fixes the build.

Fixes [YOCTO #10853].

(From OE-Core rev: c580d2938286d62d092496e699f12b03fa065546)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:12 +00:00
Jussi Kukkonen
b235f4db20 ppp: Partly remove patch that doesn't make sense any more
ppp no longer provides the duplicate if_pppox.h header so no need to patch that
out of the Makefile.

(From OE-Core rev: 015574ac9335799e0a3da00cf882b103177c3744)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:12 +00:00
Khem Raj
de1a1cf76e gcc6: Upgrade to 6.3.0
6.3.0 is a bugfix release in gcc 6 series

(From OE-Core rev: 36ffcd1d7d2ab9dcc91e9c09623a6613a248bc69)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:12 +00:00
Ross Burton
cfa8b1ed6f cairo: set license for cairo-doc
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:12 +00:00
Khem Raj
aaaa25022b opkg-utils: Do not use --ignore-fail-on-non-empty with rmdir
--ignore-fail-on-non-empty is coreutils specific, and you
are not always going to have coreutils on target systems
especially small ones. They will use the busybox applet which
does not support --ignore-fail-on-non-empty, use pipe and true
to ignore the errorcode from rmdir instead

Fixes upgrade errors on target e.g.

rmdir: unrecognized option '--ignore-fail-on-non-empty'
BusyBox v1.24.1 (2016-12-20 10:41:39 PST) multi-call binary.

Usage: rmdir [OPTIONS] DIRECTORY...
To remove package debris, try `opkg remove update-alternatives-opkg`.
To re-attempt the install, try `opkg install update-alternatives-opkg`.
Collected errors:
 * pkg_run_script: package "update-alternatives-opkg" postrm script returned status 1.
 * postrm_upgrade_old_pkg: postrm script for package "update-alternatives-opkg" failed

(From OE-Core rev: 5ec8934a495e9b9a782889bc3a84936c8a381165)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:12 +00:00
Denys Dmytriyenko
a17171ad66 linux-dtb: strip DTB extension properly in postinst/postrm
The use of awk -F "." in do_install/do_deploy to strip filename extension
was deprecated long time ago in 72980d5bb465f0640ed451d1ebb9c5d2a210ad0c.

Make a similar change in postinst/postrm to properly use basename command.

Otherwise DTB files that contain dots in the name result in broken symlinks
that point to non-existent truncated files.

(From OE-Core rev: 40c2addf0f0ee16b1c1334cf00f1490ffeaac475)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:11 +00:00
Ola x Nilsson
cfa6a7aa6f oe-selftest: devtool: Reverting a change should trigger rebuild
Add code to verify that not only does a change trigger a build, but so
does reverting that change.

Reverting a change in a devtool managed git repo may cause the current
checksum to match the checksum of a previous build, which will cause
bitbake to skip builds that are needed.

(From OE-Core rev: 58a31d8dd7293f14c70e56ec9639c420d15e7dfc)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:11 +00:00
Jianxun Zhang
c782cb40d7 lib/oe.sstatesig: make locked sig file consistent
Sort keys of dict 'types' prior to dumping, in order to have
identical output every time. This could make it a little easier
to diff these human-readable dumps.

(From OE-Core rev: 8abbaba1931e2cb2b87aa733aa9a3e8eb359b500)

Signed-off-by: Jianxun Zhang <jianxun.zhang@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:11 +00:00
Paul Eggleton
32da05fa8f meta: use require instead of include when file should exist
If the file is expected to exist, then we should always be using require
so that if it doesn't we get an error rather than some other more
obscure failure later on.

(From OE-Core rev: 603ae6eb487489e65da69c68e532cb767ccc1fc2)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:11 +00:00
Kai Kang
be3c48f607 useradd-example: exclude from world
(From OE-Core rev: 1e03ad25d8b9536d5e7f9969809a4df01e55fe3a)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:11 +00:00
Paul Eggleton
0f315faff8 oe-selftest: fix behaviour if oe-selftest.log is a dangling symlink
If you delete the log file that the oe-selftest.log symlink points to
but not the symlink itself, because we were using os.path.exists() here
the code assumed that the symlink didn't exist when in fact it still
did. Use os.path.lexists() instead.

(From OE-Core rev: 263af91a0efd21e041ecdb0c40f9b2d4e735f67d)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:11 +00:00
Alejandro Hernandez
3f990e1b17 wic: Remove gummiboot test
Weve now migrated to systemd-boot, the gummiboot test on wic is no longer necessary

(From OE-Core rev: 0a8abc7681edec5f128ceb757559c5a50f139a9c)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:11 +00:00
Alejandro Hernandez
2dce2648e3 gummiboot: Remove/change gummiboot references with systemd-boot
After systemd-boot was introduced, its been tested for a while with no major
issues being found until now, this patch completely replaces all gummiboot
instances with systemd-boot ones, taking the next step into cleaning
up systemd-boot/gummiboot.

[YOCTO #10332]

(From OE-Core rev: f9a61d3400ad9068a6d83b8eb6aefe3098c58e68)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:11 +00:00
Chen Qi
41137c212c opkg-utils: warn if update-alternatives finds priority conflict
If multiple providers for a utility have the same alternatives priority,
which one would be chosen is determined by which one is installed later.
Our alternatives system should be able to detect such problem and warn users
so that potential problems could be avoided.

Modify update-alternatives to warn users when detecting multiple providers
with the same priority.

[YOCTO #8314]

(From OE-Core rev: 06cf956e3441868d69f81d6c034778d855ce1c98)

(From OE-Core rev: 0b413d502868c89b7ddbe50a978317ffa774b3cc)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:11 +00:00
Jochen Jaegers
8db49696e4 toaster: prevent use of unset variable BUILDSTATS_BASE
(From OE-Core rev: aca5555881edf4751540203591aadbaf3d17bf41)

Signed-off-by: Jochen Jaegers <jochen.jaegers@riedel-at.de>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:11 +00:00
David Vincent
fc89a3f739 classes: Fix alternatives and rc.d ordering
When using an alternative as an initscript, the ordering between
update-rc.d and update-alternatives tasks during prerm and postinst
tasks must always be the following in order to work:
  * prerm:
    - stop daemon
    - remove alternative

  * postinst:
    - add alternative
    - start daemon

This patchset adds comments to the scripts generated by both classes and
organize the generated sections based on those comments.

[YOCTO #10433]

Changes since v5:
    - Remove boolean in d.getVar() calls

(From OE-Core rev: aa87b1a4dcc14e4dfe719b6c55045c5662bc59c2)

Signed-off-by: David Vincent <freesilicon@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:11 +00:00
Ola x Nilsson
02f89167a3 externalsrc: Add optional srcdir arg to srctree_hash_files
Make it easier to reuse the function for other dirs than EXTERNALSRC.

(From OE-Core rev: 9ddcfb51e637acba82089da6430ac77e29f0f1ef)

Signed-off-by: Ola x Nilsson <ola.x.nilsson@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:11 +00:00
Ola x Nilsson
61b1e18608 externalsrc: Set STAMPCLEAN to match STAMP
Only the last stamp file should be kept, but unless STAMPCLEAN matches
files generated using STAMP old stamp files may linger.  This may
cause false positives for skipping tasks.

(From OE-Core rev: 6d60f60e38e0e00e6753f5b136277f27d6204e63)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:11 +00:00
Paul Eggleton
63e6aade78 classes/buildstats: don't expand variable pointing to SystemStats
We're placing an object into the datastore - it's very definitely not
something we want to be expanding.

(From OE-Core rev: adfee41d2b1edbd2abd09f9101c359919e21e5d6)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:11 +00:00
Paul Eggleton
976373be12 classes/sstate: fix file conflict message
* Fix not decoding output from grep ("Matched in b'manifest...')
* Fix showing "Matched in b''" if no match (show "not matched to any
  task" instead)
* Drop the filtering out of .populate-sysroot from matched manifest
  names - it should have been .populate_sysroot so it doesn't work, and
  in any case the value of removing the task name is questionable given
  that we aren't removing it for any other task, and that the rest of
  the filename isn't only the task name, we might as well have the whole
  thing. At least then you can do a find on that exact name without
  wildcards and find it.
* Fix indenting of file list entries and indent "matched in" further
  underneath
* Minor punctuation fixes

(From OE-Core rev: 4675ce43496898fccbac738835d7e92b1cca648e)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:11 +00:00
Paul Eggleton
3d6c667e54 classes/sstate: handle filenames containing square brackets
If a recipe installs a file or directory whose name contains square
brackets [ ] that form a valid glob expression and that file then they
won't be correctly removed from the sysroot, because we pass each path
in the sstate manifest to our oe.path.remove() function which calls
glob.glob() on the path passed into it and the expression won't
actually match the original filename. Since we don't expect to put any
wildcarded expressions in the sstate manifests, and we already have a
try...except around this, we can actually use os.remove() here instead.

Similarly, when we pass existing file paths to "grep" looking through
the manifests, we don't want those paths to be treated as regexes - so
use grep's -F command line switch.

Fixes [YOCTO #10836].

(From OE-Core rev: fd8a57861024fc82e15a2a4ec8c20ed0ebb242f6)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:11 +00:00
Paul Eggleton
d008867e45 classes/package_rpm: handle square brackets in filenames
When constructing a spec file we list files and directory paths in the
%files section. If ] or [ characters are in a file or directory name,
rpm treats them as wildcards which will mean it won't properly match the
filename. Instead, transform these into an ? wildcard so they don't
cause a problem.

(This fixes packaging the npm package "file-set" and anything that
happens to depend upon it, since it includes tests with files that
contain unusual characters including ] and [).

(From OE-Core rev: f95adb749619e70920c6cc6cd01c6d02cd348fd8)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:11 +00:00
Paul Eggleton
fff7563799 lib/oe/path: add warning comment about oe.path.remove() with wildcarded filenames
Add a warning in the doc comment for oe.path.remove() about using that
function on paths that may contain wildcards in the actual
file/directory names.

(From OE-Core rev: 18cc0965741102bccc62dfb32ed7753cdacbadc7)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:11 +00:00
Richard Purdie
022a8b58c8 meta/scripts: Various getVar/getVarFlag expansion parameter fixes
There were a few straggling expansion parameter removals left for
getVar/getVarFlag where the odd whitespace meant they were missed
on previous passes. There were also some plain broken ussages such
as:

d.getVar('ALTERNATIVE_TARGET', old_name, True)
path = d.getVar('PATH', d, True)
d.getVar('IMAGE_ROOTFS', 'True')

which I've corrected (they happend to work by luck).

(From OE-Core rev: 688f7a64917a5ce5cbe12f8e5da4d47e265d240f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:11 +00:00
Aníbal Limón
e016eb10b0 bitbake: bb/cooker: BBCooker stops notifier at shutdown
At end of  BBCooker needs to release fd's associated with pyinotify
watchers to  avoid: Too many open files (EMFILE) error in different
scenarios like several instances of tinfoil.

[YOCTO #10873]

(Bitbake rev: ae6045b84978940c365c95c33d6996359c3e299d)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-06 00:01:07 +00:00
Richard Purdie
9f6a1043f6 bitbake: prserv/serv: Tweak stdout manipulation to be stream safe
We've been seeing oe-selftest failures under puzzling circumstances. It
turns out if you run oe-selftest on a machine with xmlrunner installed
and have the recent tinfoil2 changes, the launching of PR server crashes
leading to selftest hanging if using an autoloaded PR server.

The reason is that xmlrunner uses an io.StringIO object as stdout/stderr
instead of the usual io.TextIOWrapper and StringIO lacks a fileno() method.

We have to deal with both cases and in the python way, we try and then seek
forgivness if we see an AttributeError or UnSupportedOperation exception.
Unfortunately we have to deal with both cases as we may be performing a
traditiional double fork() from the commandline, or a larger python program.

[YOCTO #10866]

(Bitbake rev: 26243f04e3af652291d13e85c084057104fe155b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-05 13:54:07 +00:00
Christopher Larson
3c9b1febc4 packagegroup-core-lsb: add opengl to REQUIRED_DISTRO_FEATURES
This group pulls in libglu, which needs virtual/libgl, whose providers require
opengl in DISTRO_FEATURES.

(From OE-Core rev: af330fc0087692039d4256a6fb1e122742e8ec1a)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-05 13:54:06 +00:00
Christopher Larson
d45d1b81ff packagegroup-self-hosted: add opengl to REQUIRED_DISTRO_FEATURES
This rdepends on libgl.

(From OE-Core rev: a7cab6a9d416b5a53de206c9c2cf020c1fc70201)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-05 13:54:06 +00:00
Christopher Larson
f11d86d0c6 eglinfo-x11: add opengl to REQUIRED_DISTRO_FEATURES
The .inc already included this, but the x11 version was overriding it. This is
a problem, as the x11 version still needs opengl as well as x11. Append
instead.

(From OE-Core rev: e2006b11d36e3ead725ae6e5613b6b0087f28029)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-05 13:54:06 +00:00
Christopher Larson
304eb396c2 libglu: add opengl to REQUIRED_DISTRO_FEATURES
This requires libgl, and mesa requires the opengl distro feature.

(From OE-Core rev: 2f4c6b833d3d57c394bce5f7ebba688a0ce8e66e)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-05 13:54:06 +00:00
Christopher Larson
9843d2227c piglit: add opengl to REQUIRED_DISTRO_FEATURES
This recipe depend on virtual/libgl, whose providers require the opengl distro
feature.

(From OE-Core rev: 009c088f6d0bf75ebb17825f6a3aba356a5b659d)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-05 13:54:06 +00:00
Christopher Larson
99ae8c0919 waffle: add opengl to REQUIRED_DISTRO_FEATURES
Multiple packageconfigs depend upon virtual/libgl, whose providers require the
opengl distro feature.

(From OE-Core rev: 930c5a17b543bef9d5c2efe71680f82993d77269)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-05 13:54:06 +00:00
Ed Bartosh
e30f5002c4 populate_sdk_ext: whitelist do_package tasks
With enabled SSTATE_MIRRORS sstate code expects mirrors to
contain entries for all tasks, which is not the case for ext
installer as it uses reduced sstate cache.

Added do_package tasks to BB_SETSCENE_ENFORCE_WHITELIST to prevent
installer failing with ERROR: Sstate artifact unavailable

[YOCTO #10832]

(From OE-Core rev: 2ed46ada4b8e496493835e84b36f7e9c367f59d2)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-05 13:54:06 +00:00
Ed Bartosh
556725188f populate_sdk_ext: fix working with uninative sstate
Mapped uninative sstate directories to make ext SDK installer to
use them when it's run on systems with gcc version different from
gcc version used to build installer.

[YOCTO #10832]

(From OE-Core rev: 549df5f82c9b2d4feb6f459cb3b2f240efb9a981)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-05 13:54:06 +00:00
Richard Purdie
f2b847a290 oe-selftest: Improve BUILDDIR environment handling
Its possible something (like bitbake/tinfoil2) may mess around with the
environment and using the enviroment as a global variable store isn't
particularly nice anyway.

This patch changes the BUILDDIR usages so that the environment isn't used
as a global store and a global variable is used instead. Whilst that
is still not perfect, it does avoid the current double and triple backtraces
we're seeing where tinfoil2/bitbake has trampled the enviroment leading
to failures of failures making debugging even harder.

(From OE-Core rev: 689b676bbf2f1a5fadb04aeb41d5e68e35356545)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-05 13:54:06 +00:00
Patrick Ohly
b359e926e2 runqemu: let command line parameters override defaults
It may be necessary to override the parameters gathered for the qemu
invocation. For example, the qemux86 machine configuration sets "-vga
vmware", but when using OVMF as BIOS, only "-vga std" is supported.

By putting the parameters derived from custom runqemu parameters like
"qemuparams" after the parameters derived from the machine
configuration the user gets the possibility to override those.

(From OE-Core rev: b6feb7578d60289c8b6e376cfaac8a3ee45e72f9)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-05 13:54:06 +00:00
André Draszik
8f12a03dda module.bbclass: allow to override location of Module.symvers
Requiring all build systems for external kernel modules to
place Module.symvers directly into ${B}/. is quite an
artificial assumption/requirement. It doesn't have to end
up there, but could easily end up somewhere below ${B}.

Allow to override the location below ${B}

Note that we still don't make use of multiple
Module.symvers in case there are any generated by one
single kernel module build, but this is no change in
behaviour from before and could be added if there really
is a demand for that.

Reported-by: Denys Dmytriyenko <denis@denix.org>
(From OE-Core rev: caa0fa2ddf0c97255b38b1ec8579944ab4821ff1)

Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-05 13:54:06 +00:00
Maxin B. John
bb7aecb2f9 ifupdown: upgrade to 0.8.16
Refreshed the following patch:
 * inet-6-.defn-fix-inverted-checks-for-loopback.patch

(From OE-Core rev: 1daa09aa82c528dcc7682553dd6704a93aafdc88)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-05 13:54:06 +00:00
Maxin B. John
cb8bf9a017 sqlite3: upgrade to 3.15.2
(From OE-Core rev: 12b5e9943da5eece2641665cd091ef709c30214e)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-05 13:54:06 +00:00
Huang Qiyu
0559ad29fb file: 5.28 -> 5.29
Upgrade file from 5.28 to 5.29.

(From OE-Core rev: 056b31649141f8160ce05d72b9e53e39ac97c718)

Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-05 13:54:06 +00:00
He Zhe
df48c4b483 kexec-tools: Update to 2.0.14
Remove kexec-aarch64.patch since it has been merged upstream
Remove kexec-x32.patch since it has been reverted upstream
Backport patches for kdump arm64 from:
https://git.linaro.org/people/takahiro.akashi/kexec-tools.git

(From OE-Core rev: 587778e24c9129f499645ca080218c7ac142f93f)

Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-05 13:54:06 +00:00
Khem Raj
b4a795aa0c gstreamer: Upgrade to 1.10.2
(From OE-Core rev: fcba432ed28d0249198de0b6b3d1b1c0a87c02a6)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-05 13:54:06 +00:00
Robert Yang
e8852827fc guile: 2.0.12 -> 2.0.13
Remove 0002-Recognize-nios2-as-compilation-target.patch which is already
in the source.

(From OE-Core rev: a2b7f442d8872afe8edec062c60264b31e860218)

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>
2017-01-05 13:54:05 +00:00
Robert Yang
aa31fe37e2 quilt: 0.64 -> 0.65
* Removed install.patch since it is already in the patch.
* Fix indent for file://test.sh

(From OE-Core rev: bd8b1d79b50819486e5882db05abb6b358b7392a)

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>
2017-01-05 13:54:05 +00:00
Robert Yang
fde38fe8db debianutils: 4.8 -> 4.8.1
(From OE-Core rev: dfd4c078a38c3df9ac91ae3e8d01787611bb8cab)

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>
2017-01-05 13:54:05 +00:00
He Zhe
6dbfeb5ef3 qemu: Fix pci-assign
Fix iommu pci device assignment failure.

"qemu-system-x86_64: -device pci-assign,host=02:00.0: No IOMMU found.
Unable to assign device "(null)""

(From OE-Core rev: 2011d1cc6c05ff3979e4bd664ce918dc8eb8e8fb)

Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-05 13:54:05 +00:00
Ross Burton
1349320ee0 populate_sdk: don't force target debug packages into SDK
TOOLCHAIN_TARGET_TASK doesn't need to explicitly list sdk-target-dbg because if
SDKIMAGE_FEATURES contains dbg-pkgs (as it does by default) then they'll all be
installed anyway.  This means that if the user removes dbg-pkgs from
SDKIMAGE_FEATURES then the SDK correctly doesn't have debug packages in.

[ YOCTO #9078 ]

(From OE-Core rev: 4c711830ae26008f73bbf557964bdb86b8c922da)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-05 13:54:05 +00:00
Richard Purdie
dbb247cac5 bitbake: cookerdata: Convert multiconfig to use BB_CURRENT_MC
People are struggling with multiconfig as the point the conf file
is injected into the data store is not what people expect. We can't
really use a post config since that is too late and we can't really
use a pre config file since that is too early. In OE terms, we need
something right around the local.conf point so it behaves in a similar
way.

A way to handle this is to set the new variable BB_CURRENT_MC to be the
currently selected multiconfig, then the metadata itself can choose
when to inject the approriate configuration.

(Bitbake rev: 518b9015c2be8d3894277a8e54890d6f04d656c0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 12:36:40 +00:00
Richard Purdie
4fc02c5eaa bitbake: runqueue: Only start fakeroot workers when needed
Fakeroot workers usually have dependencies that need to be ready before they
can be started. Starting them as a block therefore doesn't work as the
dependencies may or may not have been built. Therefore start the multiconfig
fakeworkers individually upon demand.

[YOCTO #10344]

(Bitbake rev: ab15486c636e451ed5a62e561980946887901c3b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 12:36:40 +00:00
Richard Purdie
fe11d18ffd bitbake: runqueue: Ensure setscene tasks with overlapping stamps don't parallel execute
In multiconfig, mutliple tasks can execute which share the same stamp file. These
must not execute in parallel, the idea is the first should execute, the subsequent
ones should see a valid stamp and get skipped.

The normal task execution code has stamps code to handle this, this adds similar
code to the setscene execute() function to handle the issue there too.

(Bitbake rev: 937acf267fa9e45f538695b2cf8aa83232a96240)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 12:36:40 +00:00
Richard Purdie
f048db1c64 bitbake: runqueue: Fix setscene issues with multiconfig
setscene was being entirelu skipped for multiconfig variants as the tasks
were simply not being spotted. If the default config was also being built
it masked the problem. When this was fixed by using taskfn instead of fn
in lookups against dataCache, several other instances of this problem were
highlighted.

This goes through and corrects the setscene code to correclty use taskfn
instead of fn in the appropriate places meaning setscene tasks for multiconfig
now work correctly.

(Bitbake rev: cead85cf219c07b40aeb7c0d948c25f0429136db)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 12:36:40 +00:00
Richard Purdie
d6799e655e bitbake: siggen: Fix clean_basepath to work with multiconfig
Tasknames can now start with "multiconfig:" which broke the virtual: comparison code and
lead to unpredictable checksums with nativesdk recipes. This adds in handling for
the new additional prefix which unbreaks nativesdk builds when using multiconfig.

(Bitbake rev: 4da296c0c93391ec37f8b6e2245071657759771e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 12:36:40 +00:00
Richard Purdie
d156f2ce33 bitbake: build/uihelper: Show better information about multiconfig tasks on UI
Currently the UI shows X is building, possibly multiple times but doesn't
say which of the multilibs that might be. This adds a prefix to the task
name so the mulitconfig being built can be identified.

(Bitbake rev: d93ddd185dde53f50aea06ada094bb0d9b5ba4f0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 12:36:40 +00:00
Richard Purdie
5d620b7f90 bitbake: runqueue: Ensure pseudo executes from the correct place (use the right datastore with multiconfig)
The location of the fakeroot command and the various environmental values need
to be taken from the right multiconfig datastore, not the shared one. This
patch ensures the right one is used for cases like a split TMPDIR.

[YOCTO #10344]

(Bitbake rev: 813a7600bc26b7132ac36d1515571d321f566afb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 12:36:40 +00:00
Richard Purdie
d77a135e18 lib/oe/utils: Drop python2 compatibility code
We've moved to python3, we don't need this compatibility code which just makes
the code less readable.

(From OE-Core rev: 425afe2484707640ac71194885fdb263e95e9950)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 12:36:40 +00:00
Richard Purdie
554a16fd10 libgcc-common: Don't apply symlinks for nativesdk
nativesdk-libgcc doesn't need a symlink into the target space and if we do this
sstate installation of the recipe can fail depending on whether it races with
the cross-canadian toolchains.

(From OE-Core rev: b2c1e1fe4221862e0dbf5d08960f0d0228e47c72)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 12:36:40 +00:00
Richard Purdie
d8d2f421d6 bitbake.conf: Add inclusion of BB_CURRENT_MC.conf after local.conf
People are strugling with multiconfig as the up front inclusion of the
configuration file doesn't do what people expect. The only way to meet
user expectations is to include the file immediately after local.conf.

We add BB_CURRENT_MC to bitbake so that the metadata can determine when
to include the extra configuration.

(From OE-Core rev: a6a3894fb2cb2097d2404b8b8cb2b85df595cfa9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 12:36:40 +00:00
Richard Purdie
04db2f5238 uninative: Parameterise the use of STAGING_DIR
This means that a user can change TMPDIR in a multiconfig situation
and still only have one path to the uninative setup. Without this change
its not possile to make such a setup work.

(From OE-Core rev: 779422c5458f5f643b3a4a0dedaa4d9ad709367a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 12:36:40 +00:00
Alejandro Hernandez
9d4a69fd0d example-recipe: Fix LDFLAGS compilation issue on newly created recipes
(From meta-yocto rev: aa3e99e24c3234b6f3f19169939d4cd498d0ce36)

Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 08:53:03 +00:00
Trevor Woerner
d09de75601 ncurses.inc: add v6 binconfig-disabled entries
Newer host distributions are moving to ncurses6, therefore add entries so the
host's ncurses{w}6-config scripts aren't picked up.

(From OE-Core rev: 0174152272c546dd6cb6bc4b7238c232ab9133b3)

Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 08:50:17 +00:00
Paul Eggleton
abe29fec2a packagegroup-core-standalone-sdk-target: add libssp
If you want to be able to use -fstack-protector then you need the
runtime support - you can either write this yourself or use libssp
supplied with GCC. If you're using GCC then it seems likely that you'd
just be using libssp, so include in the SDK by default; however use
RRECOMMENDS just in case it's been disabled or you aren't using GCC.

(From OE-Core rev: 6c990655e35bb3a14d59555662ec5802c9980028)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 08:50:17 +00:00
André Draszik
d8c62f19da initscripts: populate-volatile: suppress read-only-rootfs warnings
rm: can't remove '/etc/resolv.conf': Read-only file system
ln: /etc/resolv.conf: File exists

/etc/default/volatiles contains an entry:
l root root 0644 /etc/resolv.conf /var/run/resolv.conf

which causes populate-volatile.sh to execute the following in link_file():
  if [ -L \"$2\" ]; then
    [ \"\$(readlink -f \"$2\")\" != \"\$(readlink -f \"$1\")\" ] && { rm -f \"$2\"; ln -sf \"$1\" \"$2\"; };
  elif [ -d \"$2\" ]; then
    ...

At the time the image is created, /etc/resolv.conf is already a
symlink to /var/run/resolv.conf, but at boot time when
populate-volatiles.sh is run, /var/run/resolv.conf doesn't
exist, causing it to try to rm -f and ln -sf which of course
fails due to the read-only filesystem.

[YOCTO #10814]

(From OE-Core rev: 765ee275f5499254b1f09e394c757072bea5f459)

Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 08:50:17 +00:00
Andre McCurdy
4f89e47d35 glew: build for EGL in non-X11 distros
The glew 2.0.0 release added support for building for EGL:

  http://glew.sourceforge.net/log.html

Add PACKAGECONFIG options for 'opengl' (ie the previous default, with
dependencies on opengl and X11) and 'egl-gles2', which depends on EGL
and GLESv2 and allow glew to be built for non-X11 distros.

(From OE-Core rev: f6344f20e3aed640b3218438e69c0b641e58d630)

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>
2016-12-22 08:50:17 +00:00
Jair Gonzalez
dd37336b4d selftest/wic: extending test coverage for WIC script options
The previous WIC script selftest didn't cover all of its command line
options. Some option variants were included in existing test cases and
the following tests were added to complete covering them:

1552 Test wic --version
1553 Test wic help create
1554 Test wic help list
1555 Test wic list images
1556 Test wic list source-plugins
1557 Test wic listed images help
1558 Test debug
1563 Test skip build check
1564 Test build rootfs
1559 Test image vars directory selection
1562 Test alternate output directory

(From OE-Core rev: b4d52c3f1e0ad2c14028ff08c0938d1b24b7f648)

Signed-off-by: Jair Gonzalez <jair.de.jesus.gonzalez.plascencia@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 08:50:17 +00:00
Jair Gonzalez
f8745bb519 selftest/wic: reorganizing test methods by functionality
Part of the test methods were rearranged to group them by
functionality and identify more easily opportunities to extend
coverage.

(From OE-Core rev: f290a2c9b946e00dbc451592691596c656d49042)

Signed-off-by: Jair Gonzalez <jair.de.jesus.gonzalez.plascencia@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 08:50:17 +00:00
Jair Gonzalez
285c2ed90e selftest/wic: code cleanup
The following changes were added to improve the code readability:

- Removed redundant backlashes between brackets
- Aligned continuation lines according to PEP8 style
- Refactored command execution in the next methods for enhanced
  legibility:

  - test_build_image_name(self)
  - test_gpt_image(self)
  - test_qemux86_directdisk(self)
  - test_rootfs_indirect_recipes(self)
  - test_iso_image(self)
  - test_mkgummidisk(self)
  - test_mkefidisk(self)
  - test_directdisk_bootloader_config(self)
  - test_qemu(self)
  - test_bmap(self)
  - test_systemd_bootdisk(self)
  - test_sdimage_bootpart(self)

(From OE-Core rev: 5ba21836fe3c061a6271f855a9e26c66004d330a)

Signed-off-by: Jair Gonzalez <jair.de.jesus.gonzalez.plascencia@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 08:50:17 +00:00
Jair Gonzalez
c48c0f38b1 selftest/wic: adding Testopia ID numbers to test cases missing it
The following test cases were assigned an ID number on Testopia:

1496 Test generation of .bmap file
1560 Test creation of systemd-bootdisk image
1561 Test creation of sdimage-bootpart image

(From OE-Core rev: b53e432206eaba7c6c67e4689c25b5e62d7ee9b2)

Signed-off-by: Jair Gonzalez <jair.de.jesus.gonzalez.plascencia@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 08:50:17 +00:00
David Vincent
de807c7820 kernel: Fix symlinks
When installing a kernel package, the symlinks created by
update-alternatives should point to a path relative to KERNEL_IMAGEDEST
and not an absolute path to '/boot'.

Failing to do so causes problems when resolving the symlink inside some
bootloaders which mount the boot partition elsewhere.

(From OE-Core rev: c7bc46b9bc29dd0953ab8d63b50fa105bb66892e)

Signed-off-by: David Vincent <freesilicon@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 08:50:17 +00:00
Khem Raj
01fe67b1b3 gstreamer1.0-libav: Fix build on mips64
(From OE-Core rev: 8a024cb82b1718be51bd3a625364539ba50ae4ae)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 08:50:17 +00:00
Zheng Ruoqin
77f008c4bc shared-mime-info 1.6 -> 1.8
Upgrade shared-mime-info from 1.6 to 1.8

(From OE-Core rev: e97b75ff0838fb3eb044adae1ffa5d28acb90eed)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 08:50:17 +00:00
Ed Bartosh
b05b1add7a wic: add kickstart file for MPC8315
Added kickstart file to produce partitioned image for
MPC8315 reference hardware.

[YOCTO #8719]

(From OE-Core rev: 8c873b4fd92b72adfc49d20bbfab4779857fb6c9)

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>
2016-12-22 08:50:17 +00:00
Mans Rullgard
1fac14dd8f initscripts: populate-volatile: don't run commands in background
If commands are run asynchronously they may be completed out of
order causing problems if later entries depend on earlier ones.

(From OE-Core rev: bead9e59768209dd70f9cba51d2f1e5925cc284d)

Signed-off-by: Mans Rullgard <mans@mansr.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 08:50:16 +00:00
Maciej Borzecki
1988bae5bf wic: add --fixed-size wks option
Added new option --fixed-size to wks. The option can be used to indicate
the exact size of a partition. The option cannot be added together with
--size, in which case an error will be raised. Other options that
influence automatic partition size (--extra-space, --overhead-factor),
if specifiec along with --fixed-size, will raise an error.

If it partition data is larger than the amount of space specified with
--fixed-size option wic will raise an error.

(From OE-Core rev: fdd217ba874bd480e0180830fe2e6bd54dde19d9)

Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 08:50:16 +00:00
Maciej Borzecki
5903182484 oeqa/utils/commands.py: allow use of binaries from native sysroot
Tests may need to run a native tool that is not available on the host
filesystem, but can be built using one of the *-native recipes. In such case,
the tool will be available in native sysroot, and running in from that location
will require adjustments to PATH.

runCmd() can now take a path to native sysroot as one of its arguments and
setup PATH accordingly.

(From OE-Core rev: f2a04631949db72d4261d1c142c5044fad3741f9)

Signed-off-by: Maciej Borzecki <maciej.borzecki@rndity.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 08:50:16 +00:00
Khem Raj
ba4aeb33a2 gnutls: Do not use libunistring prefix
when using clang, configure it poking at build host
if we do not use it then it falls back to sysroot
which is what we need here.

(From OE-Core rev: ee0b0da237c1661f43e27e26e0ab24b7d8ed174f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 08:50:16 +00:00
Khem Raj
193aa1a0a8 x264: Fix build on mips architectures
Disable asm to fix

| You specified a pre-MSA CPU in your CFLAGS.
| If you really want to run on such a CPU, configure with --disable-asm.

(From OE-Core rev: 302124c1cc8353f4d0e13ab9ba9057d6b3862bde)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 08:50:16 +00:00
Zubair Lutfullah Kakakhel
6eb35af19a arch-mips: Add MIPS 64r6 N32 tune
Add MIPS64R6-n32 tuning options.

(From OE-Core rev: e723dbb9614f7d7e7e158bc9afd0b2bfac0fbee2)

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 08:50:16 +00:00
Zubair Lutfullah Kakakhel
39f83be8bd openssl: Add support for many MIPS configurations
Add more case statements to catch MIPS tune configurations

(From OE-Core rev: cd1f6fbf9a2113cf510c25de2eb3895468e79149)

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 08:50:16 +00:00
Paul Eggleton
358befb76e devtool: modify: fix usage on the kernel
When using devtool modify on the kernel, we have to do a bit of a dance
with tinfoil instances because we only find out that we're working on a
kernel recipe after tinfoil is initialised, but then we need to build
kern-tools-native which we're doing just by running bitbake directly.
With the tinfoil2 changes, a datastore for the recipe that we were
keeping around across the opening and closing of tinfoil is no longer
able to be used. Re-parse the recipe to avoid this problem.

(In future this whole thing will be able to be done in the same tinfoil
instance thanks to tinfoil2, but that refactoring is yet to be done.)

(From OE-Core rev: 06127d0115ba449bf04e2579cd1010065e0ed6e3)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 08:50:16 +00:00
Ed Bartosh
28c79d8aeb wic: look for wks files in <layer>/wic
Currently wic looks for wks files in
<layer dir>/scripts/lib/wic/canned-wks/ directories.
This path is too nested and doesn't look consistent with the
naming scheme of layer directories.

Added <layer>/wic directory to the list of paths
to look for wks files.

(From OE-Core rev: 803b5fa798cf7580c7c10401eb04a1cccf51b8ab)

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>
2016-12-22 08:50:16 +00:00
Dengke Du
45be34c8e0 apr: fix off_t size can't match when configure and in target glibc
When subversion run on x86 and lib32 on x86-64, it use the APR's
apr.h header file. But when configure the APR, APR meets the cross
compiling, it was hardcoded in configure.in in apr source code. As
the following:

	APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], off_t, 8)

It pass 8 bytes to off_t when meets cross compiling, but on x86 or lib32
the off_t in glibc was 4 bytes, so it let the application who use apr.h
go to wrong.

Such as subversion:

	svnadmin create test

So we should let the APR detect the correct off_t when cross compiling,
change it to the following:

	AC_CHECK_SIZEOF(off_t)

The same for the following hardcoded types for cross compiling:

	pid_t	8
	size_t	8
	ssize_t	8

Change the above correspondingly.

(From OE-Core rev: e18820ca9202c07e2406d702c46f45415182b7a6)

Signed-off-by: Dengke Du <dengke.du@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 08:50:16 +00:00
Dengke Du
971fc29713 Revert "subversion: fix "svnadmin create" fail on x86"
This reverts commit cfe6f3e251.

This is because the apr configure wrong, when the apr configure meets the
cross compiling, it pass 8 bytes to "off_t", in apr source code configure.in,
it was hardcoded:

	APR_CHECK_SIZEOF_EXTENDED([#include <sys/types.h>], off_t, 8)

The macro "APR_CHECK_SIZEOF_EXTENDED" was defined in build/apr_common.m4,
it use the "AC_TRY_RUN" macro, this macro let the off_t to 8, when cross
compiling enable.

But in glibc on the x86 or multilib target the "off_t" was 4 bytes, so this
cases dismatch for softwares which use the apr.h, such as subversion, run this:

	svnadmin create test

It failed because the "APR_OFF_T_FMT" was "lld" in apr.h when apr configure,
but the "apr_off_t" was 4 bytes, in the apr source code: apr_snprintf.c

	i_quad = va_arg(ap, apr_int64_t);

When the function apr_vformatter meets "lld", it would use the above to parse,
but the above read 8 bytes, so the follow-up data go to wrong.

So we should configure the apr correct when cross compiling. I do this on the
following patchs.

(From OE-Core rev: fbdfb39c011676fe61a4d58b62226126e0e9ec62)

Signed-off-by: Dengke Du <dengke.du@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 08:50:16 +00:00
Khem Raj
669edd0443 systemd: point to correct resolv.conf when resolved is enabled
latest systemd has changed the resolved defaults which points to
127.0.0.53 port 53 on local network. If someone wants to use
host-local IP address then it can be pointed to copy in /lib/systemd

(From OE-Core rev: 99d1199fd0961f94732a1a533d66472ca17cf6f5)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 08:50:16 +00:00
Edwin Plauchu
0dd8aeb884 ruby: upgrade to 2.3.3
(From OE-Core rev: 99000d8bc30fe1eed60499140efa3a4cf0360478)

Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-22 08:50:16 +00:00
Mark Asselstine
d41d2fdd56 bitbake: fetch2/wget: fixup case with no useful netrc data
Commit 873e33d0479e977520106b65d149ff1799195bf6 [fetch2/wget:
add Basic Auth from netrc to checkstatus()] causes "Fetcher failure
for URL: 'https://www.example.com/'. URL https://www.example.com/
doesn't work." on new builds when a user has a .netrc file but there
is no default and no matching host. The call to netrc.authenticators()
will return None in these cases and the attempted assignment to the
3-tuple will raise a TypeError exception. Add the TypeError to the
exceptions caught to get around this issue.

(Bitbake rev: c0c0af40ebddaf9dc99353c580a65d4c04295613)

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-21 08:17:01 +00:00
Richard Purdie
8ccf396c72 Revert "selftest/wic: extending test coverage for WIC script options"
This reverts commit 68cb3180c1b0dcee50812b21f98850d188d8621b as this wasn't
ready for merge and there are new better versions.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-20 17:06:38 +00:00
Alexander Kanavin
13d140450d maintainers.inc: re-assign pcmanfm, so it has same owner as libfm
(From meta-yocto rev: 05126a52525538386c3f91a3de2fa52a55ab42e7)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-20 15:22:51 +00:00
Matthew McClintock
aa15ff631c bitbake: fetch2/wget: add Basic Auth from netrc to checkstatus()
fetch2/wget uses urllib to check the status of the mirrors, wget will
use netrc to pass login and password information however checkstatus
will skip that.

This adds netrc login and password to checkstatus so both will work the
same.

(Bitbake rev: 873e33d0479e977520106b65d149ff1799195bf6)

Signed-off-by: Matthew McClintock <msm-oss@mcclintock.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-20 15:22:51 +00:00
Paul Eggleton
fe7e75075e bitbake: runqueue: dry-run real tasks when BB_SETSCENE_ENFORCE is set
For the purposes BB_SETSCENE_ENFORCE is designed for (in OE, it is used
by the installation process for the extensible SDK), we don't actually
need the whitelisted real tasks to execute - we just need to have them
in the dependency tree so that we get all of the setscene tasks they
depend on to run. Therefore we can actually dry-run those real tasks
i.e. they won't be run (and thus we won't waste a significant amount of
time doing so) and won't be stamped as having run either. We do already
have a dry-run mode in BitBake (activated by the -n or --dry-run command
line option), but it dry-runs the setscene tasks as well which we don't
want here.

Note that this has no effect on the checking we are doing with
BB_SETSCENE_ENFORCE to ensure that only whitelisted real tasks are
scheduled to run - that's handled separately.

Fixes [YOCTO #10369].

(Bitbake rev: 58f084291beb3a87d8d9fdb36dfe7eff911fa36b)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-20 15:22:50 +00:00
Manjukumar Matha
764a780136 binutils-2.27.inc: Fix alignment frags for aarch64
There was bug with alignment frags for aarch64 in binutils. This is fixed in
master of binutils. This patch backports the fix to binutils 2.27 version.

(From OE-Core rev: f6f87019073d4f3caa7766aca89faa6781690fba)

Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-20 15:22:17 +00:00
Ed Bartosh
2f4008d694 oe-selftest: import git module only when needed
git module is not included into standard Python
library and therefore causes import errors on the systems
where PythonGit is not installed.

As git module only used in the code implementing --repository
functionality it's better to import git only in the scope
that requires it.

[YOCTO #10821]

(From OE-Core rev: 66be32c1a075201d6ee0e9b9e10b84e6a2ace745)

Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-20 15:22:17 +00:00
Jussi Kukkonen
041ac0f9c1 mirrors.bbclass: Fix gnutls mirror directory
(From OE-Core rev: 833f43f71b9a1665c26b6e1874546cb7d37ffd47)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-20 15:22:16 +00:00
Jussi Kukkonen
1f129c1598 cogl-1.0: Upgrade 1.22.0 -> 1.22.2
Bug fix release. Backport a build fixing patch.

(From OE-Core rev: 79494ac397384af46d383ef414de372343cd4299)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-20 15:22:16 +00:00
Jussi Kukkonen
018c695b43 clutter-gst-3.0: Upgrade 3.0.20 -> 3.0.22
Bug fix release.

(From OE-Core rev: 6ee923f2e5628a4af5581250804666934a57b904)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-20 15:22:16 +00:00
Jussi Kukkonen
740ad9db29 cairo: Upgrade 1.14.6 -> 1.14.8
Small bug fix release.

(From OE-Core rev: dcc6769fc4edfc7b229d044f64ab64708eaaac3c)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-20 15:22:16 +00:00
Jussi Kukkonen
f2dc9a85f0 gdk-pixbuf: Upgrade 2.36.0 -> 2.36.1
New binary gdk-pixbuf-thumbnailer packaged in ${PN}-bin.

(From OE-Core rev: 2103089819dd2df27753b4d04789680a26580848)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-20 15:22:16 +00:00
Jussi Kukkonen
6f34daab7e glib-2.0: Upgrade 2.50.1 -> 2.50.2
(From OE-Core rev: 72aa25e1d93ab828868a09092d2bed21c8eaec40)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-20 15:22:16 +00:00
Jussi Kukkonen
f72b79f01e gsettings-desktop-schemas: Upgrade 3.20.0 -> 3.22.0
(From OE-Core rev: d0acb56c2230cccf2e8dcfc3007e9281ce6e3e76)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-20 15:22:16 +00:00
Jussi Kukkonen
a40fdca742 gtk+3: Upgrade 3.22.1 -> 3.22.5
(From OE-Core rev: 20db759d5f3b1465ae870bbc49699d298b0befe3)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-20 15:22:16 +00:00
Khem Raj
4cdea2cddd openssl-native: Compile with -fPIC
Fixes
| /usr/bin/ld: libcrypto.a(sha1-x86_64.o): relocation R_X86_64_PC32 against undefined symbol `OPENSSL_ia32cap_P' can not be used when making a shared object; recompile with -fPIC
| /usr/bin/ld: final link failed: Bad value

(From OE-Core rev: 0a19e72081771fca8ed94fb2a2a8996fd3dce00c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-20 15:22:16 +00:00
Khem Raj
c9786e1e12 autoconf: Fix AC_HEADER_MAJOR with glibc 2.25
Backport the patch from master for 2.69

(From OE-Core rev: 83081afc08695ea42046208ca8ab077e482d3018)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-20 15:22:16 +00:00
Khem Raj
f87751165d pax: Fix build with glibc 2.25
(From OE-Core rev: fa7dd6977c1291467f7d209469b9d54371460f62)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-20 15:22:16 +00:00
Khem Raj
0cc22efe40 mdadm: Fix build with glibc 2.25
(From OE-Core rev: 32643ed355c94035d6fabbd0cd9e4c6f3b18ab56)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-20 15:22:16 +00:00
Khem Raj
a6a49f763f grub: Fix build with glibc 2.25
Backport relevant patch from grub git

(From OE-Core rev: 5e501f8e3ecf14f31da3cca5ab762af5ddc81964)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-20 15:22:16 +00:00
Khem Raj
118bfb82ff webkitgtk: Fix atomic detection on arm architecture
(From OE-Core rev: a77fc49defcf3a30a8f026cfdbd56565750f5a61)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-20 15:22:16 +00:00
Khem Raj
133aa828f5 gdb: Upgrade to 7.12
(From OE-Core rev: 59338b0bc2f8a5fe929d906769f5518ec67d6f3f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-20 15:22:16 +00:00
Jair Gonzalez
aa1c50a32b selftest/wic: extending test coverage for WIC script options
The previous WIC script selftest didn't cover all of its command
line options. The following test cases were added to complete
covering them:

1552 Test wic --version
1553 Test wic help create
1554 Test wic help list
1555 Test wic list images
1556 Test wic list source-plugins
1557 Test wic listed images help
1558 Test wic debug, skip-build-check and build_rootfs
1559 Test image vars directory selection
1562 Test alternate output directory

In addition, the following test cases were assigned an ID number on
Testopia:

1560 Test creation of systemd-bootdisk image
1561 Test creation of sdimage-bootpart image

Finally, part of the test methods were rearranged to group them by
functionality, and some cleanup was made to improve the code's
compliance with PEP8 style guide.

Fixes [YOCTO 10594]

(From OE-Core rev: 3d2ac67765020885a0996ebdd97a576ba37dbec0)

(From OE-Core rev: 68cb3180c1b0dcee50812b21f98850d188d8621b)

Signed-off-by: Jair Gonzalez <jair.de.jesus.gonzalez.plascencia@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-20 15:22:16 +00:00
Kristian Amlie
d0d260b0b8 u-boot/beaglebone: Select Beaglebone Black target specifically.
The am335x_evm_config target has a subtle problem which is not present
in the am335x_boneblack_config target: When booting from an external
MMC card, the internal MMC is not accessible using the former target.

This problem was introduced in U-Boot in commit 80b24fcd3083515e6b961,
due to the addition of the CONFIG_DM_MMC option, and the
am335x_boneblack_config target does not have this problem.

(From meta-yocto rev: 18d0692f70e05b382e8404dbed34e9fad7f348aa)

Signed-off-by: Kristian Amlie <kristian.amlie@mender.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:37 +00:00
Ross Burton
7379035e26 package: don't count every hardlink for PKGSIZE
When calculating PKGSIZE we sum the size of files after doing lstat() so we
don't count directory metadata overhead, but were not correctly handling
hardlinks.  This results in packages such as e2fsprogs-mke2fs having PKGSIZE of
1.5M when it's actually a single 300K binary with five hardlinks.

[ YOCTO #10423 ]

(From OE-Core rev: e82a7f879419828b42b5cc71e6229c8235090f21)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:05 +00:00
Edwin Plauchu
676add9a9b python3-setuptools: upgrade to 31.0.0
It is a simultaneous upgrade for python 2 and 3 over setuptools.

(From OE-Core rev: 2782f98a641afc135fb0976434165e1317d1d040)

Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:04 +00:00
Jose Lamego
411036b747 python*-git: Upgrade to version 2.1.1
Both python-git and python3-git need to be upgraded to latest upstream
version.
This change includes python3 dependencies added and was tested
using qemux86 with core-image-sato.

(From OE-Core rev: c9c54f352c5122b9a4239f69779400e3ba250827)

Signed-off-by: Jose Lamego <jose.a.lamego@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:04 +00:00
Christopher Larson
db08ffee0a wic: obey the rootfs size from the metadata
When no --size is specified for the rootfs in the .wks, we want to obey the
rootfs size from the metadata, otherwise the defined IMAGE_ROOTFS_EXTRA_SPACE
and IMAGE_OVERHEAD_FACTOR will not be obeyed. In some cases, this can result
in image construction failure, if the size determined by du was insufficient
to hold the files without the aforementioned extra space.

This fallback from --size to ROOTFS_SIZE was already implemented when
--rootfs-dir is specified in the .wks, but it did not occur otherwise, neither
when --rootfs-dir= was passed to `wic create` nor when IMAGE_ROOTFS was used.
This made a certain amount of sense, as this fallback logic happened at such
a level that it wasn't able to identify which partitions were rootfs
partitions otherwise. Rather than doing it at that level, we can do it in
prepare_rootfs(), which is run by the rootfs source plugins.

Note that IMAGE_OVERHEAD_FACTOR and a --overhead-factor in the .wks will now
both be applied when --size isn't specified in the .wks. A warning is added
about this, though a user won't see it unless wic fails or they examine the
do_image_wic log.

Fixes [YOCTO #10815]

(From OE-Core rev: 1d50e11286722c4114c1ae0bc285f846cd85fc4c)

Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:04 +00:00
Zheng Ruoqin
86ceb8bd51 dbus-glib 0.106 -> 0.108
Upgrade dbus-glib from 0.106 to 0.108

(From OE-Core rev: 8111316e0988b8d5a777a5ebda6ed59218d1f3b4)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:04 +00:00
Edwin Plauchu
a504cf9a00 pcmanfm: upgrading to 1.2.5
(From OE-Core rev: 09398f177ffb62fcdf44ca2481d76636dca03580)

Signed-off-by: Edwin Plauchu <edwin.plauchu.camacho@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:04 +00:00
Alexander Kanavin
f032e229a3 libfm: fix configure error if native vala is absent
(From OE-Core rev: 654e5468493d46d5529098ab5d78164a7545281e)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:04 +00:00
Ross Burton
de43650c29 lib/oe/package_manager: bail if createrepo can't be found
If createrepo isn't found then the errors later are mysterious, so explicitly
check and error out early if it isn't there.

(From OE-Core rev: e09636bbb3ea8ec58984197fd9c691bb908efe00)

(From OE-Core rev: c87361fc886432a9db584712bf3e41ecd0541960)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:04 +00:00
Armin Kuster
94c469c0d8 tzdata: update to 2016j
Briefly: Saratov, Russia moves from +03 to +04 on 2016-12-04.

  Changes to future time stamps

    Saratov, Russia switches from +03 to +04 on 2016-12-04 at 02:00.
    This hives off a new zone Europe/Saratov from Europe/Volgograd.
    (Thanks to Yuri Konotopov and Stepan Golosunov.)

  Changes to past time stamps

    The new zone Asia/Atyrau for Atyraū Region, Kazakhstan, is like
    Asia/Aqtau except it switched from +05/+06 to +04/+05 in spring
    1999, not fall 1994.  (Thanks to Stepan Golosunov.)

  Changes to past time zone abbreviations

    Asia/Gaza and Asia/Hebron now use "EEST", not "EET", to denote
summer time before 1948. The old use of "EET" was a typo.

(From OE-Core rev: a0b389b5f3effad5194109f9914dec6125b3569d)

(From OE-Core rev: 147d7802926153ef0abb12d5e738576d8dfd02d7)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:04 +00:00
Armin Kuster
61983b7d27 tzcode-native: update to 2016j
Changes to code

    zic no longer mishandles file systems that lack hard links, fixing
    bugs introduced in 2016g.  (Problems reported by Tom Lane.)
    Also, when the destination already contains symbolic links, zic
    should now work better on systems where the 'link' system call
    does not follow symbolic links.

Changes to documentation and commentary

    tz-link.htm now documents the relationship between release version
    numbers and development-repository commit tags.  (Suggested by
    Paul Koning.)

    The 'Theory' file now documents UT.

    iso3166.tab now accents "Curaçao", and commentary now mentions
the names "Cabo Verde" and "Czechia". (Thanks to Jiří Boháč.)

(From OE-Core rev: 3fb5ddce97af1d4ada0dcc7f9c0ceef6ac392918)

(From OE-Core rev: f9d6b482f2275c054dff91b81ac901b612f9c9b4)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:04 +00:00
Nicolas Dechesne
b01f027d82 gstreamer1.0-plugins-bad: default to using egl
With the current set of PACKAGECONFIG, we end up building with 'gles2' and neither
'opengl', nor 'egl'. As a result we are building -bad with neither 'glx' nor
'egl' platform support. So let's make sure that we at least have egl by default
(since we default to 'gles2').

(From OE-Core rev: 4de8447c6536385ca134866682709efebf7d4e3d)

(From OE-Core rev: a4111417b1b46cc852bf96a443b0edb0a525f346)

Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:04 +00:00
Mike Looijmans
b4cbb462fb linux-firmware: Split out Realtek chipsets rtl8188 rtl8723 rtl8821
Add rtl8188 rtl8712 rtl8723 rtl8821 packages to install only firmware for the
corresponding chipset. Uses a rather blunt approach by simply adding all firmware
files with matching prefix, to keep the package count down a bit.

(From OE-Core rev: 62a5c0a40d13594a0f16a01701e70dac5e492125)

(From OE-Core rev: 41061a812239dcfde2e4cd5636250ff2cd7e4cbb)

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:04 +00:00
Alexander Kanavin
b76530c96e xf86-video-intel: fix upstream version check
Even though upstream hasn't tagged new versions for a long while,
we should not report a bogus tag as something that can be updated to.

(From OE-Core rev: e16e4892368ec2475853d69332f3732dbf7b06cd)

(From OE-Core rev: c4b71ff17f630d5289a8105ec9465ff29ecd0e6c)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:04 +00:00
Alexander Kanavin
30fea7abda upstream-version-is-even.bbclass: exclude various alphas, betas, pre-releases etc.
Was a problem with perl in particular.

(From OE-Core rev: cc40b3ad2c4a725f93d0b984f23d34d247cffb2f)

(From OE-Core rev: 428531463574f4e7722912d1960bd288df586c14)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:04 +00:00
Alexander Kanavin
4dcf0fed51 ghostscript: fix upstream version check
(From OE-Core rev: 10001924baf112a4556c5e85c16c482cbf435950)

(From OE-Core rev: 4e8e884054b56c578d51d7b4af7150b77806368d)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:04 +00:00
Alexander Kanavin
9c2378b369 vala: update to 0.34.4
(From OE-Core rev: 798af66e2e11baf53eff6b7f0e370fb77a1c5f72)

(From OE-Core rev: 4e0e95a02a231bbdb350b1971536f4d65f4e9490)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:04 +00:00
Alexander Kanavin
c26b8158a2 sysprof: update to 3.22.3
(From OE-Core rev: 4a8ea471e386adff9b8f8b535589e599c1491fa5)

(From OE-Core rev: 0c3dbaa5d62e9ce404d1203c0478512e36ab8136)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:04 +00:00
Alexander Kanavin
818ca14d64 iso-codes: update to 3.72
(From OE-Core rev: 232ce36bb17643355b0b282063609147aa51bc1f)

(From OE-Core rev: d4487c9ee54a90e2e11287d9c41dce675a65ad15)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:04 +00:00
Alexander Kanavin
2b3880a9b7 icu: update to 58.2
(From OE-Core rev: 68eca85201c2e15ab5c197f3cc70d863fb021493)

(From OE-Core rev: ab43357dba96d4404a66baf7b998d81ef0b7ad1d)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:04 +00:00
Alexander Kanavin
77e2af234e gnutls: update to 3.5.7
Add a 0001-Do-not-add-cli-args.h-to-cli-args.stamp-Makefile-tar.patch
to fix a compile issue (incorrect creation of an empty header).

Add a libunistring dependency as gnutls has gained it.

(From OE-Core rev: b2ec343ad770c26f39f3a6d335e4bb3ccbf41aec)

(From OE-Core rev: 84c6a3bcf44950049bba255075177a0004058a44)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:04 +00:00
Alexander Kanavin
a1975bcdef ffmpeg: update to 3.2.2
(From OE-Core rev: b9b50814dfb40f8d124be736f7af9ed4d69bc6b3)

(From OE-Core rev: 7c5462f5ff3303da8d7daa5f22827bd852987138)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:04 +00:00
Alexander Kanavin
c9a512b640 cmake: update to 3.7.1
(From OE-Core rev: 1e15dea62cacdd5c3c1158962a55ca44cfb1726b)

(From OE-Core rev: 76e5ecbe75c6ef06af7dd662625631399cbbde0f)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:04 +00:00
Alexander Kanavin
b2a7f83ab8 ca-certificates: update to 20161130
(From OE-Core rev: 81fa46071060920972f3dd1fe17c8dbada0c63b0)

(From OE-Core rev: 1c665f441a70cde8450544614d78fbb3bf1664c7)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:04 +00:00
Alexander Kanavin
a425c8c7bc btrfs-tools: update to 4.8.5
(From OE-Core rev: ea806428471418a319754bd069491de6526e867d)

(From OE-Core rev: b66a99709b339c9ba64780d92e805227fbaaa512)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:03 +00:00
Alexander Kanavin
b9e626cff7 babeltrace: update to 1.5.0
(From OE-Core rev: 08761df0559eca197121a27f8f5be1b48fc008cc)

(From OE-Core rev: 5c5fc0e9209e08088c39d6d67607d74a62f1b7f6)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:03 +00:00
Alexander Kanavin
0f7b6c278c liburcu: update to 0.9.3
Drop 0002-Support-for-aarch64_be.patch, it's merged upstream.

(From OE-Core rev: 2ecb187970c215177f17f2475dee8812ce7f750c)

(From OE-Core rev: 208b3fb8810bc62098495884d3ccddae4f3cb494)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:03 +00:00
Alexander Kanavin
ac3adfb91c libfm: update to 1.2.5
(From OE-Core rev: 4674c0894c268690735b433df40e397c85a073a8)

(From OE-Core rev: 0fc419c9e58ca37cf523496b12ba65171d5abb50)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:03 +00:00
Alexander Kanavin
ffda25aa96 pigz: fix upstream version check
(From OE-Core rev: 0cfe7cb744466271e196c9a080168b62c4affb9b)

(From OE-Core rev: 91644687db25cc795682ab0d85fcf6aaa5f2afe8)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:03 +00:00
Khem Raj
0c263ea07f fontconfig: Fix namespace conflicts with glibc
glibc 2.25 will come with TS 18661-1 macro definitions in limits.h which ends with following errors

| ../../fontconfig-2.12.1/src/fcmatch.c:324:63: error: 'PRI_CHAR_WIDTH_STRONG' undeclared here (not in a function)
|  #define FC_OBJECT(NAME, Type, Cmp) { FC_##NAME##_OBJECT, Cmp, PRI_##NAME##_STRONG, PRI_##NAME##_WEAK },
|                                                                ^
| ../../fontconfig-2.12.1/src/fcobjs.h:54:1: note: in expansion of macro 'FC_OBJECT'
|  FC_OBJECT (CHAR_WIDTH,  FcTypeInteger, NULL)
|  ^~~~~~~~~
| ../../fontconfig-2.12.1/src/fcmatch.c:324:84: error: 'PRI_CHAR_WIDTH_WEAK' undeclared here (not in a function)
|  #define FC_OBJECT(NAME, Type, Cmp) { FC_##NAME##_OBJECT, Cmp, PRI_##NAME##_STRONG, PRI_##NAME##_WEAK },
|                                                                                     ^
| ../../fontconfig-2.12.1/src/fcobjs.h:54:1: note: in expansion of macro 'FC_OBJECT'
|  FC_OBJECT (CHAR_WIDTH,  FcTypeInteger, NULL)
|  ^~~~~~~~~
| make[3]: *** [Makefile:632: fcmatch.lo] Error 1

(From OE-Core rev: 3575826752e7140da493c7f560fb5fcf483fc9b4)

(From OE-Core rev: 7687234ff0f36ae943ca17624da9cdd8da0da83b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:03 +00:00
Huang Qiyu
76eb1c715e sudo: 1.8.17p1 -> 1.8.18p1
Upgrade sudo from 1.8.17p1 to 1.8.18p1.

(From OE-Core rev: 31bafcbcb59bdb370a918ad9b96d4b07af3993f2)

(From OE-Core rev: 66076da016be13ed9441229983fe323ac53f2f6c)

Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:03 +00:00
Zheng Ruoqin
8175e7acc0 e2fsprogs 1.43 -> 1.43.3
Upgrade e2fsprogs from 1.43 to 1.43.3

(From OE-Core rev: 250729ed0183e09b8108239eb03b1c5c290ede46)

(From OE-Core rev: b51bb93ebf80e39c4b87be23d08dfb6345dbe9bd)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:03 +00:00
Andreas Müller
6068397ae2 nspr: set correct version in pkg-config file
while we are at it clean up sed

(From OE-Core rev: 69e9f7ec8ba8649784a27e9c7dc7a6987a53c22e)

(From OE-Core rev: cb4f5ecf32006192baaf41218a3d7b43ca1c2951)

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:03 +00:00
Robert P. J. Day
63663b13f3 busybox: add comments to separate Runit from SELinux content in defconfig
There is no break in busybox's "defconfig" file to show where Runit
settings suddenly morph into SELinux settings, so add some comments.

(From OE-Core rev: 0fa590ed6c26aa065a9da8edbf65436fa1f6d04f)

(From OE-Core rev: 21c3d1b354dbb6cd6f3d574785f70858d828d977)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:03 +00:00
Huang Qiyu
bd06c3641a ghostscript 9.19 -> 9.20
1)Upgrade ghostscript from 9.19 to 9.20.
2)Modify ghostscript-9.15-parallel-make.patch, since the data has been changed.

(From OE-Core rev: 4f3483c3a0ba22f46d768d78d6f56880e8ac5608)

(From OE-Core rev: 9133ba6b8138951f3ef798f0a1cc6f694fe71868)

Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:03 +00:00
Huang Qiyu
4ab468b0ab libxkbcommon: 0.6.1 -> 0.7.0
1)Upgrade libxkbcommon from 0.6.1 to 0.7.0.
2)License checksum changed,since the copyright years were updated.

(From OE-Core rev: 3f972e6a6b69da1b459e75ec1e1a5c9373427ae7)

(From OE-Core rev: 30cfa14c9cfce5da13ee33762c3caa82de7847cb)

Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:03 +00:00
Huang Qiyu
2c72c4c2de libxi: 1.7.7 -> 1.7.8
Upgrade libxi from 1.7.7 to 1.7.8.

(From OE-Core rev: f01dc7809a3ce7546e51076066875aabda42aea9)

(From OE-Core rev: 43714c99f4f08cf5e266c32262a5fb3c4b611eb9)

Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:03 +00:00
Zheng Ruoqin
b5189f4d7f wpa-supplicant: 2.5 -> 2.6
1)Upgrade wpa-supplicant from 2.5 to 2.6.
2)Delete 5 patches below, since they are integrated upstream.
  0001-Reject-psk-parameter-set-with-invalid-passphrase-cha.patch
  0001-WPS-Reject-a-Credential-with-invalid-passphrase.patch
  0002-Reject-SET_CRED-commands-with-newline-characters-in-.patch
  0002-Remove-newlines-from-wpa_supplicant-config-network-o.patch
  0003-Reject-SET-commands-with-newline-characters-in-the-s.patch
3)License checksum changes are not related to license changes.

(From OE-Core rev: 878d411eb53e96bf78e902cc2345eccda8807bfc)

(From OE-Core rev: 8751dbde2736a4dbea83f6f581fe90f0c60def76)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:03 +00:00
Zheng Ruoqin
9d1403e23c util-linux: 2.28.1 -> 2.29
Upgrade util-linux from 2.28.1 to 2.29

(From OE-Core rev: a675e8219f09a92f1c9c9fccce449d0f0753a53f)

(From OE-Core rev: 9277fcfa1ceafda1439a8e229e98e741f1301be9)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:03 +00:00
Maxin B. John
30390b9aa6 harfbuzz: upgrade to 1.3.4
1.3.3 -> 1.3.4

(From OE-Core rev: 7c053b83040d68eb17b12e90499f792f602cd340)

(From OE-Core rev: a3aa1beed455991d5057ea59f5e210362da75eea)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:03 +00:00
Maxin B. John
3719d5df6d libunistring: Update version 0.9.6 -> 0.9.7
The license has changed from LGPLv3+ to "LGPLv3+ or GPLv2"
        * README (Copyright): Rewrite section
        * doc/libunistring.texi (Licenses): Change accordingly

(From OE-Core rev: e06584e6f5fcf259dcd0a10383aa4d05b3e74b70)

(From OE-Core rev: 371049b5d47d130d644659b9d24d306e70a6d6a7)

Signed-off-by: Maxin B. John <maxin.john@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:03 +00:00
Jackie Huang
834ee12668 ltp/posix: replace CWD with PWD
Backport a patch to replace CWD with PWD to avoid
error messages in test results:

basename: missing operand
Try 'basename --help' for more information.

(From OE-Core rev: 8665ccb5c3cefca43898caea06198e79504fdeff)

(From OE-Core rev: 527437174bf74b2205dd5b48cbb64a54d7698162)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:03 +00:00
Jackie Huang
54445dec1c ltp: avoid segmentation fault in netns tests
* backport a patch to avoid segmentation
  fault in netns tests.

* rename previous patch to have ordered
  prefix number.

(From OE-Core rev: 67f67da5d673ad60d3d3138ba32822679f565267)

(From OE-Core rev: c8f7c26148a926c6e49ab95a18c4702204e57551)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:03 +00:00
Richard Purdie
0fe7a940e2 subversion: Upgrade 1.9.4 -> 1.9.5
(From OE-Core rev: 4cfb7e9342978e77b0167441360330e66b9931cb)

(From OE-Core rev: 3f11325f7b7f3d0d1c0829f5f46e65814cf00de3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-17 09:57:02 +00:00
865 changed files with 18131 additions and 10565 deletions

View File

@@ -203,6 +203,75 @@ linux/arch/powerpc/boot/dts/mpc8315erdb.dts within the kernel source). If
you have left them at the factory default then you shouldn't need to do
anything here.
Note: To boot from USB disk you need u-boot that supports 'ext2load usb'
command. You need to setup TFTP server, load u-boot from there and
flash it to NOR flash.
Beware! Flashing bootloader is potentially dangerous operation that can
brick your device if done incorrectly. Please, make sure you understand
what below commands mean before executing them.
Load the new u-boot.bin from TFTP server to memory address 200000
=> tftp 200000 u-boot.bin
Disable flash protection
=> protect off all
Erase the old u-boot from fe000000 to fe06ffff in NOR flash.
The size is 0x70000 (458752 bytes)
=> erase fe000000 fe06ffff
Copy the new u-boot from address 200000 to fe000000
the size is 0x70000. It has to be greater or equal to u-boot.bin size
=> cp.b 200000 fe000000 70000
Enable flash protection again
=> protect on all
Reset the board
=> reset
--- Booting from USB disk ---
1. Flash partitioned image to the USB disk
# dd if=core-image-minimal-mpc8315e-rdb.wic of=/dev/sdb
2. Plug USB disk into the MPC8315 board
3. Connect the board's first serial port to your workstation and then start up
your favourite serial terminal so that you will be able to interact with
the serial console. If you don't have a favourite, picocom is suggested:
$ picocom /dev/ttyUSB0 -b 115200
4. Power up or reset the board and press a key on the terminal when prompted
to get to the U-Boot command line
5. Optional. Load the u-boot.bin from the USB disk:
=> usb start
=> ext2load usb 0:1 200000 u-boot.bin
and flash it to NOR flash as described above.
6. Set fdtaddr and loadaddr. This is not necessary if you set them before.
=> setenv fdtaddr a00000
=> setenv loadaddr 1000000
7. Load the kernel and dtb from first partition of the USB disk:
=> usb start
=> ext2load usb 0:1 $loadaddr uImage
=> ext2load usb 0:1 $fdtaddr dtb
8. Set bootargs and boot up the device
=> setenv bootargs root=/dev/sdb2 rw rootwait console=ttyS0,115200
=> bootm $loadaddr - $fdtaddr
--- Booting from NFS root ---
Load the kernel and dtb (device tree blob), and boot the system as follows:

View File

@@ -38,7 +38,7 @@ from bb.main import bitbake_main, BitBakeConfigParameters, BBMainException
if sys.getfilesystemencoding() != "utf-8":
sys.exit("Please use a locale setting which supports utf-8.\nPython can't change the filesystem locale after loading so we need a utf-8 when python starts or things won't work.")
__version__ = "1.32.0"
__version__ = "1.33.0"
if __name__ == "__main__":
if __version__ != bb.__version__:

View File

@@ -136,7 +136,7 @@ def sigterm_handler(signum, frame):
os.killpg(0, signal.SIGTERM)
sys.exit()
def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, appends, taskdepdata, extraconfigdata, quieterrors=False):
def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, appends, taskdepdata, extraconfigdata, quieterrors=False, dry_run_exec=False):
# We need to setup the environment BEFORE the fork, since
# a fork() or exec*() activates PSEUDO...
@@ -152,8 +152,10 @@ def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, append
except TypeError:
umask = taskdep['umask'][taskname]
dry_run = cfg.dry_run or dry_run_exec
# We can't use the fakeroot environment in a dry run as it possibly hasn't been built
if 'fakeroot' in taskdep and taskname in taskdep['fakeroot'] and not cfg.dry_run:
if 'fakeroot' in taskdep and taskname in taskdep['fakeroot'] and not dry_run:
envvars = (workerdata["fakerootenv"][fn] or "").split()
for key, value in (var.split('=') for var in envvars):
envbackup[key] = os.environ.get(key)
@@ -220,6 +222,8 @@ def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, append
the_data = databuilder.mcdata[mc]
the_data.setVar("BB_WORKERCONTEXT", "1")
the_data.setVar("BB_TASKDEPDATA", taskdepdata)
if cfg.limited_deps:
the_data.setVar("BB_LIMITEDDEPS", "1")
the_data.setVar("BUILDNAME", workerdata["buildname"])
the_data.setVar("DATE", workerdata["date"])
the_data.setVar("TIME", workerdata["time"])
@@ -263,7 +267,7 @@ def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, append
logger.critical(traceback.format_exc())
os._exit(1)
try:
if cfg.dry_run:
if dry_run:
return 0
return bb.build.exec_task(fn, taskname, the_data, cfg.profile)
except:
@@ -421,10 +425,10 @@ class BitbakeWorker(object):
sys.exit(0)
def handle_runtask(self, data):
fn, task, taskname, quieterrors, appends, taskdepdata = pickle.loads(data)
fn, task, taskname, quieterrors, appends, taskdepdata, dry_run_exec = pickle.loads(data)
workerlog_write("Handling runtask %s %s %s\n" % (task, fn, taskname))
pid, pipein, pipeout = fork_off_task(self.cookercfg, self.data, self.databuilder, self.workerdata, fn, task, taskname, appends, taskdepdata, self.extraconfigdata, quieterrors)
pid, pipein, pipeout = fork_off_task(self.cookercfg, self.data, self.databuilder, self.workerdata, fn, task, taskname, appends, taskdepdata, self.extraconfigdata, quieterrors, dry_run_exec)
self.build_pids[pid] = task
self.build_pipes[pid] = runQueueWorkerPipe(pipein, pipeout)

View File

@@ -158,6 +158,7 @@ unset OE_ROOT
# 4) pid's we need to clean up on exit/shutdown
# note: for future. in order to make this an arbitrary directory, we need to
# make sure that the toaster.sqlite file doesn't default to `pwd` like it currently does.
export BB_ENV_EXTRAWHITE="$BB_ENV_EXTRAWHITE TOASTER_DIR"
export TOASTER_DIR=`pwd`
WEBSERVER=1

View File

@@ -505,14 +505,14 @@
<title>Unseting variables</title>
<para>
It is possible to completely remove a variable or a variable flag
It is possible to completely remove a variable or a variable flag
from BitBake's internal data dictionary by using the "unset" keyword.
Here is an example:
<literallayout class='monospaced'>
unset DATE
unset do_fetch[noexec]
</literallayout>
These two statements remove the <filename>DATE</filename> and the
These two statements remove the <filename>DATE</filename> and the
<filename>do_fetch[noexec]</filename> flag.
</para>
@@ -1984,128 +1984,194 @@
<title>Events</title>
<para>
BitBake allows installation of event handlers within
recipe and class files.
Events are triggered at certain points during operation,
such as the beginning of an operation against a given recipe
(<filename>*.bb</filename> file), the start of a given task,
task failure, task success, and so forth.
BitBake allows installation of event handlers within recipe
and class files.
Events are triggered at certain points during operation, such
as the beginning of operation against a given recipe
(i.e. <filename>*.bb</filename>), the start of a given task,
a task failure, a task success, and so forth.
The intent is to make it easy to do things like email
notification on build failure.
notification on build failures.
</para>
<para>
Following is an example event handler that
prints the name of the event and the content of
the <filename>FILE</filename> variable:
Following is an example event handler that prints the name
of the event and the content of the
<filename>FILE</filename> variable:
<literallayout class='monospaced'>
addhandler myclass_eventhandler
python myclass_eventhandler() {
from bb.event import getName
from bb import data
print("The name of the Event is %s" % getName(e))
print("The file we run for is %s" % data.getVar('FILE', e.data, True))
print("The file we run for is %s" % d.getVar('FILE'))
}
myclass_eventhandler[eventmask] = "bb.event.BuildStarted bb.event.BuildCompleted"
</literallayout>
This event handler gets called every time an event is
triggered.
A global variable "<filename>e</filename>" is defined and
"<filename>e.data</filename>" contains an instance of
"<filename>bb.data</filename>".
With the <filename>getName(e)</filename> method, one can get
In the previous example, an eventmask has been set so that
the handler only sees the "BuildStarted" and "BuildCompleted"
events.
This event handler gets called every time an event matching
the eventmask is triggered.
A global variable "e" is defined, which represents the current
event.
With the <filename>getName(e)</filename> method, you can get
the name of the triggered event.
The global datastore is available as "d".
In legacy code, you might see "e.data" used to get the datastore.
However, realize that "e.data" is deprecated and you should use
"d" going forward.
</para>
<para>
Because you probably are only interested in a subset of events,
you would likely use the <filename>[eventmask]</filename> flag
for your event handler to be sure that only certain events
trigger the handler.
Given the previous example, suppose you only wanted the
<filename>bb.build.TaskFailed</filename> event to trigger that
event handler.
Use the flag as follows:
<literallayout class='monospaced'>
addhandler myclass_eventhandler
myclass_eventhandler[eventmask] = "bb.build.TaskFailed"
python myclass_eventhandler() {
from bb.event import getName
from bb import data
print("The name of the Event is %s" % getName(e))
print("The file we run for is %s" % data.getVar('FILE', e.data, True))
}
</literallayout>
The context of the datastore is appropriate to the event
in question.
For example, "BuildStarted" and "BuildCompleted" events run
before any tasks are executed so would be in the global
configuration datastore namespace.
No recipe-specific metadata exists in that namespace.
The "BuildStarted" and "buildCompleted" events also run in
the main cooker/server process rather than any worker context.
Thus, any changes made to the datastore would be seen by other
cooker/server events within the current build but not seen
outside of that build or in any worker context.
Task events run in the actual tasks in question consequently
have recipe-specific and task-specific contents.
These events run in the worker context and are discarded at
the end of task execution.
</para>
<para>
During a standard build, the following common events might occur:
During a standard build, the following common events might
occur.
The following events are the most common kinds of events that
most metadata might have an interest in viewing:
<itemizedlist>
<listitem><para>
<filename>bb.event.ConfigParsed()</filename>
<filename>bb.event.ConfigParsed()</filename>:
Fired when the base configuration; which consists of
<filename>bitbake.conf</filename>,
<filename>base.bbclass</filename> and any global
<filename>INHERIT</filename> statements; has been parsed.
You can see multiple such events when each of the
workers parse the base configuration or if the server
changes configuration and reparses.
Any given datastore only has one such event executed
against it, however.
If
<link linkende='var-BB_INVALIDCONF'><filename>BB_INVALIDCONF</filename></link>
is set in the datastore by the event handler, the
configuration is reparsed and a new event triggered,
allowing the metadata to update configuration.
</para></listitem>
<listitem><para>
<filename>bb.event.ParseStarted()</filename>
<filename>bb.event.HeartbeatEvent()</filename>:
Fires at regular time intervals of one second.
You can configure the interval time using the
<filename>BB_HEARTBEAT_EVENT</filename> variable.
The event's "time" attribute is the
<filename>time.time()</filename> value when the
event is triggered.
This event is useful for activities such as
system state monitoring.
</para></listitem>
<listitem><para>
<filename>bb.event.ParseProgress()</filename>
<filename>bb.event.ParseStarted()</filename>:
Fired when BitBake is about to start parsing recipes.
This event's "total" attribute represents the number of
recipes BitBake plans to parse.
</para></listitem>
<listitem><para>
<filename>bb.event.ParseCompleted()</filename>
<filename>bb.event.ParseProgress()</filename>:
Fired as parsing progresses.
This event's "current" attribute is the number of
recipes parsed as well as the "total" attribute.
</para></listitem>
<listitem><para>
<filename>bb.event.BuildStarted()</filename>
<filename>bb.event.ParseCompleted()</filename>:
Fired when parsing is complete.
This event's "cached", "parsed", "skipped", "virtuals",
"masked", and "errors" attributes provide statistics
for the parsing results.
</para></listitem>
<listitem><para>
<filename>bb.build.TaskStarted()</filename>
<filename>bb.event.BuildStarted()</filename>:
Fired when a new build starts.
</para></listitem>
<listitem><para>
<filename>bb.build.TaskInvalid()</filename>
<filename>bb.build.TaskStarted()</filename>:
Fired when a task starts.
This event's "taskfile" attribute points to the recipe
from which the task originates.
The "taskname" attribute, which is the task's name,
includes the <filename>do_</filename> prefix, and the
"logfile" attribute point to where the task's output is
stored.
Finally, the "time" attribute is the task's execution start
time.
</para></listitem>
<listitem><para>
<filename>bb.build.TaskFailedSilent()</filename>
<filename>bb.build.TaskInvalid()</filename>:
Fired if BitBake tries to execute a task that does not exist.
</para></listitem>
<listitem><para>
<filename>bb.build.TaskFailed()</filename>
<filename>bb.build.TaskFailedSilent()</filename>:
Fired for setscene tasks that fail and should not be
presented to the user verbosely.
</para></listitem>
<listitem><para>
<filename>bb.build.TaskSucceeded()</filename>
<filename>bb.build.TaskFailed()</filename>:
Fired for normal tasks that fail.
</para></listitem>
<listitem><para>
<filename>bb.event.BuildCompleted()</filename>
<filename>bb.build.TaskSucceeded()</filename>:
Fired when a task successfully completes.
</para></listitem>
<listitem><para>
<filename>bb.cooker.CookerExit()</filename>
<filename>bb.event.BuildCompleted()</filename>:
Fired when a build finishes.
</para></listitem>
<listitem><para>
<filename>bb.cooker.CookerExit()</filename>:
Fired when the BitBake server/cooker shuts down.
This event is usually only seen by the UIs as a
sign they should also shutdown.
</para></listitem>
</itemizedlist>
Here is a list of other events that occur based on specific requests
to the server:
</para>
<para>
This next list of example events occur based on specific
requests to the server.
These events are often used to communicate larger pieces of
information from the BitBake server to other parts of
BitBake such as user interfaces:
<itemizedlist>
<listitem><para>
<filename>bb.event.TreeDataPreparationStarted()</filename>
</para></listitem>
<listitem><para>
<filename>bb.event.TreeDataPreparationProgress</filename>
<filename>bb.event.TreeDataPreparationProgress()</filename>
</para></listitem>
<listitem><para>
<filename>bb.event.TreeDataPreparationCompleted</filename>
<filename>bb.event.TreeDataPreparationCompleted()</filename>
</para></listitem>
<listitem><para>
<filename>bb.event.DepTreeGenerated</filename>
<filename>bb.event.DepTreeGenerated()</filename>
</para></listitem>
<listitem><para>
<filename>bb.event.CoreBaseFilesFound</filename>
<filename>bb.event.CoreBaseFilesFound()</filename>
</para></listitem>
<listitem><para>
<filename>bb.event.ConfigFilePathFound</filename>
<filename>bb.event.ConfigFilePathFound()</filename>
</para></listitem>
<listitem><para>
<filename>bb.event.FilesMatchingFound</filename>
<filename>bb.event.FilesMatchingFound()</filename>
</para></listitem>
<listitem><para>
<filename>bb.event.ConfigFilesFound</filename>
<filename>bb.event.ConfigFilesFound()</filename>
</para></listitem>
<listitem><para>
<filename>bb.event.TargetsTreeGenerated</filename>
<filename>bb.event.TargetsTreeGenerated()</filename>
</para></listitem>
</itemizedlist>
</para>

View File

@@ -21,7 +21,7 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
__version__ = "1.32.0"
__version__ = "1.33.0"
import sys
if sys.version_info < (3, 4, 0):

View File

@@ -92,6 +92,7 @@ class TaskBase(event.Event):
def __init__(self, t, logfile, d):
self._task = t
self._package = d.getVar("PF")
self._mc = d.getVar("BB_CURRENT_MC")
self.taskfile = d.getVar("FILE")
self.taskname = self._task
self.logfile = logfile
@@ -194,13 +195,13 @@ def exec_func(func, d, dirs = None, pythonexception=False):
oldcwd = None
flags = d.getVarFlags(func)
cleandirs = flags.get('cleandirs')
cleandirs = flags.get('cleandirs') if flags else None
if cleandirs:
for cdir in d.expand(cleandirs).split():
bb.utils.remove(cdir, True)
bb.utils.mkdirhier(cdir)
if dirs is None:
if flags and dirs is None:
dirs = flags.get('dirs')
if dirs:
dirs = d.expand(dirs).split()
@@ -861,3 +862,19 @@ def deltask(task, d):
if task in deps:
deps.remove(task)
d.setVarFlag(bbtask, 'deps', deps)
def preceedtask(task, with_recrdeptasks, d):
"""
Returns a set of tasks in the current recipe which were specified as
precondition by the task itself ("after") or which listed themselves
as precondition ("before"). Preceeding tasks specified via the
"recrdeptask" are included in the result only if requested. Beware
that this may lead to the task itself being listed.
"""
preceed = set()
preceed.update(d.getVarFlag(task, 'deps') or [])
if with_recrdeptasks:
recrdeptask = d.getVarFlag(task, 'recrdeptask')
if recrdeptask:
preceed.update(recrdeptask.split())
return preceed

View File

@@ -666,7 +666,37 @@ class BBCooker:
if not task.startswith("do_"):
task = "do_%s" % task
fulltargetlist = self.checkPackages(pkgs_to_build, task)
targetlist = self.checkPackages(pkgs_to_build, task)
fulltargetlist = []
defaulttask_implicit = ''
defaulttask_explicit = False
wildcard = False
# Wild card expansion:
# Replace string such as "multiconfig:*:bash"
# into "multiconfig:A:bash multiconfig:B:bash bash"
for k in targetlist:
if k.startswith("multiconfig:"):
if wildcard:
bb.fatal('multiconfig conflict')
if k.split(":")[1] == "*":
wildcard = True
for mc in self.multiconfigs:
if mc:
fulltargetlist.append(k.replace('*', mc))
# implicit default task
else:
defaulttask_implicit = k.split(":")[2]
else:
fulltargetlist.append(k)
else:
defaulttask_explicit = True
fulltargetlist.append(k)
if not defaulttask_explicit and defaulttask_implicit != '':
fulltargetlist.append(defaulttask_implicit)
bb.debug(1,"Target list: %s" % (str(fulltargetlist)))
taskdata = {}
localdata = {}
@@ -1379,6 +1409,7 @@ class BBCooker:
item = info_array[0].pn
self.recipecaches[mc].ignored_dependencies = set()
self.recipecaches[mc].bbfile_priority[fn] = 1
self.configuration.limited_deps = True
# Remove external dependencies
self.recipecaches[mc].task_deps[fn]['depends'] = {}
@@ -1674,6 +1705,15 @@ class BBCooker:
pkgs_to_build.remove('universe')
for mc in self.multiconfigs:
for t in self.recipecaches[mc].universe_target:
if task:
foundtask = False
for provider_fn in self.recipecaches[mc].providers[t]:
if task in self.recipecaches[mc].task_deps[provider_fn]['tasks']:
foundtask = True
break
if not foundtask:
bb.debug(1, "Skipping %s for universe tasks as task %s doesn't exist" % (t, task))
continue
if mc:
t = "multiconfig:" + mc + ":" + t
pkgs_to_build.append(t)
@@ -1731,6 +1771,8 @@ class BBCooker:
if self.parser:
self.parser.shutdown(clean=not force, force=force)
self.notifier.stop()
self.confignotifier.stop()
def finishcommand(self):
self.state = state.initial

View File

@@ -147,6 +147,7 @@ class CookerConfiguration(object):
self.interface = []
self.writeeventlog = False
self.server_only = False
self.limited_deps = False
self.env = {}
@@ -289,7 +290,7 @@ class CookerDataBuilder(object):
multiconfig = (self.data.getVar("BBMULTICONFIG") or "").split()
for config in multiconfig:
mcdata = self.parseConfigurationFiles(['conf/multiconfig/%s.conf' % config] + self.prefiles, self.postfiles)
mcdata = self.parseConfigurationFiles(self.prefiles, self.postfiles, config)
bb.event.fire(bb.event.ConfigParsed(), mcdata)
self.mcdata[config] = mcdata
@@ -305,8 +306,9 @@ class CookerDataBuilder(object):
def _findLayerConf(self, data):
return findConfigFile("bblayers.conf", data)
def parseConfigurationFiles(self, prefiles, postfiles):
def parseConfigurationFiles(self, prefiles, postfiles, mc = "default"):
data = bb.data.createCopy(self.basedata)
data.setVar("BB_CURRENT_MC", mc)
# Parse files for loading *before* bitbake.conf and any includes
for f in prefiles:

View File

@@ -784,13 +784,14 @@ class DataSmart(MutableMapping):
if match:
removes.extend(self.expand(r).split())
filtered = filter(lambda v: v not in removes,
value.split())
value = " ".join(filtered)
if expand and var in self.expand_cache:
# We need to ensure the expand cache has the correct value
# flag == "_content" here
self.expand_cache[var].value = value
if removes:
filtered = filter(lambda v: v not in removes,
value.split())
value = " ".join(filtered)
if expand and var in self.expand_cache:
# We need to ensure the expand cache has the correct value
# flag == "_content" here
self.expand_cache[var].value = value
return value
def delVarFlag(self, var, flag, **loginfo):

View File

@@ -361,6 +361,17 @@ class RecipeEvent(Event):
class RecipePreFinalise(RecipeEvent):
""" Recipe Parsing Complete but not yet finialised"""
class RecipeTaskPreProcess(RecipeEvent):
"""
Recipe Tasks about to be finalised
The list of tasks should be final at this point and handlers
are only able to change interdependencies
"""
def __init__(self, fn, tasklist):
self.fn = fn
self.tasklist = tasklist
Event.__init__(self)
class RecipeParsed(RecipeEvent):
""" Recipe Parsing Complete """
@@ -382,7 +393,7 @@ class StampUpdate(Event):
targets = property(getTargets)
class BuildBase(Event):
"""Base class for bbmake run events"""
"""Base class for bitbake build events"""
def __init__(self, n, p, failures = 0):
self._name = n
@@ -427,13 +438,13 @@ class BuildInit(BuildBase):
BuildBase.__init__(self, name, p)
class BuildStarted(BuildBase, OperationStarted):
"""bbmake build run started"""
"""Event when builds start"""
def __init__(self, n, p, failures = 0):
OperationStarted.__init__(self, "Building Started")
BuildBase.__init__(self, n, p, failures)
class BuildCompleted(BuildBase, OperationCompleted):
"""bbmake build run completed"""
"""Event when builds have completed"""
def __init__(self, total, n, p, failures=0, interrupted=0):
if not failures:
OperationCompleted.__init__(self, total, "Building Succeeded")

View File

@@ -819,6 +819,15 @@ def runfetchcmd(cmd, d, quiet=False, cleanup=None, log=None, workdir=None):
if not cleanup:
cleanup = []
# If PATH contains WORKDIR which contains PV which contains SRCPV we
# can end up in circular recursion here so give the option of breaking it
# in a data store copy.
try:
d.getVar("PV")
except bb.data_smart.ExpansionError:
d = bb.data.createCopy(d)
d.setVar("PV", "fetcheravoidrecurse")
origenv = d.getVar("BB_ORIGENV", False)
for var in exportvars:
val = d.getVar(var) or (origenv and origenv.getVar(var))

View File

@@ -108,7 +108,7 @@ class GitSM(Git):
os.rename(ud.clonedir, gitdir)
runfetchcmd("sed " + gitdir + "/config -i -e 's/bare.*=.*true/bare = false/'", d)
runfetchcmd(ud.basecmd + " reset --hard", d, workdir=tmpclonedir)
runfetchcmd(ud.basecmd + " checkout " + ud.revisions[ud.names[0]], d, workdir=tmpclonedir)
runfetchcmd(ud.basecmd + " checkout -f " + ud.revisions[ud.names[0]], d, workdir=tmpclonedir)
runfetchcmd(ud.basecmd + " submodule update --init --recursive", d, workdir=tmpclonedir)
self._set_relative_paths(tmpclonedir)
runfetchcmd("sed " + gitdir + "/config -i -e 's/bare.*=.*false/bare = true/'", d, workdir=tmpclonedir)

View File

@@ -305,12 +305,24 @@ class Wget(FetchMethod):
r = urllib.request.Request(uri)
r.get_method = lambda: "HEAD"
if ud.user:
def add_basic_auth(login_str, request):
'''Adds Basic auth to http request, pass in login:password as string'''
import base64
encodeuser = base64.b64encode(ud.user.encode('utf-8')).decode("utf-8")
encodeuser = base64.b64encode(login_str.encode('utf-8')).decode("utf-8")
authheader = "Basic %s" % encodeuser
r.add_header("Authorization", authheader)
if ud.user:
add_basic_auth(ud.user, r)
try:
import netrc, urllib.parse
n = netrc.netrc()
login, unused, password = n.authenticators(urllib.parse.urlparse(uri).hostname)
add_basic_auth("%s:%s" % (login, password), r)
except (TypeError, ImportError, IOError, netrc.NetrcParseError):
pass
opener.open(r)
except urllib.error.URLError as e:
if try_again:

View File

@@ -367,6 +367,7 @@ def start_server(servermodule, configParams, configuration, features):
raise
if not configParams.foreground:
server.detach()
cooker.shutdown()
cooker.lock.close()
return server

View File

@@ -358,6 +358,7 @@ def finalize(fn, d, variant = None):
bb.data.update_data(d)
tasklist = d.getVar('__BBTASKS', False) or []
bb.event.fire(bb.event.RecipeTaskPreProcess(fn, list(tasklist)), d)
bb.build.add_tasks(tasklist, d)
bb.parse.siggen.finalise(fn, d, variant)

View File

@@ -28,11 +28,7 @@ import sys
import warnings
from bb.compat import total_ordering
from collections import Mapping
try:
import sqlite3
except ImportError:
from pysqlite2 import dbapi2 as sqlite3
import sqlite3
sqlversion = sqlite3.sqlite_version_info
if sqlversion[0] < 3 or (sqlversion[0] == 3 and sqlversion[1] < 3):

View File

@@ -36,6 +36,7 @@ from bb import msg, data, event
from bb import monitordisk
import subprocess
import pickle
from multiprocessing import Process
bblogger = logging.getLogger("BitBake")
logger = logging.getLogger("BitBake.RunQueue")
@@ -183,6 +184,18 @@ class RunQueueScheduler(object):
def newbuilable(self, task):
self.buildable.append(task)
def describe_task(self, taskid):
result = 'ID %s' % taskid
if self.rev_prio_map:
result = result + (' pri %d' % self.rev_prio_map[taskid])
return result
def dump_prio(self, comment):
bb.debug(3, '%s (most important first):\n%s' %
(comment,
'\n'.join(['%d. %s' % (index + 1, self.describe_task(taskid)) for
index, taskid in enumerate(self.prio_map)])))
class RunQueueSchedulerSpeed(RunQueueScheduler):
"""
A scheduler optimised for speed. The priority map is sorted by task weight,
@@ -212,35 +225,100 @@ class RunQueueSchedulerSpeed(RunQueueScheduler):
class RunQueueSchedulerCompletion(RunQueueSchedulerSpeed):
"""
A scheduler optimised to complete .bb files are quickly as possible. The
A scheduler optimised to complete .bb files as quickly as possible. The
priority map is sorted by task weight, but then reordered so once a given
.bb file starts to build, it's completed as quickly as possible. This works
well where disk space is at a premium and classes like OE's rm_work are in
force.
.bb file starts to build, it's completed as quickly as possible by
running all tasks related to the same .bb file one after the after.
This works well where disk space is at a premium and classes like OE's
rm_work are in force.
"""
name = "completion"
def __init__(self, runqueue, rqdata):
RunQueueSchedulerSpeed.__init__(self, runqueue, rqdata)
super(RunQueueSchedulerCompletion, self).__init__(runqueue, rqdata)
#FIXME - whilst this groups all fns together it does not reorder the
#fn groups optimally.
# Extract list of tasks for each recipe, with tasks sorted
# ascending from "must run first" (typically do_fetch) to
# "runs last" (do_build). The speed scheduler prioritizes
# tasks that must run first before the ones that run later;
# this is what we depend on here.
task_lists = {}
for taskid in self.prio_map:
fn, taskname = taskid.rsplit(':', 1)
task_lists.setdefault(fn, []).append(taskname)
basemap = copy.deepcopy(self.prio_map)
self.prio_map = []
while (len(basemap) > 0):
entry = basemap.pop(0)
self.prio_map.append(entry)
fn = fn_from_tid(entry)
todel = []
for entry in basemap:
entry_fn = fn_from_tid(entry)
if entry_fn == fn:
todel.append(basemap.index(entry))
self.prio_map.append(entry)
todel.reverse()
for idx in todel:
del basemap[idx]
# Now unify the different task lists. The strategy is that
# common tasks get skipped and new ones get inserted after the
# preceeding common one(s) as they are found. Because task
# lists should differ only by their number of tasks, but not
# the ordering of the common tasks, this should result in a
# deterministic result that is a superset of the individual
# task ordering.
all_tasks = []
for recipe, new_tasks in task_lists.items():
index = 0
old_task = all_tasks[index] if index < len(all_tasks) else None
for new_task in new_tasks:
if old_task == new_task:
# Common task, skip it. This is the fast-path which
# avoids a full search.
index += 1
old_task = all_tasks[index] if index < len(all_tasks) else None
else:
try:
index = all_tasks.index(new_task)
# Already present, just not at the current
# place. We re-synchronized by changing the
# index so that it matches again. Now
# move on to the next existing task.
index += 1
old_task = all_tasks[index] if index < len(all_tasks) else None
except ValueError:
# Not present. Insert before old_task, which
# remains the same (but gets shifted back).
all_tasks.insert(index, new_task)
index += 1
bb.debug(3, 'merged task list: %s' % all_tasks)
# Now reverse the order so that tasks that finish the work on one
# recipe are considered more imporant (= come first). The ordering
# is now so that do_build is most important.
all_tasks.reverse()
# Group tasks of the same kind before tasks of less important
# kinds at the head of the queue (because earlier = lower
# priority number = runs earlier), while preserving the
# ordering by recipe. If recipe foo is more important than
# bar, then the goal is to work on foo's do_populate_sysroot
# before bar's do_populate_sysroot and on the more important
# tasks of foo before any of the less important tasks in any
# other recipe (if those other recipes are more important than
# foo).
#
# All of this only applies when tasks are runable. Explicit
# dependencies still override this ordering by priority.
#
# Here's an example why this priority re-ordering helps with
# minimizing disk usage. Consider a recipe foo with a higher
# priority than bar where foo DEPENDS on bar. Then the
# implicit rule (from base.bbclass) is that foo's do_configure
# depends on bar's do_populate_sysroot. This ensures that
# bar's do_populate_sysroot gets done first. Normally the
# tasks from foo would continue to run once that is done, and
# bar only gets completed and cleaned up later. By ordering
# bar's task that depend on bar's do_populate_sysroot before foo's
# do_configure, that problem gets avoided.
task_index = 0
self.dump_prio('original priorities')
for task in all_tasks:
for index in range(task_index, self.numTasks):
taskid = self.prio_map[index]
taskname = taskid.rsplit(':', 1)[1]
if taskname == task:
del self.prio_map[index]
self.prio_map.insert(task_index, taskid)
task_index += 1
self.dump_prio('completion priorities')
class RunTaskEntry(object):
def __init__(self):
@@ -266,6 +344,7 @@ class RunQueueData:
self.multi_provider_whitelist = (cfgData.getVar("MULTI_PROVIDER_WHITELIST") or "").split()
self.setscenewhitelist = get_setscene_enforce_whitelist(cfgData)
self.setscenewhitelist_checked = False
self.setscene_enforce = (cfgData.getVar('BB_SETSCENE_ENFORCE') == "1")
self.init_progress_reporter = bb.progress.DummyMultiStageProcessProgressReporter()
self.reset()
@@ -289,8 +368,8 @@ class RunQueueData:
return tid + task_name_suffix
def get_short_user_idstring(self, task, task_name_suffix = ""):
(mc, fn, taskname, _) = split_tid_mcfn(task)
pn = self.dataCaches[mc].pkg_fn[fn]
(mc, fn, taskname, taskfn) = split_tid_mcfn(task)
pn = self.dataCaches[mc].pkg_fn[taskfn]
taskname = taskname_from_tid(task) + task_name_suffix
return "%s:%s" % (pn, taskname)
@@ -565,6 +644,8 @@ class RunQueueData:
for (depname, idependtask) in irdepends:
if depname in taskData[mc].run_targets:
# Won't be in run_targets if ASSUME_PROVIDED
if not taskData[mc].run_targets[depname]:
continue
depdata = taskData[mc].run_targets[depname][0]
if depdata is not None:
t = depdata + ":" + idependtask
@@ -884,14 +965,14 @@ class RunQueueData:
if not self.cooker.configuration.nosetscene:
for tid in self.runtaskentries:
(mc, fn, taskname, _) = split_tid_mcfn(tid)
setscenetid = fn + ":" + taskname + "_setscene"
setscenetid = tid + "_setscene"
if setscenetid not in taskData[mc].taskentries:
continue
self.runq_setscene_tids.append(tid)
def invalidate_task(tid, error_nostamp):
(mc, fn, taskname, _) = split_tid_mcfn(tid)
taskdep = self.dataCaches[mc].task_deps[fn]
(mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
taskdep = self.dataCaches[mc].task_deps[taskfn]
if fn + ":" + taskname not in taskData[mc].taskentries:
logger.warning("Task %s does not exist, invalidating this task will have no effect" % taskname)
if 'nostamp' in taskdep and taskname in taskdep['nostamp']:
@@ -1003,8 +1084,9 @@ class RunQueue:
magic = "decafbadbad"
if fakeroot:
magic = magic + "beef"
fakerootcmd = self.cfgData.getVar("FAKEROOTCMD")
fakerootenv = (self.cfgData.getVar("FAKEROOTBASEENV") or "").split()
mcdata = self.cooker.databuilder.mcdata[mc]
fakerootcmd = mcdata.getVar("FAKEROOTCMD")
fakerootenv = (mcdata.getVar("FAKEROOTBASEENV") or "").split()
env = os.environ.copy()
for key, value in (var.split('=') for var in fakerootenv):
env[key] = value
@@ -1066,10 +1148,9 @@ class RunQueue:
for mc in self.rqdata.dataCaches:
self.worker[mc] = self._start_worker(mc)
def start_fakeworker(self, rqexec):
if not self.fakeworker:
for mc in self.rqdata.dataCaches:
self.fakeworker[mc] = self._start_worker(mc, True, rqexec)
def start_fakeworker(self, rqexec, mc):
if not mc in self.fakeworker:
self.fakeworker[mc] = self._start_worker(mc, True, rqexec)
def teardown_workers(self):
self.teardown = True
@@ -1302,15 +1383,36 @@ class RunQueue:
else:
self.rqexe.finish()
def dump_signatures(self, options):
done = set()
bb.note("Reparsing files to collect dependency data")
def rq_dump_sigfn(self, fn, options):
bb_cache = bb.cache.NoCache(self.cooker.databuilder)
the_data = bb_cache.loadDataFull(fn, self.cooker.collection.get_file_appends(fn))
siggen = bb.parse.siggen
dataCaches = self.rqdata.dataCaches
siggen.dump_sigfn(fn, dataCaches, options)
def dump_signatures(self, options):
fns = set()
bb.note("Reparsing files to collect dependency data")
for tid in self.rqdata.runtaskentries:
fn = fn_from_tid(tid)
if fn not in done:
the_data = bb_cache.loadDataFull(fn, self.cooker.collection.get_file_appends(fn))
done.add(fn)
fns.add(fn)
max_process = int(self.cfgData.getVar("BB_NUMBER_PARSE_THREADS") or os.cpu_count() or 1)
# We cannot use the real multiprocessing.Pool easily due to some local data
# that can't be pickled. This is a cheap multi-process solution.
launched = []
while fns:
if len(launched) < max_process:
p = Process(target=self.rq_dump_sigfn, args=(fns.pop(), options))
p.start()
launched.append(p)
for q in launched:
# The finished processes are joined when calling is_alive()
if not q.is_alive():
launched.remove(q)
for p in launched:
p.join()
bb.parse.siggen.dump_sigs(self.rqdata.dataCaches, options)
@@ -1337,7 +1439,7 @@ class RunQueue:
continue
sq_fn.append(fn)
sq_hashfn.append(self.rqdata.dataCaches[mc].hashfn[fn])
sq_hashfn.append(self.rqdata.dataCaches[mc].hashfn[taskfn])
sq_hash.append(self.rqdata.runtaskentries[tid].hash)
sq_taskname.append(taskname)
sq_task.append(tid)
@@ -1417,8 +1519,8 @@ class RunQueue:
for tid in invalidtasks:
(mc, fn, taskname, _) = split_tid_mcfn(tid)
pn = self.rqdata.dataCaches[mc].pkg_fn[fn]
(mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
pn = self.rqdata.dataCaches[mc].pkg_fn[taskfn]
h = self.rqdata.runtaskentries[tid].hash
matches = bb.siggen.find_siginfo(pn, taskname, [], self.cfgData)
match = None
@@ -1521,8 +1623,8 @@ class RunQueueExecute:
taskdata = {}
taskdeps.add(task)
for dep in taskdeps:
(mc, fn, taskname, _) = split_tid_mcfn(dep)
pn = self.rqdata.dataCaches[mc].pkg_fn[fn]
(mc, fn, taskname, taskfn) = split_tid_mcfn(dep)
pn = self.rqdata.dataCaches[mc].pkg_fn[taskfn]
taskdata[dep] = [pn, taskname, fn]
call = self.rq.depvalidate + "(task, taskdata, notneeded, d)"
locs = { "task" : task, "taskdata" : taskdata, "notneeded" : self.scenequeue_notneeded, "d" : self.cooker.data }
@@ -1722,7 +1824,7 @@ class RunQueueExecuteTasks(RunQueueExecute):
# Check tasks that are going to run against the whitelist
def check_norun_task(tid, showerror=False):
(mc, fn, taskname, _) = split_tid_mcfn(tid)
(mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
# Ignore covered tasks
if tid in self.rq.scenequeue_covered:
return False
@@ -1730,11 +1832,11 @@ class RunQueueExecuteTasks(RunQueueExecute):
if self.rq.check_stamp_task(tid, taskname, cache=self.stampcache):
return False
# Ignore noexec tasks
taskdep = self.rqdata.dataCaches[mc].task_deps[fn]
taskdep = self.rqdata.dataCaches[mc].task_deps[taskfn]
if 'noexec' in taskdep and taskname in taskdep['noexec']:
return False
pn = self.rqdata.dataCaches[mc].pkg_fn[fn]
pn = self.rqdata.dataCaches[mc].pkg_fn[taskfn]
if not check_setscene_enforce_whitelist(pn, taskname, self.rqdata.setscenewhitelist):
if showerror:
if tid in self.rqdata.runq_setscene_tids:
@@ -1790,7 +1892,7 @@ class RunQueueExecuteTasks(RunQueueExecute):
bb.event.fire(startevent, self.cfgData)
self.runq_running.add(task)
self.stats.taskActive()
if not self.cooker.configuration.dry_run:
if not (self.cooker.configuration.dry_run or self.rqdata.setscene_enforce):
bb.build.make_stamp(taskname, self.rqdata.dataCaches[mc], taskfn)
self.task_complete(task)
return True
@@ -1801,19 +1903,19 @@ class RunQueueExecuteTasks(RunQueueExecute):
taskdepdata = self.build_taskdepdata(task)
taskdep = self.rqdata.dataCaches[mc].task_deps[taskfn]
if 'fakeroot' in taskdep and taskname in taskdep['fakeroot'] and not self.cooker.configuration.dry_run:
if not self.rq.fakeworker:
if 'fakeroot' in taskdep and taskname in taskdep['fakeroot'] and not (self.cooker.configuration.dry_run or self.rqdata.setscene_enforce):
if not mc in self.rq.fakeworker:
try:
self.rq.start_fakeworker(self)
self.rq.start_fakeworker(self, mc)
except OSError as exc:
logger.critical("Failed to spawn fakeroot worker to run %s: %s" % (task, str(exc)))
self.rq.state = runQueueFailed
self.stats.taskFailed()
return True
self.rq.fakeworker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, False, self.cooker.collection.get_file_appends(fn), taskdepdata)) + b"</runtask>")
self.rq.fakeworker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, False, self.cooker.collection.get_file_appends(fn), taskdepdata, self.rqdata.setscene_enforce)) + b"</runtask>")
self.rq.fakeworker[mc].process.stdin.flush()
else:
self.rq.worker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, False, self.cooker.collection.get_file_appends(taskfn), taskdepdata)) + b"</runtask>")
self.rq.worker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, False, self.cooker.collection.get_file_appends(taskfn), taskdepdata, self.rqdata.setscene_enforce)) + b"</runtask>")
self.rq.worker[mc].process.stdin.flush()
self.build_stamps[task] = bb.build.stampfile(taskname, self.rqdata.dataCaches[mc], taskfn, noextra=True)
@@ -1884,6 +1986,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
sq_revdeps_new = {}
sq_revdeps_squash = {}
self.sq_harddeps = {}
self.stamps = {}
# We need to construct a dependency graph for the setscene functions. Intermediate
# dependencies between the setscene tasks only complicate the code. This code
@@ -1994,9 +2097,10 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
# e.g. do_sometask_setscene[depends] = "targetname:do_someothertask_setscene"
# Note that anything explicitly depended upon will have its reverse dependencies removed to avoid circular dependencies
for tid in self.rqdata.runq_setscene_tids:
(mc, fn, taskname, _) = split_tid_mcfn(tid)
realtid = fn + ":" + taskname + "_setscene"
(mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
realtid = tid + "_setscene"
idepends = self.rqdata.taskData[mc].taskentries[realtid].idepends
self.stamps[tid] = bb.build.stampfile(taskname + "_setscene", self.rqdata.dataCaches[mc], taskfn, noextra=True)
for (depname, idependtask) in idepends:
if depname not in self.rqdata.taskData[mc].build_targets:
@@ -2060,7 +2164,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
for tid in self.sq_revdeps:
(mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
taskdep = self.rqdata.dataCaches[mc].task_deps[fn]
taskdep = self.rqdata.dataCaches[mc].task_deps[taskfn]
if 'noexec' in taskdep and taskname in taskdep['noexec']:
noexec.append(tid)
@@ -2081,7 +2185,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
continue
sq_fn.append(fn)
sq_hashfn.append(self.rqdata.dataCaches[mc].hashfn[fn])
sq_hashfn.append(self.rqdata.dataCaches[mc].hashfn[taskfn])
sq_hash.append(self.rqdata.runtaskentries[tid].hash)
sq_taskname.append(taskname)
sq_task.append(tid)
@@ -2129,8 +2233,8 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
def check_taskfail(self, task):
if self.rqdata.setscenewhitelist:
realtask = task.split('_setscene')[0]
(mc, fn, taskname, _) = split_tid_mcfn(realtask)
pn = self.rqdata.dataCaches[mc].pkg_fn[fn]
(mc, fn, taskname, taskfn) = split_tid_mcfn(realtask)
pn = self.rqdata.dataCaches[mc].pkg_fn[taskfn]
if not check_setscene_enforce_whitelist(pn, taskname, self.rqdata.setscenewhitelist):
logger.error('Task %s.%s failed' % (pn, taskname + "_setscene"))
self.rq.state = runQueueCleanUp
@@ -2173,7 +2277,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
if self.stats.active < self.number_tasks:
# Find the next setscene to run
for nexttask in self.rqdata.runq_setscene_tids:
if nexttask in self.runq_buildable and nexttask not in self.runq_running:
if nexttask in self.runq_buildable and nexttask not in self.runq_running and self.stamps[nexttask] not in self.build_stamps.values():
if nexttask in self.unskippable:
logger.debug(2, "Setscene task %s is unskippable" % nexttask)
if nexttask not in self.unskippable and len(self.sq_revdeps[nexttask]) > 0 and self.sq_revdeps[nexttask].issubset(self.scenequeue_covered) and self.check_dependencies(nexttask, self.sq_revdeps[nexttask], True):
@@ -2217,14 +2321,16 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
taskdep = self.rqdata.dataCaches[mc].task_deps[taskfn]
if 'fakeroot' in taskdep and taskname in taskdep['fakeroot'] and not self.cooker.configuration.dry_run:
if not self.rq.fakeworker:
self.rq.start_fakeworker(self)
self.rq.fakeworker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata)) + b"</runtask>")
if not mc in self.rq.fakeworker:
self.rq.start_fakeworker(self, mc)
self.rq.fakeworker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata, False)) + b"</runtask>")
self.rq.fakeworker[mc].process.stdin.flush()
else:
self.rq.worker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata)) + b"</runtask>")
self.rq.worker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata, False)) + b"</runtask>")
self.rq.worker[mc].process.stdin.flush()
self.build_stamps[task] = bb.build.stampfile(taskname, self.rqdata.dataCaches[mc], taskfn, noextra=True)
self.build_stamps2.append(self.build_stamps[task])
self.runq_running.add(task)
self.stats.taskActive()
if self.stats.active < self.number_tasks:
@@ -2260,7 +2366,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
def getsetscenedeps(tid):
deps = set()
(mc, fn, taskname, _) = split_tid_mcfn(tid)
realtid = fn + ":" + taskname + "_setscene"
realtid = tid + "_setscene"
idepends = self.rqdata.taskData[mc].taskentries[realtid].idepends
for (depname, idependtask) in idepends:
if depname not in self.rqdata.taskData[mc].build_targets:

View File

@@ -233,6 +233,9 @@ class BitBakeProcessServerConnection(BitBakeBaseServerConnection):
self.ui_channel.close()
self.event_queue.close()
self.event_queue.setexit()
# XXX: Call explicity close in _writer to avoid
# fd leakage because isn't called on Queue.close()
self.event_queue._writer.close()
# Wrap Queue to provide API which isn't server implementation specific
class ProcessEventQueue(multiprocessing.queues.Queue):
@@ -264,7 +267,6 @@ class ProcessEventQueue(multiprocessing.queues.Queue):
sys.exit(1)
return None
class BitBakeServer(BitBakeBaseServer):
def initServer(self, single_use=True):
# establish communication channels. We use bidirectional pipes for

View File

@@ -307,8 +307,8 @@ class SignatureGeneratorBasic(SignatureGenerator):
pass
raise err
def dump_sigs(self, dataCaches, options):
for fn in self.taskdeps:
def dump_sigfn(self, fn, dataCaches, options):
if fn in self.taskdeps:
for task in self.taskdeps[fn]:
tid = fn + ":" + task
(mc, _, _) = bb.runqueue.split_tid(tid)
@@ -352,9 +352,14 @@ def dump_this_task(outfile, d):
bb.parse.siggen.dump_sigtask(fn, task, outfile, "customfile:" + referencestamp)
def clean_basepath(a):
mc = None
if a.startswith("multiconfig:"):
_, mc, a = a.split(":", 2)
b = a.rsplit("/", 2)[1] + a.rsplit("/", 2)[2]
if a.startswith("virtual:"):
b = b + ":" + a.rsplit(":", 1)[0]
if mc:
b = b + ":multiconfig:" + mc
return b
def clean_basepaths(a):

View File

@@ -32,7 +32,10 @@ class BBUIHelper:
def eventHandler(self, event):
if isinstance(event, bb.build.TaskStarted):
self.running_tasks[event.pid] = { 'title' : "%s %s" % (event._package, event._task), 'starttime' : time.time() }
if event._mc != "default":
self.running_tasks[event.pid] = { 'title' : "mc:%s:%s %s" % (event._mc, event._package, event._task), 'starttime' : time.time() }
else:
self.running_tasks[event.pid] = { 'title' : "%s %s" % (event._package, event._task), 'starttime' : time.time() }
self.running_pids.append(event.pid)
self.needUpdate = True
elif isinstance(event, bb.build.TaskSucceeded):

View File

@@ -523,12 +523,8 @@ def md5_file(filename):
"""
Return the hex string representation of the MD5 checksum of filename.
"""
try:
import hashlib
m = hashlib.md5()
except ImportError:
import md5
m = md5.new()
import hashlib
m = hashlib.md5()
with open(filename, "rb") as f:
for line in f:
@@ -538,14 +534,9 @@ def md5_file(filename):
def sha256_file(filename):
"""
Return the hex string representation of the 256-bit SHA checksum of
filename. On Python 2.4 this will return None, so callers will need to
handle that by either skipping SHA checks, or running a standalone sha256sum
binary.
filename.
"""
try:
import hashlib
except ImportError:
return None
import hashlib
s = hashlib.sha256()
with open(filename, "rb") as f:
@@ -557,10 +548,7 @@ def sha1_file(filename):
"""
Return the hex string representation of the SHA1 checksum of the filename
"""
try:
import hashlib
except ImportError:
return None
import hashlib
s = hashlib.sha1()
with open(filename, "rb") as f:

View File

@@ -242,17 +242,22 @@ skipped recipes will also be listed, with a " (skipped)" suffix.
Lists recipes with the bbappends that apply to them as subitems.
"""
logger.plain('=== Appended recipes ===')
if args.pnspec:
logger.plain('=== Matched appended recipes ===')
else:
logger.plain('=== Appended recipes ===')
pnlist = list(self.tinfoil.cooker_data.pkg_pn.keys())
pnlist.sort()
appends = False
for pn in pnlist:
if args.pnspec and pn != args.pnspec:
continue
if self.show_appends_for_pn(pn):
appends = True
if self.show_appends_for_skipped():
if not args.pnspec and self.show_appends_for_skipped():
appends = True
if not appends:
@@ -477,7 +482,8 @@ NOTE: .bbappend files can impact the dependencies.
parser_show_recipes.add_argument('-i', '--inherits', help='only list recipes that inherit the named class', metavar='CLASS', default='')
parser_show_recipes.add_argument('pnspec', nargs='?', help='optional recipe name specification (wildcards allowed, enclose in quotes to avoid shell expansion)')
self.add_command(sp, 'show-appends', self.do_show_appends)
parser_show_appends = self.add_command(sp, 'show-appends', self.do_show_appends)
parser_show_appends.add_argument('pnspec', nargs='?', help='optional recipe name specification (wildcards allowed, enclose in quotes to avoid shell expansion)')
parser_show_cross_depends = self.add_command(sp, 'show-cross-depends', self.do_show_cross_depends)
parser_show_cross_depends.add_argument('-f', '--filenames', help='show full file path', action='store_true')

View File

@@ -5,12 +5,7 @@ import threading
import queue
import socket
import io
try:
import sqlite3
except ImportError:
from pysqlite2 import dbapi2 as sqlite3
import sqlite3
import bb.server.xmlrpc
import prserv
import prserv.db
@@ -242,12 +237,25 @@ class PRServer(SimpleXMLRPCServer):
sys.stdout.flush()
sys.stderr.flush()
# We could be called from a python thread with io.StringIO as
# stdout/stderr or it could be 'real' unix fd forking where we need
# to physically close the fds to prevent the program launching us from
# potentially hanging on a pipe. Handle both cases.
si = open('/dev/null', 'r')
try:
os.dup2(si.fileno(),sys.stdin.fileno())
except (AttributeError, io.UnsupportedOperation):
sys.stdin = si
so = open(self.logfile, 'a+')
se = so
os.dup2(si.fileno(),sys.stdin.fileno())
os.dup2(so.fileno(),sys.stdout.fileno())
os.dup2(se.fileno(),sys.stderr.fileno())
try:
os.dup2(so.fileno(),sys.stdout.fileno())
except (AttributeError, io.UnsupportedOperation):
sys.stdout = so
try:
os.dup2(so.fileno(),sys.stderr.fileno())
except (AttributeError, io.UnsupportedOperation):
sys.stderr = so
# Clear out all log handlers prior to the fork() to avoid calling
# event handlers not part of the PRserver

File diff suppressed because it is too large Load Diff

View File

@@ -1394,83 +1394,182 @@
can be reviewed and merged by the appropriate maintainer.
</para>
<para>
Before submitting any change, be sure to find out who you should be
notifying.
Several methods exist through which you find out who you should be copying
or notifying:
<itemizedlist>
<listitem><para><emphasis>Maintenance File:</emphasis>
Examine the <filename>maintainers.inc</filename> file, which is
located in the
<link linkend='source-directory'>Source Directory</link>
at <filename>meta-poky/conf/distro/include</filename>, to
see who is responsible for code.
</para></listitem>
<listitem><para><emphasis>Board Support Package (BSP) README Files:</emphasis>
For BSP maintainers of supported BSPs, you can examine
individual BSP <filename>README</filename> files.
In addition, some layers (such as the <filename>meta-intel</filename> layer),
include a <filename>MAINTAINERS</filename> file which contains
a list of all supported BSP maintainers for that layer.
</para></listitem>
<listitem><para><emphasis>Search by File:</emphasis>
Using <link linkend='git'>Git</link>, you can enter the
following command to bring up a short list of all commits
against a specific file:
<literallayout class='monospaced'>
<section id='submit-change-overview'>
<title>Overview</title>
<para>
The Yocto Project uses a mailing list and patch-based workflow
that is similar to the Linux kernel but contains important
differences.
In general, a mailing list exists through which you can submit
patches.
The specific mailing list you need to use depends on the
location of the code you are changing.
Each component (e.g. layer) should have a
<filename>README</filename> file that indicates where to send
the changes and which process to follow.
</para>
<para>
You can send the patch to the mailing list using whichever approach
you feel comfortable with to generate the patch.
Once sent, the patch is usually reviewed by the community at large.
If somebody has concerns with the patch, they will usually voice
their concern over the mailing list.
If a patch does not receive any negative reviews, the maintainer of
the affected layer typically takes the patch, tests it, and then
based on successful testing, merges the patch.
</para>
<para>
Specific to OpenEmbedded-Core, two commonly used testing trees
exist:
<itemizedlist>
<listitem><para>
<emphasis>"ross/mut" branch:</emphasis>
The "mut" (master-under-test) tree
exists in the <filename>poky-contrib</filename> repository
in the
<ulink url='&YOCTO_GIT_URL;'>Yocto Project source repositories</ulink>.
</para></listitem>
<listitem><para>
<emphasis>"master-next" branch:</emphasis>
This branch is part of the main
"poky" repository in the Yocto Project source repositories.
</para></listitem>
</itemizedlist>
Maintainers use these branches to test submissions prior to merging
patches.
Thus, you can get an idea of the status of a patch based on
whether the patch has been merged into one of these branches.
</para>
<para>
This system is imperfect and patches can sometimes get lost in the
flow.
Asking about the status of a patch is reasonable if the patch
has been idle for a while with no feedback.
The Yocto Project does have plans to use
<ulink url='https://en.wikipedia.org/wiki/Patchwork_(software)'>Patchwork</ulink>
to track the status of patches and also to automatically preview
patches.
</para>
<para>
The following sections provide general instructions for both
pushing changes upstream and for submitting changes as patches.
</para>
</section>
<section id='submit-change-submissions-to-poky'>
<title>Submissions to Poky</title>
<para>
The "poky" repository, which is the Yocto Project's reference build
environment, is a hybrid repository that contains several
individual pieces (e.g. BitBake, OpenEmbedded-Core, meta-yocto,
documentation, and so forth) built using the combo-layer tool.
The upstream location used for submitting changes varies by
component:
<itemizedlist>
<listitem><para>
<emphasis>Core Metadata:</emphasis>
Send your patch to the
<ulink url='http://lists.openembedded.org/mailman/listinfo/openembedded-core'>openembedded-core</ulink>
mailing list. For example, a change to anything under
the <filename>meta</filename> or
<filename>scripts</filename> directories should be sent
to this mailing list.
</para></listitem>
<listitem><para>
<emphasis>BitBake:</emphasis>
For changes to BitBake (i.e. anything under the
<filename>bitbake</filename> directory), send your patch
to the
<ulink url='http://lists.openembedded.org/mailman/listinfo/bitbake-devel'>bitbake-devel</ulink>
mailing list.
</para></listitem>
<listitem><para>
<emphasis>"meta-yocto-bsp" and "meta-poky" trees:</emphasis>
These trees are
part of the "meta-yocto" repository in the Yocto Project
source repositories.
Use the
<ulink url='https://lists.yoctoproject.org/listinfo/poky'>poky</ulink>
mailing list.
</para></listitem>
</itemizedlist>
</para>
</section>
<section id='submit-change-submissions-to-other-layers'>
<title>Submissions to Other Layers</title>
<para>
For changes to other layers hosted in the Yocto Project source
repositories (i.e. <filename>yoctoproject.org</filename>), tools,
and the Yocto Project documentation, use the
<ulink url='https://lists.yoctoproject.org/listinfo/yocto'>Yocto Project</ulink>
general mailing list.
<note>
Sometimes a layer's documentation specifies to use a
particular mailing list.
If so, use that list.
</note>
For additional recipes that do not fit into the core Metadata, you
should determine which layer the recipe should go into and submit
the change in the manner recommended by the documentation (e.g.
the <filename>README</filename> file) supplied with the layer.
If in doubt, please ask on the Yocto general mailing list or on
the openembedded-devel mailing list.
</para>
</section>
<section id='submit-change-patch-submission-details'>
<title>Patch Submission Details</title>
<para>
When submitting any change, you can check who you should be
notifying.
Use either of these methods to find out:
<itemizedlist>
<listitem><para>
<emphasis>Maintenance File:</emphasis>
Examine the <filename>maintainers.inc</filename> file, which is
located in the
<link linkend='source-directory'>Source Directory</link>
at <filename>meta-poky/conf/distro/include</filename>, to
see who is responsible for code.
</para></listitem>
<listitem><para>
<emphasis>Search by File:</emphasis>
Using <link linkend='git'>Git</link>, you can enter the
following command to bring up a short list of all commits
against a specific file:
<literallayout class='monospaced'>
git shortlog -- <replaceable>filename</replaceable>
</literallayout>
Just provide the name of the file for which you are interested.
The information returned is not ordered by history but does
include a list of all committers grouped by name.
From the list, you can see who is responsible for the bulk of
the changes against the file.
</para></listitem>
</itemizedlist>
</para>
</literallayout>
Just provide the name of the file for which you are interested.
The information returned is not ordered by history but does
include a list of all committers grouped by name.
From the list, you can see who is responsible for the bulk of
the changes against the file.
</para></listitem>
</itemizedlist>
</para>
<para>
For a list of the Yocto Project and related mailing lists, see the
"<ulink url='&YOCTO_DOCS_REF_URL;#resources-mailinglist'>Mailing lists</ulink>" section in
the Yocto Project Reference Manual.
</para>
<para>
For a list of the Yocto Project and related mailing lists, see the
"<ulink url='&YOCTO_DOCS_REF_URL;#resources-mailinglist'>Mailing lists</ulink>"
section in the Yocto Project Reference Manual.
</para>
<para>
Here is some guidance on which mailing list to use for what type of change:
<itemizedlist>
<listitem><para>For changes to the core
<link linkend='metadata'>Metadata</link>, send your patch to the
<ulink url='&OE_LISTS_URL;/listinfo/openembedded-core'>openembedded-core</ulink> mailing list.
For example, a change to anything under the <filename>meta</filename> or
<filename>scripts</filename> directories
should be sent to this mailing list.</para></listitem>
<listitem><para>For changes to BitBake (anything under the <filename>bitbake</filename>
directory), send your patch to the
<ulink url='&OE_LISTS_URL;/listinfo/bitbake-devel'>bitbake-devel</ulink> mailing list.</para></listitem>
<listitem><para>For changes to <filename>meta-poky</filename>, send your patch to the
<ulink url='&YOCTO_LISTS_URL;/listinfo/poky'>poky</ulink> mailing list.</para></listitem>
<listitem><para>For changes to other layers hosted on
<filename>yoctoproject.org</filename> (unless the
layer's documentation specifies otherwise), tools, and Yocto Project
documentation, use the
<ulink url='&YOCTO_LISTS_URL;/listinfo/yocto'>yocto</ulink> mailing list.</para></listitem>
<listitem><para>For additional recipes that do not fit into the core Metadata,
you should determine which layer the recipe should go into and submit the
change in the manner recommended by the documentation (e.g. README) supplied
with the layer. If in doubt, please ask on the
<ulink url='&YOCTO_LISTS_URL;/listinfo/yocto'>yocto</ulink> or
<ulink url='&OE_LISTS_URL;/listinfo/openembedded-devel'>openembedded-devel</ulink>
mailing lists.</para></listitem>
</itemizedlist>
</para>
<para>
When you send a patch, be sure to include a "Signed-off-by:"
line in the same style as required by the Linux kernel.
Adding this line signifies that you, the submitter, have agreed to the Developer's Certificate of Origin 1.1
as follows:
<literallayout class='monospaced'>
<para>
When you send a patch, be sure to include a "Signed-off-by:"
line in the same style as required by the Linux kernel.
Adding this line signifies that you, the submitter, have agreed
to the Developer's Certificate of Origin 1.1 as follows:
<literallayout class='monospaced'>
Developer's Certificate of Origin 1.1
By making a contribution to this project, I certify that:
@@ -1496,68 +1595,75 @@
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
</literallayout>
</para>
</literallayout>
</para>
<para>
In a collaborative environment, it is necessary to have some sort of standard
or method through which you submit changes.
Otherwise, things could get quite chaotic.
One general practice to follow is to make small, controlled changes.
Keeping changes small and isolated aids review, makes merging/rebasing easier
and keeps the change history clean when anyone needs to refer to it in future.
</para>
<para>
In a collaborative environment, it is necessary to have some sort
of standard or method through which you submit changes.
Otherwise, things could get quite chaotic.
One general practice to follow is to make small, controlled changes.
Keeping changes small and isolated aids review, makes
merging/rebasing easier and keeps the change history clean should
anyone need to refer to it in future.
</para>
<para>
When you make a commit, you must follow certain standards established by the
OpenEmbedded and Yocto Project development teams.
For each commit, you must provide a single-line summary of the change and you
should almost always provide a more detailed description of what you did (i.e.
the body of the commit message).
The only exceptions for not providing a detailed description would be if your
change is a simple, self-explanatory change that needs no further description
beyond the summary.
Here are the guidelines for composing a commit message:
<itemizedlist>
<listitem><para>Provide a single-line, short summary of the change.
This summary is typically viewable in the "shortlist" of changes.
Thus, providing something short and descriptive that gives the reader
a summary of the change is useful when viewing a list of many commits.
This short description should be prefixed by the recipe name (if changing a recipe), or
else the short form path to the file being changed.
</para></listitem>
<listitem><para>For the body of the commit message, provide detailed information
that describes what you changed, why you made the change, and the approach
you used. It may also be helpful if you mention how you tested the change.
Provide as much detail as you can in the body of the commit message.
</para></listitem>
<listitem><para>
If the change addresses a specific bug or issue that is
associated with a bug-tracking ID, include a reference to that
ID in your detailed description.
For example, the Yocto Project uses a specific convention for
bug references - any commit that addresses a specific bug should
use the following form for the detailed description:
<literallayout class='monospaced'>
<para>
When you make a commit, you must follow certain standards
established by the OpenEmbedded and Yocto Project development teams.
For each commit, you must provide a single-line summary of the
change and you should almost always provide a more detailed
description of what you did (i.e. the body of the commit message).
The only exceptions for not providing a detailed description would
be if your change is a simple, self-explanatory change that needs
no further description beyond the summary.
Here are the guidelines for composing a commit message:
<itemizedlist>
<listitem><para>
Provide a single-line, short summary of the change.
This summary is typically viewable in the "shortlist" of
changes.
Thus, providing something short and descriptive that
gives the reader a summary of the change is useful when
viewing a list of many commits.
You should prefix this short description with the recipe
name (if changing a recipe), or else with the short form
path to the file being changed.
</para></listitem>
<listitem><para>
For the body of the commit message, provide detailed
information that describes what you changed, why you made
the change, and the approach you used.
It might also be helpful if you mention how you tested
the change.
Provide as much detail as you can in the body of the
commit message.
</para></listitem>
<listitem><para>
If the change addresses a specific bug or issue that is
associated with a bug-tracking ID, include a reference
to that ID in your detailed description.
For example, the Yocto Project uses a specific convention
for bug references - any commit that addresses a specific
bug should use the following form for the detailed
description:
<literallayout class='monospaced'>
Fixes [YOCTO #<replaceable>bug-id</replaceable>]
<replaceable>detailed description of change</replaceable>
</literallayout></para></listitem>
</literallayout>
</para></listitem>
Where <replaceable>bug-id</replaceable> is replaced with the
specific bug ID from the Yocto Project Bugzilla instance.
</itemizedlist>
</para>
</itemizedlist>
</para>
<para>
You can find more guidance on creating well-formed commit messages at this OpenEmbedded
wiki page:
<ulink url='&OE_HOME_URL;/wiki/Commit_Patch_Message_Guidelines'></ulink>.
</para>
<para>
The next two sections describe general instructions for both pushing
changes upstream and for submitting changes as patches.
</para>
<para>
You can find more guidance on creating well-formed commit messages
at this OpenEmbedded wiki page:
<ulink url='&OE_HOME_URL;/wiki/Commit_Patch_Message_Guidelines'></ulink>.
</para>
</section>
<section id='pushing-a-change-upstream'>
<title>Using Scripts to Push a Change Upstream and Request a Pull</title>

View File

@@ -328,6 +328,96 @@
</para>
</section>
<section id='flashing-images-using-bmaptool'>
<title>Flashing Images Using <filename>bmaptool</filename></title>
<para>
An easy way to flash an image to a bootable device is to use
<filename>bmaptool</filename>, which is integrated into the
OpenEmbedded build system.
</para>
<para>
Following, is an example that shows how to flash a Wic image.
<note>
You can use <filename>bmaptool</filename> to flash any
type of image.
</note>
Use these steps to flash an image using
<filename>bmaptool</filename>:
<note>
Unless you are able to install the
<filename>bmap-tools</filename> package as mentioned in the note
in the second bullet of step 3 further down, you will need to build
<filename>bmaptool</filename> before using it.
Build the tool using the following command:
<literallayout class='monospaced'>
$ bitbake bmap-tools-native
</literallayout>
</note>
<orderedlist>
<listitem><para>
Add the following to your <filename>local.conf</filename>
file:
<literallayout class='monospaced'>
IMAGE_FSTYPES += "wic wic.bmap"
</literallayout>
</para></listitem>
<listitem><para>
Either have your image ready (pre-built) or take the step
build the image:
<literallayout class='monospaced'>
$ bitbake <replaceable>image</replaceable>
</literallayout>
</para></listitem>
<listitem><para>
Flash the image to the media by using
<filename>bmaptool</filename> depending on your particular
setup:
<itemizedlist>
<listitem><para>
If you have write access to the media,
use this command form:
<literallayout class='monospaced'>
$ oe-run-native bmaptool copy ./tmp/deploy/images/qemux86-64/core-image-minimal-<replaceable>machine</replaceable>.wic /dev/sd<replaceable>X</replaceable>
</literallayout>
</para></listitem>
<listitem><para>
If you do not have write access to
the media, use the following
commands:
<literallayout class='monospaced'>
$ sudo bash
$ PATH=tmp/sysroots/x86_64-linux/usr/bin/ bmaptool copy ./tmp/deploy/images/qemux86-64/core-image-minimal-<replaceable>machine</replaceable>.wic /dev/sd<replaceable>X</replaceable>
</literallayout>
<note>
If you are using Ubuntu or Debian distributions,
you can install the
<filename>bmap-tools</filename> package using the
following command and then use the tool
without specifying
<filename>PATH</filename> even from the
root account:
<literallayout class='monospaced'>
$ sudo apt-get install bmap-tools
</literallayout>
</note>
</para></listitem>
</itemizedlist>
</para></listitem>
</orderedlist>
</para>
<para>
For help on the <filename>bmaptool</filename> command, use either of
the following commands:
<literallayout class='monospaced'>
$ bmaptool --help
$ oe-run-native bmaptool --help
</literallayout>
</para>
</section>
<section id='using-pre-built-binaries-and-qemu'>
<title>Using Pre-Built Binaries and QEMU</title>
@@ -352,6 +442,11 @@
<ulink url='&YOCTO_DOCS_REF_URL;#var-SDKMACHINE'><filename>SDKMACHINE</filename></ulink>).
If you are not using an SDK type image, you need to separately download
and install the stand-alone Yocto Project cross-toolchain tarball.
See the
"<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-appendix-obtain'>Obtaining the SDK</ulink>"
appendix in the Yocto Project Software Development Kit (SDK)
Developer's Guide for more information on locating and installing
cross-toolchains.
</para>
<para>

View File

@@ -61,13 +61,13 @@
<!ENTITY OE_INIT_PATH "&YOCTO_POKY;/oe-init-build-env">
<!ENTITY OE_INIT_FILE "oe-init-build-env">
<!ENTITY UBUNTU_HOST_PACKAGES_ESSENTIAL "gawk wget git-core diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat">
build-essential chrpath socat cpio python python3 pip3 pexpect">
<!ENTITY FEDORA_HOST_PACKAGES_ESSENTIAL "gawk make wget tar bzip2 gzip python3 unzip perl patch \
diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath \
ccache perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue perl-bignum socat \
findutils which">
findutils which file cpio python pip3 pexpect">
<!ENTITY OPENSUSE_HOST_PACKAGES_ESSENTIAL "python gcc gcc-c++ git chrpath make wget python-xml \
diffstat makeinfo python-curses patch socat">
diffstat makeinfo python-curses patch socat python3 python3-curses tar pip3 pexpect">
<!ENTITY CENTOS_HOST_PACKAGES_ESSENTIAL "gawk make wget tar bzip2 gzip python unzip perl patch \
diffutils diffstat git cpp gcc gcc-c++ glibc-devel texinfo chrpath socat \
perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue">
perl-Data-Dumper perl-Text-ParseWords perl-Thread-Queue pip3 pexpect">

View File

@@ -1873,11 +1873,22 @@
</para>
<para>
This means that each built kernel module is packaged separately and inter-module
dependencies are created by parsing the <filename>modinfo</filename> output.
If all modules are required, then installing the <filename>kernel-modules</filename>
package installs all packages with modules and various other kernel packages
such as <filename>kernel-vmlinux</filename>.
This means that each built kernel module is packaged separately and
inter-module dependencies are created by parsing the
<filename>modinfo</filename> output.
If all modules are required, then installing the
<filename>kernel-modules</filename> package installs all packages with
modules and various other kernel packages such as
<filename>kernel-vmlinux</filename>.
</para>
<para>
The <filename>kernel</filename> class contains logic that allows
you to embed an initial RAM filesystem (initramfs) image when
you build the kernel image.
For information on how to build an initramfs, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#building-an-initramfs-image'>Building an Initial RAM Filesystem (initramfs) Image</ulink>"
section in the Yocto Project Development Manual.
</para>
<para>

View File

@@ -297,6 +297,12 @@
Enables logging postinstall script runs to
the <filename>/var/log/postinstall.log</filename> file
on first boot of the image on the target system.
<note>
To make the <filename>/var/log</filename> directory
on the target persistent, use the
<ulink url='&YOCTO_DOCS_REF_URL;#var-VOLATILE_LOG_DIR'><filename>VOLATILE_LOG_DIR</filename></ulink>
variable by setting it to "no".
</note>
</para></listitem>
<listitem><para><emphasis>ptest-pkgs:</emphasis>
Installs ptest packages for all ptest-enabled recipes.

View File

@@ -54,9 +54,6 @@
<listitem><para><filename>core-image-clutter</filename>:
An image with support for the Open GL-based toolkit Clutter, which enables development of
rich and animated graphical user interfaces.</para></listitem>
<listitem><para><filename>core-image-directfb</filename>:
An image that uses <filename>directfb</filename> instead of X11.
</para></listitem>
<listitem><para><filename>core-image-full-cmdline</filename>:
A console-only image with more full-featured Linux system
functionality installed.</para></listitem>

View File

@@ -37,7 +37,7 @@
<link linkend='var-S'>S</link>
<link linkend='var-T'>T</link>
<link linkend='var-UBOOT_CONFIG'>U</link>
<!-- <link linkend='var-glossary-v'>V</link> -->
<link linkend='var-VOLATILE_LOG_DIR'>V</link>
<link linkend='var-WARN_QA'>W</link>
<link linkend='var-XSERVER'>X</link>
<!-- <link linkend='var-glossary-y'>Y</link> -->
@@ -2273,12 +2273,13 @@
<glossentry id='var-CONFIG_INITRAMFS_SOURCE'><glossterm>CONFIG_INITRAMFS_SOURCE</glossterm>
<info>
CONFIG_INITRAMFS_SOURCE[doc] = "Identifies the initial RAM disk (initramfs) source files. The OpenEmbedded build system receives and uses this kernel Kconfig variable as an environment variable."
CONFIG_INITRAMFS_SOURCE[doc] = "Identifies the initial RAM filesystem (initramfs) source files. The OpenEmbedded build system receives and uses this kernel Kconfig variable as an environment variable."
</info>
<glossdef>
<para role="glossdeffirst">
<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
Identifies the initial RAM disk (initramfs) source files.
Identifies the initial RAM filesystem (initramfs) source
files.
The OpenEmbedded build system receives and uses
this kernel Kconfig variable as an environment variable.
By default, the variable is set to null ("").
@@ -2304,6 +2305,12 @@
If you specify multiple directories and files, the
initramfs image will be the aggregate of all of them.
</para>
<para>
For information on creating an initramfs, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#building-an-initramfs-image'>Building an Initial RAM Filesystem (initramfs) Image</ulink>"
section in the Yocto Project Development Manual.
</para>
</glossdef>
</glossentry>
@@ -5405,9 +5412,12 @@
variable to specify packages for installation.
Instead, use the
<link linkend='var-PACKAGE_INSTALL'><filename>PACKAGE_INSTALL</filename></link>
variable, which allows the initial RAM disk (initramfs)
recipe to use a fixed set of packages and not be
affected by <filename>IMAGE_INSTALL</filename>.
variable, which allows the initial RAM filesystem
(initramfs) recipe to use a fixed set of packages and
not be affected by <filename>IMAGE_INSTALL</filename>.
For information on creating an initramfs, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#building-an-initramfs-image'>Building an Initial RAM Filesystem (initramfs) Image</ulink>"
section in the Yocto Project Development Manual.
</note>
</para>
@@ -6133,13 +6143,13 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<glossentry id='var-INITRAMFS_FSTYPES'><glossterm>INITRAMFS_FSTYPES</glossterm>
<info>
INITRAMFS_FSTYPES[doc] = "Defines the format for the output image of an initial RAM disk (initramfs), which is used during boot."
INITRAMFS_FSTYPES[doc] = "Defines the format for the output image of an initial RAM filesystem (initramfs), which is used during boot."
</info>
<glossdef>
<para role="glossdeffirst">
<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
Defines the format for the output image of an initial
RAM disk (initramfs), which is used during boot.
RAM filesystem (initramfs), which is used during boot.
Supported formats are the same as those supported by the
<link linkend='var-IMAGE_FSTYPES'><filename>IMAGE_FSTYPES</filename></link>
variable.
@@ -6152,7 +6162,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<ulink url='&YOCTO_DOCS_DEV_URL;#source-directory'>Source Directory</ulink>,
is "cpio.gz".
The Linux kernel's initramfs mechanism, as opposed to the
initial RAM disk
initial RAM filesystem
<ulink url='https://en.wikipedia.org/wiki/Initrd'>initrd</ulink>
mechanism, expects an optionally compressed cpio
archive.
@@ -6162,7 +6172,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
<glossentry id='var-INITRAMFS_IMAGE'><glossterm>INITRAMFS_IMAGE</glossterm>
<info>
INITRAMFS_IMAGE[doc] = "Specifies the PROVIDES name of an image recipe that is used to build an initial RAM disk (initramfs) image."
INITRAMFS_IMAGE[doc] = "Specifies the PROVIDES name of an image recipe that is used to build an initial RAM filesystem (initramfs) image."
</info>
<glossdef>
<para role="glossdeffirst">
@@ -6170,7 +6180,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
Specifies the
<link linkend='var-PROVIDES'><filename>PROVIDES</filename></link>
name of an image recipe that is used to build an initial
RAM disk (initramfs) image.
RAM filesystem (initramfs) image.
An initramfs provides a temporary root filesystem used for
early system initialization (e.g. loading of modules
needed to locate and mount the "real" root filesystem).
@@ -6211,17 +6221,21 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</para>
<para>
Finally, for more information you can also see the
For more information, you can also see the
<link linkend='var-INITRAMFS_IMAGE_BUNDLE'><filename>INITRAMFS_IMAGE_BUNDLE</filename></link>
variable, which allows the generated image to be bundled
inside the kernel image.
Additionally, for information on creating an initramfs, see
the
"<ulink url='&YOCTO_DOCS_DEV_URL;#building-an-initramfs-image'>Building an Initial RAM Filesystem (initramfs) Image</ulink>"
section in the Yocto Project Development Manual.
</para>
</glossdef>
</glossentry>
<glossentry id='var-INITRAMFS_IMAGE_BUNDLE'><glossterm>INITRAMFS_IMAGE_BUNDLE</glossterm>
<info>
INITRAMFS_IMAGE_BUNDLE[doc] = "Controls whether or not the image recipe specified by INITRAMFS_IMAGE is run through an extra pass (do_bundle_initramfs) during kernel compilation in order to build a single binary that contains both the kernel image and the initial RAM disk (initramfs)."
INITRAMFS_IMAGE_BUNDLE[doc] = "Controls whether or not the image recipe specified by INITRAMFS_IMAGE is run through an extra pass (do_bundle_initramfs) during kernel compilation in order to build a single binary that contains both the kernel image and the initial RAM filesystem (initramfs)."
</info>
<glossdef>
<para role="glossdeffirst">
@@ -6231,8 +6245,8 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
is run through an extra pass
(<link linkend='ref-tasks-bundle_initramfs'><filename>do_bundle_initramfs</filename></link>)
during kernel compilation in order to build a single binary
that contains both the kernel image and the initial RAM disk
(initramfs).
that contains both the kernel image and the initial RAM
filesystem (initramfs) image.
This makes use of the
<link linkend='var-CONFIG_INITRAMFS_SOURCE'><filename>CONFIG_INITRAMFS_SOURCE</filename></link>
kernel feature.
@@ -6279,6 +6293,9 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
See the
<ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/poky/tree/meta-poky/conf/local.conf.sample.extended'><filename>local.conf.sample.extended</filename></ulink>
file for additional information.
Also, for information on creating an initramfs, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#building-an-initramfs-image'>Building an Initial RAM Filesystem (initramfs) Image</ulink>"
section in the Yocto Project Development Manual.
</para>
</glossdef>
</glossentry>
@@ -9105,9 +9122,12 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
the
<link linkend='images-core-image-minimal-initramfs'><filename>core-image-minimal-initramfs</filename></link>
image.
When working with an initial RAM disk (initramfs)
When working with an initial RAM filesystem (initramfs)
image, use the <filename>PACKAGE_INSTALL</filename>
variable.
For information on creating an initramfs, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#building-an-initramfs-image'>Building an Initial RAM Filesystem (initramfs) Image</ulink>"
section in the Yocto Project Development Manual.
</para>
</glossdef>
</glossentry>
@@ -15524,8 +15544,30 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</glossdiv>
<!-- <glossdiv id='var-glossary-v'><title>V</title>-->
<!-- </glossdiv>-->
<glossdiv id='var-glossary-v'><title>V</title>
<glossentry id='var-VOLATILE_LOG_DIR'><glossterm>VOLATILE_LOG_DIR</glossterm>
<info>
VOLATILE_LOG_DIR[doc] = "Specifies the persistence of the target's /var/log directory, which is used to house postinstall target log files."
</info>
<glossdef>
<para role="glossdeffirst">
<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
Specifies the persistence of the target's
<filename>/var/log</filename> directory, which is used to
house postinstall target log files.
</para>
<para>
By default, <filename>VOLATILE_LOG_DIR</filename> is set
to "yes", which means the file is not persistent.
You can override this setting by setting the
variable to "no" to make the log directory persistent.
</para>
</glossdef>
</glossentry>
</glossdiv>
<glossdiv id='var-glossary-w'><title>W</title>
@@ -15548,6 +15590,26 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
</glossdef>
</glossentry>
<glossentry id='var-WKS_FILE'><glossterm>WKS_FILE</glossterm>
<info>
WKS_FILE[doc] = "Specifies the name of the wic kickstart file."
</info>
<glossdef>
<para role="glossdeffirst">
Specifies the location of the Wic
kickstart file that is used by the OpenEmbedded build
system to create a partitioned image
(<replaceable>image</replaceable><filename>.wic</filename>).
For information on how to create a
partitioned image, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#creating-wic-images-oe'>Creating Partitioned Images</ulink>"
section.
For details on the kickstart file format, see the
"<ulink url='&YOCTO_DOCS_DEV_URL;#openembedded-kickstart-wks-reference'>OpenEmbedded Kickstart (<filename>.wks</filename>) Reference</ulink>.
</para>
</glossdef>
</glossentry>
<glossentry id='var-WORKDIR'><glossterm>WORKDIR</glossterm>
<info>
WORKDIR[doc] = "The pathname of the working directory in which the OpenEmbedded build system builds a recipe. This directory is located within the TMPDIR directory structure and changes as different packages are built."

View File

@@ -1445,14 +1445,23 @@
<para>
The <filename>LIC_FILES_CHKSUM</filename>
variable contains checksums of the license text in the source code for the recipe.
Following is an example of how to specify <filename>LIC_FILES_CHKSUM</filename>:
variable contains checksums of the license text in the source
code for the recipe.
Following is an example of how to specify
<filename>LIC_FILES_CHKSUM</filename>:
<literallayout class='monospaced'>
LIC_FILES_CHKSUM = "file://COPYING;md5=xxxx \
file://licfile1.txt;beginline=5;endline=29;md5=yyyy \
file://licfile2.txt;endline=50;md5=zzzz \
..."
</literallayout>
<note>
When using "beginline" and "endline", realize that line
numbering begins with one and not zero.
Also, the lines included are inclusive (e.g. lines five
through 29 in the previous example for
<filename>licfile1.txt</filename>.
</note>
</para>
<para>
@@ -1474,7 +1483,8 @@
<para>
The first line locates a file in
<filename>${S}/src/ls.c</filename>.
<filename>${S}/src/ls.c</filename> and isolates lines five
through 16 as license text.
The second line refers to a file in
<filename><link linkend='var-WORKDIR'>WORKDIR</link></filename>.
</para>

View File

@@ -69,6 +69,39 @@
<literallayout class='monospaced'>
$ bitbake <replaceable>target</replaceable>
</literallayout>
<note>
<para>
If you experience a build error due to resources
temporarily being unavailable and it appears you
should not be having this issue, it might be due
to the combination of a 4.3+ Linux kernel and
<filename>systemd</filename> version 228+
(i.e. see this
<ulink url='http://unix.stackexchange.com/questions/253903/creating-threads-fails-with-resource-temporarily-unavailable-with-4-3-kernel'>link</ulink>
for information).
</para>
<para>
To work around this issue, you can try either
of the following:
<itemizedlist>
<listitem><para>
Try the build again.
</para></listitem>
<listitem><para>
Modify the "DefaultTasksMax"
<filename>systemd</filename> parameter
by uncommenting it and setting it to
"infinity".
You can find this parameter in the
<filename>system.conf</filename> file
located in
<filename>/etc/systemd</filename>
on most systems.
</para></listitem>
</itemizedlist>
</para>
</note>
</para>
<para>
@@ -391,14 +424,6 @@
<link linkend='var-ASSUME_PROVIDED'><filename>ASSUME_PROVIDED</filename></link>
are not listed.
</para></listitem>
<listitem><para>
<filename>pn-depends.dot</filename>: A graph showing
dependencies between build-time targets (recipes).
</para></listitem>
<listitem><para>
<filename>package-depends.dot</filename>: A graph showing
known dependencies between runtime targets.
</para></listitem>
<listitem><para>
<filename>task-depends.dot</filename>: A graph showing
dependencies between tasks.

View File

@@ -16,11 +16,26 @@
Permission is granted to copy, distribute and/or modify this document under
the terms of the <ulink type="http" url="http://creativecommons.org/licenses/by-sa/2.0/uk/">Creative Commons Attribution-Share Alike 2.0 UK: England &amp; Wales</ulink> as published by Creative Commons.
</para>
<note>
For the latest version of this manual associated with this
Yocto Project release, see the
<ulink url='&YOCTO_DOCS_QS_URL;'>Yocto Project Quick Start</ulink>
from the Yocto Project website.
<note><title>Manual Notes</title>
<itemizedlist>
<listitem><para>
For the latest version of the Yocto Project Quick
Start associated with this Yocto Project release,
see the Yocto Project Quick Start from the
<ulink url='&YOCTO_HOME_URL;'>Yocto Project website</ulink>.
</para></listitem>
<listitem><para>
Later releases of the Yocto Project might exist and the
associated Yocto Project Quick Start for any later
release can be found at
<ulink url='&YOCTO_HOME_URL;/documentation'></ulink>.
</para></listitem>
<listitem><para>
For an in-development version of the Yocto Project
Quick Start, see
<ulink url='&YOCTO_DOCS_URL;/latest/yocto-project-qs/yocto-project-qs.html'></ulink>.
</para></listitem>
</itemizedlist>
</note>
</legalnotice>
@@ -312,7 +327,8 @@
</para></listitem>
<listitem><para><emphasis>OpenSUSE</emphasis>
<literallayout class='monospaced'>
$ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL; libSDL-devel xterm
$ sudo zypper install &OPENSUSE_HOST_PACKAGES_ESSENTIAL; \
libSDL-devel xterm
</literallayout>
</para></listitem>
<listitem><para><emphasis>CentOS</emphasis>
@@ -566,14 +582,47 @@
<note>
Depending on the number of processors and cores, the
amount of RAM, the speed of your Internet connection
and other factors, the build process could take several
hours the first time you run it.
and other factors, the build process could take
several hours the first time you run it.
Subsequent builds run much faster since parts of the
build are cached.
</note>
<literallayout class='monospaced'>
$ bitbake core-image-sato
</literallayout>
<note>
<para>
If you experience a build error due to resources
temporarily being unavailable and it appears you
should not be having this issue, it might be due
to the combination of a 4.3+ Linux kernel and
<filename>systemd</filename> version 228+
(i.e. see this
<ulink url='http://unix.stackexchange.com/questions/253903/creating-threads-fails-with-resource-temporarily-unavailable-with-4-3-kernel'>link</ulink>
for information).
</para>
<para>
To work around this issue, you can try either
of the following:
<itemizedlist>
<listitem><para>
Try the build again.
</para></listitem>
<listitem><para>
Modify the "DefaultTasksMax"
<filename>systemd</filename> parameter
by uncommenting it and setting it to
"infinity".
You can find this parameter in the
<filename>system.conf</filename> file
located in
<filename>/etc/systemd</filename>
on most systems.
</para></listitem>
</itemizedlist>
</para>
</note>
For information on using the
<filename>bitbake</filename> command, see the
"<ulink url='&YOCTO_DOCS_REF_URL;#usingpoky-components-bitbake'>BitBake</ulink>"
@@ -724,6 +773,39 @@
<literallayout class='monospaced'>
$ bitbake core-image-base
</literallayout>
<note>
<para>
If you experience a build error due to resources
temporarily being unavailable and it appears you
should not be having this issue, it might be due
to the combination of a 4.3+ Linux kernel and
<filename>systemd</filename> version 228+
(i.e. see this
<ulink url='http://unix.stackexchange.com/questions/253903/creating-threads-fails-with-resource-temporarily-unavailable-with-4-3-kernel'>link</ulink>
for information).
</para>
<para>
To work around this issue, you can try either
of the following:
<itemizedlist>
<listitem><para>
Try the build again.
</para></listitem>
<listitem><para>
Modify the "DefaultTasksMax"
<filename>systemd</filename> parameter
by uncommenting it and setting it to
"infinity".
You can find this parameter in the
<filename>system.conf</filename> file
located in
<filename>/etc/systemd</filename>
on most systems.
</para></listitem>
</itemizedlist>
</para>
</note>
Once the build completes, the resulting console-only image
is located in the Build Directory here:
<literallayout class='monospaced'>

View File

@@ -584,7 +584,7 @@ RECIPE_MAINTAINER_pn-pax = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-pax-utils = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-pbzip2 = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-pciutils = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-pcmanfm = "Edwin Plauchu <edwin.plauchu.camacho@linux.intel.com>"
RECIPE_MAINTAINER_pn-pcmanfm = "Alexander Kanavin <alexander.kanavin@intel.com>"
RECIPE_MAINTAINER_pn-pcmciautils = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-perf = "Bruce Ashfield <bruce.ashfield@windriver.com>"
RECIPE_MAINTAINER_pn-perl = "Aníbal Limón <anibal.limon@linux.intel.com>"

View File

@@ -1,7 +1,7 @@
DISTRO = "poky"
DISTRO_NAME = "Poky (Yocto Project Reference Distro)"
DISTRO_VERSION = "2.2"
DISTRO_CODENAME = "morty"
DISTRO_VERSION = "2.2+snapshot-${DATE}"
DISTRO_CODENAME = "master"
SDK_VENDOR = "-pokysdk"
SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}"
@@ -79,9 +79,11 @@ SANITY_TESTED_DISTROS ?= " \
ubuntu-15.04 \n \
ubuntu-15.10 \n \
ubuntu-16.04 \n \
ubuntu-16.10 \n \
fedora-22 \n \
fedora-23 \n \
fedora-24 \n \
fedora-25 \n \
centos-7 \n \
debian-8 \n \
opensuse-13.2 \n \
@@ -93,7 +95,7 @@ SANITY_TESTED_DISTROS ?= " \
# that breaks the format and have been previously discussed on the mailing list
# with general agreement from the core team.
#
OELAYOUT_ABI = "11"
OELAYOUT_ABI = "12"
# add poky sanity bbclass
INHERIT += "poky-sanity"

View File

@@ -1,13 +1,9 @@
import os
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.oetest import oeRuntimeTest, skipModule
from oeqa.utils.commands import runCmd
from oeqa.utils.decorators import *
class Selftest(OERuntimeTestCase):
class Selftest(oeRuntimeTest):
@skipUnlessPassed("test_ssh")
@tag("selftest_package_install")
@OETestDepends(['ssh.SSHTest.test_ssh'])
def test_install_package(self):
"""
Summary: Check basic package installation functionality.
@@ -21,8 +17,7 @@ class Selftest(oeRuntimeTest):
(status, output) = self.target.run("socat -V")
self.assertEqual(status, 0, msg="socat is not installed")
@skipUnlessPassed("test_install_package")
@tag("selftest_package_install")
@OETestDepends(['selftest.Selftest.test_install_package'])
def test_verify_unistall(self):
"""
Summary: Check basic package installation functionality.
@@ -34,22 +29,3 @@ class Selftest(oeRuntimeTest):
(status, output) = self.target.run("socat -V")
self.assertNotEqual(status, 0, msg="socat is still installed")
@tag("selftest_sdk")
def test_sdk(self):
result = runCmd("env -0")
sdk_path = search_sdk_path(result.output)
self.assertTrue(sdk_path, msg="Can't find SDK path")
tar_cmd = os.path.join(sdk_path, "tar")
result = runCmd("%s --help" % tar_cmd)
def search_sdk_path(env):
for line in env.split("\0"):
(key, _, value) = line.partition("=")
if key == "PATH":
for path in value.split(":"):
if "pokysdk" in path:
return path
return ""

View File

@@ -14,6 +14,8 @@ SRC_URI = "${GNU_MIRROR}/aspell/aspell-${PV}.tar.gz"
SRC_URI[md5sum] = "e66a9c9af6a60dc46134fdacf6ce97d7"
SRC_URI[sha256sum] = "f52583a83a63633701c5f71db3dc40aab87b7f76b29723aeb27941eff42df6e1"
EXCLUDE_FROM_WORLD = "1"
PACKAGECONFIG ??= ""
PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses"

View File

@@ -4,3 +4,4 @@ INHIBIT_DEFAULT_DEPS = "1"
SRC_URI = "file://file1 \
file://file2"
EXCLUDE_FROM_WORLD = "1"

View File

@@ -14,3 +14,4 @@ SRC_URI[sha256sum] = "67c2fc94a7ecedbaae0d1837e82e93d1d98f4a6d759828860e552119af
inherit autotools pkgconfig
EXCLUDE_FROM_WORLD = "1"

View File

@@ -5,3 +5,5 @@ SRC_URI = "file://devtool-test-subdir.tar.gz \
file://testfile;subdir=${BPN}"
S = "${WORKDIR}/${BPN}"
EXCLUDE_FROM_WORLD = "1"

View File

@@ -12,5 +12,7 @@ PR = "r5"
S = "${WORKDIR}/pv-${PV}"
EXCLUDE_FROM_WORLD = "1"
inherit autotools

View File

@@ -10,5 +10,7 @@ SRC_URI[sha256sum] = "9dd45391806b0ed215abee4c5ac1597d018c386fe9c1f5afd2f6bc3b07
S = "${WORKDIR}/pv-${PV}"
EXCLUDE_FROM_WORLD = "1"
inherit autotools

View File

@@ -15,4 +15,6 @@ SRC_URI = "git://git.yoctoproject.org/dbus-wait"
S = "${WORKDIR}/git"
EXCLUDE_FROM_WORLD = "1"
inherit autotools pkgconfig

View File

@@ -14,4 +14,6 @@ SRC_URI = "git://git.yoctoproject.org/dbus-wait"
S = "${WORKDIR}/git"
EXCLUDE_FROM_WORLD = "1"
inherit autotools pkgconfig

View File

@@ -15,6 +15,8 @@ SRC_URI = "file://installscript.sh \
file://selftest-replaceme-inst-todir-globfile \
file://selftest-replaceme-inst-func"
EXCLUDE_FROM_WORLD = "1"
install_extrafunc() {
install -m 0644 ${WORKDIR}/selftest-replaceme-inst-func ${D}${datadir}/selftest-replaceme-inst-func
}

View File

@@ -14,6 +14,8 @@ S = "${WORKDIR}"
PACKAGES =+ "${PN}-user3"
EXCLUDE_FROM_WORLD = "1"
inherit useradd
# You must set USERADD_PACKAGES when you inherit useradd. This

View File

@@ -16,7 +16,7 @@ include conf/machine/include/tune-cortexa8.inc
IMAGE_FSTYPES += "tar.bz2 jffs2 wic wic.bmap"
EXTRA_IMAGECMD_jffs2 = "-lnp "
WKS_FILE = "sdimage-bootpart.wks"
WKS_FILE ?= "beaglebone.wks"
IMAGE_INSTALL_append = " kernel-devicetree kernel-image-zimage"
do_image_wic[depends] += "mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot"
@@ -31,7 +31,7 @@ KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
SPL_BINARY = "MLO"
UBOOT_SUFFIX = "img"
UBOOT_MACHINE = "am335x_evm_config"
UBOOT_MACHINE = "am335x_boneblack_config"
UBOOT_ENTRYPOINT = "0x80008000"
UBOOT_LOADADDRESS = "0x80008000"

View File

@@ -21,6 +21,6 @@ MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"
IMAGE_FSTYPES ?= "jffs2 tar.bz2 wic wic.bmap"
JFFS2_ERASEBLOCK = "0x10000"
WKS_FILE ?= "sdimage-bootpart.wks"
WKS_FILE ?= "edgerouter.wks"
IMAGE_BOOT_FILES ?= "vmlinux;vmlinux.64"
do_image_wic[depends] += "mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot"

View File

@@ -21,6 +21,6 @@ GLIBC_ADDONS = "nptl"
EXTRA_OECONF_append_pn-matchbox-panel-2 = " --with-battery=acpi"
IMAGE_FSTYPES += "wic wic.bmap"
WKS_FILE ?= "mkefidisk.wks"
WKS_FILE ?= "genericx86.wks"
do_image_wic[depends] += "gptfdisk-native:do_populate_sysroot"
do_image_wic[recrdeptask] += "do_bootimg"

View File

@@ -29,3 +29,7 @@ MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"
IMAGE_FSTYPES ?= "jffs2 tar.bz2"
JFFS2_ERASEBLOCK = "0x4000"
IMAGE_FSTYPES += "wic"
WKS_FILE ?= 'mpc8315e-rdb.wks'
IMAGE_BOOT_FILES ?= "u-boot.bin uImage uImage-mpc8315erdb.dtb;dtb"

View File

@@ -1,83 +0,0 @@
from oeqa.selftest.base import oeSelfTest
from oeqa.utils.commands import runCmd, bitbake, get_bb_var, runqemu
from oeqa.utils.decorators import testcase
import re
import os
import sys
import logging
class Gummiboot(oeSelfTest):
def _common_setup(self):
"""
Common setup for test cases: 1101, 1103
"""
# Set EFI_PROVIDER = "gummiboot" and MACHINE = "genericx86-64" in conf/local.conf
features = 'EFI_PROVIDER = "gummiboot"\n'
features += 'MACHINE = "genericx86-64"'
self.append_config(features)
def _common_build(self):
"""
Common build for test cases: 1101, 1103
"""
# Build a genericx86-64/efi gummiboot image
bitbake('syslinux syslinux-native parted-native dosfstools-native mtools-native core-image-minimal')
@testcase(1101)
def test_efi_gummiboot_images_can_be_built(self):
"""
Summary: Check if efi/gummiboot images can be built
Expected: 1. File gummibootx64.efi should be available in build/tmp/deploy/images/genericx86-64
2. Efi/gummiboot images can be built
Product: oe-core
Author: Ionut Chisanovici <ionutx.chisanovici@intel.com>
AutomatedBy: Daniel Istrate <daniel.alexandrux.istrate@intel.com>
"""
# We'd use DEPLOY_DIR_IMAGE here, except that we need its value for
# MACHINE="genericx86-64 which is probably not the one configured
gummibootfile = os.path.join(get_bb_var('DEPLOY_DIR'), 'images', 'genericx86-64', 'gummibootx64.efi')
self._common_setup()
# Ensure we're actually testing that this gets built and not that
# it was around from an earlier build
bitbake('-c cleansstate gummiboot')
runCmd('rm -f %s' % gummibootfile)
self._common_build()
found = os.path.isfile(gummibootfile)
self.assertTrue(found, 'Gummiboot file %s not found' % gummibootfile)
@testcase(1103)
def test_wic_command_can_create_efi_gummiboot_installation_images(self):
"""
Summary: Check that wic command can create efi/gummiboot installation images
Expected: A .direct file in folder /var/tmp/wic/ must be created.
Product: oe-core
Author: Ionut Chisanovici <ionutx.chisanovici@intel.com>
AutomatedBy: Daniel Istrate <daniel.alexandrux.istrate@intel.com>
"""
self._common_setup()
self._common_build()
# Create efi/gummiboot installation images
wic_create_cmd = 'wic create mkgummidisk -e core-image-minimal'
result = runCmd(wic_create_cmd)
# Find file written by wic from output
res = re.search('(/var/tmp/wic/.*\.direct)', result.output)
if res:
direct_file = res.group(1)
# Check it actually exists
if not os.path.exists(direct_file):
self.fail('wic reported direct file "%s" does not exist; wic output:\n%s' % (direct_file, result.output))
else:
self.fail('No .direct file reported in wic output:\n%s' % result.output)

View File

@@ -0,0 +1,6 @@
# short-description: Create SD card image for Beaglebone
# long-description: Creates a partitioned SD card image for Beaglebone.
# Boot files are located in the first vfat partition.
part /boot --source bootimg-partition --ondisk mmcblk --fstype=vfat --label boot --active --align 4 --size 16
part / --source rootfs --ondisk mmcblk --fstype=ext4 --label root --align 4

View File

@@ -0,0 +1,4 @@
# short-description: Create SD card image for Edgerouter
# long-description: Create a partitioned SD card image for MIPS64 Edgerouter reference hardware.
part /boot --source bootimg-partition --ondisk sda --fstype=vfat --label boot --active --align 4 --size 16
part / --source rootfs --ondisk sda --fstype=ext4 --label root --align 4

View File

@@ -0,0 +1,7 @@
# short-description: Create an EFI disk image for genericx86*
# long-description: Creates a partitioned EFI disk image for genericx86* machines
part /boot --source bootimg-efi --sourceparams="loader=grub-efi" --ondisk sda --label msdos --active --align 1024
part / --source rootfs --ondisk sda --fstype=ext4 --label platform --align 1024 --use-uuid
part swap --ondisk sda --size 44 --label swap1 --fstype=swap
bootloader --ptable gpt --timeout=5 --append="rootfstype=ext4 console=ttyS0,115200 console=tty0"

View File

@@ -0,0 +1,4 @@
# short-description: Create SD card image for MPC8315E-RDB
# long-description: Create a partitioned SD card image for Freescale MPC8315E-RDB reference hardware.
part /boot --source bootimg-partition --ondisk sdb --fstype=ext3 --label boot
part / --source rootfs --ondisk sdb --fstype=ext3 --label root

View File

@@ -2,10 +2,6 @@
# This class is used for architecture independent recipes/data files (usually scripts)
#
# Expand STAGING_DIR_HOST since for cross-canadian/native/nativesdk, this will
# point elsewhere after these changes.
STAGING_DIR_HOST := "${STAGING_DIR_HOST}"
PACKAGE_ARCH = "all"
python () {
@@ -25,13 +21,16 @@ python () {
d.setVar("TARGET_AS_ARCH", "none")
d.setVar("TARGET_FPU", "")
d.setVar("TARGET_PREFIX", "")
d.setVar("PACKAGE_EXTRA_ARCHS", "")
# Expand PACKAGE_EXTRA_ARCHS since the staging code needs this
# (this removes any dependencies from the hash perspective)
d.setVar("PACKAGE_EXTRA_ARCHS", d.getVar("PACKAGE_EXTRA_ARCHS"))
d.setVar("SDK_ARCH", "none")
d.setVar("SDK_CC_ARCH", "none")
d.setVar("TARGET_CPPFLAGS", "none")
d.setVar("TARGET_CFLAGS", "none")
d.setVar("TARGET_CXXFLAGS", "none")
d.setVar("TARGET_LDFLAGS", "none")
d.setVar("POPULATESYSROOTDEPS", "")
# Avoid this being unnecessarily different due to nuances of
# the target machine that aren't important for "all" arch

View File

@@ -27,7 +27,7 @@ inherit siteinfo
# results for autoconf tests we cannot run at build time.
export CONFIG_SITE = "${@siteinfo_get_files(d)}"
acpaths = "default"
acpaths ?= "default"
EXTRA_AUTORECONF = "--exclude=autopoint"
export lt_cv_sys_lib_dlsearch_path_spec = "${libdir} ${base_libdir}"
@@ -131,129 +131,15 @@ EXTRACONFFUNCS ??= ""
EXTRA_OECONF_append = " ${PACKAGECONFIG_CONFARGS}"
do_configure[prefuncs] += "autotools_preconfigure autotools_copy_aclocals ${EXTRACONFFUNCS}"
do_configure[prefuncs] += "autotools_preconfigure autotools_aclocals ${EXTRACONFFUNCS}"
do_configure[postfuncs] += "autotools_postconfigure"
ACLOCALDIR = "${WORKDIR}/aclocal-copy"
python autotools_copy_aclocals () {
import copy
s = d.getVar("AUTOTOOLS_SCRIPT_PATH")
if not os.path.exists(s + "/configure.in") and not os.path.exists(s + "/configure.ac"):
if not d.getVar("AUTOTOOLS_COPYACLOCAL", False):
return
taskdepdata = d.getVar("BB_TASKDEPDATA", False)
#bb.warn(str(taskdepdata))
pn = d.getVar("PN")
aclocaldir = d.getVar("ACLOCALDIR")
oe.path.remove(aclocaldir)
bb.utils.mkdirhier(aclocaldir)
start = None
configuredeps = []
# Detect bitbake -b usage
# Everything but quilt-native would have dependencies
nodeps = (pn != "quilt-native")
for dep in taskdepdata:
data = taskdepdata[dep]
if data[1] == "do_configure" and data[0] == pn:
start = dep
if not nodeps and start:
break
if nodeps and data[0] != pn:
nodeps = False
if start is None:
bb.fatal("Couldn't find ourself in BB_TASKDEPDATA?")
# We need to figure out which m4 files we need to expose to this do_configure task.
# This needs to match what would get restored from sstate, which is controlled
# ultimately by calls from bitbake to setscene_depvalid().
# That function expects a setscene dependency tree. We build a dependency tree
# condensed to do_populate_sysroot -> do_populate_sysroot dependencies, similar to
# that used by setscene tasks. We can then call into setscene_depvalid() and decide
# which dependencies we can "see" and should expose the m4 files for.
setscenedeps = copy.deepcopy(taskdepdata)
start = set([start])
# Create collapsed do_populate_sysroot -> do_populate_sysroot tree
for dep in taskdepdata:
data = setscenedeps[dep]
if data[1] != "do_populate_sysroot":
for dep2 in setscenedeps:
data2 = setscenedeps[dep2]
if dep in data2[3]:
data2[3].update(setscenedeps[dep][3])
data2[3].remove(dep)
if dep in start:
start.update(setscenedeps[dep][3])
start.remove(dep)
del setscenedeps[dep]
# Remove circular references
for dep in setscenedeps:
if dep in setscenedeps[dep][3]:
setscenedeps[dep][3].remove(dep)
# Direct dependencies should be present and can be depended upon
for dep in start:
configuredeps.append(setscenedeps[dep][0])
# Call into setscene_depvalid for each sub-dependency and only copy m4 files
# for ones that would be restored from sstate.
done = list(start)
next = list(start)
while next:
new = []
for dep in next:
data = setscenedeps[dep]
for datadep in data[3]:
if datadep in done:
continue
taskdeps = {}
taskdeps[dep] = setscenedeps[dep][:2]
taskdeps[datadep] = setscenedeps[datadep][:2]
retval = setscene_depvalid(datadep, taskdeps, [], d)
if retval:
bb.note("Skipping setscene dependency %s for m4 macro copying" % datadep)
continue
done.append(datadep)
new.append(datadep)
configuredeps.append(setscenedeps[datadep][0])
next = new
cp = []
if nodeps:
bb.warn("autotools: Unable to find task dependencies, -b being used? Pulling in all m4 files")
for l in [d.expand("${STAGING_DATADIR_NATIVE}/aclocal/"), d.expand("${STAGING_DATADIR}/aclocal/")]:
cp.extend(os.path.join(l, f) for f in os.listdir(l))
for c in configuredeps:
if c.endswith("-native"):
manifest = d.expand("${SSTATE_MANIFESTS}/manifest-${BUILD_ARCH}-%s.populate_sysroot" % c)
elif c.startswith("nativesdk-"):
manifest = d.expand("${SSTATE_MANIFESTS}/manifest-${SDK_ARCH}_${SDK_OS}-%s.populate_sysroot" % c)
elif "-cross-" in c or "-crosssdk" in c:
continue
else:
manifest = d.expand("${SSTATE_MANIFESTS}/manifest-${MACHINE}-%s.populate_sysroot" % c)
try:
f = open(manifest, "r")
for l in f:
if "/aclocal/" in l and l.strip().endswith(".m4"):
cp.append(l.strip())
elif "config_site.d/" in l:
cp.append(l.strip())
except:
bb.warn("%s not found" % manifest)
for c in cp:
t = os.path.join(aclocaldir, os.path.basename(c))
if not os.path.exists(t):
os.symlink(c, t)
ACLOCALDIR = "${STAGING_DATADIR}/aclocal"
ACLOCALEXTRAPATH = ""
ACLOCALEXTRAPATH_class-target = " -I ${STAGING_DATADIR_NATIVE}/aclocal/"
ACLOCALEXTRAPATH_class-nativesdk = " -I ${STAGING_DATADIR_NATIVE}/aclocal/"
python autotools_aclocals () {
# Refresh variable with cache files
d.setVar("CONFIG_SITE", siteinfo_get_files(d, aclocalcache=True))
}
@@ -279,6 +165,7 @@ autotools_do_configure() {
if [ -e ${AUTOTOOLS_SCRIPT_PATH}/configure.in -o -e ${AUTOTOOLS_SCRIPT_PATH}/configure.ac ]; then
olddir=`pwd`
cd ${AUTOTOOLS_SCRIPT_PATH}
mkdir -p ${ACLOCALDIR}
ACLOCAL="aclocal --system-acdir=${ACLOCALDIR}/"
if [ x"${acpaths}" = xdefault ]; then
acpaths=
@@ -289,6 +176,7 @@ autotools_do_configure() {
else
acpaths="${acpaths}"
fi
acpaths="$acpaths ${ACLOCALEXTRAPATH}"
AUTOV=`automake --version | sed -e '1{s/.* //;s/\.[0-9]\+$//};q'`
automake --version
echo "AUTOV is $AUTOV"

View File

@@ -284,7 +284,7 @@ CLEANBROKEN = "0"
addtask configure after do_patch
do_configure[dirs] = "${B}"
do_configure[deptask] = "do_populate_sysroot"
do_prepare_recipe_sysroot[deptask] = "do_populate_sysroot"
base_do_configure() {
if [ -n "${CONFIGURESTAMPFILE}" -a -e "${CONFIGURESTAMPFILE}" ]; then
if [ "`cat ${CONFIGURESTAMPFILE}`" != "${BB_TASKHASH}" ]; then

View File

@@ -15,6 +15,7 @@ do_install_append () {
echo "echo 'ERROR: $x should not be used, use an alternative such as pkg-config' >&2" >> ${D}$x
echo "echo '--should-not-have-used-$x'" >> ${D}$x
echo "exit 1" >> ${D}$x
chmod +x ${D}$x
done
}

View File

@@ -38,7 +38,7 @@ python blacklist_multilib_eventhandler() {
}
python () {
blacklist = d.getVarFlag('PNBLACKLIST', d.getVar('PN'), True)
blacklist = d.getVarFlag('PNBLACKLIST', d.getVar('PN'))
if blacklist:
raise bb.parse.SkipPackage("Recipe is blacklisted: %s" % (blacklist))

View File

@@ -117,7 +117,7 @@ python bugzilla_eventhandler() {
compon = data.getVar("BUGZILLA_COMPONENT")
version = data.getVar("BUGZILLA_VERSION")
proxy = data.getVar('http_proxy', True )
proxy = data.getVar('http_proxy')
if (proxy):
import urllib2
s, u, p, hostport = urllib2._parse_proxy(proxy)
@@ -140,7 +140,7 @@ python bugzilla_eventhandler() {
"pv" : data.getVar("PV"),
}
log_file = glob.glob("%s/log.%s.*" % (event.data.getVar('T'), event.task))
text = "The %s step in %s failed at %s for machine %s" % (e.task, data.getVar("PN"), data.getVar('DATETIME'), data.getVar( 'MACHINE', True ) )
text = "The %s step in %s failed at %s for machine %s" % (e.task, data.getVar("PN"), data.getVar('DATETIME'), data.getVar('MACHINE') )
if len(log_file) != 0:
print >> debug_file, "Adding log file %s" % log_file[0]
file = open(log_file[0], 'r')

View File

@@ -197,7 +197,7 @@ python runqueue_stats () {
# are available that we need to find the output directory.
# The persistent SystemStats is stored in the datastore and
# closed when the build is done.
system_stats = d.getVar('_buildstats_system_stats')
system_stats = d.getVar('_buildstats_system_stats', False)
if not system_stats and isinstance(e, (bb.runqueue.sceneQueueTaskStarted, bb.runqueue.runQueueTaskStarted)):
system_stats = buildstats.SystemStats(d)
d.setVar('_buildstats_system_stats', system_stats)

View File

@@ -2,5 +2,8 @@ CCACHE = "${@bb.utils.which(d.getVar('PATH'), 'ccache') and 'ccache '}"
export CCACHE_DIR ?= "${TMPDIR}/ccache/${MULTIMACH_HOST_SYS}/${PN}"
CCACHE_DISABLE[unexport] = "1"
DEPENDS_append_class-target = " ccache-native"
DEPENDS[vardepvalueexclude] = " ccache-native"
do_configure[dirs] =+ "${CCACHE_DIR}"
do_kernel_configme[dirs] =+ "${CCACHE_DIR}"

View File

@@ -27,7 +27,7 @@ python do_menuconfig() {
mtime = 0
oe_terminal("${SHELL} -c \"make %s; if [ \$? -ne 0 ]; then echo 'Command failed.'; printf 'Press any key to continue... '; read r; fi\"" % d.getVar('KCONFIG_CONFIG_COMMAND'),
d.getVar('PN', True ) + ' Configuration', d)
d.getVar('PN') + ' Configuration', d)
# FIXME this check can be removed when the minimum bitbake version has been bumped
if hasattr(bb.build, 'write_taint'):

View File

@@ -249,7 +249,7 @@ python compress_doc_updatealternatives () {
d.setVarFlag('ALTERNATIVE_TARGET', new_name, new_target)
elif d.getVar('ALTERNATIVE_TARGET_%s' % pkg):
d.setVar('ALTERNATIVE_TARGET_%s' % pkg, new_target)
elif d.getVar('ALTERNATIVE_TARGET', old_name, True):
elif d.getVar('ALTERNATIVE_TARGET'):
d.setVar('ALTERNATIVE_TARGET', new_target)
new_names.append(new_name)

View File

@@ -100,9 +100,9 @@ MULTIMACH_TARGET_SYS = "${PACKAGE_ARCH}${HOST_VENDOR}-${HOST_OS}"
INHIBIT_DEFAULT_DEPS = "1"
STAGING_DIR_HOST = "${STAGING_DIR}/${HOST_ARCH}-${SDKPKGSUFFIX}${HOST_VENDOR}-${HOST_OS}"
STAGING_DIR_HOST = "${RECIPE_SYSROOT}"
TOOLCHAIN_OPTIONS = " --sysroot=${STAGING_DIR}/${HOST_ARCH}-${SDKPKGSUFFIX}${HOST_VENDOR}-${HOST_OS}"
TOOLCHAIN_OPTIONS = " --sysroot=${RECIPE_SYSROOT}"
PATH_append = ":${TMPDIR}/sysroots/${HOST_ARCH}/${bindir_cross}"
PKGHIST_DIR = "${TMPDIR}/pkghistory/${HOST_ARCH}-${SDKPKGSUFFIX}${HOST_VENDOR}-${HOST_OS}/"
@@ -169,6 +169,7 @@ USE_NLS = "${SDKUSE_NLS}"
# and not any particular tune that is enabled.
TARGET_ARCH[vardepsexclude] = "TUNE_ARCH"
PKGDATA_DIR = "${TMPDIR}/pkgdata/${SDK_SYS}"
# If MLPREFIX is set by multilib code, shlibs
# points to the wrong place so force it
SHLIBSDIRS = "${PKGDATA_DIR}/nativesdk-shlibs2"

View File

@@ -19,11 +19,11 @@ HOST_AS_ARCH = "${BUILD_AS_ARCH}"
export lt_cv_sys_lib_dlsearch_path_spec = "${libdir} ${base_libdir} /lib /lib64 /usr/lib /usr/lib64"
STAGING_DIR_HOST = "${STAGING_DIR}/${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}"
STAGING_DIR_HOST = "${RECIPE_SYSROOT_NATIVE}"
PACKAGE_ARCH = "${BUILD_ARCH}"
MULTIMACH_TARGET_SYS = "${PACKAGE_ARCH}${BUILD_VENDOR}-${BUILD_OS}"
MULTIMACH_TARGET_SYS = "${BUILD_ARCH}${BUILD_VENDOR}-${BUILD_OS}"
export PKG_CONFIG_DIR = "${exec_prefix}/lib/pkgconfig"
export PKG_CONFIG_SYSROOT_DIR = ""
@@ -38,6 +38,10 @@ TOOLCHAIN_OPTIONS = ""
DEPENDS_GETTEXT = "gettext-native"
# This class encodes staging paths into its scripts data so can only be
# reused if we manipulate the paths.
SSTATE_SCAN_CMD ?= "${SSTATE_SCAN_CMD_NATIVE}"
# Path mangling needed by the cross packaging
# Note that we use := here to ensure that libdir and includedir are
# target paths.

View File

@@ -8,9 +8,12 @@ python () {
d.setVar('TUNE_PKGARCH', d.getVar('SDK_ARCH'))
}
STAGING_DIR_TARGET = "${STAGING_DIR}/${SDK_ARCH}-${SDKPKGSUFFIX}${SDK_VENDOR}-${SDK_OS}"
STAGING_BINDIR_TOOLCHAIN = "${STAGING_DIR_NATIVE}${bindir_native}/${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
# This class encodes staging paths into its scripts data so can only be
# reused if we manipulate the paths.
SSTATE_SCAN_CMD ?= "${SSTATE_SCAN_CMD_NATIVE}"
TARGET_ARCH = "${SDK_ARCH}"
TARGET_VENDOR = "${SDK_VENDOR}"
TARGET_OS = "${SDK_OS}"

View File

@@ -392,6 +392,7 @@ python distro_check_eventhandler() {
addtask distro_check
do_distro_check[nostamp] = "1"
do_distro_check[vardepsexclude] += "DATETIME"
python do_distro_check() {
"""checks if the package is present in other public Linux distros"""
import oe.distro_check as dc
@@ -475,5 +476,3 @@ do_checklicenseall[nostamp] = "1"
do_checklicenseall() {
:
}

View File

@@ -4,7 +4,7 @@
# Copyright (C) 2009 Chris Larson <clarson@kergoth.com>
# Released under the MIT license (see COPYING.MIT for the terms)
#
# externalsrc.bbclass enables use of an existing source tree, usually external to
# externalsrc.bbclass enables use of an existing source tree, usually external to
# the build system to build a piece of software rather than the usual fetch/unpack/patch
# process.
#
@@ -108,6 +108,10 @@ python () {
# We don't want the workdir to go away
d.appendVar('RM_WORK_EXCLUDE', ' ' + d.getVar('PN'))
bb.build.addtask('do_buildclean',
'do_clean' if d.getVar('S') == d.getVar('B') else None,
None, d)
# If B=S the same builddir is used even for different architectures.
# Thus, use a shared CONFIGURESTAMPFILE and STAMP directory so that
# change of do_configure task hash is correctly detected and stamps are
@@ -116,14 +120,17 @@ python () {
configstamp = '${TMPDIR}/work-shared/${PN}/${EXTENDPE}${PV}-${PR}/configure.sstate'
d.setVar('CONFIGURESTAMPFILE', configstamp)
d.setVar('STAMP', '${STAMPS_DIR}/work-shared/${PN}/${EXTENDPE}${PV}-${PR}')
d.setVar('STAMPCLEAN', '${STAMPS_DIR}/work-shared/${PN}/*-*')
}
python externalsrc_configure_prefunc() {
s_dir = d.getVar('S')
# Create desired symlinks
symlinks = (d.getVar('EXTERNALSRC_SYMLINKS') or '').split()
newlinks = []
for symlink in symlinks:
symsplit = symlink.split(':', 1)
lnkfile = os.path.join(d.getVar('S'), symsplit[0])
lnkfile = os.path.join(s_dir, symsplit[0])
target = d.expand(symsplit[1])
if len(symsplit) > 1:
if os.path.islink(lnkfile):
@@ -135,6 +142,19 @@ python externalsrc_configure_prefunc() {
# File/dir exists with same name as link, just leave it alone
continue
os.symlink(target, lnkfile)
newlinks.append(symsplit[0])
# Hide the symlinks from git
try:
git_exclude_file = os.path.join(s_dir, '.git/info/exclude')
if os.path.exists(git_exclude_file):
with open(git_exclude_file, 'r+') as efile:
elines = efile.readlines()
for link in newlinks:
if link in elines or '/'+link in elines:
continue
efile.write('/' + link + '\n')
except IOError as ioe:
bb.note('Failed to hide EXTERNALSRC_SYMLINKS from git')
}
python externalsrc_compile_prefunc() {
@@ -142,12 +162,23 @@ python externalsrc_compile_prefunc() {
bb.plain('NOTE: %s: compiling from external source tree %s' % (d.getVar('PN'), d.getVar('EXTERNALSRC')))
}
def srctree_hash_files(d):
do_buildclean[dirs] = "${S} ${B}"
do_buildclean[nostamp] = "1"
do_buildclean[doc] = "Call 'make clean' or equivalent in ${B}"
externalsrc_do_buildclean() {
if [ -e Makefile -o -e makefile -o -e GNUmakefile ]; then
oe_runmake clean || die "make failed"
else
bbnote "nothing to do - no makefile found"
fi
}
def srctree_hash_files(d, srcdir=None):
import shutil
import subprocess
import tempfile
s_dir = d.getVar('EXTERNALSRC')
s_dir = srcdir or d.getVar('EXTERNALSRC')
git_dir = os.path.join(s_dir, '.git')
oe_hash_file = os.path.join(git_dir, 'oe-devtool-tree-sha1')
@@ -165,7 +196,7 @@ def srctree_hash_files(d):
fobj.write(sha1)
ret = oe_hash_file + ':True'
else:
ret = d.getVar('EXTERNALSRC') + '/*:True'
ret = s_dir + '/*:True'
return ret
def srctree_configure_hash_files(d):
@@ -188,3 +219,5 @@ def srctree_configure_hash_files(d):
if f in search_files:
out_items.append('%s:True' % os.path.join(root, f))
return ' '.join(out_items)
EXPORT_FUNCTIONS do_buildclean

View File

@@ -63,3 +63,7 @@ set_user_group () {
remaining=`echo $remaining | cut -d ';' -f2-`
done
}
USERADDEXTENSION ?= ""
inherit ${USERADDEXTENSION}

View File

@@ -3,7 +3,7 @@
# packages.
#
DEPENDS += "qemu-native"
PACKAGE_WRITE_DEPS += "qemu-native"
inherit qemu
FONT_PACKAGES ??= "${PN}"

View File

@@ -13,7 +13,7 @@ def get_rootfs_uuid(d):
bb.fatal('Could not determine filesystem UUID of %s' % rootfs)
# Replace the special <<uuid-of-rootfs>> inside a string (like the
# root= APPEND string in a syslinux.cfg or gummiboot entry) with the
# root= APPEND string in a syslinux.cfg or systemd-boot entry) with the
# actual UUID of the rootfs. Does nothing if the special string
# is not used.
def replace_rootfs_uuid(d, string):

View File

@@ -1,4 +1,5 @@
DEPENDS += "gconf gconf-native"
DEPENDS += "gconf"
PACKAGE_WRITE_DEPS += "gconf-native"
# These are for when gconftool is used natively and the prefix isn't necessarily
# the sysroot. TODO: replicate the postinst logic for -native packages going

View File

@@ -1,4 +1,4 @@
DEPENDS += "qemu-native"
PACKAGE_WRITE_DEPS += "qemu-native"
inherit qemu
GIO_MODULE_PACKAGES ??= "${PN}"

View File

@@ -17,7 +17,7 @@ UNKNOWN_CONFIGURE_WHITELIST_append = " --enable-introspection --disable-introspe
# Generating introspection data depends on a combination of native and target
# introspection tools, and qemu to run the target tools.
DEPENDS_append_class-target = " gobject-introspection gobject-introspection-native qemu-native"
DEPENDS_append_class-target = " gobject-introspection gobject-introspection-native qemu-native prelink-native"
# Even though introspection is disabled on -native, gobject-introspection package is still
# needed for m4 macros.

View File

@@ -40,13 +40,15 @@ efi_populate() {
install -d ${DEST}${EFIDIR}
GRUB_IMAGE="bootia32.efi"
GRUB_IMAGE="grub-efi-bootia32.efi"
DEST_IMAGE="bootia32.efi"
if [ "${TARGET_ARCH}" = "x86_64" ]; then
GRUB_IMAGE="bootx64.efi"
GRUB_IMAGE="grub-efi-bootx64.efi"
DEST_IMAGE="bootx64.efi"
fi
install -m 0644 ${DEPLOY_DIR_IMAGE}/${GRUB_IMAGE} ${DEST}${EFIDIR}
install -m 0644 ${DEPLOY_DIR_IMAGE}/${GRUB_IMAGE} ${DEST}${EFIDIR}/${DEST_IMAGE}
EFIPATH=$(echo "${EFIDIR}" | sed 's/\//\\/g')
printf 'fs0:%s\%s\n' "$EFIPATH" "$GRUB_IMAGE" >${DEST}/startup.nsh
printf 'fs0:%s\%s\n' "$EFIPATH" "$DEST_IMAGE" >${DEST}/startup.nsh
install -m 0644 ${GRUB_CFG} ${DEST}${EFIDIR}/grub.cfg
}

View File

@@ -7,12 +7,13 @@
# TODO use a trigger so that this runs once per package operation run
DEPENDS += "glib-2.0-native"
RDEPENDS_${PN} += "glib-2.0-utils"
FILES_${PN} += "${datadir}/glib-2.0/schemas"
PACKAGE_WRITE_DEPS += "glib-2.0-native"
gsettings_postinstrm () {
glib-compile-schemas $D${datadir}/glib-2.0/schemas
}

View File

@@ -2,6 +2,8 @@ FILES_${PN} += "${datadir}/icons/hicolor"
DEPENDS += "${@['hicolor-icon-theme', '']['${BPN}' == 'hicolor-icon-theme']} gtk-icon-utils-native"
PACKAGE_WRITE_DEPS += "gtk-icon-utils-native gdk-pixbuf-native"
gtk_icon_cache_postinst() {
if [ "x$D" != "x" ]; then
$INTERCEPT_DIR/postinst_intercept update_icon_cache ${PKG} \

View File

@@ -2,7 +2,7 @@
#
# Usage: Set GTKIMMODULES_PACKAGES to the packages that needs to update the inputmethod modules
DEPENDS =+ "qemu-native"
PACKAGE_WRITE_DEPS += "qemu-native"
inherit qemu

View File

@@ -1,121 +0,0 @@
# Copyright (C) 2014 Intel Corporation
#
# Released under the MIT license (see COPYING.MIT)
# gummiboot.bbclass - equivalent of grub-efi.bbclass
# Set EFI_PROVIDER = "gummiboot" to use gummiboot on your live images instead of grub-efi
# (images built by image-live.bbclass or image-vm.bbclass)
do_bootimg[depends] += "${MLPREFIX}gummiboot:do_deploy"
do_bootdirectdisk[depends] += "${MLPREFIX}gummiboot:do_deploy"
EFIDIR = "/EFI/BOOT"
GUMMIBOOT_CFG ?= "${S}/loader.conf"
GUMMIBOOT_ENTRIES ?= ""
GUMMIBOOT_TIMEOUT ?= "10"
# Need UUID utility code.
inherit fs-uuid
efi_populate() {
DEST=$1
EFI_IMAGE="gummibootia32.efi"
DEST_EFI_IMAGE="bootia32.efi"
if [ "${TARGET_ARCH}" = "x86_64" ]; then
EFI_IMAGE="gummibootx64.efi"
DEST_EFI_IMAGE="bootx64.efi"
fi
install -d ${DEST}${EFIDIR}
# gummiboot requires these paths for configuration files
# they are not customizable so no point in new vars
install -d ${DEST}/loader
install -d ${DEST}/loader/entries
install -m 0644 ${DEPLOY_DIR_IMAGE}/${EFI_IMAGE} ${DEST}${EFIDIR}/${DEST_EFI_IMAGE}
EFIPATH=$(echo "${EFIDIR}" | sed 's/\//\\/g')
printf 'fs0:%s\%s\n' "$EFIPATH" "$DEST_EFI_IMAGE" >${DEST}/startup.nsh
install -m 0644 ${GUMMIBOOT_CFG} ${DEST}/loader/loader.conf
for i in ${GUMMIBOOT_ENTRIES}; do
install -m 0644 ${i} ${DEST}/loader/entries
done
}
efi_iso_populate() {
iso_dir=$1
efi_populate $iso_dir
mkdir -p ${EFIIMGDIR}/${EFIDIR}
cp $iso_dir/${EFIDIR}/* ${EFIIMGDIR}${EFIDIR}
cp $iso_dir/vmlinuz ${EFIIMGDIR}
EFIPATH=$(echo "${EFIDIR}" | sed 's/\//\\/g')
echo "fs0:${EFIPATH}\\${DEST_EFI_IMAGE}" > ${EFIIMGDIR}/startup.nsh
if [ -f "$iso_dir/initrd" ] ; then
cp $iso_dir/initrd ${EFIIMGDIR}
fi
}
efi_hddimg_populate() {
efi_populate $1
}
python build_efi_cfg() {
s = d.getVar("S", True)
labels = d.getVar('LABELS', True)
if not labels:
bb.debug(1, "LABELS not defined, nothing to do")
return
if labels == []:
bb.debug(1, "No labels, nothing to do")
return
cfile = d.getVar('GUMMIBOOT_CFG', True)
try:
cfgfile = open(cfile, 'w')
except OSError:
bb.fatal('Unable to open %s' % cfile)
cfgfile.write('# Automatically created by OE\n')
cfgfile.write('default %s\n' % (labels.split()[0]))
timeout = d.getVar('GUMMIBOOT_TIMEOUT', True)
if timeout:
cfgfile.write('timeout %s\n' % timeout)
else:
cfgfile.write('timeout 10\n')
cfgfile.close()
for label in labels.split():
localdata = d.createCopy()
overrides = localdata.getVar('OVERRIDES', True)
if not overrides:
bb.fatal('OVERRIDES not defined')
entryfile = "%s/%s.conf" % (s, label)
d.appendVar("GUMMIBOOT_ENTRIES", " " + entryfile)
try:
entrycfg = open(entryfile, "w")
except OSError:
bb.fatal('Unable to open %s' % entryfile)
localdata.setVar('OVERRIDES', label + ':' + overrides)
bb.data.update_data(localdata)
entrycfg.write('title %s\n' % label)
entrycfg.write('linux /vmlinuz\n')
append = localdata.getVar('APPEND', True)
initrd = localdata.getVar('INITRD', True)
if initrd:
entrycfg.write('initrd /initrd\n')
lb = label
if label == "install":
lb = "install-efi"
entrycfg.write('options LABEL=%s ' % lb)
if append:
append = replace_rootfs_uuid(d, append)
entrycfg.write('%s' % append)
entrycfg.write('\n')
entrycfg.close()
}

View File

@@ -1,5 +0,0 @@
EXTRANATIVEPATH += "pigz-native gzip-native"
DEPENDS += "gzip-native"
# tar may get run by do_unpack or do_populate_lic which could call gzip
do_unpack[depends] += "gzip-native:do_populate_sysroot"

View File

@@ -0,0 +1,120 @@
# The WICVARS variable is used to define list of bitbake variables used in wic code
# variables from this list is written to <image>.env file
WICVARS ?= "\
BBLAYERS IMGDEPLOYDIR DEPLOY_DIR_IMAGE FAKEROOTCMD IMAGE_BASENAME IMAGE_BOOT_FILES \
IMAGE_LINK_NAME IMAGE_ROOTFS INITRAMFS_FSTYPES INITRD INITRD_LIVE ISODIR RECIPE_SYSROOT_NATIVE \
ROOTFS_SIZE STAGING_DATADIR STAGING_DIR STAGING_LIBDIR TARGET_SYS TRANSLATED_TARGET_ARCH"
WKS_FILE ??= "${IMAGE_BASENAME}.${MACHINE}.wks"
WKS_FILES ?= "${WKS_FILE} ${IMAGE_BASENAME}.wks"
WKS_SEARCH_PATH ?= "${THISDIR}:${@':'.join('%s/wic' % p for p in '${BBPATH}'.split(':'))}:${@':'.join('%s/scripts/lib/wic/canned-wks' % l for l in '${BBPATH}:${COREBASE}'.split(':'))}"
WKS_FULL_PATH = "${@wks_search('${WKS_FILES}'.split(), '${WKS_SEARCH_PATH}') or ''}"
def wks_search(files, search_path):
for f in files:
if os.path.isabs(f):
if os.path.exists(f):
return f
else:
searched = bb.utils.which(search_path, f)
if searched:
return searched
WIC_CREATE_EXTRA_ARGS ?= ""
IMAGE_CMD_wic () {
out="${IMGDEPLOYDIR}/${IMAGE_NAME}"
wks="${WKS_FULL_PATH}"
if [ -z "$wks" ]; then
bbfatal "No kickstart files from WKS_FILES were found: ${WKS_FILES}. Please set WKS_FILE or WKS_FILES appropriately."
fi
BUILDDIR="${TOPDIR}" wic create "$wks" --vars "${STAGING_DIR}/${MACHINE}/imgdata/" -e "${IMAGE_BASENAME}" -o "$out/" ${WIC_CREATE_EXTRA_ARGS}
mv "$out/$(basename "${wks%.wks}")"*.direct "$out${IMAGE_NAME_SUFFIX}.wic"
rm -rf "$out/"
}
IMAGE_CMD_wic[vardepsexclude] = "WKS_FULL_PATH WKS_FILES"
# Rebuild when the wks file or vars in WICVARS change
USING_WIC = "${@bb.utils.contains_any('IMAGE_FSTYPES', 'wic ' + ' '.join('wic.%s' % c for c in '${CONVERSIONTYPES}'.split()), '1', '', d)}"
WKS_FILE_CHECKSUM = "${@'${WKS_FULL_PATH}:%s' % os.path.exists('${WKS_FULL_PATH}') if '${USING_WIC}' else ''}"
do_image_wic[file-checksums] += "${WKS_FILE_CHECKSUM}"
do_image_wic[depends] += "wic-tools:do_build"
python () {
if d.getVar('USING_WIC') and 'do_bootimg' in d:
bb.build.addtask('do_image_wic', '', 'do_bootimg', d)
}
python do_write_wks_template () {
"""Write out expanded template contents to WKS_FULL_PATH."""
import re
template_body = d.getVar('_WKS_TEMPLATE')
# Remove any remnant variable references left behind by the expansion
# due to undefined variables
expand_var_regexp = re.compile(r"\${[^{}@\n\t :]+}")
while True:
new_body = re.sub(expand_var_regexp, '', template_body)
if new_body == template_body:
break
else:
template_body = new_body
wks_file = d.getVar('WKS_FULL_PATH')
with open(wks_file, 'w') as f:
f.write(template_body)
}
python () {
if d.getVar('USING_WIC'):
wks_file_u = d.getVar('WKS_FULL_PATH', False)
wks_file = d.expand(wks_file_u)
base, ext = os.path.splitext(wks_file)
if ext == '.in' and os.path.exists(wks_file):
wks_out_file = os.path.join(d.getVar('WORKDIR'), os.path.basename(base))
d.setVar('WKS_FULL_PATH', wks_out_file)
d.setVar('WKS_TEMPLATE_PATH', wks_file_u)
d.setVar('WKS_FILE_CHECKSUM', '${WKS_TEMPLATE_PATH}:True')
# We need to re-parse each time the file changes, and bitbake
# needs to be told about that explicitly.
bb.parse.mark_dependency(d, wks_file)
try:
with open(wks_file, 'r') as f:
body = f.read()
except (IOError, OSError) as exc:
pass
else:
# Previously, I used expandWithRefs to get the dependency list
# and add it to WICVARS, but there's no point re-parsing the
# file in process_wks_template as well, so just put it in
# a variable and let the metadata deal with the deps.
d.setVar('_WKS_TEMPLATE', body)
bb.build.addtask('do_write_wks_template', 'do_image_wic', None, d)
}
#
# Write environment variables used by wic
# to tmp/sysroots/<machine>/imgdata/<image>.env
#
python do_rootfs_wicenv () {
wicvars = d.getVar('WICVARS')
if not wicvars:
return
stdir = d.getVar('STAGING_DIR')
outdir = os.path.join(stdir, d.getVar('MACHINE'), 'imgdata')
bb.utils.mkdirhier(outdir)
basename = d.getVar('IMAGE_BASENAME')
with open(os.path.join(outdir, basename) + '.env', 'w') as envf:
for var in wicvars.split():
value = d.getVar(var)
if value:
envf.write('%s="%s"\n' % (var, value.strip()))
}
addtask do_rootfs_wicenv after do_image before do_image_wic
do_rootfs_wicenv[vardeps] += "${WICVARS}"
do_rootfs_wicenv[prefuncs] = 'set_image_size'

View File

@@ -9,11 +9,9 @@ TOOLCHAIN_TARGET_TASK += "${PACKAGE_INSTALL}"
TOOLCHAIN_TARGET_TASK_ATTEMPTONLY += "${PACKAGE_INSTALL_ATTEMPTONLY}"
POPULATE_SDK_POST_TARGET_COMMAND += "rootfs_sysroot_relativelinks; "
inherit gzipnative
LICENSE = "MIT"
PACKAGES = ""
DEPENDS += "${MLPREFIX}qemuwrapper-cross ${MLPREFIX}depmodwrapper-cross"
DEPENDS += "${MLPREFIX}qemuwrapper-cross depmodwrapper-cross"
RDEPENDS += "${PACKAGE_INSTALL} ${LINGUAS_INSTALL}"
RRECOMMENDS += "${PACKAGE_INSTALL_ATTEMPTONLY}"
@@ -160,7 +158,7 @@ python () {
deps = ""
for dep in (d.getVar('EXTRA_IMAGEDEPENDS') or "").split():
deps += " %s:do_populate_sysroot" % dep
d.appendVarFlag('do_build', 'depends', deps)
d.appendVarFlag('do_image_complete', 'depends', deps)
#process IMAGE_FEATURES, we must do this before runtime_mapping_rename
#Check for replaces image features
@@ -189,6 +187,8 @@ python () {
IMAGE_CLASSES += "image_types"
inherit ${IMAGE_CLASSES}
inherit image-wic
IMAGE_POSTPROCESS_COMMAND ?= ""
# some default locales
@@ -270,7 +270,7 @@ fakeroot python do_rootfs () {
do_rootfs[dirs] = "${TOPDIR}"
do_rootfs[cleandirs] += "${S} ${IMGDEPLOYDIR}"
do_rootfs[umask] = "022"
addtask rootfs before do_build
addtask rootfs before do_build after do_prepare_recipe_sysroot
fakeroot python do_image () {
from oe.utils import execute_pre_post_process
@@ -329,29 +329,6 @@ fakeroot python do_image_qa () {
}
addtask do_image_qa after do_image_complete before do_build
#
# Write environment variables used by wic
# to tmp/sysroots/<machine>/imgdata/<image>.env
#
python do_rootfs_wicenv () {
wicvars = d.getVar('WICVARS')
if not wicvars:
return
stdir = d.getVar('STAGING_DIR_TARGET')
outdir = os.path.join(stdir, 'imgdata')
bb.utils.mkdirhier(outdir)
basename = d.getVar('IMAGE_BASENAME')
with open(os.path.join(outdir, basename) + '.env', 'w') as envf:
for var in wicvars.split():
value = d.getVar(var)
if value:
envf.write('%s="%s"\n' % (var, value.strip()))
}
addtask do_rootfs_wicenv after do_image before do_image_wic
do_rootfs_wicenv[vardeps] += "${WICVARS}"
do_rootfs_wicenv[prefuncs] = 'set_image_size'
def setup_debugfs_variables(d):
d.appendVar('IMAGE_ROOTFS', '-dbg')
d.appendVar('IMAGE_LINK_NAME', '-dbg')
@@ -621,9 +598,9 @@ do_patch[noexec] = "1"
do_configure[noexec] = "1"
do_compile[noexec] = "1"
do_install[noexec] = "1"
do_populate_sysroot[noexec] = "1"
deltask do_populate_sysroot
do_package[noexec] = "1"
do_package_qa[noexec] = "1"
deltask do_package_qa
do_packagedata[noexec] = "1"
do_package_write_ipk[noexec] = "1"
do_package_write_deb[noexec] = "1"

View File

@@ -17,17 +17,25 @@ def imagetypes_getdepends(d):
d += ":do_populate_sysroot"
deps.add(d)
# Take a type in the form of foo.bar.car and split it into the items
# needed for the image deps "foo", and the conversion deps ["bar", "car"]
def split_types(typestring):
types = typestring.split(".")
return types[0], types[1:]
fstypes = set((d.getVar('IMAGE_FSTYPES') or "").split())
fstypes |= set((d.getVar('IMAGE_FSTYPES_DEBUGFS') or "").split())
deps = set()
for typestring in fstypes:
types = typestring.split(".")
basetype, resttypes = types[0], types[1:]
basetype, resttypes = split_types(typestring)
adddep(d.getVar('IMAGE_DEPENDS_%s' % basetype) , deps)
for typedepends in (d.getVar("IMAGE_TYPEDEP_%s" % basetype) or "").split():
base, rest = split_types(typedepends)
resttypes += rest
adddep(d.getVar('IMAGE_DEPENDS_%s' % typedepends) , deps)
for ctype in resttypes:
adddep(d.getVar("CONVERSION_DEPENDS_%s" % ctype), deps)
adddep(d.getVar("COMPRESS_DEPENDS_%s" % ctype), deps)
@@ -184,92 +192,6 @@ IMAGE_CMD_ubi () {
IMAGE_CMD_ubifs = "mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.ubifs ${MKUBIFS_ARGS}"
WKS_FILE ??= "${IMAGE_BASENAME}.${MACHINE}.wks"
WKS_FILES ?= "${WKS_FILE} ${IMAGE_BASENAME}.wks"
WKS_SEARCH_PATH ?= "${THISDIR}:${@':'.join('%s/scripts/lib/wic/canned-wks' % l for l in '${BBPATH}:${COREBASE}'.split(':'))}"
WKS_FULL_PATH = "${@wks_search('${WKS_FILES}'.split(), '${WKS_SEARCH_PATH}') or ''}"
def wks_search(files, search_path):
for f in files:
if os.path.isabs(f):
if os.path.exists(f):
return f
else:
searched = bb.utils.which(search_path, f)
if searched:
return searched
WIC_CREATE_EXTRA_ARGS ?= ""
IMAGE_CMD_wic () {
out="${IMGDEPLOYDIR}/${IMAGE_NAME}"
wks="${WKS_FULL_PATH}"
if [ -z "$wks" ]; then
bbfatal "No kickstart files from WKS_FILES were found: ${WKS_FILES}. Please set WKS_FILE or WKS_FILES appropriately."
fi
BUILDDIR="${TOPDIR}" wic create "$wks" --vars "${STAGING_DIR_TARGET}/imgdata/" -e "${IMAGE_BASENAME}" -o "$out/" ${WIC_CREATE_EXTRA_ARGS}
mv "$out/build/$(basename "${wks%.wks}")"*.direct "$out${IMAGE_NAME_SUFFIX}.wic"
rm -rf "$out/"
}
IMAGE_CMD_wic[vardepsexclude] = "WKS_FULL_PATH WKS_FILES"
# Rebuild when the wks file or vars in WICVARS change
USING_WIC = "${@bb.utils.contains_any('IMAGE_FSTYPES', 'wic ' + ' '.join('wic.%s' % c for c in '${CONVERSIONTYPES}'.split()), '1', '', d)}"
WKS_FILE_CHECKSUM = "${@'${WKS_FULL_PATH}:%s' % os.path.exists('${WKS_FULL_PATH}') if '${USING_WIC}' else ''}"
do_image_wic[file-checksums] += "${WKS_FILE_CHECKSUM}"
python () {
if d.getVar('USING_WIC') and 'do_bootimg' in d:
bb.build.addtask('do_image_wic', '', 'do_bootimg', d)
}
python do_write_wks_template () {
"""Write out expanded template contents to WKS_FULL_PATH."""
import re
template_body = d.getVar('_WKS_TEMPLATE')
# Remove any remnant variable references left behind by the expansion
# due to undefined variables
expand_var_regexp = re.compile(r"\${[^{}@\n\t :]+}")
while True:
new_body = re.sub(expand_var_regexp, '', template_body)
if new_body == template_body:
break
else:
template_body = new_body
wks_file = d.getVar('WKS_FULL_PATH')
with open(wks_file, 'w') as f:
f.write(template_body)
}
python () {
if d.getVar('USING_WIC'):
wks_file_u = d.getVar('WKS_FULL_PATH', False)
wks_file = d.expand(wks_file_u)
base, ext = os.path.splitext(wks_file)
if ext == '.in' and os.path.exists(wks_file):
wks_out_file = os.path.join(d.getVar('WORKDIR'), os.path.basename(base))
d.setVar('WKS_FULL_PATH', wks_out_file)
d.setVar('WKS_TEMPLATE_PATH', wks_file_u)
d.setVar('WKS_FILE_CHECKSUM', '${WKS_TEMPLATE_PATH}:True')
try:
with open(wks_file, 'r') as f:
body = f.read()
except (IOError, OSError) as exc:
pass
else:
# Previously, I used expandWithRefs to get the dependency list
# and add it to WICVARS, but there's no point re-parsing the
# file in process_wks_template as well, so just put it in
# a variable and let the metadata deal with the deps.
d.setVar('_WKS_TEMPLATE', body)
bb.build.addtask('do_write_wks_template', 'do_image_wic', None, d)
}
EXTRA_IMAGECMD = ""
inherit siteinfo
@@ -346,7 +268,7 @@ CONVERSION_CMD_sha384sum = "sha384sum ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}
CONVERSION_CMD_sha512sum = "sha512sum ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} > ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.sha512sum"
CONVERSION_CMD_bmap = "bmaptool create ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} -o ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.bmap"
CONVERSION_DEPENDS_lzma = "xz-native"
CONVERSION_DEPENDS_gz = ""
CONVERSION_DEPENDS_gz = "pigz-native"
CONVERSION_DEPENDS_bz2 = "pbzip2-native"
CONVERSION_DEPENDS_xz = "xz-native"
CONVERSION_DEPENDS_lz4 = "lz4-native"
@@ -366,7 +288,3 @@ IMAGE_EXTENSION_live = "hddimg iso"
# The IMAGE_TYPES_MASKED variable will be used to mask out from the IMAGE_FSTYPES,
# images that will not be built at do_rootfs time: vmdk, vdi, qcow2, hdddirect, hddimg, iso, etc.
IMAGE_TYPES_MASKED ?= ""
# The WICVARS variable is used to define list of bitbake variables used in wic code
# variables from this list is written to <image>.env file
WICVARS ?= "BBLAYERS IMGDEPLOYDIR DEPLOY_DIR_IMAGE HDDDIR IMAGE_BASENAME IMAGE_BOOT_FILES IMAGE_LINK_NAME IMAGE_ROOTFS INITRAMFS_FSTYPES INITRD ISODIR MACHINE_ARCH ROOTFS_SIZE STAGING_DATADIR STAGING_DIR_NATIVE STAGING_LIBDIR TARGET_SYS"

View File

@@ -174,6 +174,8 @@ def package_qa_get_machine_dict(d):
"linux-gnun32" : {
"mips64": ( 8, 0, 0, False, 32),
"mips64el": ( 8, 0, 0, True, 32),
"mipsisa64r6": ( 8, 0, 0, False, 32),
"mipsisa64r6el":( 8, 0, 0, True, 32),
},
}
@@ -334,7 +336,7 @@ def package_qa_check_libdir(d):
import re
pkgdest = d.getVar('PKGDEST')
base_libdir = d.getVar("base_libdir",True) + os.sep
base_libdir = d.getVar("base_libdir") + os.sep
libdir = d.getVar("libdir") + os.sep
libexecdir = d.getVar("libexecdir") + os.sep
exec_prefix = d.getVar("exec_prefix") + os.sep
@@ -566,7 +568,7 @@ def package_qa_check_desktop(path, name, d, elf, messages):
Run all desktop files through desktop-file-validate.
"""
if path.endswith(".desktop"):
desktop_file_validate = os.path.join(d.getVar('STAGING_BINDIR_NATIVE',True),'desktop-file-validate')
desktop_file_validate = os.path.join(d.getVar('STAGING_BINDIR_NATIVE'),'desktop-file-validate')
output = os.popen("%s %s" % (desktop_file_validate, path))
# This only produces output on errors
for l in output:
@@ -738,17 +740,21 @@ python populate_lic_qa_checksum() {
if (not beginline) and (not endline):
md5chksum = bb.utils.md5_file(srclicfile)
with open(srclicfile, 'rb') as f:
license = f.read()
else:
fi = open(srclicfile, 'rb')
fo = tempfile.NamedTemporaryFile(mode='wb', prefix='poky.', suffix='.tmp', delete=False)
tmplicfile = fo.name;
lineno = 0
linesout = 0
license = []
for line in fi:
lineno += 1
if (lineno >= beginline):
if ((lineno <= endline) or not endline):
fo.write(line)
license.append(line)
linesout += 1
else:
break
@@ -756,6 +762,7 @@ python populate_lic_qa_checksum() {
fo.close()
fi.close()
md5chksum = bb.utils.md5_file(tmplicfile)
license = b''.join(license)
os.unlink(tmplicfile)
if recipemd5 == md5chksum:
@@ -764,6 +771,30 @@ python populate_lic_qa_checksum() {
if recipemd5:
msg = pn + ": The LIC_FILES_CHKSUM does not match for " + url
msg = msg + "\n" + pn + ": The new md5 checksum is " + md5chksum
try:
license_lines = license.decode('utf-8').split('\n')
except:
# License text might not be valid UTF-8, in which
# case we don't know how to include it in our output
# and have to skip it.
pass
else:
max_lines = int(d.getVar('QA_MAX_LICENSE_LINES') or 20)
if not license_lines or license_lines[-1] != '':
# Ensure that our license text ends with a line break
# (will be added with join() below).
license_lines.append('')
remove = len(license_lines) - max_lines
if remove > 0:
start = max_lines // 2
end = start + remove - 1
del license_lines[start:end]
license_lines.insert(start, '...')
msg = msg + "\n" + pn + ": Here is the selected license text:" + \
"\n" + \
"{:v^70}".format(" beginline=%d " % beginline if beginline else "") + \
"\n" + "\n".join(license_lines) + \
"{:^^70}".format(" endline=%d " % endline if endline else "")
if beginline:
if endline:
srcfiledesc = "%s (lines %d through to %d)" % (srclicfile, beginline, endline)
@@ -796,6 +827,7 @@ def package_qa_check_staged(path,d):
sane = True
tmpdir = d.getVar('TMPDIR')
workdir = os.path.join(tmpdir, "work")
recipesysroot = d.getVar("RECIPE_SYSROOT")
if bb.data.inherits_class("native", d) or bb.data.inherits_class("cross", d):
pkgconfigcheck = workdir
@@ -811,12 +843,14 @@ def package_qa_check_staged(path,d):
if file.endswith(".la"):
with open(path) as f:
file_content = f.read()
file_content = file_content.replace(recipesysroot, "")
if workdir in file_content:
error_msg = "%s failed sanity test (workdir) in path %s" % (file,root)
sane = package_qa_handle_error("la", error_msg, d)
elif file.endswith(".pc"):
with open(path) as f:
file_content = f.read()
file_content = file_content.replace(recipesysroot, "")
if pkgconfigcheck in file_content:
error_msg = "%s failed sanity test (tmpdir) in path %s" % (file,root)
sane = package_qa_handle_error("pkgconfig", error_msg, d)

View File

@@ -26,7 +26,7 @@ python __anonymous () {
# Verified boot will sign the fitImage and append the public key to
# U-boot dtb. We ensure the U-Boot dtb is deployed before assembling
# the fitImage:
if d.getVar('UBOOT_SIGN_ENABLE'):
if d.getVar('UBOOT_SIGN_ENABLE') == "1":
uboot_pn = d.getVar('PREFERRED_PROVIDER_u-boot') or 'u-boot'
d.appendVarFlag('do_assemble_fitimage', 'depends', ' %s:do_deploy' % uboot_pn)
}
@@ -178,17 +178,45 @@ EOF
fitimage_emit_section_ramdisk() {
ramdisk_csum="sha1"
ramdisk_ctype="none"
ramdisk_loadline=""
ramdisk_entryline=""
if [ -n "${UBOOT_RD_LOADADDRESS}" ]; then
ramdisk_loadline="load = <${UBOOT_RD_LOADADDRESS}>;"
fi
if [ -n "${UBOOT_RD_ENTRYPOINT}" ]; then
ramdisk_entryline="entry = <${UBOOT_RD_ENTRYPOINT}>;"
fi
case $3 in
*.gz)
ramdisk_ctype="gzip"
;;
*.bz2)
ramdisk_ctype="bzip2"
;;
*.lzma)
ramdisk_ctype="lzma"
;;
*.lzo)
ramdisk_ctype="lzo"
;;
*.lz4)
ramdisk_ctype="lz4"
;;
esac
cat << EOF >> ${1}
ramdisk@${2} {
description = "ramdisk image";
description = "${INITRAMFS_IMAGE}";
data = /incbin/("${3}");
type = "ramdisk";
arch = "${UBOOT_ARCH}";
os = "linux";
compression = "none";
load = <${UBOOT_RD_LOADADDRESS}>;
entry = <${UBOOT_RD_ENTRYPOINT}>;
compression = "${ramdisk_ctype}";
${ramdisk_loadline}
${ramdisk_entryline}
hash@1 {
algo = "${ramdisk_csum}";
};
@@ -332,8 +360,15 @@ fitimage_assemble() {
# Step 4: Prepare a ramdisk section.
#
if [ "x${ramdiskcount}" = "x1" ] ; then
copy_initramfs
fitimage_emit_section_ramdisk ${1} "${ramdiskcount}" usr/${INITRAMFS_IMAGE}-${MACHINE}.cpio
# Find and use the first initramfs image archive type we find
for img in cpio.lz4 cpio.lzo cpio.lzma cpio.xz cpio.gz cpio; do
initramfs_path="${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.${img}"
echo "Using $initramfs_path"
if [ -e "${initramfs_path}" ]; then
fitimage_emit_section_ramdisk ${1} "${ramdiskcount}" "${initramfs_path}"
break
fi
done
fi
fitimage_emit_section_maint ${1} sectend
@@ -410,11 +445,11 @@ kernel_do_deploy_append() {
if [ -n "${INITRAMFS_IMAGE}" ]; then
echo "Copying fit-image-${INITRAMFS_IMAGE}.its source file..."
its_initramfs_base_name="${KERNEL_IMAGETYPE}-its-${INITRAMFS_IMAGE}-${PV}-${PR}-${MACHINE}-${DATETIME}"
its_initramfs_symlink_name=${KERNEL_IMAGETYPE}-its-${INITRAMFS_IMAGE}-${MACHINE}
its_initramfs_base_name="fitImage-its-${INITRAMFS_IMAGE}-${PV}-${PR}-${MACHINE}-${DATETIME}"
its_initramfs_symlink_name=fitImage-its-${INITRAMFS_IMAGE}-${MACHINE}
install -m 0644 fit-image-${INITRAMFS_IMAGE}.its ${DEPLOYDIR}/${its_initramfs_base_name}.its
fit_initramfs_base_name="${KERNEL_IMAGETYPE}-${INITRAMFS_IMAGE}-${PV}-${PR}-${MACHINE}-${DATETIME}"
fit_initramfs_symlink_name=${KERNEL_IMAGETYPE}-${INITRAMFS_IMAGE}-${MACHINE}
fit_initramfs_base_name="fitImage-${INITRAMFS_IMAGE}-${PV}-${PR}-${MACHINE}-${DATETIME}"
fit_initramfs_symlink_name=fitImage-${INITRAMFS_IMAGE}-${MACHINE}
install -m 0644 arch/${ARCH}/boot/fitImage-${INITRAMFS_IMAGE} ${DEPLOYDIR}/${fit_initramfs_base_name}.bin
fi

View File

@@ -22,6 +22,8 @@ if [ x"$D" = "x" ]; then
fi
}
PACKAGE_WRITE_DEPS += "kmod-native depmodwrapper-cross"
do_install_append() {
install -d ${D}${sysconfdir}/modules-load.d/ ${D}${sysconfdir}/modprobe.d/
}
@@ -31,6 +33,7 @@ PACKAGESPLITFUNCS_prepend = "split_kernel_module_packages "
KERNEL_MODULES_META_PACKAGE ?= "kernel-modules"
KERNEL_MODULE_PACKAGE_PREFIX ?= ""
KERNEL_MODULE_PROVIDE_VIRTUAL ?= "1"
python split_kernel_module_packages () {
import re
@@ -119,10 +122,16 @@ python split_kernel_module_packages () {
# Avoid automatic -dev recommendations for modules ending with -dev.
d.setVarFlag('RRECOMMENDS_' + pkg, 'nodeprrecs', 1)
# Provide virtual package without postfix
providevirt = d.getVar('KERNEL_MODULE_PROVIDE_VIRTUAL')
if providevirt == "1":
postfix = format.split('%s')[1]
d.setVar('RPROVIDES_' + pkg, pkg.replace(postfix, ''))
module_regex = '^(.*)\.k?o$'
module_pattern_prefix = d.getVar('KERNEL_MODULE_PACKAGE_PREFIX')
module_pattern = module_pattern_prefix + 'kernel-module-%s'
module_pattern = module_pattern_prefix + 'kernel-module-%s-' + d.getVar("KERNEL_VERSION")
postinst = d.getVar('pkg_postinst_modules')
postrm = d.getVar('pkg_postrm_modules')

View File

@@ -286,7 +286,7 @@ python do_kernel_configcheck() {
# if KMETA isn't set globally by a recipe using this routine, we need to
# set the default to 'meta'. Otherwise, kconf_check is not passed a valid
# meta-series for processing
kmeta = d.getVar( "KMETA", True ) or "meta"
kmeta = d.getVar("KMETA") or "meta"
if not os.path.exists(kmeta):
kmeta = "." + kmeta
@@ -298,8 +298,8 @@ python do_kernel_configcheck() {
cmd = d.expand("cd ${S}; kconf_check --report -o ${S}/%s/cfg/ ${B}/.config ${S} %s" % (kmeta,configs))
ret, result = oe.utils.getstatusoutput("%s%s" % (pathprefix, cmd))
config_check_visibility = int(d.getVar( "KCONF_AUDIT_LEVEL", True ) or 0)
bsp_check_visibility = int(d.getVar( "KCONF_BSP_AUDIT_LEVEL", True ) or 0)
config_check_visibility = int(d.getVar("KCONF_AUDIT_LEVEL") or 0)
bsp_check_visibility = int(d.getVar("KCONF_BSP_AUDIT_LEVEL") or 0)
# if config check visibility is non-zero, report dropped configuration values
mismatch_file = d.expand("${S}/%s/cfg/mismatch.txt" % kmeta)

View File

@@ -1,7 +1,8 @@
inherit linux-kernel-base kernel-module-split
PROVIDES += "virtual/kernel"
DEPENDS += "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc kmod-native depmodwrapper-cross bc-native lzop-native"
DEPENDS += "virtual/${TARGET_PREFIX}binutils virtual/${TARGET_PREFIX}gcc kmod-native bc-native lzop-native"
PACKAGE_WRITE_DEPS += "depmodwrapper-cross virtual/update-alternatives-native"
S = "${STAGING_KERNEL_DIR}"
B = "${WORKDIR}/build"
@@ -45,10 +46,11 @@ python __anonymous () {
for type in types.split():
typelower = type.lower()
imagedest = d.getVar('KERNEL_IMAGEDEST')
d.appendVar('PACKAGES', ' ' + 'kernel-image-' + typelower)
d.setVar('FILES_kernel-image-' + typelower, '/boot/' + type + '-${KERNEL_VERSION_NAME}')
d.setVar('FILES_kernel-image-' + typelower, '/' + imagedest + '/' + type + '-${KERNEL_VERSION_NAME}')
d.appendVar('RDEPENDS_kernel-image', ' ' + 'kernel-image-' + typelower)
@@ -56,9 +58,8 @@ python __anonymous () {
d.setVar('ALLOW_EMPTY_kernel-image-' + typelower, '1')
imagedest = d.getVar('KERNEL_IMAGEDEST')
priority = d.getVar('KERNEL_PRIORITY')
postinst = '#!/bin/sh\n' + 'update-alternatives --install /' + imagedest + '/' + type + ' ' + type + ' ' + '/' + imagedest + '/' + type + '-${KERNEL_VERSION_NAME} ' + priority + ' || true' + '\n'
postinst = '#!/bin/sh\n' + 'update-alternatives --install /' + imagedest + '/' + type + ' ' + type + ' ' + type + '-${KERNEL_VERSION_NAME} ' + priority + ' || true' + '\n'
d.setVar('pkg_postinst_kernel-image-' + typelower, postinst)
postrm = '#!/bin/sh\n' + 'update-alternatives --remove' + ' ' + type + ' ' + type + '-${KERNEL_VERSION_NAME} || true' + '\n'

View File

@@ -1,7 +1,7 @@
S = "${STAGING_KERNEL_DIR}"
do_fetch[noexec] = "1"
do_unpack[depends] += "virtual/kernel:do_patch"
do_unpack[noexec] = "1"
deltask do_fetch
deltask do_unpack
do_patch[depends] += "virtual/kernel:do_patch"
do_patch[noexec] = "1"
do_package[depends] += "virtual/kernel:do_populate_sysroot"
KERNEL_VERSION = "${@get_kernelversion_file("${STAGING_KERNEL_BUILDDIR}")}"

View File

@@ -117,7 +117,7 @@ def write_license_files(d, license_manifest, pkg_dic):
copy_lic_manifest = d.getVar('COPY_LIC_MANIFEST')
copy_lic_dirs = d.getVar('COPY_LIC_DIRS')
if copy_lic_manifest == "1":
rootfs_license_dir = os.path.join(d.getVar('IMAGE_ROOTFS', 'True'),
rootfs_license_dir = os.path.join(d.getVar('IMAGE_ROOTFS'),
'usr', 'share', 'common-licenses')
bb.utils.mkdirhier(rootfs_license_dir)
rootfs_license_manifest = os.path.join(rootfs_license_dir,
@@ -516,7 +516,7 @@ def canonical_license(d, license):
"""
lic = d.getVarFlag('SPDXLICENSEMAP', license) or ""
if not lic and license.endswith('+'):
lic = d.getVarFlag('SPDXLICENSEMAP', license.rstrip('+'), True)
lic = d.getVarFlag('SPDXLICENSEMAP', license.rstrip('+'))
if lic:
lic += '+'
return lic or license

View File

@@ -1,4 +1,5 @@
DEPENDS += "shared-mime-info-native shared-mime-info"
DEPENDS += "shared-mime-info"
PACKAGE_WRITE_DEPS += "shared-mime-info-native"
mime_postinst() {
if [ "$1" = configure ]; then

View File

@@ -27,7 +27,7 @@ ${GNUPG_MIRROR} ftp://mirrors.dotsrc.org/gcrypt \n \
ftp://dante.ctan.org/tex-archive ftp://ftp.fu-berlin.de/tex/CTAN \n \
ftp://dante.ctan.org/tex-archive http://sunsite.sut.ac.jp/pub/archives/ctan/ \n \
ftp://dante.ctan.org/tex-archive http://ctan.unsw.edu.au/ \n \
ftp://ftp.gnutls.org/gcrypt/gnutls ${GNUPG_MIRROR} \n \
ftp://ftp.gnutls.org/gcrypt/gnutls ${GNUPG_MIRROR}/gnutls \n \
http://ftp.info-zip.org/pub/infozip/src/ http://mirror.switch.ch/ftp/mirror/infozip/src/ \n \
http://ftp.info-zip.org/pub/infozip/src/ ftp://sunsite.icm.edu.pl/pub/unix/archiving/info-zip/src/ \n \
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/ ftp://ftp.cerias.purdue.edu/pub/tools/unix/sysutils/lsof/ \n \

View File

@@ -1,12 +1,13 @@
inherit module-base kernel-module-split
addtask make_scripts after do_patch before do_compile
addtask make_scripts after do_prepare_recipe_sysroot before do_compile
do_make_scripts[lockfiles] = "${TMPDIR}/kernel-scripts.lock"
do_make_scripts[depends] += "virtual/kernel:do_shared_workdir"
EXTRA_OEMAKE += "KERNEL_SRC=${STAGING_KERNEL_DIR}"
MODULES_INSTALL_TARGET ?= "modules_install"
MODULES_MODULE_SYMVERS_LOCATION ?= ""
python __anonymous () {
depends = d.getVar('DEPENDS')
@@ -35,10 +36,17 @@ module_do_install() {
O=${STAGING_KERNEL_BUILDDIR} \
${MODULES_INSTALL_TARGET}
install -d -m0755 ${D}${includedir}/${BPN}
cp -a --no-preserve=ownership ${B}/Module.symvers ${D}${includedir}/${BPN}
# it doesn't actually seem to matter which path is specified here
sed -e 's:${B}/::g' -i ${D}${includedir}/${BPN}/Module.symvers
if [ ! -e "${B}/${MODULES_MODULE_SYMVERS_LOCATION}/Module.symvers" ] ; then
bbwarn "Module.symvers not found in ${B}/${MODULES_MODULE_SYMVERS_LOCATION}"
bbwarn "Please consider setting MODULES_MODULE_SYMVERS_LOCATION to a"
bbwarn "directory below B to get correct inter-module dependencies"
else
install -Dm0644 "${B}/${MODULES_MODULE_SYMVERS_LOCATION}"/Module.symvers ${D}${includedir}/${BPN}/Module.symvers
# Module.symvers contains absolute path to the build directory.
# While it doesn't actually seem to matter which path is specified,
# clear them out to avoid confusion
sed -e 's:${B}/::g' -i ${D}${includedir}/${BPN}/Module.symvers
fi
}
EXPORT_FUNCTIONS do_compile do_install

View File

@@ -119,7 +119,7 @@ PACKAGEFUNCS_append = " do_package_qa_multilib"
python do_package_qa_multilib() {
def check_mlprefix(pkg, var, mlprefix):
values = bb.utils.explode_deps(d.getVar('%s_%s' % (var, pkg), True) or d.getVar(var) or "")
values = bb.utils.explode_deps(d.getVar('%s_%s' % (var, pkg)) or d.getVar(var) or "")
candidates = []
for i in values:
if i.startswith('virtual/'):

View File

@@ -137,13 +137,11 @@ addhandler multilib_virtclass_handler_vendor
multilib_virtclass_handler_vendor[eventmask] = "bb.event.ConfigParsed"
python multilib_virtclass_handler_global () {
if not e.data:
variant = e.data.getVar("BBEXTENDVARIANT")
if variant:
return
variant = e.data.getVar("BBEXTENDVARIANT")
if isinstance(e, bb.event.RecipeParsed) and not variant:
if bb.data.inherits_class('kernel', e.data) or \
if bb.data.inherits_class('kernel', e.data) or \
bb.data.inherits_class('module-base', e.data) or \
(bb.data.inherits_class('allarch', e.data) and\
not bb.data.inherits_class('packagegroup', e.data)):
@@ -177,5 +175,5 @@ python multilib_virtclass_handler_global () {
}
addhandler multilib_virtclass_handler_global
multilib_virtclass_handler_global[eventmask] = "bb.event.RecipePreFinalise bb.event.RecipeParsed"
multilib_virtclass_handler_global[eventmask] = "bb.event.RecipeParsed"

Some files were not shown because too many files have changed in this diff Show More