1
0
mirror of https://git.yoctoproject.org/poky synced 2026-05-09 05:29:32 +00:00
Commit Graph

59640 Commits

Author SHA1 Message Date
Michael Thalmeier acc22a2753 IMAGE_LOCALES_ARCHIVE: add option to prevent locale archive creation
Under some circumstances it is not desirable to create a combined locale
archive (/usr/lib/locale/locale-archive).
The new variable IMAGE_LOCALES_ARCHIVE defaults to '1', so the default
behaviour is not changed.

(From OE-Core rev: 8d78b819c2ec33fce3a34254fa90864ee5fa7617)

Signed-off-by: Michael Thalmeier <michael.thalmeier@hale.at>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-13 09:42:08 +01:00
Naoki Hayama a1f503df6e uninative: Fix typo in error message
Fix typo in an error message.
s/verson/version/

(From OE-Core rev: bc96db2e0b5b8a9cc2c909ea70df290e03a50b94)

Signed-off-by: Naoki Hayama <naoki.hayama@lineo.co.jp>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-13 09:42:08 +01:00
Peter Kjellerstedt 500fa84551 tune-cortexa65.inc: Correct TUNE_FEATURES_tune-cortexa65
It incorrectly specified "cortexa55" instead of "cortexa65".

(From OE-Core rev: 25317c51d4d0ac922f4bd555aae9fbfe48a1aa40)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-13 09:42:08 +01:00
Jon Mason 57a607fb2a tune-cortexa32: fix cortexa32 tune
Cortex-A32 is 32bit only, but the recent changes had it working as
64bit (causing build breaks).  This reverts that change in this file.

(From OE-Core rev: 2957379c85c245f183e7e94e30c2b504fc25cedf)

Signed-off-by: Jon Mason <jon.mason@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-13 09:42:08 +01:00
Joshua Watt 633652284b classes/waf: Add build and install arguments
Adds variables that can be used to allow a recipe to pass extra
arguments to `waf build` and `waf install`. In most cases, you want to
pass the same arguments to `build` and `install` (since install is a
superset of `build`), so by default setting EXTRA_OEWAF_BUILD also
affects `waf install`, but this can be overridded.

(From OE-Core rev: 493e17a2f5cbbbe3b1e435dadb281b007bca2cbf)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-13 09:42:08 +01:00
Richard Purdie 0c0b236b4c bitbake: process: Show command exceptions in the server log as well
There are autobuilder logs where the server commands are failing
but we have no debug info in the server log. Improve this to try and
understand what is failing.

