Commit Graph

7759 Commits

Author SHA1 Message Date
Jacob Kroon
381ebd7439 rm_work: Simplify logic for setscene promotion
* Instead of overwriting the stamp name with 'dummy', handle
  setscene promotion in the default case block
* Merge '*do_image_complete_setscene*' and '*do_image_qa_setscene*'
  case handling

(From OE-Core rev: 3fe6574c93a02e2e67d16e66f24be1053af383b7)

Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-10 14:06:10 +00:00
Jacob Kroon
369ef217ff rm_work: Promote do_image_qa stamps to setscene versions
[ YOCTO #13212 ]

Suggested-by: Romuald Jeanne <romuald.jeanne@st.com>
(From OE-Core rev: 3d3bd7952cf4bf5c94e4d18b45a604b95b69e8c3)

Signed-off-by: Jacob Kroon <jacob.kroon@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-07 15:12:00 +00:00
Richard Purdie
f77b00c3f4 sstate: Add ability to hide summary output for sstate
Its confusing to keep seeing sstate summary messages when hash equivalency is
active. This adds an option to control it. A default value is given which
maintains compatibility with different bitbake versions.

(From OE-Core rev: 038004866ff6650bcff7bb1bde36de6c0f451d29)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-07 15:12:00 +00:00
Richard Purdie
61f5370c9b staging: Handle files moving between dependencies
Currently, if files move between recipes, do_prepare_sysroot can fail with a message like

Exception: FileExistsError: [Errno 17] File exists:
'TMPDIR/sysroots-components/core2-64/libx11/usr/include/X11/extensions/XKBgeom.h' ->
'TMPDIR/work/core2-64-poky-linux/gtk+3/3.24.8-r0/recipe-sysroot/usr/include/X11/extensions/XKBgeom.h'

This is because files are removed and then added per package. What needs to
happen is all removes need to be processed, then all additions.

This patch changes the code to process in two phases, removals first, then additions,
which avoids the problem.

(From OE-Core rev: e3e5ace6e68d5fe68e4add301a44c1a1b8607411)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-07 15:12:00 +00:00
Ross Burton
79018ee8d9 sanity: check for more bits of Python
(From OE-Core rev: d3dfaf8acdb072fb26346d2568c47d8742ea4fed)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-04 13:39:05 +00:00
Ross Burton
55d33e6f76 cve-check: failure to parse versions should be more visible
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-04 13:39:04 +00:00
Ross Burton
3e36ab8dad cve-check: ensure all known CVEs are in the report
CVEs that are whitelisted or were not vulnerable when there are version
comparisons were not included in the report, so alter the logic to ensure that
all relevant CVEs are in the report for completeness.

(From OE-Core rev: 98256ff05fcfe9d5ccad360582c36eafb577c264)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-31 16:09:35 +00:00
Richard Leitner
4506cb4e34 kernel-fitimage: introduce FIT_SIGN_ALG
make fitImage configuration signature algorithm selectable with
FIT_SIGN_ALG.

(From OE-Core rev: e24b27a2b49e97cec6153f2d642d17a901b8ba12)

Signed-off-by: Richard Leitner <richard.leitner@skidata.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-31 16:09:34 +00:00
Andreas Müller
29b733d7b8 IMAGE_LINGUAS_COMPLEMENTARY: auto-add language packages other than locales
This change allows layers adding packages other than locales automatically to
images based on languages selected in IMAGE_LINGUAS.

E.g if a layer has recipes creating packages as:
| ${PN}-foo-en / ${PN}-foo-de / ${PN}-foo-it / ..

it would set
| IMAGE_LINGUAS_COMPLEMENTARY_append = " *-foo-%s"

in its layer.conf to enable auto-adding.

(From OE-Core rev: 3a9e9585aeb67234901b2f842113dbe20c3801b3)

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-31 16:09:34 +00:00
Mike Crowe
dcf52753ab kernel-devicetree: Cope with non-standard kernel deploy subdirectory
kernel.bbclass installs non-standard kernels (where
KERNEL_PACKAGE_NAME is not "kernel") in a subdirectory of ${DEPLOYDIR}.
To achieve this kernel_do_deploy sets the deployDir shell variable to
${DEPLOYDIR} for the standard kernel or
${DEPLOYDIR}/${KERNEL_DEPLOYSUBDIR} for non-standard kernels.

kernel-devicetree.bbclass's do_deploy_append ought to do the same
and can do so by using the same shell variable.

(From OE-Core rev: db5752911fe085337b9d3d4af85f89a0c664388e)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-23 16:30:36 +01:00
Mike Crowe
66b6ddf80c kernel-fitimage: Cope with non-standard kernel deploy subdirectory
kernel.bbclass installs non-standard kernels (where
KERNEL_PACKAGE_NAME is not "kernel") in a subdirectory of ${DEPLOYDIR}.
To achieve this kernel_do_deploy sets the deployDir shell variable to
${DEPLOYDIR} for the standard kernel or
${DEPLOYDIR}/${KERNEL_DEPLOYSUBDIR} for non-standard kernels.

kernel-fitimage.bbclass's kernel_do_deploy_append ought to do the same
and can do so by using the same shell variable.

(From OE-Core rev: d324b22d32eaea9e4337c963c8b1a33b0ba6a2dd)

Signed-off-by: Mike Crowe <mac@mcrowe.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-23 16:30:36 +01:00
Ola x Nilsson
e6deec21d6 libc-package.bbclass: Use with to manage filehandle in do_spit_gconvs
Tweak the write loop slightly to avoid dict lookups that can easily be
done in the for loop.

(From OE-Core rev: 35c65b7336c52c19810e3e9e87a36a8636ac4120)

Signed-off-by: Ola x Nilsson <olani@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-23 16:30:36 +01:00
Ola x Nilsson
4bc072c7fb devtool-source.bbclass: Use with to manage file handle lifetime
Replace copy-and-if with a filtering list comprehension.

(From OE-Core rev: eb763856be8da854d37c7d4b8e8d645ab1d3fa06)

Signed-off-by: Ola x Nilsson <olani@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-23 16:30:36 +01:00
Ola x Nilsson
95dca0ec5a package.bbclass: Use with to manage file handle lifetimes
(From OE-Core rev: e90978056c4b49e138b3d422939bf995829ec3b0)

Signed-off-by: Ola x Nilsson <olani@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-23 16:30:36 +01:00
Ola x Nilsson
a92ef13e3d report-error.bbclass: Use with to control file handle lifetime
(From OE-Core rev: ab108dfc690fb95b66f1c6243ff165f0849fa2b1)

Signed-off-by: Ola x Nilsson <olani@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-23 16:30:36 +01:00
Douglas Royds via Openembedded-core
0130498a8f icecc: Export ICECC_CC and friends via wrapper-script
By exporting ICECC_CC, ICECC_CXX, and ICECC_VERSION in a wrapper-script,
and putting this wrapper-script in the PATH, the Makefiles generated by CMake or
the autotools are able to function correctly outside of bitbake.
This provides a convenient developer workflow in which the
modify-compile-unittest cycle can happen directly in the ${B} directory.

The `rm -f $ICE_PATH/$compiler` line is transitional,
and can go at some later date (October 2020 or later, perhaps).

(From OE-Core rev: 40d74cb1d0ddce930267e49764cacb263b244091)

Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-23 16:30:36 +01:00
Michael Ho
dbba06d915 cmake.bbclass: add HOSTTOOLS_DIR to CMAKE_FIND_ROOT_PATH
The find_program command will fail if it is used on a tool that is listed in
ASSUME_PROVIDED. This is because these tools are in the hosttools directory
which is not listed in CMAKE_FIND_ROOT_PATH so cmake will not find them.

Adding the directory HOSTTOOLS_DIR to the CMAKE_FIND_ROOT_PATH variable fixes
the initial issue of needing to search for tools in ASSUME_PROVIDED.

Note that this change alone does not fix the issue because find_program will
by default only look into the subdirectories bin and usr/bin under the paths
in CMAKE_FIND_ROOT_PATH to find the programs and the hosttools directory has
instead the symlinks directly present without these subdirectories.

Set CMAKE_PROGRAM_PATH to by default include the root directory so
find_program can search the hosttools directory without needing the prefix
directories.

(From OE-Core rev: 7847f431cd8db59fce8c9401a603c4b0678ee16d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-23 16:30:35 +01:00
Richard Purdie
f7f4cfb51f tinderclient: Drop obsolete class
This was used for build result reporting back in the OE-Classic days. Its
not been touched in years, isn't used as far as I know and can be removed.

(From OE-Core rev: f5d107f2ac448d6fe9fe8e4a2451e5cefdfd892a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-23 16:30:35 +01:00
Mikko Rapeli
1b3f5bd39e systemd.bbclass: enable all services specified in ${SYSTEMD_SERVICE}
This has been the traditional way of enabling systemd services.
It may conflict with presets feature, but other layers, image classes
and recipes add services to be enabled using SYSTEMD_SERVICE
variable also with read-only rootfs, e.g. IMAGE_FEATURES has
stateless-rootfs and systemd_preset_all task is not executed.

Fixes startup of custom services from our recipes using custom
image classes with various BSP layers. In the worst case even
serial console getty service wasn't starting due to dependency
no not enabled services.

(From OE-Core rev: 68a10763e64764a0d43be9162e7b99833f5296db)

Signed-off-by: Mikko Rapeli <mikko.rapeli@bmw.de>
Cc: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-19 23:18:33 +01:00
André Draszik
8073884454 testimage.bbclass: enable ssh agent forwarding
Some targets might use ssh to do their power- or serial-
control. In that case, ssh might need access to the
ssh agent, or otherwise won't work.

So export it into the environment.

Note that the (old) oeqa/controllers/masterimage.py
tries to do that as well by exporting all of BB_ORIGENV
into the test environment. Here in testimage.bbclass we
are a bit more strict and only pass the ssh related
environment variables.

(From OE-Core rev: d99617b8f2a9354b7357524fcd2eee16af0677b7)

Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-19 23:18:33 +01:00
André Draszik
c25a3336e2 testimage.bbclass: support hardware-controlled targets
Since the introduction of the new runtime framework for target
testing in commit 2aa5a4954d76
("testimage.bbclass: Migrate class to use new runtime framework")
commit 3857e5c91d in poky.git, target controllers have no
access to the global datastore 'd' anymore.

This makes it impossible for a specific OEQA (hardware)
controller to access documented properties like
TEST_POWERCONTROL_CMD, TEST_SERIALCONTROL_CMD, etc,
meaning it's impossible for those controllers to actually
control the hardware.

To solve this, simply add those documented variables into
the target_kwargs[].

(From OE-Core rev: 0ab7e3b573a58cc3a869ef33fd8737ca7fe04550)

Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-19 23:18:33 +01:00
Stefan Agner
b236454b83 uninative: check .done file instead of tarball
In case multiple builds share UNINATIVE_DLDIR's location, one build
might be in the process of downloading the tarball while another is
just checking whether the tarball exists. Check for the done file
instead and rely on the fetchers lockfile mechanism in case two
builds are running.

(From OE-Core rev: a1c95580549cb4f77601e62c7f026b19c752d853)

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-19 23:18:33 +01:00
Ross Burton
80739381b1 sanity: check the format of SDK_VENDOR
If SDK_VENDOR isn't formatted as -foosdk and is instead for example -foo-sdk
then the triple that are constructed are not in fact triples, which results in
mysterious compile errors.

Check in sanity.bbclass so this failure is detected early.

[ YOCTO #13573 ]

(From OE-Core rev: b0efd8d4d0dbc30e6505b42f5603f18fa764d732)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-19 23:18:33 +01:00
Mattias Hansson
911d784d9c base.bbclass: add dependency on pseudo from do_prepare_recipe_sysroot
do_prepare_recipe_sysroot may perform groupadd, which requires pseudo.
However, do_prepare_recipe_sysroot does not depend on pseudo explicitly,
which sometimes causes a build error when building a recipe that adds
groups.

This issue only occurs when executing do_prepare_recipe_sysroot for a
recipe that adds groups before finishing a task that depends on pseudo
for a recipe that doesn't add groups.

(From OE-Core rev: 427320d7621846d57649af46bf57c88f86cac612)

Signed-off-by: Mattias Hansson <mattihn@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-19 23:18:33 +01:00
Alexander Kanavin
25df405d4b license_image.bbclass: check and reject packages which have incompatible licenses
The use case is setting INCOMPATIBLE_LICENSE per image,
rather than as an awkward, and too strict global setting.

This for example would allow building development images with gplv3 tools,
but production images without them, and checking that nothing gpl3-licensed
gets into the latter.

Examples are provided via the selftest: four scenarios are tested:

- bash is added to the image, with a default gpl3 license; this is rejected
- bash is added to the image, with a "gpl3 & other" license; this is also rejected
- bash is added to the image, with a "gpl3 | other" license; this is accepted, but
only 'other' is added to the license manifest (this was already handled correctly
previously).
- bash is added to the image with a default gpl3 license, and is additionally
whitelisted for that image; this is accepted.

Eventually, this would allow deprecating the meta-gplv2 layer, while still
enforcing the no-gpl3 rule where possible and needed.

(From OE-Core rev: fd50395bc0783a3cce7b5b0d7398f22783ebbeca)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-15 14:16:10 +01:00
Alexander Kanavin
f46b73658e license.bbclass: split incompatible license check into a helper function
This would help with checking incompatible licenses at do_rootfs step
in image creation, where it is beneficial to pass the license string
directly to the function.

(From OE-Core rev: 8a0f342e4fc33b1aa53089b1de583d45d2951476)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-15 14:16:10 +01:00
Trevor Gamblin
e9ab95da30 systemd.bbclass: add RMINITDIR for nativesdk builds
nativesdk builds such as nativesdk-dnf are installing systemd
service files, leading bitbake to throw installed-vs-shipped
warnings, but these are not needed in nativesdk:

 WARNING: nativesdk-dnf-4.2.2-r0 do_package: QA Issue: nativesdk-dnf: Files/directories were installed but not shipped in any package:
      /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib
      /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd
      /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system
      /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-automatic.timer
      /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-makecache.timer
      /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-automatic.service
      /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-makecache.service
      /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-automatic-notifyonly.timer
      /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-automatic-download.service
      /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-automatic-download.timer
      /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-automatic-notifyonly.service
      /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-automatic-install.timer
      /usr/local/oecore-x86_64/sysroots/x86_64-oesdk-linux/lib/systemd/system/dnf-automatic-install.service
    Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install.
    nativesdk-dnf: 13 installed and not shipped files. [installed-vs-shipped]

Rather than have each recipe remove the files, an RMINITDIR case
for nativesdk builds should be added to systemd.bbclass.

(From OE-Core rev: 86092fdac2ed2935b25a6c05f16055df77a10575)

Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-09 14:07:43 +01:00
Ross Burton
5d8648b058 toolchain-scripts: export READELF
The readelf binary is prefixed, so export READELF in the SDKs so that the
correct readelf binary can be used.

This fixes problems with the symbol extractor in Meson with multilib SDKs where
readelf can't be found correctly.

(From OE-Core rev: 2795e3bfdefc9f48294802ea7301dae1910553dc)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-09 14:07:43 +01:00
Ross Burton
a5a5708dbb insane: add check for perllocal.pod
perlocal.pod is an index file of locally installed modules and so shouldn't be
installed by any distribution packages.  cpan.bbclass already sets NO_PERLOCAL
to stop this file being generated by most Perl recipes, but if a recipe is using
MakeMaker directly (such as rrdtool) then they might not be doing this
correctly.

To avoid multiple packages shipping this file and then failing to install
together, add a QA test to check if this file exists and by default emit an
error if it does.

[ YOCTO #13491 ]

(From OE-Core rev: 5d16d265cc61c4e279fe3bf66016a00d9daa4068)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-08 11:22:24 +01:00
Martin Jansa
ec6c982949 kernel-devicetree.bbclass: add missing backslash
* in oe-core commit 1860d9d3c62e2e94cd68a809385873ffd8270b6d I've accidentally
  removed the backshash here

Reported-By: "Hilsdorf, Jan (LAWO)" <Jan.Hilsdorf@lawo.com>
(From OE-Core rev: 44f0047c0268f3e9f9fdf78f93bdad9bfe491174)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-08 11:22:24 +01:00
Alessio Igor Bogani
a558e507ae rootfs-postcommands: Avoid use of an hard-coded value
(From OE-Core rev: 520c6f30cd571166a0d890d86b461f24f7a6998f)

Signed-off-by: Alessio Igor Bogani <alessio.bogani@elettra.eu>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-02 20:22:25 +01:00
Richard Purdie
ed05d969ea base: Improve module import error message
Turn:

ERROR: Unable to parse Var <OE_IMPORTED[:=]>
Traceback (most recent call last):
  File "Var <OE_IMPORTED[:=]>", line 1, in <module>
  File "/media/build1/poky/meta/classes/base.bbclass", line 35, in oe_import(d=<bb.data_smart.DataSmart object at 0x7f1d941ad208>):
         for toimport in oe.data.typed_value("OE_IMPORTS", d):
    >        imported = __import__(toimport)
             inject(toimport.split(".", 1)[0], imported)
  File "/media/build1/poky/meta/lib/oe/sstatesig.py", line 267, in <module>:

    >class SignatureGeneratorOEEquivHash(SignatureGeneratorOEBasicHashMixIn, bb.siggen.SignatureGeneratorUniHashMixIn, bb.siggen.SignatureGeneratorBasicHash):
         name = "OEEquivHash"
bb.data_smart.ExpansionError: Failure expanding variable OE_IMPORTED[:=], expression was ${@oe_import(d)} which triggered exception AttributeError: module 'bb.siggen' has no attribute 'SignatureGeneratorUniHashMixIn'

into:
ERROR: Error importing OE modules: module 'bb.siggen' has no attribute 'SignatureGeneratorUniHashMixIn'

which can then trigger a version mismatch error message.

(From OE-Core rev: 5b01726d1cf478aba8d1acc73e29f6cab0c9371e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-02 20:22:25 +01:00
André Draszik
a98bc7dcdf packagegroup: fix a comment regarding PACKAGE_ARCH
packagegroups whose dependencies are affected by MACHINE_FEATURES
need to be marked as MACHINE_ARCH *before* inheriting the
packagegroup class, not after.

This has changed in commit 9c826962ec8f
("packagegroup: Make allarch inherit conditional"),
commit 4f3f34deaf in poky but the comment here
wasn't updated at the time.

(From OE-Core rev: 7eae2502936aa36401491cd1e0e5975db96529ae)

Signed-off-by: André Draszik <andre.draszik@jci.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-02 20:22:25 +01:00
Joe Slater
4457c74ee5 bash-completion: add image feature
Create bash-completion-pkgs image feature to load *-bash-completion packages
into an image.  The packages are created by the bash-completion
bbclass but are currently never loaded.

(From OE-Core rev: d47c5981877555a5a6b9aeb93ea6f3c1aa97fc44)

Signed-off-by: Joe Slater <joe.slater@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-02 20:22:25 +01:00
Douglas Royds
8946c65c8f icecc: Don't use icecc when INHIBIT_DEFAULT_DEPS is set
We don't have a compiler, so no icecc.
Silences a spew of warnings of the form:

    do_configure: Cannot use icecc: could not get ICECC_CC or ICECC_CXX

(From OE-Core rev: 0315aabeff8e6483b737d0e23d6841f1394ad3c8)

Signed-off-by: Douglas Royds <douglas.royds@taitradio.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-02 20:22:25 +01:00
Joshua Watt
4148650475 classes/reproducible_build: Create SDE destination
Creates the source data epoch file destination directory when restoring
from sstate

(From OE-Core rev: f5259a62d444dfc221a9ba592dbca35564f794ac)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-10-02 20:22:25 +01:00
Richard Purdie
e25ee9fe28 populate_sdk_ext: Fix for hash equiv
Write out the hash equiv cache file into any eSDK so that it doesn't rely
on having to call the hash server for the basic data requests.

(From OE-Core rev: 05c6842e747261b3350d6325e238429cf8728ca0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-30 16:55:21 +01:00
Heiko Schocher
2c58079222 kernel.fitimage.bbclass: remove ramdisk_ctype
set in the ramdisk node the compression property
always to "none", as U-Boot nowadays since commit:

b1307f884a91 ("fit: Support compression for non-kernel components (e.g. FDT)")

decompress non kernel components. Setting compression
to the used comression algorithm now, will end in
fail of your kernel boot with the ramdisk.

This issue is fixed since commit:

bddd98573465 ("fit: Do not automatically decompress ramdisk images")

which now prints a warning in U-Boot, instead of decompressing
the ramdisk, but we should setup compression property correct.

(From OE-Core rev: f963a51544a9a7b1abbaa87c95b3c0279847d697)

Signed-off-by: Heiko Schocher <hs@denx.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-27 13:02:17 +01:00
Joshua Watt
68092163cc classes/reproducible_build: Move SDE deploy to another directory
The deployment of the source date epoch file had a race condition where
any task attempting to read from the file would race with creation of
the sstate archive for the do_deploy_source_date_epoch task. The
creation of the sstate archive requires moving the directory to a
temporary location, then moving it back. This means that the file
disappears for a short period of time, which will cause a failure if any
other task is running and trying to open the file to get the current
source date epoch.

The solution is to copy the source date epoch file to a separate
directory when deploying so the file never disappears. When the file is
restored from sstate, it is moved to the correct location after being
extracted.

[YOCTO #13501]

(From OE-Core rev: ac27d12fe5480e9b8cc93de6a32bf9631c52d7f4)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-27 13:02:16 +01:00
Böszörményi Zoltán via Openembedded-core
72051e74d6 classes/image-live.bbclass: Don't hardcode cpio.gz
There's INITRAMFS_FSTYPES that can be set differently.

(From OE-Core rev: 141d02400696020e83df3edcf13021fde139d261)

Signed-off-by: Böszörményi Zoltán <zboszor@pr.hu>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-27 13:02:16 +01:00
Jonathan Marler
f7d46843e9 package: Multiple shlib_providers for the same file should error
In the case where multiple packages provide the same file, we show an error.
Otherwise, python will generate a different build depending on which provider
appears first in the dictionary.  On my system this order changes every time
I run bitbake causing intermittent build differences.

Add a sorted() to fix the determinism issue too.

(From OE-Core rev: 61c41369003444bfbf1c45e7cfd2752a4b7bc22f)

Signed-off-by: Jonathan Marler <johnnymarler@hp.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-27 13:02:16 +01:00
Peter Kjellerstedt
62c67d0c0d package_rpm.bbclass: Remove a misleading bb.note()
It should have been removed in 3db9d865 (classes/package_rpm.bbclass:
Enhance diagnostic messages) when it was split in two new notes.

Also change the casing of two other notes to align them with the other
notes.

(From OE-Core rev: b40e245795cd19c7d36df096fa1f30c75490ce46)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-19 20:30:35 +01:00
Nathan Rossi
4420f6d0c2 meson.bbclass: Handle microblaze* mapping to cpu family
(From OE-Core rev: 01692856b8294109ac553c5c0cc23dbb5f1a8970)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-19 20:30:35 +01:00
Quentin Schulz
9daa97bea8 externalsrc: stop rebuilds of 2+ externalsrc recipes sharing the same git repo
externalsrc do_configure task watches oe-devtool-tree-sha1 file and its
checksum. That file basically contains the result of `git add -A
${EXTERNALSRC} && git write-tree` which is the hash of temporary
"commit" of the non committed changes. This file is stored in the .git
directory of the git repo of the externalsrc recipe. do_configure then
depends on the checksum of oe-devtool-tree-sha1 file.

If 2+ recipes with different externalsrc paths but same git repo (e.g.
one recipe at /some/path and the other at /some/path/subdir) are parsed,
this oe-devtool-tree-sha1 will be overwritten by those recipes at
parsing time since .git is shared between those recipes.

If there is one non committed git change in /some/path but not in
/some/path/subdir, the oe-devtool-tree-sha1 of both recipes will be
different.

What will happen is that recipe1 will watch over the
oe-devtool-tree-sha1 with a specific checksum, fill in file-checksums
for do_configure correctly, then recipe2 will watch over the identically
named file with different content also fill in the file-checksums
varflag. When do_configure of recipe1 will be evaluated for
re-execution, oe-devtool-tree-sha1 will be of the value of what is
watched over by recipe2, thus triggering a rebuild of recipe1.

This behavior is not always reproducible which I'm guessing is due to a
small window between recipe1 putting info into oe-devtool-tree-sha1 and
calculating the checksum of that file and recipe2 putting its content
into oe-devtool-tree-sha1.

By appending the name of the recipe to oe-devtool-tree-sha1, we make
sure that a recipe won't have its oe-devtool-tree-sha1 overwritten by
another recipe sharing the same externalsrc git repo.

(From OE-Core rev: 1b727dd7295a7a7fe17800f8038242efbf7fe2b7)

Signed-off-by: Quentin Schulz <quentin.schulz@streamunlimited.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-19 20:30:35 +01:00
Jaewon Lee
88db9e41c1 populate_sdk_ext: Introduce mechanism to keep nativesdk* sstate in esdk
When doing a devtool build-sdk from within an esdk all nativesdk
components would be rebuilt. This patch introduces SDK_INCLUDE_NATIVESDK
flag to toggle the inclusion of nativesdk packages when creating the
esdk sstate

Currently locked-sigs.inc is generated during do_sdk_depends which
doesn't pull in nativesdk packages. Generating another locked-sigs.inc
in do_populate_sdk_ext and pruning it to only nativesdk* packages by
using a modified version of the already existing function
prune_locked_sigs and merging it with the current locked-sigs.inc
Also adding SDK_INCLUDE_NATIVESDK tasklistfn to the logic surrounding
setting tasklist file to not prune esdk sstate during creation

[YOCTO #13261]

(From OE-Core rev: d046afd12e1c209b29dca6ba402b9aa14680c5ce)

Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-19 15:27:02 +01:00
Joshua Watt
ec33280c00 classes/archiver: Fix WORKDIR for shared source
When archiving patched source, WORKDIR should only be changed to
${ARCHIVER_WORKDIR} if the recipe doesn't use a shared work directory.
This matches the behavior of do_unpack_and_patch for these recipes.

This fixes kernel recipes that set S = "${WORKDIR}/git"

(From OE-Core rev: e3caee8f86f2cca1d052f1f1b233018a3d4baa97)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-19 10:54:33 +01:00
Ross Burton
f3977f03a1 rootfs-postcommands: check /etc/gconf exists before working on it
Check that /etc/gconf exists before trying to find files under it, to avoid
writing find error messages to the rootfs log.

Also use ${sysconfdir}/gconf instead of hardcoding /etc/gconf.

(From OE-Core rev: 70a77b91031388ea29eff6b8885fd25cc35b1dae)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-19 10:54:32 +01:00
Changqing Li
0f866a92e1 report-error.bbclass: add local.conf/auto.conf into error report
sometimes, it is not enough to reproduce a failed build with current
info on error reports web, add local.conf/auto.conf into error
report to make it more easier to reproduce failed build

Note: this need work together with change in repo error-report-web,
which will display local.conf and auto.conf as Error Details

[YOCTO #13252]

(From OE-Core rev: 7adf9707c04d8ef6bcd8d8bda555687f705e6ee6)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-19 10:54:32 +01:00
Dmitry Eremin-Solenikov
4ad3130c20 live-vm-common.bbclass: provide efi population functions for live images
Define common functions for populating EFI directories in live image by
reusing common code from grub-efi and systemd-boot bbclasses.

(From OE-Core rev: 3728899a0cd543793db258da0976362b4bde7133)

Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin-solenikov@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-19 10:54:32 +01:00
Dmitry Eremin-Solenikov
94df595512 systemd-boot.bbclass: switch to image-uefi.conf
Use variables from image-uefi.conf instead of hardcoding them in the class.

(From OE-Core rev: 094c272a74b4963ea5c010b9701bb83fa799a558)

Signed-off-by: Dmitry Eremin-Solenikov <dmitry_eremin-solenikov@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-19 10:54:32 +01:00