Commit Graph

6289 Commits

Author SHA1 Message Date
Richard Purdie
c8ef8b3b0f layer.conf: Whitelist lttng-tools->lttng-modules dependency
The API between lttng-tools and lttng-modules is safe, whitelist it as
the dependency fixes tools failures. This needs a hack in the multilib
class as right now there is no way to know if a given recipe is a kernel
module or not. This needs to be revisited.

(From OE-Core rev: 584e713bf7f6885a13c440cd45c0f469feb3a694)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-27 17:06:34 +01:00
Lei Maohui
919d8bd056 meson.bbclass: Make meson support aarch64_be.
Added aarch64_be into cpu family.

(From OE-Core rev: 40187613038aa9c1ca16eaa46d0669f69f80a398)

Signed-off-by: Lei Maohui <leimaohui@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-27 17:06:34 +01:00
Ross Burton
bef89e6a8b insane: add sanity checks to SRC_URI
The SRC_URI almost definitely shouldn't be using ${PN}, and GitHub */archive/*
tarballs are dynamically generated so the checksums will change over time.

Detect both of these, and emit a QA warning if found.

(From OE-Core rev: 21f84fcdd659544437fe393285c407e1e9432043)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-21 12:56:33 +01:00
Jean-Marie LEMETAYER
e90cd2ed61 npm: remove some temporary build files
Fixes [YOCTO #11028]

When dealing with node modules which use "node-gyp" [1] to build native
addons to node. Some temporary build files stay in the image: object
files, static library files, dependency files, ...

This commit does not keep only the required files, but remove the files
which can leads to QA issues (staticdev with static library files).

[1]: https://github.com/nodejs/node-gyp

(From OE-Core rev: bac9075f51f6acba2fcfbe9f79f97f5171186d9c)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-21 12:56:33 +01:00
Jean-Marie LEMETAYER
a34d0d539e npm: fix node and npm default directory conflict
Fixes [YOCTO #13349]

When dealing with node modules which have declared "bin" files [1], npm
will create a link in '/usr/bin' with a relative link to
'../lib/node_modules/<module bin file>'.

The commits e9270af429 and
2713d9bcc3 explicitely use
'/usr/lib/node/' as install directory, but does not care about the "bin"
symbolic linked files.

In order to keep valid links, and to keep it as simple as possible, the
path '/usr/lib/node_modules/' is used as install directory for npm. And
a symbolic link is created to have a valid '/usr/lib/node/' path, needed
for node.

[1]: https://docs.npmjs.com/files/package.json#bin

(From OE-Core rev: 2d72007deea7ed529f82b8a6e67e2715dd0a0dca)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-21 12:56:33 +01:00
Jean-Marie LEMETAYER
eecba41822 npm: get npm package name from npm pack
Fixes [YOCTO #12534]

When using npm packages with exotic names, like "JSONSelect" (with
uppercase) or "@angular/cli" (with at sign and slash), there are three
different names:
  - the recipe name ("jsonselect" or "angular-cli")
  - the npm module name ("JSONSelect" or "@angular/cli")
  - the npm pack name ("JSONSelect" or "angular-cli")

The commit fa9c077068 allow to have
different recipe name and npm module name by setting the NPMPN variable.

This commit allows to have yet another npm pack name. The pack filename
is now dynamically retrieved from the 'npm pack' command.

(From OE-Core rev: b6ffa59d03fbf53d1681fce5f8c3c1f163cf9923)

Signed-off-by: Jean-Marie LEMETAYER <jean-marie.lemetayer@savoirfairelinux.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-21 12:56:33 +01:00
Martin Jansa
f91866aaf1 grub-efi-cfg, systemd-boot-cfg: use MACHINE_ARCH
* both use KERNEL_IMAGETYPE variable which is MACHINE specific
* fixes:

  === Comparing signatures for task do_configure.sigdata between hammerhead and mako ===
  ERROR: grub-bootconf different signature for task do_configure.sigdata between hammerhead and mako
  basehash changed from 710332f3ec15670302dd690708730c9e418d53790ce36d6a91b049ae4f7069b1 to c9a46e58b4634b5fd47d20683f8320e15f5c4cb7628e3a62ed97d8528d7aabd2
  Variable KERNEL_IMAGETYPE value changed from 'zImage-dtb' to 'zImage'

  ERROR: systemd-bootconf different signature for task do_configure.sigdata between hammerhead and mako
  basehash changed from 2abbaf6d7760696fbf1ff5df5705239b475ccbf6f0c831fc4031984c0ce0e9f2 to 24f1e7886dee02b04bc180acc1c946ad82ce842655e5a5f4a8006f4a8490f985
  Variable KERNEL_IMAGETYPE value changed from 'zImage-dtb' to 'zImage'

  detected with:
  openembedded-core/scripts/sstate-diff-machines.sh --targets=world --tmpdir=tmp-glibc/ --analyze --machines="hammerhead mako qemux86"

(From OE-Core rev: 90a47da8c50da49ecaf0e2786dc4d9a78c61189e)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-16 16:35:12 +01:00
Ming Liu
ea8755459f kernel.bbclass: adjust a condition checking
do_bundle_initramfs does not have to depend on
${INITRAMFS_IMAGE}:do_image_complete if INITRAMFS_IMAGE_BUNDLE is not
set.

(From OE-Core rev: 6676411fccff2d331878e4ca1f9411aafb056a80)

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-16 09:16:50 +01:00
Richard Purdie
be2cb32f53 ptest: Add RDEPENDS frpm PN-ptest to PN package
Many different ptests are breaking as they assume that ${PN}-ptest
depends on ${PN}. It doesn't currently but should. If we fix this, many
different ptests start passing when they previously failed.

It does depend on fixing an issue in the dbus-test recipe which is done
in the preceeding patch (mentioned in case this gets backported).

(From OE-Core rev: b47194b57d94260b4e6438c5bf74914027f0b520)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-15 17:53:29 +01:00
Douglas Royds
3de77b33ee distutils: Tidy and simplify for readability
Line lengths, remove duplication, and use the PYTHON variable provided by
pythonnative.bbclass.

Coincidentally fixes a dormant defect in distutils3.bbclass in which we were
sedding for STAGING_BINDIR_NATIVE/python-python3/python3.

(From OE-Core rev: 7b8dd17c65e2d7d163f452833f21469918bf222e)

Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-15 17:53:29 +01:00
Ying-Chun Liu (PaulLiu)
c99aa3eb43 uboot-sign: Fix u-boot-nodtb symlinks
When using u-boot-nodtb, the symlink didn't install correctly to the
${DEPLOYDIR}. This commit fixes this bug.

(From OE-Core rev: c4eddb65e2ddb61bf519b768fab1e131fb0c297b)

Signed-off-by: Ying-Chun Liu (PaulLiu) <paulliu@debian.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-09 16:31:56 +01:00
Alex Kiernan
2a2f74a27d systemd: Restore mask and preset targets, fix instance creation
Ensure that anyone who sets SYSTEMD_AUTO_ENABLE_${PN} = "mask" (or
"preset") retains the previous behaviour. In addition fix "enable" so it
can (again) create instance units out of templates.

Remove over-zealous quoting of SYSTEMD_SERVICE_ESCAPED as it's already
safely escaped (and can be multiple arguments).

Reported-by: Paul Barker <paul@betafive.co.uk>
(From OE-Core rev: e9444649f49431a8e203e6e2009a1de05e505007)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-09 16:31:56 +01:00
Alex Kiernan
7e5124a44c systemd: Default to non-stateless images
When creating images, for anything other than the explicitly stateless
case, touch /etc/machine-id so that the images can be booted without an
initramfs and with `ro` set on the kernel command line, otherwise system
refuses to start:

  [    7.222134] systemd[1]: No hostname configured.
  [    7.227266] systemd[1]: Set hostname to <localhost>.
  [    7.232622] systemd[1]: System cannot boot: Missing /etc/machine-id and /etc is mounted read-only.
  [    7.241750] systemd[1]: Booting up is supported only when:
  [    7.247362] systemd[1]: 1) /etc/machine-id exists and is populated.
  [    7.253752] systemd[1]: 2) /etc/machine-id exists and is empty.
  [    7.259757] systemd[1]: 3) /etc/machine-id is missing and /etc is writable.