(Bitbake rev: 04d3a79226c9ea448b22f4efbab33876a72c9bdb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-11 13:44:26 +01:00
Richard Purdie aa7a09569a oeqa/selftest/runtime_test: Exclude gpg directory from pseudo database
Avoid pseudo abort()s like:
path mismatch [1 link]: ino 6295376 db '/tmp/oeqa-feed-sign-2mw7z81v/S.gpg-agent.yocto-native' req '/tmp/jwkivmu6'.

(From OE-Core rev: 189630ca6cdf7ceb6cf9b8f9d86c58997f505efc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-10 23:37:59 +01:00
Richard Purdie 8dd784b2dd skeleton/baremetal-helloworld: Fix trailing slash
This fixes a warning about a trailing slash on ${S}.

(From OE-Core rev: 0685dac31a7ae614d9f75cd51b59c45dd050f52e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-10 13:37:56 +01:00
Yann Dirson 68aa8a24b1 rngd: fix --debug to also filter syslog() calls
Debug logs were only controlled by --debug flag while in --foreground mode.
In --daemon mode (the default for us) /var/log/message got stuffed with
details of entropy pool refilling, which is useless in production, and
hamful when log rotation then gets rid of the more useful logs.

This change makes the two modes consistently only produce debug logs when
--debug is specified.

(From OE-Core rev: 914526868656fd279b13ba8e4d721d27cb2a8792)

Signed-off-by: Yann Dirson <yann@blade-group.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-10 13:37:56 +01:00
Yoann Congal c46b3352aa bitbake-bblayers/create: Make the example recipe print its message
The example recipe is setup to print a message using bb.plain() in the
"do_build" task but this task is "noexec" so the message never prints.
This might be confusing.

This moves the message printing into another "do_display_banner" task
and add it to the do_build "before" list.

(From OE-Core rev: 252385bef9b226f32691b8513869ea3e41813b40)

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-10 13:37:56 +01:00
Richard Purdie 57a1ccaa19 oe-build-perf-report: Ensure correct data is shown for multiple branch options
If --branch and --branch2 are the same, there is extra confusing data plotted
onto the graph. Only do that if the branches are actually different.

(From OE-Core rev: c263d810b7eb47ee90f2adeb5ab6decf7332bec2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-10 13:37:56 +01:00
Richard Purdie 5088e3b64b scripts/oe-build-perf-report: Allow operation with no buildstats
If buildstats is missing, avoid a backtrace.

(From OE-Core rev: 23c4b21f947c7aae1303ca6526fc5aaaa9fc7bb8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-10 13:37:56 +01:00
Martin Jansa f5b4cd065f base.bbclass: warn when there is trailing slash in S or B variables
* to make sure we won't hit such corner cases in future add a warning
  to prevent trailing slashes and duplicated slashes even when they
  in most cases don't cause harm

* only a few cases were found in layers included in my world builds:
  oe-core: 1
  meta-oe: 7
  meta-python2: 1
  meta-qt5: 1
  meta-aws: 1

  will send patches for these once this warning is approved for oe-core

(From OE-Core rev: 8a4c473c07cba159cf88ed775b9f073c6adf31d4)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-10 13:37:56 +01:00
Martin Jansa 0576fb4b6f mtd-utils: don't use trailing slash in S
(From OE-Core rev: c77651549dd382007c60767076a1a1c72e282bca)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-10 13:37:56 +01:00
Martin Jansa a5ab8d428f base.bbclass: use os.path.normpath instead of just comparing WORKDIR and S as strings
* cannot use os.path.samefile, because S/B might not exist at this time yet

* there is issue with PSEUDO_IGNORE_PATHS when some recipe sets e.g.
  S = "${WORKDIR}/"
  whole WORKDIR gets added to PSEUDO_IGNORE_PATHS and then the build
  can fail with various strange errors, in my case do_package was
  failing when do_package calls:
  fix_perms(.../1.0-r0/package/etc, 755, 0, 0, /etc)
  and fails with "[Errno 1] Operation not permitted:"

(From OE-Core rev: 50b11a61ab29acb8ec990668353e0b7305114628)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-10 13:37:56 +01:00
Richard Purdie ebaa3e3f51 bitbake: tinfoil: When sending commands we need to process events
The server may be displaying useful information for the user through log
messages so we should display anything that has been sent. Its either this
or expecting every UI to implement this code around every command call
which isn't good API.

[YOCTO #14054]

(Bitbake rev: 64ae9d7e2fad804dd9e12706c6d76b4b22f9586b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-10 13:37:56 +01:00
Richard Purdie 20397f8d4b bitbake: command: Ensure exceptions inheriting from BBHandledException are visible
Previous changes allowed BBHandledException to be detected but not exceptions
which inherit from it. Fix this. The code really needs totally reworking
to preserve the exceptions.

[YOCTO #14054]

(Bitbake rev: ef762d92df6c2554c6248e80212f984d9ec4c651)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-10 13:37:56 +01:00
Richard Purdie e3cab68b9a poky.conf: Drop OELAYOUT_ABI poking
This has been the same as OE-Core for a long time, drop our custom settings.

(From meta-yocto rev: 8c1084f3fd4ca987c3307f4c4c1475b40060ce3f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-09 12:03:31 +01:00
Richard Purdie d446d8b818 pseudo: Upgrade to include mkostemp64 wrapper
Newer systems are using this currently unwrapped glibc function,
add it.

[YOCTO #14080]

(From OE-Core rev: cba4f51f0166e2c20e854ee0344be0c58769eaca)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-09 12:03:31 +01:00
Richard Purdie 78b2a07710 pseudo: Update to account for patches merged on branch
(From OE-Core rev: ea22fb3aa1c5dd3edcd1d8b415a0843a9ee4677c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-09 12:03:31 +01:00
Richard Purdie 49bc76ec33 abi_version,sanity: Tell users TMPDIR must be clean after pseudo changes
After the recent path ignore changes, there are invalid entries in exiting
pseudo databases which will trip up users with the new abort() (proving
how common the pseudo potential corrpution is!). Inform them a clean TMPDIR
is needed.

(From OE-Core rev: 016ee90e210c9b15b80e8370d83f41a14867a413)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-09 12:01:24 +01:00
Armin Kuster 601449ff5c timezone: update to 2020b
For more info see: https://github.com/eggert/tz/blob/master/NEWS

(From OE-Core rev: b19bc7ae71a59673bd725e1de3251667c2026ed5)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-09 12:01:24 +01:00
Jon Mason 16bbaba389 armv8/tunes: Add tunes for supported ARMv8.2a cores
Add tunes for all the ARMv8.2a cores currently supported in GCC.  This
is: Cortex-A65, Cortex-A65AE, Cortex-A75, Cortex-A76, Cortex-A76AE,
Cortex-A77, Neoverse-E1, Neoverse-N1, Cortex-A75-Cortex-A55, and
Cortex-A76-Cortex-A55.

(From OE-Core rev: f15e83df1d4ed4172b43d5b353cf42640862a28e)

Signed-off-by: Jon Mason <jon.mason@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-09 12:01:24 +01:00
Jon Mason 92b96222b9 armv8/tunes: Add tunes for supported ARMv8a cores
Add tunes for all the ARMv8a cores currently supported in GCC.  This
is: Cortex-A34, Cortex-A73, and Cortex-A73-Cortex-A35.

(From OE-Core rev: fdf6921f145658b1f1c2e7413a2cde6857ddb768)

Signed-off-by: Jon Mason <jon.mason@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-09 12:01:24 +01:00
Jon Mason 6af96ac134 armv8/tunes: reference parent's TUNE_FEATURES
Uniformity clean-up, have the individual tunes reference the armv8a TUNE_FEATURES.

(From OE-Core rev: 3ac533127d444f39ad550ce923f494d0eb766ab5)

Signed-off-by: Jon Mason <jon.mason@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-09 12:01:23 +01:00
Jon Mason 18c510e05c armv8/tunes: Move TUNECONFLICTS
Move TUNECONFLICTS to the generic arm64 inc file, so that it can provide
coverage for more than just the big.LITTLE tunes.

(From OE-Core rev: 8022543d79b62b0daa4c988e17cd3e2c364d3cf1)

Signed-off-by: Jon Mason <jon.mason@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-09 12:01:23 +01:00
Victor Kamensky ba6780568d qemumips: use 34Kf-64tlb CPU emulation
In order to improve performance of qemumips autobuilder
test runs, let's use 34Kf-64tlb cpu type that was introduced
in OE version of qemu. 34Kf-64tlb cpu type is identical to
34Kf but it has 64 TLBs configure vs original 16 TLBs.

The change in number of TLBs in emulated CPU reduces
TLB trash and reduces number of times TLB refill kernel
code runs, and therefore siginificantly improves tests
execution time.

Note 34Kf-64tlb qemu cpu type does not exist in upstream,
so far it is added as patch in OE. See qemu 34Kf-64tlb
cpu addition commit for more details.

Fixes https://bugzilla.yoctoproject.org/show_bug.cgi?id=13992

(From OE-Core rev: 6a9568401cbf8bed89d1f63dae61a07a83a20b50)

Signed-off-by: Victor Kamensky <kamensky@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-08 11:28:58 +01:00
Victor Kamensky f6f5d09205 qemu: add 34Kf-64tlb fictitious cpu type
In Yocto Project PR 13992 it was reported that qemumips
in autobuilder runs almost twice slower then qemumips64 and
some times hit time out.

Upon investigations of qemu-system with perf, gdb, and
SystemTap and comparing qemumips and qemumips64 machines
behavior it was noticed that qemu soft mmu code behaves
quite different and in case if qemumips tlbwr instruction
called 16 times more oftern. It happens that in qemumips64
case qemu runs with cpu type that contains 64 TLB, but in case
of qemumips qemu runs with cpu type that contains only
16 TLBs.

The idea of proposed qemu patch is to introduce fictitious
34Kf-64tlb cpu type that defined exactly as 34Kf but has
64 TLBs, instead of original 16 TLBs.

Testing of core-image-full-cmdline:do_testimage with
34Kf-64tlb shows 40% or so test execution real time
improvement.

Note for future porters of the patch: easiest way to update
the patch and be in sync with 34Kf definition is to copy
34Kf machine definition and apply the following changes to
it (just change 15 to 63 of CP0C1_MMU bits value)

[kamensky@coreos-lnx2 qemu]$ diff ~/34Kf.c ~/34Kf-64tlb.c
2c2
<         .name = "34Kf",
>         .name = "34Kf-64tlb",
6c6
<         .CP0_Config1 = MIPS_CONFIG1 | (1 << CP0C1_FP) | (15 << CP0C1_MMU) |
>         .CP0_Config1 = MIPS_CONFIG1 | (1 << CP0C1_FP) | (63 << CP0C1_MMU) |

Fixes https://bugzilla.yoctoproject.org/show_bug.cgi?id=13992

Upstream Status: Inappropriate

(From OE-Core rev: 4470a04943352224955f17e004962f0f9e1c9b0c)

Signed-off-by: Victor Kamensky <kamensky@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-08 11:28:58 +01:00
Richard Purdie fe74a4edd2 docs: Fix license CC-BY-2.0-UK -> CC-BY-SA-2.0-UK
When the license identifier tags were added, an incorrect string was used
and the Share-Alike clause was lost. Fix this to match the license
description in the files and add back the lost piece (its clear from
the history it should be there)

(From yocto-docs rev: 8d30c3d792755a7bfdb74b331dad98f51d3516af)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-08 11:28:30 +01:00
Ross Burton 6242625416 boost: consolidate and update library list
Add some new libraries to the list (fiber, headers, type_erasure).

Move context/coroutine to the list instead of using overrides as it
builds everywhere I can test it.

Remove the mips16e override for wave as Boost fails so dramatically with
mips16e enabled that this isn't even close to a fix. Someone who cares
can fix this properly.

(From OE-Core rev: 092228f2df6869e31b157ea08766b3e94bee6e29)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-08 10:22:10 +01:00
Ross Burton a685e07a44 boost: don't specify gcc version
There's no need to specify an ancient GCC version here as Boost will
probe it.

(From OE-Core rev: 2339bf5b0aceb8e55f4b38e44b2383389e514393)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-08 10:22:10 +01:00
Ross Burton af7b126c7a boost: build a standalone boost.build
Boost is a huge unirepo made from multiple submodules. To bootstrap it we
need boost.build (previously bjam) which is also available as a solo
repository. This smaller repository can unpack/build/package faster than
the Boost unirepo can unpack.

Rename the recipe to the current name of Boost.Build that installs a b2
binary, use the solo repository, and update the Boost recipe to use
the b2 binary instead of bjam.

(From OE-Core rev: 76079f921e596125b0e281ca95e2394d7688aaf2)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-08 10:22:10 +01:00
Richard Purdie b6d30c21b0 bitbake.conf: Extend PSEUDO_IGNORE_PATHS to ${COREBASE}/meta
Unfortunately, .pyc files can be generated in meta/lib/oe which corrupt the pseudo
database so we need to extend the ignore list to cover this as well.

(From OE-Core rev: e0cb6dd689a362d8433caa14cc5a9fdd5eb44923)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-08 08:08:32 +01:00
Khem Raj 244d3a8464 strace: Fix value of IPPROTO_MAX
This should also fix build with musl

../strace-5.8/xlat/inet_protocols.h:239:1: error: static assertion failed: "IPPROTO_MAX != 256"
  239 | static_assert((IPPROTO_MAX) == (256), "IPPROTO_MAX != 256");
      | ^~~~~~~~~~~~~

(From OE-Core rev: 8b0438b5d4850aaca0f725f9ad5d040b90b1347b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-08 08:08:32 +01:00
Khem Raj f7819da364 musl: Update to master
Brings following changes, supports linux 5.8 syscalls [1]

* a5aff197 avoid set*id/setrlimit misbehavior and hang in vforked/cloned child
* 55fb9a17 use new SYS_faccessat2 syscall to implement faccessat with flags
* f035c7b1 netinet/if_ether.h: add ETH_P_MRP from linux v5.8
* 6b1741aa elf.h: add .note.gnu.property related definitions
* 9b7ed970 bits/syscall.h: add __NR_faccessat2 from linux v5.8
* 616a8bf6 netinet/tcp.h: update to linux v5.7
* a6c302be sys/mman.h: add MREMAP_DONTUNMAP from linux v5.7
* 8adf42f7 sys/fanotify.h: update to linux v5.7
* 94ab68c2 aarch64: add new HWCAP2_ macros from linux v5.6
* 0296baff aarch64: add HWCAP2_ macros from linux v5.3
* 43b640c2 sched.h: add CLONE_NEWTIME from linux v5.6
* 3da18e69 sys/random.h: add GRND_INSECURE from linux v5.6
* 8f4aa78a sys/prctl.h: add PR_{SET,GET}_IO_FLUSHER from linux v5.6
* 1ab341e8 netinet/udp.h: add TCP_ENCAP_ESPINTCP from linux v5.6
* c6321616 netinet/tcp.h: update for linux v5.6
* 8fca0ea4 netinet/in.h: add IPPROTO_ macros from linux v5.6
* d9900903 add pidfd_getfd and openat2 syscall numbers from linux v5.6
* d4f29814 netinet/tcp.h: update tcp_info for linux v5.5

[1] https://git.musl-libc.org/cgit/musl/log/?qt=range&q=ffac0c229986725c0d0f3c806bafa7e3ca409f3b..a5aff1972c9e3981566414b09a28e331ccd2be5d
(From OE-Core rev: e104d235cb14f0d58bfefe48e3888430503ba619)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-08 08:08:32 +01:00
Ross Burton 4a35bcc9d1 devtool: fix modify with patches in override directories
If a recipe applies patches which are in machine-specific override
directories, devtool will fail to fetch the patches that don't match the
default configuration.  For example where there are patches at
qemux86/x86.patch and qemuarm/arm.patch:

SRC_URI = "file://source"
SRC_URI_append_qemuarm = " file://arm.patch"
SRC_URI_append_qemux86 = " file://x86.patch"

The patch apply phase sets OVERRIDES but does not set FILESOVERRIDES, so
it cannot find the patch files as the search path isn't correct.  Fix
this by setting FILESOVERRIDES too.

Also when iterating through the overrides we need to be sure that other
overrides that are used are not enabled, so extend no_overrides instead of
simply appending the current override.

Fixes most but not all of [ YOCTO #14060 ].

(From OE-Core rev: a372cdf8e175423c47faeecc98ad076ee26bbec8)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-08 08:08:32 +01:00
Ross Burton d6bc178f33 selftest: add test for recipes with patches in overrides
devtool doesn't quite behave right when a recipe has patches applied in overrides, so
add a test case to exercise that behaviour.

(From OE-Core rev: ad89c3254cc6c06026f1bebe23ec3717c1546633)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-08 08:08:32 +01:00
Ross Burton 961de02fd1 selftest: skip npm tests if nodejs-native isn't available
The tests are actually skipped if meta-oe isn't present which isn't
quite the same thing, but hopefully close enough.

(From OE-Core rev: d22ed015d8f38241acb783e1a468fb15d4317670)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-08 08:08:32 +01:00
Ross Burton 197cec77f5 devtool: remove unused variable
This variable isn't used at all.

(From OE-Core rev: 9676ee24d190b144cb50be6ebde3990644a6df2a)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-08 08:08:32 +01:00
Richard Purdie a5d7936202 pseudo: Fix statx function usage
There is magic in the posts where specific variable names have specific
magic. For that magic to work, "path" needs to be used not "pathname" as
is currently there. Fix this, which fixes path issues on systems using
statx (Ubuntu 20.04 in particular).

(From OE-Core rev: f9ae80aee98a7bb59c83ac9ebf9d317302507cec)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-08 08:08:32 +01:00
Richard Purdie c194e5fac6 wic: Handle new PSEUDO_IGNORE_PATHS variable
Adjust wic to correctly handle the new PSEUDO_IGNORE_PATH variable and avoid
inode corruption issues.

(From OE-Core rev: 13500f5234361385c365c7c35e83f99435500481)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-07 11:18:38 +01:00
Richard Purdie a2db4fa127 base/bitbake.conf: Enable pseudo path filtering
This is a pretty big change to the way pseudo operates when used in OpenEmbedded.
Normally, pseudo monitors and logs (adds to its database) any file created or
modified whilst in a fakeroot environment. There are large numbers of files
we simply don't care about the permissions of whilst in that fakeroot context,
for example ${S}, ${B}, ${T}, ${SSTATE_DIR}, the central sstate control
directories,

This change uses new functionality in pseudo to ignore these directory trees,
resulting in a cleaner database with less chance of "stray" mismatches if files
are modified outside pseudo context. It also should reduce some overhead from
pseudo as the interprocess round trip to the server is avoided.

There is a possible complication where some existing recipe may break, for
example, we found a recipe which was writing to "${B}/install" for
"make install" in do_install and since we listed ${B} as not to be tracked,
there were errors trying to chown root for files in this location.

This patch fixes a few corner cases in OE-Core when used with this new
ignore list:

* The archiver directory matched a "${WORKDIR}/deploy*" pattern so was renamed
  to something else since that directory does need its root permissions
* The ${S} and ${B} ignoring is conditional on them being different to ${WORKDIR}
* package_write_* task output (the debs/rpms/ipks) are now owned by the build
  user so we don't want the file ownership information in the hashequiv outhash
  calculation even if they are built under pseudo.
* The fontcache postinstall intercept is run under qemu outside of pseudo context
  so delete files it may delete up front where pseudo can see this.
* SSTATE_DIR is in PSEUDO_PATHS_IGNORE, which is in FAKEROOTENV which is cached
  by bitbake. We therefore need to trigger reparsing if this changes, which means
  SSTATE_DIR can be in BB_HASHBASE_WHITELIST but not BB_HASHCONFIG_WHITELIST.
  Rework the variables to handle this. This otherwise breaks some of our sstate
  tests in oe-selftest.
* Ignore the temp directory wic uses for rebuilding rootfs.

(From OE-Core rev: ad8f5532ffaead9a5ad13e1034fe9e5e1b7979f4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-07 11:18:38 +01:00
Richard Purdie ed9789d54d pseudo: Add pathfix patch
Add a path to fix up handling of dirfd being passed as a full file
and with path="".

(From OE-Core rev: 3006bbe7768e4efe33d3d2d3f5786a561ecbe96f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-07 11:18:38 +01:00
Richard Purdie bd34ad3c2a pseudo: Add may unlink patch
Mark files which are unlinked (nlink == 0) but open with fd's as
"may-unlink" to avoid problematic database entries.

(From OE-Core rev: e1e481f3608c05ab14c61bf45cd0837d7287b6a5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-07 11:18:38 +01:00
Richard Purdie 958447ff2f pseudo: Fix xattr segfault
Fix a NULL pointer dereference exposed by the path ignore code in
xattr handling.

(From OE-Core rev: 929a27bf6cbca94d1141d2094ae0c915d93bd3f4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-07 11:18:38 +01:00
Richard Purdie 842de9dbba psuedo: Add tracking of linked files for fds
Where files are link()'d and one is unlink()'d, pseudo's fd mappings
can become confused. Add a patch to try and improve this for the common
usecases we see.

(From OE-Core rev: 9ce621fa2099608ca0ccbb8420b31d71cdd7b00e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-07 11:18:38 +01:00
Richard Purdie 84e0642ed6 pseudo: Abort on mismatch patch
Rather than doing what turns out to be a rather dangerous "fixup" if
we see a file with a different path but the same inode as another file
we've previously seen, throw and abort. Direct the user to a wiki page
where we can maintain information about what this error means.

(From OE-Core rev: 2db491d97da08d44ebd257f98489550a82a7935c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-07 11:18:38 +01:00
Richard Purdie 84d006b9fb pseudo: Add support for ignoring paths from the pseudo DB
Add PSEUDO_IGNORE_PATHS, a comma separated list of path prefixes, where
any files underneath are not handled by pseudo. This allows files to
be left out of the pseudo datanase where we know we don't need the
fake root emulation. This is particularly useful if we know these files
can be deleted outside of pseudo context.

(From OE-Core rev: 8defb687a2c0ffac232c4d0d63a590871c453a2e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-07 11:18:38 +01:00
Richard Purdie b5c5d84b8b pseudo: Ignore mismatched inodes from the db
Currently, where pseudo finds a database entry for an inode but the path
doesn't match, it reuses that database entry metadata. This is causing
real world "corruption" of file attributes.

See [YOCTO #14057] for an example of this.

This can happen when files are deleted outside of pseudo context and the
inode is reused by a new file which pseduo then "sees".

Its possible the opposite could happen, it needs to reuse attributes
but this change would prevent it. As far as I can tell, we don't want
pseuo to reuse these attributes though so this code should be safer
and avoid bugs like the above.

(From OE-Core rev: 1c13149b81e03a1ac48b27a208a139d5493c3ce7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-07 11:18:38 +01:00
Bruce Ashfield 6bf9067603 linux-yocto/5.8: update to v5.8.13
Updating linux-yocto/5.8 to the latest korg -stable release that comprises
the following commits:

    cdcec6869074 Linux 5.8.13
    510c51ff61e3 clocksource/drivers/timer-ti-dm: Do reset before enable
    af56dabe31d1 dm: fix bio splitting and its bio completion order for regular IO
    8b76d62a9986 KVM: arm64: Assume write fault on S1PTW permission fault on instruction fetch
    3bd50397031b io_uring: ensure open/openat2 name is cleaned on cancelation
    4545633b037b s390/zcrypt: Fix ZCRYPT_PERDEV_REQCNT ioctl
    862f8bb32f4f mm: don't rely on system state to detect hot-plug operations
    b8fdce317826 mm: replace memmap_context by meminit_context
    2a4b8662dd4f mm/gup: fix gup_fast with dynamic page table folding
    488b66f91a2d mm, THP, swap: fix allocating cluster for swapfile by mistake
    3907be9020ee dmabuf: fix NULL pointer dereference in dma_buf_release()
    22dd2387ee81 MIPS: Loongson2ef: Disable Loongson MMI instructions
    464b2d4cba99 media: cec-adap.c: don't use flush_scheduled_work()
    d242377a12af btrfs: fix overflow when copying corrupt csums for a message
    22ee6b8fda41 btrfs: fix put of uninitialized kobject after seed device delete
    913d4c0dcdba kprobes: tracing/kprobes: Fix to kill kprobes on initmem after boot
    247c62ebdfae kprobes: Fix to check probe enabled before disarm_kprobe_ftrace()
    a1ab267999b8 lib/bootconfig: Fix to remove tailing spaces after value
    dce326c2b35b lib/bootconfig: Fix a bug of breaking existing tree nodes
    6540544b78f8 mt76: mt7615: use v1 MCU API on MT7615 to fix issues with adding/removing stations
    f176cd6084b2 s390/dasd: Fix zero write for FBA devices
    e3a23511638a tracing: fix double free
    c321af82cae2 lib/string.c: implement stpcpy
    3396e0ad33da ALSA: hda/realtek: Enable front panel headset LED on Lenovo ThinkStation P520
    ad0643252831 ALSA: hda/realtek - Couldn't detect Mic if booting with headset plugged
    7a08dbd8764c ALSA: usb-audio: Add delay quirk for H570e USB headsets
    fdf44bc9f55d scsi: lpfc: Fix initial FLOGI failure due to BBSCN not supported
    ade8f2c5ff7a x86/ioapic: Unbreak check_timer()
    e45e8ddf3cfc x86/irq: Make run_on_irqstack_cond() typesafe
    ba1c60853057 arch/x86/lib/usercopy_64.c: fix __copy_user_flushcache() cache writeback
    9d6bd4901bbd mm: validate pmd after splitting
    15f6c3869c6c KVM: SVM: Add a dedicated INVD intercept routine
    ef4f69a46824 KVM: x86: Reset MMU context if guest toggles CR4.SMAP or CR4.PKE
    8a8354700cb2 spi: bcm-qspi: Fix probe regression on iProc platforms
    fce9400de340 regulator: axp20x: fix LDO2/4 description
    2f24ab64b8cc MIPS: Add the missing 'CPU_1074K' into __get_cpu_type()
    7b7b64dda978 PM / devfreq: tegra30: Disable clock on error in probe
    324f8ff1e09b MIPS: Loongson-3: Fix fp register access if MSA enabled
    482082d22a41 net/mlx5e: mlx5e_fec_in_caps() returns a boolean
    93e864762dcb regmap: fix page selection for noinc writes
    de74a520081f regmap: fix page selection for noinc reads
    2e00a8682cb5 SUNRPC: Fix svc_flush_dcache()
    96c45a01f443 io_uring: fix openat/openat2 unified prep handling
    21aaa0fc9b94 ALSA: asihpi: fix iounmap in error handler
    0c9fadf3a3c2 mac80211: fix 80 MHz association to 160/80+80 AP on 6 GHz
    7c094f2da8be cfg80211: fix 6 GHz channel conversion
    3414cdb97ce1 mac80211: do not disable HE if HT is missing on 2.4 GHz
    a8241c165aea lib80211: fix unmet direct dependendices config warning when !CRYPTO
    bf75119ad09d bpf: Fix a rcu warning for bpffs map pretty-print
    5ed1d040d0cc batman-adv: mcast: fix duplicate mcast packets from BLA backbone to mesh
    5ae4340c6782 batman-adv: mcast: fix duplicate mcast packets in BLA backbone from mesh
    c7f13870d54a batman-adv: mcast: fix duplicate mcast packets in BLA backbone from LAN
    06dd1ca3b637 nvme-tcp: fix kconfig dependency warning when !CRYPTO
    a9bc6ff7d24a xsk: Fix number of pinned pages/umem size discrepancy
    e4e1b0f1fdea batman-adv: Add missing include for in_interrupt()
    38c2ce543647 RDMA/core: Fix ordering of CQ pool destruction
    9003be1fb4d0 spi: spi-fsl-dspi: use XSPI mode instead of DMA for DPAA2 SoCs
    a634ff2bb06a hv_netvsc: Switch the data path at the right time during hibernation
    086ca81d03c3 drm/sun4i: sun8i-csc: Secondary CSC register correction
    1fc50966df11 igc: Fix not considering the TX delay for timestamps
    df1aefc64878 igc: Fix wrong timestamp latency numbers
    60b4cd514ca4 net: qed: RDMA personality shouldn't fail VF load
    1c89c047143e net: qede: Disable aRFS for NPAR and 100G
    0f5479c614a4 net: qed: Disable aRFS for NPAR and 100G
    c0560d7cfa3c drm/vc4/vc4_hdmi: fill ASoC card owner
    3305c8444ee9 tools/libbpf: Avoid counting local symbols in ABI check
    c86dff4cd392 bpf: Fix clobbering of r2 in bpf_gen_ld_abs
    36133c2c75f4 mac802154: tx: fix use-after-free
    d5bc41a812ee netfilter: nft_meta: use socket user_ns to retrieve skuid and skgid
    b47342e6341d netfilter: conntrack: nf_conncount_init is failing with IPv6 disabled
    e38f49e00baf netfilter: ctnetlink: fix mark based dump filtering regression
    24c4f2ae019b netfilter: ctnetlink: add a range check for l3/l4 protonum
    e49aff08701c batman-adv: mcast/TT: fix wrongly dropped or rerouted packets
    27f214ea565b atm: eni: fix the missed pci_disable_device() for eni_init_one()
    c50fd3ecb3f7 libbpf: Fix build failure from uninitialized variable warning
    a5307da48a93 batman-adv: bla: fix type misuse for backbone_gw hash indexing
    120333e77b20 mwifiex: Increase AES key storage size to 256 bits
    ab7eeefd46b5 clocksource/drivers/h8300_timer8: Fix wrong return value in h8300_8timer_init()
    bdcc262d50da ieee802154/adf7242: check status of adf7242_read_reg
    59a84157c5a5 ieee802154: fix one possible memleak in ca8210_dev_com_init
    9a04354bdb3a riscv: Fix Kendryte K210 device tree
    b05a20baaa2f i2c: mediatek: Send i2c master code at more than 1MHz
    337e96e14843 objtool: Fix noreturn detection for ignored functions
    953fc770d069 i2c: core: Call i2c_acpi_install_space_handler() before i2c_acpi_register_devices()
    55e8cc72415c drm/amd/display: Don't log hdcp module warnings in dmesg
    a42f8e6ba427 drm/amdgpu/dc: Require primary plane to be enabled whenever the CRTC is
    5535013c64fb drm/amd/display: update nv1x stutter latencies
    d3adac3cfbdb drm/amd/display: Don't use DRM_ERROR() for DTM add topology
    8f85ebcc0e9d drm/amdkfd: fix a memory leak issue
    3f9f1a29290c EDAC/ghes: Check whether the driver is on the safe list correctly
    3c98a2f74a07 lockdep: fix order in trace_hardirqs_off_caller()
    8cf6f7188ad2 s390/init: add missing __init annotations
    b7b5742eb70b i2c: aspeed: Mask IRQ status to relevant bits
    af5681dfa0aa RISC-V: Take text_mutex in ftrace_init_nop()
    5a73735ee5b2 clk: versatile: Add of_node_put() before return statement
    39f785132eee ASoC: Intel: bytcr_rt5640: Add quirk for MPMAN Converter9 2-in-1
    700fefbe8c67 ASoC: wm8994: Ensure the device is resumed in wm89xx_mic_detect functions
    2e1e2b748af2 ASoC: wm8994: Skip setting of the WM8994_MICBIAS register for WM1811
    ad22ff03adc6 ASoC: pcm3168a: ignore 0 Hz settings
    0b2f403ff302 device_cgroup: Fix RCU list debugging warning

(From OE-Core rev: 429efe4d8a74b5cb2ab1f76088642a078a6f8829)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-10-07 10:18:55 +01:00