If IMAGE_FEATURES includes `stateless-rootfs` then systemctl-native is
not run on the image leaving the image for population at runtime by
systemd.

(From OE-Core rev: c5fb399f5894c16cf8eeadd507dc38c29b0fd657)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-09 16:31:55 +01:00
Stefan Müller-Klieser
1544d38716 cml1.bbclass: fix undefined behavior
Whenever cml1 do_configure is used with a defconfig, oldconfig waits for
input. This silently fails on recent kconfig projects with:
"Error in reading or end of file."
We cannot use a more up to date kconfig target such as olddefconfig,
because busybox does not support it.

(From OE-Core rev: 7ad50a8fc1448dd152eaba57aaeb63a8229fdb21)

Signed-off-by: Stefan Müller-Klieser <s.mueller-klieser@phytec.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-08 12:15:17 +01:00
Douglas Royds
a839671f6e distutils: Run python from the PATH in the -native case as well
The python distutils generate a python wrapper script for each package,
containing shebang lines pointing to the python executable.
In our case, this is a fully-qualified path to python-native in the
recipe-sysroot-native.

Ubuntu 18.04 restricts the useful length of the shebang line to 125
characters, and Ubuntu 16.04 restricts it to 77. In both cases, the
staged python script fails to run due to the length of the path to
the python-native executable.

Replace the shebang line with nativepython or nativepython3 as appropriate.
The nativepython symlink is installed by the python-native recipe:

    #!/usr/bin/env nativepython

We were already doing this for on-target distutils components.
This change applies the sed-line to -native distutils components as well.
In this way, -native clients of these components can invoke the wrapper scripts
directly, without themselves needing to inherit pythonnative.

This works around a known setuptools issue:
https://github.com/pypa/setuptools/issues/494
Even once this issue has been resolved upstream,
we will still need to replace `python` with `nativepython`

(From OE-Core rev: 0a5bd4f30182a3d55153e5ade76f1dfd5b52b482)

Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-08 12:15:17 +01:00
Alex Kiernan
f0aa7f09a4 go: Exclude vcs files when installing deps
Because our clones use the host git, on (say) Ubuntu 18.04, the local
git directories acquire perl scripts such as fsmonitor-watchman.sample.
During packaging, this leads to failures:

  ERROR: go-hsperfdata-1.0.3+gitAUTOINC+b58598ac84-r0 do_package_qa: QA Issue: /usr/lib/go/pkg/dep/sources/https---github.com-nsf-termbox--go/.git/hooks/fsmonitor-watchman.sample contained in package go-hsperfdata-staticdev requires /usr/bin/perl, but no providers found in RDEPENDS_go-hsperfdata-staticdev? [file-rdeps]
  ERROR: go-hsperfdata-1.0.3+gitAUTOINC+b58598ac84-r0 do_package_qa: QA run found fatal errors. Please consider fixing them.
  ERROR: go-hsperfdata-1.0.3+gitAUTOINC+b58598ac84-r0 do_package_qa:
  ERROR: go-hsperfdata-1.0.3+gitAUTOINC+b58598ac84-r0 do_package_qa: Function failed: do_package_qa

(From OE-Core rev: 2ee246524ab881d57d8aac204f671215a25a58d3)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-08 12:15:17 +01:00
Hongxu Jia
6c1ddb5409 cpio/tar/native.bbclass: move rmt to sbindir and add a prefix to avoid native clashing
The rmt in cpio-native and tar-native is clashing, since
tar-native has set var-NATIVE_PACKAGE_PATH_SUFFIX, we move rmt
to sbindir, and add suffix NATIVE_PACKAGE_PATH_SUFFIX to sbindir
could avoid the clashing.

And in Ubuntu, rmt is in sbindir
$ which rmt
/usr/sbin/rmt

(From OE-Core rev: e9ac5ac2f4d135734f549d17cce3ebc52132b7d0)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-08 12:15:17 +01:00
Ross Burton
198434d295 gtk-icon-cache: clean up DEPENDS
Use gtk+3-native instead gtk-icon-utils-native as that recipe no longer exists
and is provided by gtk+3-native for compatibility.

(From OE-Core rev: 078950f6ff88d406894229337b2b367ba049ff44)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-07 10:12:53 +01:00
Paul Barker
896b0c5769 license_image: Use new oe.path.copyhardlink() helper
This change allows us to support the placement of WORKDIR and DEPLOY_DIR
on different devices.

(From OE-Core rev: f064a581ba31764839459bd667130bccbbedefab)

Signed-off-by: Paul Barker <paul@betafive.co.uk>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-07 10:12:53 +01:00
Max Kellermann
2e7cc1525d useradd-staticids: print exception after parse_args() error
Without this, the user has no idea what went wrong.

(From OE-Core rev: c1d887d63f098a10c7d6286399801d89fd3ebdb0)

Signed-off-by: Max Kellermann <max.kellermann@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-07 10:12:53 +01:00
Alex Kiernan
d9e8b11b6c uboot-sign: Fix build when UBOOT_DTB_BINARY is empty
When UBOOT_DTB_BINARY is empty and because the code now changes
directory into ${B}, the test for the existence becomes `[ -f ]` which
succeeds and subsequently the install fails.

Reorder the code so it's clear that UBOOT_DTB_BINARY empty is an
expected configuration and then quote UBOOT_DTB_BINARY everywhere so
no one trips over this again.

Fixes: bacb59079eb6 ("uboot-sign: add support for different u-boot configurations")
(From OE-Core rev: e79f0db0745625b35dd83483747e486d08eebfde)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-03 06:11:57 +01:00
Alex Kiernan
665fd0ae23 image: call systemctl preset-all for images
Rather than rely on systemd's default invocation of preset-all at
runtime, we pre-populate the symlink tree as part of of the image. This
is done late so any overrides of presets during rootfs construction
should already have happened.

Whilst we don't strictly need this for the read-write root case, it
avoids boot time churn; for read-only root we have to do it here.

(From OE-Core rev: a57678a076109c42fbdf7531e90ff4491b387d53)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-03 06:11:57 +01:00
Jonas Bonn
bc2ca0ea7e systemd: create preset files instead of installing in image
At first boot, systemd will create the /etc/systemd/system directory
from service preset files.  As such, for a normal, writable /etc
(writable rootfs), there is no need to set up this directory at image
creation time.

This patch changes the systemd machinery to create preset files and to
rely on systemd to do the service enablement.

This breaks the read-only-rootfs case; there's a fix for this in a
follow-up patch.

(From OE-Core rev: 154abbc3296eded11d2bbe3e102470b6986d42cd)

Signed-off-by: Jonas Bonn <jonas@norrbonn.se>
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-03 06:11:57 +01:00
Jonas Bonn
119d310f36 systemd: do not create machine-id
There is no reason to have an emtpy machine-id as part of the systemd
package.  Either:

i)  the filesystem is writable and the file will be created
automatically; or
ii) the filesystem is read-only, in which case the empty machine-id file
should be created as part of the read-only-rootfs tweaks.

(From OE-Core rev: 76444b63e614baea33c044851a5859f6d1e69729)

Signed-off-by: Jonas Bonn <jonas@norrbonn.se>
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-03 06:11:57 +01:00
Changqing Li
3418d1326c populate_sdk_base: provide options to set sdk type
Current sdk type is tar.xz, but for mingw sdk, since we
have symlink under the sdk folder, 7zip which used to
extract tar.xz cannot handle it, refer 7zip upstream bug:
https://sourceforge.net/p/sevenzip/discussion/45797/thread/c71d6b96/
so add option for usr can select the sdk type.

Add override SDK_ARCHIVE_TYPE, default type is tar.xz, and also
support type zip. user want to use zip type can set SDK_ARCHIVE_TYPE
to zip.

(From OE-Core rev: 57a33048a89a422cfdc986d3489c67b2d297e1e7)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-05-03 06:11:57 +01:00
Ross Burton
1e8cedab44 staging: add ${datadir}/gtk-doc/html to the sysroot blacklist
When api-documentation is enabled the GNOME stack builds API documentation. As
${datadir} is in SYSROOT_DIRS this documentation is in the sysroot but is never
used, wasting time and space.

Add ${datadir}/gtk-doc/html to the blacklist so that the generated documentation
isn't in the sysroot.  Note that we don't blacklist all of ${datadir}/gtk-doc
because gtk-doc itself installs files there which are needed to use gtk-doc.

(From OE-Core rev: 11c87952c9a71036119d509ce09f17e352e4c6d8)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-30 12:05:23 +01:00
Jens Rehsack
67886623d9 kernel-module-split.bbclass: support CONFIG_MODULE_COMPRESS=y
In case, kernel config enables compressed modules, support of
splitting via split_kernel_module_packages won't find any module.
So, first expand module pattern regex to recognize compressed
modules and then objcopy on temporary extacted to extract module
information.

(From OE-Core rev: fae400b225827400bf32380a7d599d3b2969db55)

Signed-off-by: Jens Rehsack <sno@netbsd.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-26 10:09:08 +01:00
Mardegan, Alberto
e03d103e10 oeqa/core/runner: dump stdout and stderr of each test case
Some CI pipelines might perform further processing of the test output
(for instance, to plot some metrics into a chart). However, Since `thud`
we switched away from the XML-based jUnit reporting, and at the same
time we lost the ability of collecting the stdout and stderr of the
various tests.

We now restore this functionality by adding `stdout` and `stderr` keys
to the JSON reports. This behavior is off by default; in order to enable
it, one must set the `TESTREPORT_FULLLOGS` variable in the bitbake
configuration.

(From OE-Core rev: fd0048630ece5b21efb3a79e97046be0ab2a1514)

Signed-off-by: Alberto Mardegan <amardegan@luxoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-26 10:09:08 +01:00
Adrian Bunk
0734405c9a Use the best xz compression for the SDK
It saves 23% space for me, and decompression time is also shorter.

Compression time and xz memory usage should be less of a worry
for the SDK.

(From OE-Core rev: 353d93ead899a479fc6bc3625edc87269a891d39)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-26 10:09:08 +01:00
Alexander Kanavin
07d29e7cec gtk-doc.bbclass: unify option setting for meson-based recipes
This is done similarly to gobject-introspection work by Andreas Müller,
and allows dropping duplicate clutter from the recipes.

(From OE-Core rev: ff578f4451a0a199202e576b647840910b4d3f59)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 00:05:20 +01:00
Martin Jansa
8833afc0e0 icecc.bbclass: stop causing everything to be effectivelly MACHINE_ARCH
* since this change:
  commit d2fcaeb153fdc3f8d7143ea823139f1537055ff1
  Author: Douglas Royds <douglas.royds@taitradio.com>
  Date:   Thu Dec 20 11:59:47 2018 +1300

    icecc: Don't generate recipe-sysroot symlinks at recipe-parsing time

  the set_icecc_env function depends on KERNEL_CC variable even for recipes
  like linux-libc-headers

* KERNEL_CC variable depends on STAGING_KERNEL_DIR:
  Variable KERNEL_CC value is ${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_KERNEL_ARCH} -fuse-ld=bfd ${DEBUG_PREFIX_MAP} -fdebug-prefix-map=${STAGING_KERNEL_DIR}=${KERNEL_SRC_PATH}
  List of dependencies for variable KERNEL_CC is {'STAGING_KERNEL_DIR', 'HOST_PREFIX', 'DEBUG_PREFIX_MAP', 'HOST_CC_KERNEL_ARCH', 'KERNEL_SRC_PATH'}

  which depends on MACHINE:
  Variable STAGING_KERNEL_DIR value is ${TMPDIR}/work-shared/${MACHINE}/kernel-source
  List of dependencies for variable STAGING_KERNEL_DIR is {'MACHINE'}

* as detected with:
  openembedded-core/scripts/sstate-diff-machines.sh --tmpdir=tmp-glibc --machines="qemux86 qemux86copy qemuarm" --targets=glibc --analyze

  ERROR: linux-libc-headers different signature for task do_configure.sigdata between qemux86 and qemux86copy
  NOTE: Starting bitbake server...
  basehash changed from 3146f4ffeb002bd69fed7656a4b896365b2e2a00071c69e1afbb672889e754ee to f1a5160e39912e61389b6f9fe68d61146a2be91716ac37e4a32ecf4c09b2b5fa
  Variable MACHINE value changed from 'qemux86' to 'qemux86copy'

  $ bitbake-diffsigs /OE/build/oe-core/tmp-glibc/sstate-diff/1556122458/qemux86*/*/linux-libc-headers/*do_configure.sigdata*
  NOTE: Starting bitbake server...
  basehash changed from f1a5160e39912e61389b6f9fe68d61146a2be91716ac37e4a32ecf4c09b2b5fa to 3146f4ffeb002bd69fed7656a4b896365b2e2a00071c69e1afbb672889e754ee
  Variable MACHINE value changed from 'qemux86copy' to 'qemux86'

(From OE-Core rev: 8becde63763027037d40ef82dd6678721e6d90d4)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-25 00:05:20 +01:00
Joshua Watt
ac45fd8793 classes/waf: Set WAFLOCK
Sets the WAFLOCK environment variable. This controls the name of the
lock file that waf uses to pass the build configuration from 'configure'
to 'build' and 'install'. Using a uniquely generated name based on the
parameters passed to 'configure' ensures that the source directory can
be configured for multiple different builds without conflicting (since
the lock file is stored in ${S})

(From OE-Core rev: 29419141a42e6b6664f72d085288ba03c74f90a6)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-23 23:30:20 +01:00
Steven Hung (洪于玉)
bd50ff2cd0 kernel.bbclass: convert base_do_unpack_append() to a task
<pre>
when&#32;externalsrc&#32;is&#32;enabled&#32;and&#32;the&#32;&#39;do_unpack&#39;&#32;task&#32;is&#32;deleted,
building&#32;kernel&#32;module&#32;fail

(From OE-Core rev: 1ba4728f058b90957741fa016230ffa72e206ff3)

Signed-off-by:&#32;Steven&#32;Hung&#32;(&#27946;&#20110;&#29577;)&#32;&lt;Steven.Hung@mediatek.com&gt;
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-23 23:30:19 +01:00
Adrian Bunk
ef0654f145 Set XZ_COMPRESSION_LEVEL to -9
It is consistent with other compressors also using their
best compression.

xz is currently the option that offers best compression,
using settings even lower than the default is surprising
and makes it harder to choose the best available compression.

For anyone who cares about compression time using a different
option like gzip or bzip2 is the logical choice.

For decompression, better compressed is actually faster
to decompress.

(From OE-Core rev: 9718c2d3fbb3281274af4556b34b7bac21fc7774)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-16 11:10:02 +01:00
Mariano Lopez
75b08ce9ac ptest.bbclass: Use d.getVar instead of os.environ
[YOCTO #12597]
[YOCTO #13238]

(From OE-Core rev: ae116b0eea3b09055742877790b7e4620f5b8f37)

Signed-off-by: Mariano Lopez <just.another.mariano@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-16 11:10:02 +01:00
Andreas Obergschwandtner
de0019cf6c uboot-sign: add support for different u-boot configurations
This is done by concatenating the DTB with the kernels public key
to all built u-boot binaries. Furthermore the installation of all
the binaries is required.

(From OE-Core rev: bacb59079eb6ba7e43507a6d3a357341fb367f83)

Signed-off-by: Andreas Obergschwandtner <andreas.obergschwandtner@skidata.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-16 11:10:01 +01:00
Michael Scott
093fdcb35d kernel-fitimage: support RISC-V
Support RISC-V kernel image, using the "Image" target.

This change allows RISC-V support for fitImage via the following
flow: OpenSBI -> u-boot (as payload) -> Linux kernel (as fitImage
with ramdisk and dtb).

This was tested using QEMU RISC-V 64-bit.

(From OE-Core rev: 35d0842c637b7d7ce0ab01f43b594c19a964872f)

Signed-off-by: Michael Scott <mike@foundries.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-12 13:40:21 +01:00
Hongxu Jia
03cc7d03ef image_types.bbclass: fix a race between the ubi and ubifs FSTYPES
The ubi, ubifs and multiubi FSTYPES calls `mkfs.ubifs' to create UBIFS
images.

In do_image_ubi, $vname is empty, the name of UBIFS image conflicts with
the one in do_image_ubifs, and it's a race risk.
[do_image_ubi]
mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${vname}${IMAGE_NAME_SUFFIX}.ubifs ${mkubifs_args}
[do_image_ubi]

[do_image_ubifs]
mkfs.ubifs -r ${IMAGE_ROOTFS} -o ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.ubifs ${MKUBIFS_ARGS}
[do_image_ubifs]

In do_image_multiubi, $vname is not empty, the UBIFS image name does
not conflict with others.

So do not call mkfs.ubifs in do_image_ubi and depend on do_image_ubifs
to create UBIFS images.

The fix does not affect do_image_multiubi which still call mkfs.ubifs to
create multiple UBIFS images and symlinks.

[YOCTO #13272]

(From OE-Core rev: 3e5f075184d91dd99cf25cfe84bba1c946ed0c7c)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-12 13:32:48 +01:00
Richard Purdie
00a0e90f17 goarch.bbclass: Simplify logic
Further simplification of the go_map_arm() function.

(From OE-Core rev: 9c333505897b2bf0d80737c855af31785d23435a)

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-12 09:29:06 +01:00
Richard Purdie
cd87283738 go.bbclass: Remove unused override
The x86 override means the i586 one isn't necessary.

(From OE-Core rev: 1658bf2dbdfe1a5b38efcc03359c9937506c120c)

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-12 09:29:06 +01:00
Nathan Rossi
97f37fbda1 ccmake.bbclass: Fix up un-escaped quotes in output formatting
The quotes should be generated in the output to match the expected cmake
syntax for setting cache variables.

(From OE-Core rev: a19a6201c8cc255583bd014534b4a6ec2524070f)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-12 09:29:06 +01:00
Zheng Ruoqin
5ad7d90ee6 sanity: check_perl_modules bug fix
Fix Python3 TypeError error in check_perl_modules:

Executing bitbake, the following error message will be throwed:

  File ".../poky/meta/classes/sanity.bbclass", line
979, in check_sanity_eventhandler
    check_sanity(sanity_data)
  File ".../poky/meta/classes/sanity.bbclass", line
943, in check_sanity
    check_sanity_version_change(status, sanity_data)
  File ".../poky/meta/classes/sanity.bbclass", line
637, in check_sanity_version_change
    status.addresult(check_perl_modules(d))
  File ".../poky/meta/classes/sanity.bbclass", line
563, in check_perl_modules
    errresult += e.output
TypeError: must be str, not bytes

So here, transfer e.output from bytes to str.

(From OE-Core rev: 2c6fff3fe315357d65d082679856615afc367d90)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-12 09:29:06 +01:00
Andreas Müller
9f7092416c insane.bbclass: Trigger unrecognzed configure option for meson
Tested with 'unknown-configure-option' in ERROR_QA:

For meson (glib-2.0-native):
1. add 'EXTRA_OEMESON_append = "-Dschnitzel=true -Dwurst=true"'
   | ERROR: glib-2.0-native-1_2.58.3-r0 do_configure: QA Issue: glib-2.0-native: configure was passed unrecognised options: schnitzel wurst [unknown-configure-option]
2. add 'UNKNOWN_CONFIGURE_WHITELIST_append=" schnitzel"'
   | ERROR: glib-2.0-native-1_2.58.3-r0 do_configure: QA Issue: glib-2.0-native: configure was passed unrecognised options: wurst [unknown-configure-option]
3. change to 'UNKNOWN_CONFIGURE_WHITELIST_append=" schnitzel wurst"'
   => builds without issues

For autotools (readline-native):
1. add 'EXTRA_OECONF = "--with-schnitzel --with-wurst"'
   | ERROR: readline-native-8.0-r0 do_configure: QA Issue: readline-native: configure was passed unrecognised options: --with-wurst --with-schnitzel [unknown-configure-option]
2. add 'UNKNOWN_CONFIGURE_WHITELIST_append=" --with-schnitzel"'
   | ERROR: readline-native-8.0-r0 do_configure: QA Issue: readline-native: configure was passed unrecognised options: --with-wurst [unknown-configure-option]
3. add 'UNKNOWN_CONFIGURE_WHITELIST_append=" --with-schnitzel --with-wurst"'
   => builds without issues

(From OE-Core rev: 30c001cdbc6207001b18e093ad9691e606428f0f)

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-11 21:15:57 +01:00
Andreas Müller
5b33b053c1 gobject-introspection: auto-enable/-disable gobject-introspection for meson
* the class sets defaults used most common which can be overriden by recipes
* UNKNOWN_CONFIGURE_WHITELIST was removed for autotools (and not added for meson)
  as suggested by Alexander Kanavin [1]

[1] http://lists.openembedded.org/pipermail/openembedded-core/2019-April/280716.html

(From OE-Core rev: 59589383131df6bc0c8787cd00a16ee59e21d441)

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-11 21:15:56 +01:00
Mariano Lopez
6995ec65e8 ptest.bbclass: Add feature to populate a binary directory
This adds the functionality to create a binary directory within
PTEST_PATH directory. This directory will be populated with
symlinks pointing to the binaries installed by the package and
then renamed by update-alternatives. This way the ptest only needs
to source this binary directory in order to use the expected
binaries.

To enable this feature just add PTEST_BINDIR = "1" to the recipe.

[YOCTO #12597]
[YOCTO #13238]

(From OE-Core rev: bca35319b89ce668927728c4e2094f6e10cef298)

Signed-off-by: Mariano Lopez <just.another.mariano@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-11 21:12:48 +01:00
Mariano Lopez
5feccb430b update-alternatives.bbclass: Add function to get metadata
This adds update_alternatives_alt_targets function to get the metadata
for a package. This is for code reuse because the metadata would help
other classes that needs to be aware of how update-alternatives modify
the final package.

[YOCTO #12597]
[YOCTO #13238]

(From OE-Core rev: 04d966c0a91c5e16555bba827969a0a2fd96bb96)

Signed-off-by: Mariano Lopez <just.another.mariano@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-11 21:12:48 +01:00
Mark Asselstine
a126d23833 goarch.bbclass: use MACHINEOVERRIDES and simplify go_map_arm()
Per https://github.com/golang/go/wiki/GoArm we need to set GOARM when
cross building for ARMv5, ARMv6 and ARMv7. The current approach of
using TUNE_FEATURES can be error prone, as we can see today when
attempting to build for Cortex-A7 which results in GOARM=''.

Since the value of MACHINEOVERRIDES already consolidates the values of
TUNE_FEATURES into something more consistent we can use the overrides
mechanism to set GOARM, leaving just a little bit of logic in
go_map_arm() to trigger off the arch (basically target vs host)
for the setting of GOARM.

(From OE-Core rev: 5f48939e26402b77fc3343f326765137f9570f40)

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-10 13:46:17 +01:00
Mark Asselstine
bb04858ea6 go.bbclass: Export more GO* environment variables
Currently we are not doing a good job of consolidating GO environment
variables used by the go build system in the go.bbclass, instead we
are relying on the individual GO recipe authors to perform the
exports. This can result in inconsistent build results and often
binaries that are not properly cross compiled, resulting in segfaults
when the applications are run on the target.

For example the GO documentation recommends that the environment
include a value assigned to GOARM when cross building for ARMv5, ARMv6
and ARMv7 (https://github.com/golang/go/wiki/GoArm).

In order to avoid polluting the build scripts with unnecessary
exports, such as run.do_compile, we attempt to only export variables
when they apply to a specific arch.

(From OE-Core rev: 6300c4a83f7c8fc88702798ffe25bd6d57091673)

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-10 13:46:17 +01:00
Ross Burton
4d1000a303 insane: fix gettext dependency warning
This message was using %s markers but nothing was being passed in.

(From OE-Core rev: d204398d40cbbea5a6b58a36fc289d569f2eb304)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-10 13:46:17 +01:00
Robert Yang
bd2b7d2213 sstate.bbclass: Use bb.utils.to_boolean() for BB_NO_NETWORK
Make it consistent with bitbake

(From OE-Core rev: 7fb540c3199bc2b82d60fff678b5e588ab4d1ad6)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-10 13:46:17 +01:00