Compare commits

..

208 Commits

Author SHA1 Message Date
Ross Burton
0ba0a534a3 glibc: add workaround for faccessat2 being blocked by seccomp filters
Older seccomp-based filters used in container frameworks will block faccessat2
calls as it's a relatively new syscall.  This isn't a big problem with
glibc <2.33 but 2.33 will call faccessat2 itself, get EPERM, and thenn be confused
about what to do as EPERM isn't an expected error code.

(From OE-Core rev: 4d6ad6d611834c2648d6bf9791cb8140967e2529)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-12 23:32:16 +00:00
Yoann Congal
f13c22358a npm.bbclass: avoid building target nodejs for native npm recipes
The current recipe unconditionally RDEPENDS on nodejs (the target one).
When building on the "-native recipe" of "BBCLASSEXTEND native" recipe,
the target nodejs is unnecessarily built.

This patch fixes this by only RDEPENDS on nodejs when building for the target.

(From OE-Core rev: 92a9a86df9e3bcffb13d2f8b5dcbe7822170f734)

Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-12 23:32:16 +00:00
Khem Raj
fa7db24367 security_flags.inc: Add same O<level> as in SELECTED_OPTIMIZATION
Adding -O can be troublesome in some packages where it may override the
O<n> specified by CFLAGS, this can be due to configure processing of
CFLAGS and munging them into new values in Makefiles, which is
contructed from CC and CFLAGS passed by bitbake environment. Problem
arises if the sequence is altered, which seems to be the case in some
packages e.g. ncurses, where the value from CC variable is added last
and thus overrides -O<n> coming from CFLAGS,

Therefore grok the value from SELECTED_OPTIMIZATION and append the
appropriate -O<level> flag to lcl_maybe_fortify so the level does not
change inaderdantly.

Since we do not use -O0 anymore there is no point of checking for
DEBUG_BUILD since it uses -Og now which works fine with
-D_FORTIFY_SOURCE=2, so check for optlevel O0 instead

(From OE-Core rev: 9571a18f7d15b3bffafc2e277ab90a21d6763697)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-12 23:32:16 +00:00
Khem Raj
3c0919821b tcf-agent: Fix build on riscv32
LCL_STOP_SERVICES needs tcf/cpudefs-mdep.h ported

(From OE-Core rev: ed5e0de938469a7fa4e6cd725d9e0c8325d890d3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-12 23:32:16 +00:00
akuster
d41e3e7d4c connman: update to 1.39
Bug fix only and includes two security fixes:

CVE-2021-26675
CVE-2021-26676

Changelog:
- Fix issue with scanning state synchronization and iwd.
- Fix issue with invalid key with 4-way handshake offloading.
- Fix issue with DNS proxy length checks to prevent buffer overflow.
- Fix issue with DHCP leaking stack data via uninitialized variable.

[Yocto #14231]

(From OE-Core rev: eb20fd47d738f469f7bbeb4b8d85040f9163722b)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-12 23:32:16 +00:00
Richard Purdie
064e203987 pseudo: Update for rename and faccessat fixes
Pull in:

  ports/rename/renameat: Avoid race when renaming files
  ports/unix: Add faccessat and faccessat2
  ports/access.c: Use EACCES, not EPERM

which includes a fix for rename race issues causing pseudo aborts.

(From OE-Core rev: 330c232e4f756296331f9026e91ac26fd45f0315)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-12 23:29:51 +00:00
Dorinda
9294bc4bb4 oe-pkgdata-util: Check if environment script is initialized
Tinfoil doesn't behave well if environment is not initialized, this check ensures a proper error log if environment is not initialized.

[YOCTO #12096]

(From OE-Core rev: e88073e16f1b4cfd0f97c81a988640a84adad674)

Signed-off-by: Dorinda Bassey <dorindabassey@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-10 23:48:55 +00:00
Robert Rosengren
c2580d3a78 mpg123: Add support for FPU-less targets
Support added to configure mpg123 for FPU-less targets. Building for
fixed-point arithmetic increases performance on such devices.

(From OE-Core rev: 55a65571d19407befd3c2d152680573d7318c279)

Signed-off-by: Robert Rosengren <robert.rosengren@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-10 23:48:55 +00:00
Richard Purdie
4094b0bd50 opkg: Fix patch glitches
The original patch contained some text which shouldn't have been there
and used brackets in configure which isn't a great idea. Tweak the patch
to resolve this.

(From OE-Core rev: 63cbf187fe189c99645fe3afee8a6361a9a32cdc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-10 23:48:55 +00:00
Wang Mingyu
7a89d2d2ed parted: upgrade 3.3 -> 3.4
0001-Move-python-helper-scripts-used-only-in-tests-to-Pyt.patch
0001-libparted-fs-add-sourcedir-lib-to-include-paths.patch
0002-tests-use-skip_-rather-than-skip_test_-which-is-unde.patch
removed since they are included in 3.4

Add python3-core to RDEPENDS_parted-ptest
since /usr/lib/parted/ptest/tests/msdos-overlap contained in package parted-ptest requires /usr/bin/python3

(From OE-Core rev: c7d7e5f8177cdebd580ca7ff8f4412596567aff1)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-10 23:48:55 +00:00
akuster
ede47ac147 documentation.conf: add both CVE_CHECK_LAYER_*
(From OE-Core rev: cac7f890f6b223006c1c290e76b9d575b729d87d)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-10 23:48:55 +00:00
Richard Purdie
0b9711efcb Fix up bitbake logging compatibility
Bitbake changed the debug() logging call to make it compatible with
standard python logging by no longer including a debug level as the
first argument. Fix up the few places this was being used.

Tweaked version of a patch from Joshua Watt.

(From OE-Core rev: 5aecb6df67b876aa12eec54998f209d084579599)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-10 23:48:55 +00:00
Richard Purdie
7f4d057585 sanity.conf: Increase minimum bitbake version due to logging function change
(From OE-Core rev: 8ddfab7b185dbba171afce80260e5638eb06a769)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-10 23:48:55 +00:00
Richard Purdie
e1691ae855 bitbake: bitbake: Bump release to 1.49.1
(Bitbake rev: 9f23fa605c542a705d00c6c263491899d55bb0d9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-10 23:48:16 +00:00
Joshua Watt
75f87db413 bitbake: logging: Make bitbake logger compatible with python logger
The bitbake logger overrode the definition of the debug() logging call
to include a debug level, but this causes problems with code that may
be using standard python logging, since the extra argument is
interpreted differently.

Instead, change the bitbake loggers debug() call to match the python
logger call and add a debug2() and debug3() API to replace calls that
were logging to a different debug level.

[RP: Small fix to ensure bb.debug calls bbdebug()]
(Bitbake rev: f68682a79d83e6399eb403f30a1f113516575f51)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-10 23:48:16 +00:00
Richard Purdie
7283a0b3b6 bitbake: bblayers/action: When adding layers, catch BBHandledException
When adding a layer, parse error can occur, raising BBHandledException.
Catch this and error, aborting the layer add to meet user expectations.

[YOCTO #14054]

(Bitbake rev: ceddb5b3d229b83c172656053cd29aeb521fcce0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-10 23:48:16 +00:00
Richard Purdie
df90345d33 bitbake: cooker: Ensure reparsing is handled correctly
From tinfoil, if you edit bblayers.conf and break it, then call
parseConfiguration (e.g. by adding a bad layer with bitbake-layers),
the system doens't show any parse error yet it should.

Add in a call to the updateCache function so that things really
are reparsed when requested.

Partially fixes [YOCTO #14054]

(Bitbake rev: e655f9361b9c3b77906b8e06b5cc76bc5180640e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-10 23:48:16 +00:00
Tomasz Dziendzielski
a30a06d9c1 bitbake: BBHandler: Don't classify shell functions that names start with "python*" as python function
If shell function name starts with 'python' or 'fakeroot' parser wrongly
assumes it's python/fakeroot function.

[YOCTO #14204]

Use regex lookahead assertions to check if 'python' expression is
followed by whitespace or '(' and if 'fakeroot' is followed by
whitespace.

(Bitbake rev: b07b226d5d1b3acd3f76d8365bc8002293365999)

Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-10 23:48:16 +00:00
Paul Barker
40ecec326e bitbake: hashserv: Add get-outhash message
The get-outhash message can be sent via the get_outhash client method.
This works in a similar way to the get message but looks up a db entry
by outhash rather than by taskhash. It is intended to be used as a
read-only form of the report message.

As both handle_get_outhash and handle_report use the same query string
we can factor this out.

(Bitbake rev: dc19606ada29a4d8afde4fcecd8ec986b47b867e)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-10 23:48:16 +00:00
Paul Barker
73160aac06 bitbake: hashserv: server: Support searching upstream for outhash
Use the new get-outhash message to perform a read-only query against an
upstream server (if present) when a reported taskhash/outhash
combination is not found in the current database. If a matching entry is
found upstream it is copied into the current database so it can be found
by future queries.

(Bitbake rev: 2be4f7f0d2ccb09917398289e8140e1467e84bb2)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-10 23:48:16 +00:00
Paul Barker
94f34b951b bitbake: hashserv: Add short forms of remaining command line arguments
Short form arguments are added for convenience.

(Bitbake rev: 921199a4923ce383b27e23c9b7e34eb785c8bae3)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-10 23:48:16 +00:00
Paul Barker
44176bd385 bitbake: hashserv: Support upstream command line argument
The hashserv server already implements support for pulling hash data
from another "upstream" server. Add the -u/--upstream argument to the
bitbake-hashserv app to expose this functionality to users.

(Bitbake rev: 8de510f1de35e581bcd5858edf23619c6a4cf923)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-10 23:48:16 +00:00
Paul Barker
3b559bb16d bitbake: hashserv: Support read-only server
The -r/--readonly argument is added to the bitbake-hashserv app. If this
argument is given then clients may only perform read operations against
the server. The read-only mode is implemented by simply not installing
handlers for write operations, this keeps the permission model simple
and reduces the risk of accidentally allowing write operations.

As a sqlite database can be safely opened by multiple processes in
parallel, it's possible to start two hashserv instances against a single
database if you wish to export both a read-only port and a read-write
port.

(Bitbake rev: 492bb02eb0e071c792407ac3113f92492da1a9cc)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-10 23:48:16 +00:00
Alexander Kanavin
f5188da2f1 u-boot: upgrade 2020.10 -> 2021.01
tools/binman/binman needs python3-setuptools now.

(From OE-Core rev: cb896051a7e7b25c02fb40aa8a422d3e5580dd34)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-09 11:22:54 +00:00
Lee Chee Yang
34ea1433fc wic: debug mode to keep tmp directory
files in wic tmp directory can be usefull for debugging, so do not remove
tmp directory when wic create run with debugging mode (-D or --debug).

also update wic.Wic.test_debug_short and wic.Wic.test_debug_long to
check for tmp directory.

[YOCTO#14216]

(From OE-Core rev: a122e2418b67d38f691edcf8dd846c167d6b4fa9)

Signed-off-by: Lee Chee Yang <Chee.Yang.Lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-09 08:56:11 +00:00
Khem Raj
7747c98bf2 autoconf: Fix typo for prefuncs
(From OE-Core rev: c64b06296b378e99cde489583c97b7d7edba4f88)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-09 08:56:11 +00:00
Chee Yang Lee
d6b4d57e62 initrdscripts: init-install-efi.sh install extra files for ESP
Currently the install script copy only few hard coded item while
setting up target ESP, kernel artifacts, all .efi in EFI/BOOT,
grub & boot cfg and loader.conf.
While ESP can be much complex, eg: contain multiple initrd.

Add a ESP folder to carry any other files to setup onto ESP.

(From OE-Core rev: 6eaca9cf20c42501fba27dea3a6446bad948e859)

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-09 08:56:11 +00:00
akuster
73befa8f41 cve-check: add include/exclude layers
There are times when exluding or including a layer
may be desired. This provide the framwork for that via
two variables. The default is all layers in bblayers.

CVE_CHECK_LAYER_INCLUDELIST
CVE_CHECK_LAYER_EXCLUDELIST

(From OE-Core rev: 5fdde65ef58b4c1048839e4f9462b34bab36fc22)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-09 08:56:10 +00:00
akuster
29e280f7ee cve-check.bbclass: add layer to cve log
Lets include whcih layer a package belongs to and
add it to the cve logs

(From OE-Core rev: 00d965bb42dc427749a4c3985af56ceffff80457)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-09 08:56:10 +00:00
zhengruoqin
93775123c5 python3-packaging: upgrade 20.8 -> 20.9
20.9 - 2021-01-29
~~~~~~~~~~~~~~~~~

* Run [isort](https://pypi.org/project/isort/) over the code base (:issue:`377`)
* Add support for the ``macosx_10_*_universal2`` platform tags (:issue:`379`)
* Introduce ``packaging.utils.parse_wheel_filename()`` and ``parse_sdist_filename()``
  (:issue:`387` and :issue:`389`)

(From OE-Core rev: 6199c71030d527c57a1cb8496a377afb503d7670)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-09 08:56:10 +00:00
Wang Mingyu
11d23de584 libdrm: upgrade 2.4.103 -> 2.4.104
Add 0001-meson-Also-search-for-rst2man.py.patch to fix bug of program rst2man cannot be found.

Add dependency python3-docutils-native to manpages.

(From OE-Core rev: 600b75cef2807ccb3f89f24c77d02cd6e0a99e1f)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-09 08:56:10 +00:00
Wang Mingyu
485af44c14 bind: upgrade 9.16.10 -> 9.16.11
rename directory of patches
-License-Update: Copyright year updated to 2021.

(From OE-Core rev: 316f9602c633fdf52009b4567ccf598d1c716acd)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-09 08:56:10 +00:00
Alexander Kanavin
c1335d558f spirv-tools: correct version check
(From OE-Core rev: e4ef9eaea1e05975bd09b838e6ba35cc56da37d6)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-09 08:56:10 +00:00
Alexander Kanavin
2f82cf5a42 shaderc: correct version check
(From OE-Core rev: 4e22a84e0482d8c56942acd0243c94f20484ffef)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-09 08:56:10 +00:00
Alexander Kanavin
9b106a2f0b at: correct upstream version check
(From OE-Core rev: 0e2dfa9f7904db32a14c09b1d451382a4c91f85d)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-09 08:56:10 +00:00
Alexander Kanavin
b85d2a236c tar: update 1.32 -> 1.33
Drop musl fix as upstream fixed the issue.

(From OE-Core rev: 9ac95af964876752e7dae819f5b678ae4b510064)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-09 08:56:10 +00:00
Alexander Kanavin
95204ac052 libhandy: upgrade 1.0.2 -> 1.0.3
(From OE-Core rev: 97acf2c86b7496385eabf57d5e21dae835a45e6b)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-09 08:56:10 +00:00
Alexander Kanavin
bf34676143 dpkg: update 1.20.5 -> 1.20.7.1
(From OE-Core rev: b13ebb89b63a8a7d1c5d688c72c4aa4f54088963)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-09 08:56:10 +00:00
Alexander Kanavin
d8fe22e05f vulkan-samples: update to latest revision
Drop patch merged upstream.

(From OE-Core rev: 4ca7c5435a379160fb9ac2d2d9d7aa5550632f65)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-09 08:56:10 +00:00
Alexander Kanavin
e789354511 ruby: update 2.7.2 -> 3.0.0
Drop 0001-Modify-shebang-of-libexec-y2racc-and-libexec-racc2y.patch
as files removed upstream.

License-Update: formatting

Drop autoconf270.patch, as no longer needed with 3.0.0
(I verified against master-next which has the new autoconf).

(From OE-Core rev: 8fbf04053845aac24e0c0f1395051b60294e02a3)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-09 08:56:10 +00:00
Alexander Kanavin
612c8b8b12 python3-setuptools: update 51.0.0 -> 52.0.0
easy_install script removed upstream:
https://github.com/pypa/setuptools/blob/v52.0.0/CHANGES.rst

Tarballs are now provided instead of zip files.

License-Update: formatting

(From OE-Core rev: 131105f94c8de1f087e8bd6e3e76a5c38962ae7d)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-09 08:56:10 +00:00
Alexander Kanavin
cdd670b3cf gptfdisk: update 1.0.5 -> 1.0.6
(From OE-Core rev: 124416ee6ff3228101f7b4423b6a5581a096cae1)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-09 08:56:10 +00:00
Alexander Kanavin
35c4fbe550 distcc: update 3.3.3 -> 3.3.5
(From OE-Core rev: e7521584b4acfc1ffa612f0167cef53eab967bcc)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-09 08:56:10 +00:00
zhengruoqin
6131fb0e1b sqlite3: upgrade 3.34.0 -> 3.34.1
(From OE-Core rev: d26f5601d0cfe15cf9ef953e33e5e36e1b58e915)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-08 14:47:16 +00:00
Khem Raj
9c7f1052f0 systemd: Fix build on musl
include "missing_stdlib.h" is needed for strndupa()

(From OE-Core rev: 87c9ed35fce8c9358d8a5dda20ece0a46cbff325)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-08 14:47:16 +00:00
Oleksandr Kravchuk
c43b253bc5 ell: update to 0.37
Changelog:
- Fix issue with D-Bus filter messages with no interfaces set.
- Add support for PKCS#12 certification loading.

(From OE-Core rev: a522b528170291264a1dd5293840bec7cdfa7311)

Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-08 14:47:16 +00:00
Oleksandr Kravchuk
bf64a62bfd inetutils: update to 2.0
Removed upstreamed patches and refreshed q few other.

(From OE-Core rev: a21e8fdf1b66961ddae5929d393daa08800bb748)

Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-08 14:47:16 +00:00
Jose Quaresma
c5d80f154d selftest/reproducible: remove spirv-tools-dev from exclusion list
(From OE-Core rev: ecb156fa391b29c6b317abb7bb126a36d709be6a)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-08 14:47:16 +00:00
Jose Quaresma
f5ef0e12d0 spirv-tools: fix reproducible
- remove build host path in cmake dev file to fix spirv-tools-dev reproducible
  https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20210125-8161_obd/packages/diff-html/

(From OE-Core rev: 7795a919f127b5fde5eb2049ec4e1e22f16bfee7)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-08 14:47:16 +00:00
Khem Raj
525493e3ef security_flags.inc: Use -O with -D_FORTIFY_SOURCE
compiler can only use fortify options when some level of optimization is
on, otherwise it ends up sending some warnings.

warning: _FORTIFY_SOURCE requires compiling with optimization (-O) [-W#warnings]

this is usually OK, since -O<level> would be added via CFLAGS to
compiler cmdline in normal compile stages, however during configure
there are problems when CC,CPP,CXX are probed alone in configure tests
which results in above warning, which confuses the configure results and
autotools 2.70+ detects it as error e.g.

configure:17292: error: C preprocessor "riscv32-yoe-linux-clang -target riscv32-yoe-linux      -mlittle-endian -mno-relax -Qunused-arguments -fstack-protector-strong  -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/mnt/b/yoe/master/build/tmp/work/riscv32-yoe-linux/ndpi/3.4-r0/recipe-sysroot -E" fails sanity check
See `config.log' for more details

therefore adding a -O ( which actually is -O1 ) to lcl_maybe_fortify
means we can properly test these configure tests and real -O<level> will
still override -O added here, so overrall behavior improves

(From OE-Core rev: b6113dd68caa46d56cf3c8293119f2b9d8b137fd)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-08 14:47:16 +00:00
Michael Halstead
88cb39cc3c yocto-uninative.inc: version 2.11 updates glibc to 2.33
Support glibc 2.33.

(From OE-Core rev: 5c7f963d395aa4a94d78c37883488baac471ea43)

Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-07 22:26:42 +00:00
Ross Burton
20f926f086 autotools: no need to depend on gnu-config
autoconf 2.70 onwards installs its own copies of config.guess/config.sub
which we keep up to date when autoconf builds, so there's no need to
depend on gnu-config for those files.

(From OE-Core rev: 332145c34b4aac2e74a713070af25414e1fd8c9c)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-07 22:26:42 +00:00
Ross Burton
bea9c8b988 autotools: remove intltoolize logic
autoconf 2.70 now invokes intltoolize, so there's no need to do it again
in this class.

(From OE-Core rev: e24ac6605aeaae42475d3f753dc9452093af5a14)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-07 22:26:42 +00:00
Ross Burton
66dab7e17b autotools: disable gtkdocize for now
This breaks kmod, so for now we can continue to do it ourselves.

(From OE-Core rev: 628e0263e3bb768ea771d0e0260fdb18e16c871e)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-07 22:26:42 +00:00
Ross Burton
bdad4025c7 autoconf: upgrade to 2.71
After too many years, autoconf has made a new release.  On the whole it
is compatible with previous releases, but some macros are more specific
about what they expose so minor tweaks to configure.ac may be required.

autoconf also now invokes intltoolize, gtkdocize, and copies
config.sub/guess, so there is less work for autotools.bbclass to do.

- AC_HEADER_MAJOR-port-to-glibc-2.25.patch
- add_musl_config.patch
- autoconf-replace-w-option-in-shebangs-with-modern-use-warnings.patch
- autoreconf-gnuconfigize.patch
- check-automake-cross-warning.patch
- config_site.patch
- fix_path_xtra.patch
- performance.patch
Drop a number of patches which have been integrated upstream.

- man-host-perl.patch
Don't use the target perl path when building documentation at build time:

- no-man.patch
Don't build documentation in native builds to avoid further build
dependencies.

(From OE-Core rev: f5dd2e0acbb0aa4079c51aaeab8c26e743a4c714)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-07 22:26:42 +00:00
Ross Burton
1dbef3ce98 autotools: don't warn about obsolete usage
New autoconf warns about obsolete macro usage, but there is quite
a lot of obsolete usage in the wild which isn't really in our problem.

(From OE-Core rev: a152b5a37aec247b0540b82ad6c9bdc20c532d21)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-07 22:26:42 +00:00
Ross Burton
c9299cea83 autoconf: merge .bb and .inc files
These files are split for historical reasons, so merge them to make
maintaining them easier.

The bb and inc had differing LICENSE assignments.  Current autoconf is
GPLv3+.

(From OE-Core rev: 192f635fa6964213e771c0b1443b2c15863b3d57)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-07 22:26:42 +00:00
Ross Burton
915a6afc3c gnu-config: update to latest commit
Update gnu-config to the latest upstream commit.

(From OE-Core rev: 37c088759218909acbd06a3a935c7ff99ff2fcd5)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-07 22:26:42 +00:00
Richard Purdie
1729dcf527 apr: Fix to work with autoconf 2.70
Fix an issue with autoconf 2.70 where duplicate macro includes
caused configure failures.

(From OE-Core rev: 4e5d7c86a8a5e752df451d988861a86236e8c8ff)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-07 22:26:42 +00:00
Ross Burton
e1ab06f14b unfs3: fix build with new autoconf
(From OE-Core rev: d6327189d2e86f0647a2cf11bc3dc3effa51a55d)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-07 22:26:42 +00:00
Ross Burton
43421f57bc Revert "lrzsz: Fix to work with autoconf 2.70"
This change was only needed with 2.70, it is not needed with 2.71.

This reverts commit 36aef08dcd.

(From OE-Core rev: 37362d8bdbec17a676af41b13683efd17c0cef50)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-07 22:26:42 +00:00
Michael Halstead
987aa92017 uninative: Upgrade to 2.10
Final glibc 2.32 based uninative.

(From OE-Core rev: 8b5d932a42ce9e3e801837bea9cf319c455d9ae5)

Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-07 22:26:42 +00:00
Richard Purdie
2ffbb020fe bitbake: bitbake-worker: Try and avoid potential short write events issues
We're seeing occasional issues where builds fail as events were written from the
worker children in the form <event>partial data<event>full event</event>.

This causes failures as bitbake server can't parse that and exits. This could
be due to short writes to the worker event pipe which we weren't checking. Check
this and loop accordingly. Also add some asserts to detect other potential causes.

Thanks to Joshua Watt for help in spotting the issue.

[YOCTO #14181]

(Bitbake rev: a9451746a4bd7ccedf4c72cd03ad4ff0ab0143aa)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-06 09:12:00 +00:00
Paul Barker
adcd9608a7 bitbake: hashserv: client: Fix handling of null responses
If the server returns an empty response ("null" in json), this cannot
be iterated to check for the presence of the "chunk-stream" key.

(Bitbake rev: bf75370bcd6d02ed08cd959eec6190196b792515)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-06 09:12:00 +00:00
Paul Barker
a8a468efac bitbake: bitbake-hashclient: Remove obsolete call to client.connect
The connect function was previously removed from the hashserv Client
class but the bitbake-hashclient app was not updated. The client is
connected during hashserv.create_client() anyway so not separate connect
call is needed.

(Bitbake rev: 99bdb236bceeffa0083a0fa529280b217c1d310d)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-06 09:12:00 +00:00
Tomasz Dziendzielski
1d2fe91db5 bitbake: lib/bb: Don't treat mc recipe (Midnight Commander) as a multiconfig target
When we run `devtool build mc` recipe's task dependencies are expanded
to "mc:do_populate_sysroot" where "mc" name is treated as multiconfig
and "do_package_sysroot" as multiconfigname.

| ERROR: Multiconfig dependency mc:do_populate_sysroot depends on
| nonexistent multiconfig configuration named do_populate_sysroot

(Bitbake rev: 3ce4b2caccfe608a54dff159459f3687ea610597)

Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-06 09:12:00 +00:00
Mike Looijmans
2fcbd0f115 license_image.bbclass: Don't attempt to symlink to the same file
Sometimes (that is, in all my builds) the lic_manifest_dir and
lic_manifest_symlink_dir end up pointing to the same file, resulting
in an error like this:
  Exception: FileExistsError: [Errno 17] File exists: '/.../tmp-glibc/deploy/licenses/my-image-tdkz15' -> '/.../tmp-glibc/deploy/licenses/my-image-tdkz15'

First check to see if this is the case before attempting to create
the link.

(From OE-Core rev: 50f83fb542065eaf7a20ac07b63ae06441ada180)

Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-06 09:03:00 +00:00
Martin Jansa
c0ec68956c image_types.bbclass: tar: use posix format instead of gnu
* gnu isn't compatible with  --xattrs used e.g. here:
d3a832f66e/classes/image_types_ostree.bbclass (L16)
causing do_image_tar failing with:

| tar: --xattrs can be used only on POSIX archives
| Try 'tar --help' or 'tar --usage' for more information.

* https://www.gnu.org/software/tar/manual/html_chapter/tar_8.html
  says about posix format:

  This is the most flexible and feature-rich format.
  It does not impose any restrictions on file sizes or file name lengths.
  This format is quite recent, so not all tar implementations are able to handle it properly.
  However, this format is designed in such a way that any tar implementation able to read `ustar'
  archives will be able to read most `posix' archives as well, with the only exception that any
  additional information (such as long file names etc.) will in such case be extracted as plain
  text files along with the files it refers to.

  This archive format will be the default format for future versions of GNU tar.

  and:

  The default format for GNU tar is defined at compilation time.
  You may check it by running tar --help, and examining the last lines of its output.
  Usually, GNU tar is configured to create archives in `gnu' format, however, future version will switch to `posix'.

* I've compared tar on centos7 and ubuntu-18.04:

bash-4.2$ cat /etc/centos-release
CentOS Linux release 7.9.2009 (Core)

bash-4.2$ tar --version
tar (GNU tar) 1.26
...

bash-4.2$ tar --help | tail -n 5
*This* tar defaults to:
--format=gnu -f- -b20 --quoting-style=escape --rmt-command=/etc/rmt
--rsh-command=/usr/bin/ssh
...

bitbake@e0ee76f81c2f:/$ grep VERSION /etc/os-release
VERSION="18.04.5 LTS (Bionic Beaver)"
VERSION_ID="18.04"
VERSION_CODENAME=bionic

bitbake@e0ee76f81c2f:/$ tar --version
tar (GNU tar) 1.29
...

bitbake@e0ee76f81c2f:/$ tar --help | tail -n 5
...
*This* tar defaults to:
--format=gnu -f- -b20 --quoting-style=escape --rmt-command=/usr/lib/tar/rmt
--rsh-command=/usr/bin/rsh

Both support posix format (as pax POSIX 1003.1-2001). But centos7 version is
already too old anyway, because it doesn't support --sort=name used since:
https://git.openembedded.org/openembedded-core/commit/?id=4fa68626bbcfd9795577e1426c27d00f4d9d1c17
and
https://git.openembedded.org/openembedded-core/commit/?id=f19e43dec63a86c200e04ba14393583588550380
says that 1.28 is the minium version now and
https://git.openembedded.org/openembedded-core/commit/?id=7a66434cf11b7f051699b774e4fccd6738351368
recommends to use install-buildtools for hosts with tar < 1.28

On the other side latest tumbleweed from:
https://hub.docker.com/r/opensuse/tumbleweed
with tar-1.33 alredy defaults to posix format:

b99dbb3d86dd:/ # head -n 3 /etc/os-release
NAME="openSUSE Tumbleweed"
ID="opensuse-tumbleweed"

b99dbb3d86dd:/ # tar --version
tar (GNU tar) 1.33
...

b99dbb3d86dd:/ # tar --help | tail -n 3
*This* tar defaults to:
--format=posix -f- -b20 --quoting-style=escape --rmt-command=/usr/bin/rmt
--rsh-command=/usr/bin/ssh

I've packaged some sample rootfs directory with both tars and the result is
identical (with --format=gnu as well as --format=posix).

with ubuntu:
tar --sort=name --format=gnu --numeric-owner -cf rootfs.ubuntu.gnu.tar -C rootfs .
tar --xattrs --xattrs-include=* --sort=name --format=posix --numeric-owner -cf rootfs.ubuntu.posix.tar -C rootfs .
tumbleweed:
tar --sort=name --format=gnu --numeric-owner -cf rootfs.tumbleweed.gnu.tar -C rootfs .
tar --xattrs --xattrs-include=* --sort=name --format=posix --numeric-owner -cf rootfs.tumbleweed.posix.tar -C rootfs .
centos7 (without --sort=name):
tar --format=gnu --numeric-owner -cf rootfs.centos7.gnu.tar -C rootfs .
tar --xattrs --xattrs-include=* --format=posix --numeric-owner -cf rootfs.centos7.posix.tar -C rootfs .

size is identical:
-rw-r--r-- 1 mjansa mjansa 2487480320 Feb  5 09:19 rootfs.ubuntu.gnu.tar
-rw-r--r-- 1 mjansa mjansa 2487480320 Feb  5 10:17 rootfs.centos7.gnu.tar
-rw-r--r-- 1 mjansa mjansa 2487480320 Feb  5 10:26 rootfs.tumbleweed.gnu.tar
-rw-r--r-- 1 mjansa mjansa 2579875840 Feb  5 10:15 rootfs.ubuntu.posix.tar
-rw-r--r-- 1 mjansa mjansa 2579875840 Feb  5 10:16 rootfs.centos7.posix.tar
-rw-r--r-- 1 mjansa mjansa 2579875840 Feb  5 10:26 rootfs.tumbleweed.posix.tar

but md5s aren't:
5e3880283379dd773ac054e20562fdea  rootfs.centos7.gnu.tar
abeaf992c780aa780a27be01365d26f5  rootfs.centos7.posix.tar
0c6ee59d87ab56583293262de110bca4  rootfs.tumbleweed.gnu.tar
1555bc7276eaba924bf82a13a010fd6d  rootfs.tumbleweed.posix.tar
553d802bba351e273191bd5b2a621b66  rootfs.ubuntu.gnu.tar
b6d7b43b30174686f6625ba3c7aefdc6  rootfs.ubuntu.posix.tar

diffoscope shows some differences when using gnu format:

$ diffoscope rootfs.tumbleweed.gnu.tar rootfs.ubuntu.gnu.tar
...
-00239890: 3030 3000 3030 3737 3637 0020 4b00 0000  000.007767. K...
+00239890: 3030 3000 3031 3135 3737 0020 4b00 0000  000.011577. K...
...
-00239900: 0075 7374 6172 2020 0000 0000 0000 0000  .ustar  ........
+00239900: 0075 7374 6172 2020 0072 6f6f 7400 0000  .ustar  .root...
...
-00239920: 0000 0000 0000 0000 0000 0000 0000 0000  ................
+00239920: 0000 0000 0000 0000 0072 6f6f 7400 0000  .........root...

with posix format there are also some differences shown by diffoscope:

$ diffoscope rootfs.tumbleweed.posix.tar rootfs.ubuntu.posix.tar
 016a4c00: 2e2f 7573 722f 6269 6e2f 5061 7848 6561  ./usr/bin/PaxHea
-016a4c10: 6465 7273 2f63 6861 7474 722e 6532 6673  ders/chattr.e2fs
-016a4c20: 7072 6f67 7300 0000 0000 0000 0000 0000  progs...........
+016a4c10: 6465 7273 2e32 322f 6368 6174 7472 2e65  ders.22/chattr.e
+016a4c20: 3266 7370 726f 6773 0000 0000 0000 0000  2fsprogs........
...
 03937000: 2e2f 7573 722f 6269 6e2f 5061 7848 6561  ./usr/bin/PaxHea
-03937010: 6465 7273 2f63 6f6e 7461 696e 6572 642d  ders/containerd-
-03937020: 6374 7200 0000 0000 0000 0000 0000 0000  ctr.............
+03937010: 6465 7273 2e32 322f 636f 6e74 6169 6e65  ders.22/containe
+03937020: 7264 2d63 7472 0000 0000 0000 0000 0000  rd-ctr..........

so cannot really say which format is better for reproducible tar
archives from different distros, but posix at least supports xattrs
and it's the format for future.

(From OE-Core rev: 3ecea58f2a3382d9f4b410d6ad7089111334cb6f)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-06 09:03:00 +00:00
saloni
b74de5d19a libcroco: Added CVE
Added below CVE:
CVE-2020-12825
Link: CVE-2020-12825 [6eb257e5c7]
Link: https://gitlab.gnome.org/Archive/libcroco/-/issues/8

(From OE-Core rev: f8cee7386c556e1c5adb07a0aee385642b7a5568)

Signed-off-by: Saloni Jain <Saloni.Jain@kpit.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-06 09:03:00 +00:00
saloni
51b95cf1e7 libgcrypt: Whitelisted CVEs
Whitelisted below CVEs:

1. CVE-2018-12433
Link: https://security-tracker.debian.org/tracker/CVE-2018-12433
Link: https://nvd.nist.gov/vuln/detail/CVE-2018-12433
CVE-2018-12433 is marked disputed and ignored by NVD as it does
not impact crypt libraries for any distros and hence, can be safely
marked whitelisted.

2. CVE-2018-12438
Link: https://security-tracker.debian.org/tracker/CVE-2018-12438
Link: https://ubuntu.com/security/CVE-2018-12438
CVE-2018-12438 was reported for affecting openjdk crypt libraries
but there are no details available on which openjdk versions are
affected and does not directly affect libgcrypt or any specific
yocto distributions, hence, can be whitelisted.

(From OE-Core rev: 2943efe3f56d394308f9364b439c25f6a7613288)

Signed-off-by: Saloni Jain <Saloni.Jain@kpit.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-06 09:03:00 +00:00
Wang Mingyu
b535616586 e2fsprogs: upgrade 1.45.6 -> 1.45.7
0001-fix-up-check-for-hardlinks-always-false-if-inode-0xF.patch
removed since it is included in 1.45.7

(From OE-Core rev: f51835e022731d1c0e8e18209e48f1a718048977)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-06 09:03:00 +00:00
Joshua Watt
071f23ad79 bash: Disable bracketed input by default
Bash 5.1 enabled bracketed input mode by default, but this causes a lot
of problems with automated testing as it can inject a lot of control
sequences into non-interactive output. Disable it to cleanup the output
an preserve the pre-5.1 behavior

(From OE-Core rev: 6c1cb7e274050f1ccb817b8ee34d0f61f34c95e3)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-06 09:03:00 +00:00
Chen Qi
e6be41a204 systemd: change /bin/nologin to /sbin/nologin
Our nologin path is /sbin/nologin instead of /bin/nologin.

(From OE-Core rev: cd7f55e960e759d946d8b619b0a306e610f66356)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-06 09:03:00 +00:00
zhengruoqin
9000f80336 mc: upgrade 4.8.25 -> 4.8.26
Fix the do_compile error:
| ../../../mc-4.8.26/lib/tty/tty-ncurses.c: In function 'tty_colorize_area':
| ../../../mc-4.8.26/lib/tty/tty-ncurses.c:557:5: error: unknown type name 'cchar_t'; did you mean 'wchar_t'?
add -DNCURSES_WIDECHAR=1 when musl.

(From OE-Core rev: 5be29caca3d06dd3d2bab4c76588f509f1268199)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-06 09:03:00 +00:00
Andreas Müller
7ee0c2c8cb openssl: re-enable whirlpool
* it breaks KDE's qca and dependencies
* it is not deprecated. Openssl 3.0 (currently alpha) will deprecate whirlpool

[1] https://www.openssl.org/news/changelog.html#openssl-30

(From OE-Core rev: bc02baadeee477b10eceae62985af4f4c323506e)

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-06 09:03:00 +00:00
Khem Raj
8e3b42f442 glibc: Require full ISA support for x86-64 level marker
(From OE-Core rev: 7f40096fabd4d8a1b67e96aabca6a15637501222)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-05 12:00:54 +00:00
Khem Raj
51cf448849 glibc: Enable cet
Enable Intel Control-flow Enforcement Technology (CET) instrumentation
support

helps with overcoming
/lib/libc.so.6: CPU ISA level is lower than required

(From OE-Core rev: c864e0e496ab1a4176d7a1673d8fc5b300ae68cf)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-05 12:00:54 +00:00
Khem Raj
7b8df042d0 glibc: Upgrade to 2.33
Drop backported patches

(From OE-Core rev: aa87638cf4f2bef66df92f961c7814f6b482fd3d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-05 12:00:54 +00:00
Richard Purdie
77d9b5f02a pseudo: Update to work with glibc 2.33
Update to a pseudo version which contains some heqader fixes for
glibc 2.33.

(From OE-Core rev: c897ac317926b132547578b1f6bd347fe5677dfc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-05 12:00:54 +00:00
Richard Purdie
fa905948e5 openssh: Backport a fix to fix with glibc 2.33 on some platforms
This fixes openssh failing to work on qemux86 with glibc 2.33 due to
seccomp and the fact new syscalls are used. Also likely fixes issues
on other platforms.

(From OE-Core rev: 22f8ce6e6d998c0539a40b2776b1a2abb4f44bb3)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-05 12:00:54 +00:00
Mingli Yu
03bf6b3ec0 qemu: make ptest rework
After qemu upgrades to 5.2.0 in commit [1], if also switches
to meson and the previous logic which introduces the testsuites
changes in [2] and results in below error when run ptest test:
 # ./run-ptest
 for f in ; do \
     nf=$(echo $f | sed 's/tests\//\.\//g'); \
     $nf; \
 done

So refactor the ptest part code to make it work again.

[1] https://git.openembedded.org/openembedded-core/commit/?id=181c635567aafb9b4787d8d6d0bcd4a615ceae80
[2] https://git.qemu.org/?p=qemu.git;a=commitdiff;h=279588d4deea2694ebe9ceb29dfdc5c08a7c4e27

(From OE-Core rev: a5c1290e8a24b844f0ba62df270f976096394d87)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-05 08:16:32 +00:00
Lee Chee Yang
c05385c887 wic/selftest: test_permissions also test bitbake image
existing test case test_permissions use Wic command as standalone
tools to create wic image and check that wic image for permissions.

add extra steps to the test case to also check against image build
using bitbake do_image_wic.

(From OE-Core rev: 551ce73a90757ba43501fe5cf9ac84a7b77de549)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-05 08:16:32 +00:00
Yi Fan Yu
4b5b18c369 glib-2.0: add workaround to fix codegen.py.test failing
Adding a patch to remove an unecessary print statement
in test-codegen.py that cause the ptest-runner to fail.

Root cause is suspected to be in ptest-runner.

[YOCTO #14170]

Uptream-Status: Inappropriate [other]
this is a workaround.

(From OE-Core rev: afc9ba7d546f3f2e60fb6f46f740dc925542df16)

Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-05 08:16:32 +00:00
Steve Sakoman
ab012b3b94 glibc: update to latest release/2.32/master branch
Remove patches for CVE-2019-25013 and CVE-2020-27618 since they are
present in the branch now. Add both CVEs to CVE_CHECK_WHITELIST.

760e1d28782 gconv: Fix assertion failure in ISO-2022-JP-3 module (bug 27256)
d3cb8f6222a aarch64: fix static PIE start code for BTI [BZ #27068]
082798622d8 __vfscanf_internal: fix aliasing violation (bug 26690)
33dc30bc838 aarch64: Use mmap to add PROT_BTI instead of mprotect [BZ #26831]
46e1e64fe3e elf: Pass the fd to note processing
b6eae83717d elf: Move note processing after l_phdr is updated
c6090dcebd1 aarch64: align address for BTI protection [BZ #26988]
610e2c51504 aarch64: Fix missing BTI protection from dependencies [BZ #26926]
4c619b3eed5 x86: Check IFUNC definition in unrelocated executable [BZ #20019]
87450ecf8a8 x86: Set header.feature_1 in TCB for always-on CET [BZ #27177]
2b4f67c2b33 Update for [BZ #27130] fix
1a24bbd43e4 x86-64: Avoid rep movsb with short distance [BZ #27130]
0d9793e82a1 Fix buffer overrun in EUC-KR conversion module (bz #24973)
1d49bede4d8 tests-mcheck: New variable to run tests with MALLOC_CHECK_=3
050022910be iconv: Accept redundant shift sequences in IBM1364 [BZ #26224]
ac0a6929c5d sh: Add sh4 fpu Implies folder
3ea24955bff struct _Unwind_Exception alignment should not depend on compiler flags
5c36293f067 resolv: Serialize processing in resolv/tst-resolv-txnid-collision
2dfa659a66f resolv: Handle transaction ID collisions in parallel queries (bug 26600)
05c025abca1 support: Provide a way to clear the RA bit in DNS server responses
f688bcd83de support: Provide a way to reorder responses within the DNS test server
eba0ce60588 Remove __warndecl
5337b2af4b8 Remove __warn_memset_zero_len [BZ #25399]
c6e794640c3 aarch64: Add unwind information to _start (bug 26853)
70ee5e8b573 aarch64: Fix DT_AARCH64_VARIANT_PCS handling [BZ #26798]
8813b2682e4 x86: Optimizing memcpy for AMD Zen architecture.
e61a8fd8fad Reversing calculation of __x86_shared_non_temporal_threshold
0b9460d22e2 sysvipc: Fix IPC_INFO and SHM_INFO handling [BZ #26636]
c4aeedea598 sysvipc: Fix IPC_INFO and MSG_INFO handling [BZ #26639]
9b139b6b81a sysvipc: Fix SEM_STAT_ANY kernel argument pass [BZ #26637]
81c5484d93a AArch64: Use __memcpy_simd on Neoverse N2/V1
0f8f0ed25c1 AArch64: Improve backwards memmove performance
23482f78866 Set version.h RELEASE to "stable" (Bug 26700)
69beb5cbf85 string: Fix strerrorname_np return value [BZ #26555]
fe62c4d173f intl: Handle translation output codesets with suffixes [BZ #26383]
386543bc449 NEWS: Update for [BZ #26534] fix
cebc01cbfd6 x86-64: Fix FMA4 detection in ifunc [BZ #26534]

(From OE-Core rev: 8d05c277c5350c4d968eb488788eac7978968ef7)

Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-05 08:16:32 +00:00
Yann Dirson
9449f22764 libsdl2: upgrade to 2.0.14
This version does not support tslib any more, as can be seen by the
failed AUH run.

Originally-by: Romain Roffé <romain.roffe@blade-group.com>
(From OE-Core rev: 5b54e97594ab021a73d3225ed42dac0dfaf3fc15)

Signed-off-by: Yann Dirson <yann@blade-group.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-05 08:16:32 +00:00
Luca Boccassi
4cb93cd028 systemd: update to v247.3
(From OE-Core rev: e39d388f510f56c3dfe6871070ce1d24f296f405)

Signed-off-by: Luca Boccassi <luca.boccassi@microsoft.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-05 08:16:32 +00:00
Changhyeok Bae
b4965a4d71 python3-importlib-metadata: Add toml dependency
ERROR: Do not try to fetch 'toml' for building. Please add its native
recipe to DEPENDS.

(From OE-Core rev: 9adc8edccbd7b3f7c05d6e17a8ebde4e65bf6c81)

Signed-off-by: Changhyeok Bae <changhyeok.bae@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-05 08:16:32 +00:00
Oleksandr Kravchuk
c88bb1364c python3-numpy: update to 0.20.0
License file diff:

+ Files: doc/sphinxext/numpydoc/*
+ License: BSD-2-Clause
+   For details, see doc/sphinxext/LICENSE.txt
+
+ Name: scipy-sphinx-theme
+ Files: doc/scipy-sphinx-theme/*
+ License: BSD-3-Clause AND PSF-2.0 AND Apache-2.0
+   For details, see doc/scipy-sphinx-theme/LICENSE.txt

(From OE-Core rev: b1225ccc90db7ccddb8021ff8c9fe1bdb36dd041)

Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-05 08:16:32 +00:00
Oleksandr Kravchuk
2d878b92dc python3-smmap: update to 4.0.0
(From OE-Core rev: 8f6025ed514a5114b7ec71edb8b1684e85fd29f4)

Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-05 08:16:32 +00:00
Bruce Ashfield
22ca8d204c yocto-bsp: linux-yocto: update to v5.10.12
Updating linux-yocto 5.10 bbapends to the latest korg -stable release

(From meta-yocto rev: 85fdb1c61e1c5f3c625b5bab964c13dfb35663fa)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03 21:45:50 +00:00
Richard Purdie
c2f2963623 package: Ensure do_packagedata is cleaned correctly
In an earlier commit, libprocps was split into a separate package leaving
no shlibs in the main package. A bug was seen where igt-gpu-tools wouldn't
build correctly in some cases as it thought the librbary was still in the
main package, throwing qa errors as a result.

The issue was due to an extra file being left in the sstate output of
the do_packagedata task in the shlibs2/ folder which contained the bad
shlibs information.

The reason for this was that the temporary directory used in this
task wasn't being cleaned so files which were deleted were not handled
correctly. Add a missing cleandirs entry to fix this.

(From OE-Core rev: 50f17d0a655a3a2556f9fcad67259101c2814a36)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03 21:45:49 +00:00
Khem Raj
ff21f42cf0 glibc: Drop adding .file directive in asm files
it was a workaround for binutils issue which is fixed in 2.36 with

https://sourceware.org/bugzilla/show_bug.cgi?id=26822

(From OE-Core rev: 5dfba8c373de858badd8944f7ad9932549238045)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03 21:45:49 +00:00
Khem Raj
22cfb4693a musl: Drop adding .file directive in asm files
it was a workaround for binutils issue which is fixed in 2.36 with

https://sourceware.org/bugzilla/show_bug.cgi?id=26822

(From OE-Core rev: 628668acdd897d79154ebc304edef8a95ff54ac5)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03 21:45:49 +00:00
Khem Raj
b9b33e32e6 binutils: Disable parallel install for target/nativesdk binutils
2.36 has a build race between libctf and libbfd

(From OE-Core rev: b1f44d9f1f4090ec2c6fd58aa4321da9a22ba9a0)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03 21:45:49 +00:00
Khem Raj
42eb97fb13 binutils: Package libdep linker plugins
this is new plugin added in binutils 2.36

(From OE-Core rev: dddd261bab4b371ae97bcf4b954359297d615f83)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03 21:45:49 +00:00
Khem Raj
b7daba6738 binutils: Upgrade to 2.36 release
Drop backported patches which are already present in 2.36 release

(From OE-Core rev: 897afa95ba340f1124decac5753e1d1e1283b515)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03 21:45:49 +00:00
Richard Purdie
39c454a1df grub: Backport fix to work with new binutils
New versions of binutils caused object files to be 128MB in size,
backporting this fix reduced them back to a sensible size, e.g.
1024 bytes. This avoids initramfix size issues!

(From OE-Core rev: b72b9e81268719436e4bad5062cb0e1781da0395)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03 21:45:49 +00:00
Bruce Ashfield
5d248cfc91 linux-yocto/5.10: binutils 2.36 fixes
Integrating the following commit(s) to linux-yocto/5.10:

    cdca78778415 objtool: Fix seg fault with Clang non-section symbols
    d3287798bd88 x86/entry: Emit a symbol for register restoring thunk

With these, build issues with binutils 2.36 are resolved

(From OE-Core rev: faace9b72adb17593323b7f39fa95e89d361ef57)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03 21:45:49 +00:00
Bruce Ashfield
2e3f481ef9 linux-yocto/5.4: update to v5.4.94
Updating linux-yocto/5.4 to the latest korg -stable release that comprises
the following commits:

    0fbca6ce4174 Linux 5.4.94
    315cd8fc2ad2 fs: fix lazytime expiration handling in __writeback_single_inode()
    5f8b8fccdfbc writeback: Drop I_DIRTY_TIME_EXPIRE
    2d8848edc96b dm integrity: conditionally disable "recalculate" feature
    43546b74ce6c tools: Factor HOSTCC, HOSTLD, HOSTAR definitions
    ab85b382dcf7 SMB3.1.1: do not log warning message if server doesn't populate salt
    0edc78af73d0 arm64: mm: use single quantity to represent the PA to VA translation
    b899d5b2a42a tracing: Fix race in trace_open and buffer resize call
    c4a23c852e80 io_uring: Fix current->fs handling in io_sq_wq_submit_work()
    336bb7dc5a1c HID: wacom: Correct NULL dereference on AES pen proximity
    ecd62d2e9ab4 futex: Handle faults correctly for PI futexes
    55ea172ce3eb futex: Simplify fixup_pi_state_owner()
    a3155c362ca0 futex: Use pi_state_update_owner() in put_pi_state()
    ceb83cf9ed67 rtmutex: Remove unused argument from rt_mutex_proxy_unlock()
    015b6a4c2564 futex: Provide and use pi_state_update_owner()
    65aad57cac8d futex: Replace pointless printk in fixup_owner()
    0dae88a92596 futex: Ensure the correct return value from futex_lock_pi()
    c27a2a1ecf69 Revert "mm/slub: fix a memory leak in sysfs_slab_add()"
    4afd772371d9 gpio: mvebu: fix pwm .get_state period calculation
    131f8d8a889a Linux 5.4.93
    f7020c437e13 tcp: fix TCP_USER_TIMEOUT with zero window
    945d182a046f tcp: do not mess with cloned skbs in tcp_add_backlog()
    ccc248b6444a net: dsa: b53: fix an off by one in checking "vlan->vid"
    ff64094dc718 net: Disable NETIF_F_HW_TLS_RX when RXCSUM is disabled
    3e5b335a55e9 net: mscc: ocelot: allow offloading of bridge on top of LAG
    b47a3c32c4c2 ipv6: set multicast flag on the multicast route
    b778940f2ab9 net_sched: reject silly cell_log in qdisc_get_rtab()
    4ed347901f08 net_sched: avoid shift-out-of-bounds in tcindex_set_parms()
    bc757ba6dc75 ipv6: create multicast route with RTPROT_KERNEL
    60fb547a3d5d udp: mask TOS bits in udp_v4_early_demux()
    da3711f42c68 kasan: fix incorrect arguments passing in kasan_add_zero_shadow
    0d190f53fa2f kasan: fix unaligned address is unhandled in kasan_remove_zero_shadow
    5a3890bad3a4 skbuff: back tiny skbs with kmalloc() in __netdev_alloc_skb() too
    49aaf012c478 lightnvm: fix memory leak when submit fails
    0ff55fc4d6a1 sh_eth: Fix power down vs. is_opened flag ordering
    fd2f5130ae98 net: dsa: mv88e6xxx: also read STU state in mv88e6250_g1_vtu_getnext
    4e1d17a1f73b sh: dma: fix kconfig dependency for G2_DMA
    8a0b8e26f79f netfilter: rpfilter: mask ecn bits before fib lookup
    99328b4b4408 x86/cpu/amd: Set __max_die_per_package on AMD
    6f8ba0ada139 pinctrl: ingenic: Fix JZ4760 support
    382ffe786647 driver core: Extend device_is_dependent()
    4e749a28c909 xhci: tegra: Delay for disabling LFPS detector
    a6a5d08170c2 xhci: make sure TRB is fully written before giving it to the controller
    7f3cfc7e378d usb: bdc: Make bdc pci driver depend on BROKEN
    f764f90b0c77 usb: udc: core: Use lock when write to soft_connect
    564f3c532642 usb: gadget: aspeed: fix stop dma register setting.
    f89a193fd9d3 USB: ehci: fix an interrupt calltrace error
    9a660760299b ehci: fix EHCI host controller initialization sequence
    5eda5db39e28 serial: mvebu-uart: fix tx lost characters at power off
    a8fade59466c stm class: Fix module init return on allocation failure
    5e4bacea58ca intel_th: pci: Add Alder Lake-P support
    c5885886c72c x86/mmx: Use KFPU_387 for MMX string operations
    d1a9cd1dc53c x86/topology: Make __max_die_per_package available unconditionally
    cdb4ce96fdd2 x86/fpu: Add kernel_fpu_begin_mask() to selectively initialize state
    cd1c4882ab43 irqchip/mips-cpu: Set IPI domain parent chip
    9a2f6007a228 cifs: do not fail __smb_send_rqst if non-fatal signals are pending
    745229c90301 iio: ad5504: Fix setting power-down state
    ddd1416f4413 can: peak_usb: fix use after free bugs
    a24476b37167 can: vxcan: vxcan_xmit: fix use after free bug
    ac48ef15826e can: dev: can_restart: fix use after free bug
    391187744436 selftests: net: fib_tests: remove duplicate log test
    237375005739 platform/x86: intel-vbtn: Drop HP Stream x360 Convertible PC 11 from allow-list
    57f0f0ddf9e4 i2c: octeon: check correct size of maximum RECV_LEN packet
    485e0255c19e powerpc: Fix alignment bug within the init sections
    cfea5cddeb71 scsi: megaraid_sas: Fix MEGASAS_IOC_FIRMWARE regression
    da3324ec5497 pinctrl: aspeed: g6: Fix PWMG0 pinctrl setting
    5625c3da7167 powerpc: Use the common INIT_DATA_SECTION macro in vmlinux.lds.S
    73a229119983 drm/nouveau/kms/nv50-: fix case where notifier buffer is at offset 0
    af91a2e7fb5e drm/nouveau/mmu: fix vram heap sizing
    ee2c9e58f430 drm/nouveau/i2c/gm200: increase width of aux semaphore owner fields
    38f35023fd30 drm/nouveau/privring: ack interrupts the same way as RM
    8c3d3b385ed8 drm/nouveau/bios: fix issue shadowing expansion ROMs
    f5dc9627ac04 drm/amd/display: Fix to be able to stop crc calculation
    9f6d85e20125 drm/amdgpu/psp: fix psp gfx ctrl cmds
    5b2266d62b54 riscv: defconfig: enable gpio support for HiFive Unleashed
    7eef73685871 dts: phy: fix missing mdio device and probe failure of vsc8541-01 device
    5fa6987258a7 x86/xen: Add xen_no_vector_callback option to test PCI INTX delivery
    a09d4e7acdbf xen: Fix event channel callback via INTX/GSI
    acc402fa5bf5 arm64: make atomic helpers __always_inline
    8ab3478335ad clk: tegra30: Add hda clock default rates to clock driver
    c074680653e2 HID: Ignore battery for Elan touchscreen on ASUS UX550
    9cec63a3aacb HID: logitech-dj: add the G602 receiver
    b1b943f5b65e riscv: Fix sifive serial driver
    cd0c46821aa5 riscv: Fix kernel time_init()
    5a1d7bb7d333 scsi: sd: Suppress spurious errors when WRITE SAME is being disabled
    68f99105752d scsi: qedi: Correct max length of CHAP secret
    97853a7eae80 scsi: ufs: Correct the LUN used in eh_device_reset_handler() callback
    b477f4371045 dm integrity: select CRYPTO_SKCIPHER
    8ebe26a1e236 HID: multitouch: Enable multi-input for Synaptics pointstick/touchpad device
    6af49167440a ASoC: Intel: haswell: Add missing pm_ops
    ad1df24b37d9 drm/i915/gt: Prevent use of engine->wa_ctx after error
    6b59bd9eea08 drm/syncobj: Fix use-after-free
    559c0ffedbe0 drm/atomic: put state on error path
    42d855f06d12 dm integrity: fix a crash if "recalculate" used without "internal_hash"
    a03ce9cc4bb8 dm: avoid filesystem lookup in dm_get_dev_t()
    cd3aa1495d8a mmc: sdhci-xenon: fix 1.8v regulator stabilization
    6acdefd0bd34 mmc: core: don't initialize block size from ext_csd if not present
    d8a487e673ab btrfs: send: fix invalid clone operations when cloning from the same file and root
    4d1cf8eeda5b btrfs: don't clear ret in btrfs_start_dirty_block_groups
    e1065331b730 btrfs: fix lockdep splat in btrfs_recover_relocation
    68718453159e btrfs: don't get an EINTR during drop_snapshot for reloc
    a826af1dea4a ACPI: scan: Make acpi_bus_get_device() clear return pointer on error
    08fa4ae93e95 ALSA: hda/via: Add minimum mute flag
    1607adf1ac41 ALSA: seq: oss: Fix missing error check in snd_seq_oss_synth_make_info()
    9c301133beda platform/x86: ideapad-laptop: Disable touchpad_switch for ELAN0634
    ea8d3c71313f platform/x86: i2c-multi-instantiate: Don't create platform device for INT3515 ACPI nodes
    60066d5181be i2c: bpmp-tegra: Ignore unknown I2C_M flags
    09f983f0c7fc Linux 5.4.92
    e2d69319b713 spi: cadence: cache reference clock rate during probe
    d04c7938d0f8 mac80211: check if atf has been disabled in __ieee80211_schedule_txq
    d46996cb4b16 mac80211: do not drop tx nulldata packets on encrypted links
    56e8947bcf81 tipc: fix NULL deref in tipc_link_xmit()
    55bac51762c3 net, sctp, filter: remap copy_from_user failure error
    52e0b20c8c57 rxrpc: Fix handling of an unsupported token type in rxrpc_read()
    5c466480d7d4 net: avoid 32 x truesize under-estimation for tiny skbs
    f6499a78e581 net: sit: unregister_netdevice on newlink's error path
    a3870cf8a7a2 net: stmmac: Fixed mtu channged by cache aligned
    c213d85cae39 rxrpc: Call state should be read with READ_ONCE() under some circumstances
    6d57b582fb35 net: dcb: Accept RTM_GETDCB messages carrying set-like DCB commands
    d52f5929d997 net: dcb: Validate netlink message in DCB handler
    814e04776211 esp: avoid unneeded kmap_atomic call
    0ff06dd1b949 rndis_host: set proper input size for OID_GEN_PHYSICAL_MEDIUM request
    c897c10e4334 net: mvpp2: Remove Pause and Asym_Pause support
    18c29e175e30 mlxsw: core: Increase critical threshold for ASIC thermal zone
    7680783452ce mlxsw: core: Add validation of transceiver temperature thresholds
    ff6d4e8da7c6 net: ipv6: Validate GSO SKB before finish IPv6 processing
    b41352a93c16 net: skbuff: disambiguate argument and member for skb_list_walk_safe helper
    aa350dbe3a1e net: introduce skb_list_walk_safe for skb segment walking
    760e9fd4f7ab netxen_nic: fix MSI/MSI-x interrupts
    982e763ea3c3 udp: Prevent reuseport_select_sock from reading uninitialized socks
    bd4793843c85 bpf: Fix helper bpf_map_peek_elem_proto pointing to wrong callback
    79ce12cfa56a bpf: Don't leak memory in bpf getsockopt when optlen == 0
    4aef760c28e8 nfsd4: readdirplus shouldn't return parent of export
    9b72d5ba50f1 spi: npcm-fiu: Disable clock in probe error path
    6ef67f59263e spi: npcm-fiu: simplify the return expression of npcm_fiu_probe()
    fa6de8d82d9c scsi: lpfc: Make lpfc_defer_acc_rsp static
    e82b58aa6471 scsi: lpfc: Make function lpfc_defer_pt2pt_acc static
    5e6b88828526 elfcore: fix building with clang
    ac29c052654f xen/privcmd: allow fetching resource sizes
    dd113b79ee7e compiler.h: Raise minimum version of GCC to 5.1 for arm64
    24cea7d70516 usb: ohci: Make distrust_firmware param default to false
    d26b3110041a Linux 5.4.91
    516bd00e5ac1 netfilter: nft_compat: remove flush counter optimization
    935114863364 netfilter: nf_nat: Fix memleak in nf_nat_init
    49fc6d92b484 netfilter: conntrack: fix reading nf_conntrack_buckets
    548e4168e68d ALSA: firewire-tascam: Fix integer overflow in midi_port_work()
    68e67535e26b ALSA: fireface: Fix integer overflow in transmit_midi_msg()
    2c3d03cdbd39 dm: eliminate potential source of excessive kernel log noise
    a34294774a32 net: sunrpc: interpret the return value of kstrtou32 correctly
    8b5107a74db3 iommu/vt-d: Fix unaligned addresses for intel_flush_svm_range_dev()
    c2226680343d mm, slub: consider rest of partial list if acquire_slab() fails
    cd9e901fe2fc drm/i915/dsi: Use unconditional msleep for the panel_on_delay when there is no reset-deassert MIPI-sequence
    9269296721b5 IB/mlx5: Fix error unwinding when set_has_smi_cap fails
    40a782293545 RDMA/mlx5: Fix wrong free of blue flame register on error
    e8c8d2319bd7 bnxt_en: Improve stats context resource accounting with RDMA driver loaded.
    3bcf35a7c05f RDMA/usnic: Fix memleak in find_free_vf_and_create_qp_grp
    da834a9bdc23 RDMA/restrack: Don't treat as an error allocation ID wrapping
    986fdc7685fa ext4: fix superblock checksum failure when setting password salt
    38992092b54e NFS: nfs_igrab_and_active must first reference the superblock
    6b3ae2030db9 NFS/pNFS: Fix a leak of the layout 'plh_outstanding' counter
    aa2399f55eff pNFS: Stricter ordering of layoutget and layoutreturn
    78c2ab7f5265 pNFS: Mark layout for return if return-on-close was not sent
    7d1241ae1dce pNFS: We want return-on-close to complete when evicting the inode
    69d121ca892c NFS4: Fix use-after-free in trace_event_raw_event_nfs4_set_lock
    c70f6e0ac9f9 nvme-tcp: fix possible data corruption with bio merges
    55a102004376 ASoC: Intel: fix error code cnl_set_dsp_D0()
    2392a54de8ba ASoC: meson: axg-tdmin: fix axg skew offset
    973900cd4614 ASoC: meson: axg-tdm-interface: fix loopback
    08eb8a735c11 dump_common_audit_data(): fix racy accesses to ->d_name
    d443cefd9f73 perf intel-pt: Fix 'CPU too large' error
    221dee1d0d4e ARM: picoxcell: fix missing interrupt-parent properties
    ba74e0f222c7 drm/msm: Call msm_init_vram before binding the gpu
    0251d3eb4480 ACPI: scan: add stub acpi_create_platform_device() for !CONFIG_ACPI
    bfdd0a3b86c3 usb: typec: Fix copy paste error for NVIDIA alt-mode description
    644baa95db2b drm/amdgpu: fix a GPU hang issue when remove device
    596b3423fddc nvmet-rdma: Fix list_del corruption on queue establishment failure
    4cb77b877fcc nvme-pci: mark Samsung PM1725a as IGNORE_DEV_SUBNQN
    242793c7ef2f selftests: fix the return value for UDP GRO test
    5fc06b706432 net: ethernet: fs_enet: Add missing MODULE_LICENSE
    15a8491cdcd4 misdn: dsp: select CONFIG_BITREVERSE
    635a658de303 arch/arc: add copy_user_page() to <asm/page.h> to fix build error on ARC
    bc68af1fdcac bfq: Fix computation of shallow depth
    2abc54579d1b lib/raid6: Let $(UNROLL) rules work with macOS userland
    1d05b91ab72e hwmon: (pwm-fan) Ensure that calculation doesn't discard big period values
    1229d433960c habanalabs: Fix memleak in hl_device_reset
    93aef8e6cc08 habanalabs: register to pci shutdown callback
    79df21218d63 ethernet: ucc_geth: fix definition and size of ucc_geth_tx_global_pram
    331a6438ebfd regulator: bd718x7: Add enable times
    d5f996bea464 btrfs: fix transaction leak and crash after RO remount caused by qgroup rescan
    c8dd8af4b35f netfilter: ipset: fixes possible oops in mtype_resize
    ca2fc0dc1cec ARC: build: move symlink creation to arch/arc/Makefile to avoid race
    6265a0f2410f ARC: build: add boot_targets to PHONY
    217d8ba22bce ARC: build: add uImage.lzma to the top-level target
    b9128252b9ee ARC: build: remove non-existing bootpImage from KBUILD_IMAGE
    5349b17c3df5 dm integrity: fix flush with external metadata device
    c553300f1453 cifs: fix interrupted close commands
    d17a9571e392 smb3: remove unused flag passed into close functions
    55a4dff288af ext4: don't leak old mountpoint samples
    2003c669df4c ext4: fix bug for rename with RENAME_WHITEOUT
    425faacff213 drm/i915/backlight: fix CPU mode backlight takeover on LPT
    72eb9fc82aea btrfs: tree-checker: check if chunk item end overflows
    82a948fc67ea r8152: Add Lenovo Powered USB-C Travel Hub
    ad5f19c7e9ce dm integrity: fix the maximum number of arguments
    5caac6317daf dm snapshot: flush merged data before committing metadata
    2017b99ec205 dm raid: fix discard limits for raid1
    4335af6c62fc mm/hugetlb: fix potential missing huge page size info
    c64366620d91 ACPI: scan: Harden acpi_device_add() against device ID overflows
    bc0b70f1d28c RDMA/ocrdma: Fix use after free in ocrdma_dealloc_ucontext_pd()
    f7a97dc302be MIPS: relocatable: fix possible boot hangup with KASLR enabled
    f5c2f7970683 MIPS: boot: Fix unaligned access with CONFIG_MIPS_RAW_APPENDED_DTB
    a650107de374 mips: lib: uncached: fix non-standard usage of variable 'sp'
    bda45bbc8e03 mips: fix Section mismatch in reference
    aeb64ef1f429 tracing/kprobes: Do the notrace functions check without kprobes on ftrace
    984f57e4258c x86/hyperv: check cpu mask after interrupt has been disabled
    1a202b9b9d23 ASoC: dapm: remove widget from dirty list on free
    82d1a5f6f2e5 btrfs: prevent NULL pointer dereference in extent_io_tree_panic
    bb562e6e0358 kbuild: enforce -Werror=return-type

(From OE-Core rev: 80d066f627225e9eefba84c799e9b27bc17526fc)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03 21:45:49 +00:00
Bruce Ashfield
6cb63902c5 linux-yocto/5.10: update to v5.10.12
Updating linux-yocto/5.10 to the latest korg -stable release that comprises
the following commits:

    05f6d2aa7e2f Linux 5.10.12
    d5ac8304e180 printk: fix string termination for record_print_text()
    861c2e349a36 printk: fix buffer overflow potential for print_text()
    cb14bbbb7bbf tools: Factor HOSTCC, HOSTLD, HOSTAR definitions
    f472a59aa182 mm: fix a race on nr_swap_pages
    c11f7749f1fc mm/page_alloc: add a missing mm_page_alloc_zone_locked() tracepoint
    c6fd968f5843 objtool: Don't fail on missing symbol table
    d92d00861e98 io_uring: fix sleeping under spin in __io_clean_op
    7bccd1c19128 io_uring: dont kill fasync under completion_lock
    186725a80c4e io_uring: fix skipping disabling sqo on exec
    54b4c4f9aba9 io_uring: fix uring_flush in exit_files() warning
    0682759126bc io_uring: fix false positive sqo warning on flush
    8cb6f4da831b io_uring: do sqo disable on install_fd error
    0e3562e3b2ae io_uring: fix null-deref in io_disable_sqo_submit
    a63d9157571b io_uring: stop SQPOLL submit on creator's death
    da67631a33c3 io_uring: add warn_once for io_uring_flush()
    18f31594ee52 io_uring: inline io_uring_attempt_task_drop()
    7bf3fb6243a3 kernel/io_uring: cancel io_uring before task works
    08a922a6fdf8 iwlwifi: dbg: Don't touch the tlv data
    1fa2fa7932f9 RDMA/vmw_pvrdma: Fix network_hdr_type reported in WC
    77727dfda786 media: v4l2-subdev.h: BIT() is not available in userspace
    94fb5ff34544 media: Revert "media: videobuf2: Fix length check for single plane dmabuf queueing"
    0fa0a05b4089 HID: multitouch: Apply MT_QUIRK_CONFIDENCE quirk for multi-input devices
    a7f6d4ab4434 HID: wacom: Correct NULL dereference on AES pen proximity
    e843e4f78258 futex: Handle faults correctly for PI futexes
    abc4dd792f8d futex: Simplify fixup_pi_state_owner()
    a597f12e971c futex: Use pi_state_update_owner() in put_pi_state()
    6d28ac502f9a rtmutex: Remove unused argument from rt_mutex_proxy_unlock()
    5b2c5a9561c2 futex: Provide and use pi_state_update_owner()
    5ede8ee2cb16 futex: Replace pointless printk in fixup_owner()
    ab5e9a320e44 futex: Ensure the correct return value from futex_lock_pi()
    bf5eb7d21ab0 Revert "mm/slub: fix a memory leak in sysfs_slab_add()"
    43f2e6077f44 gpio: mvebu: fix pwm .get_state period calculation
    b97134d15127 Linux 5.10.11
    1daa298a0418 Revert "mm: fix initialization of struct page for holes in memory layout"
    f2a79851c776 mm: fix initialization of struct page for holes in memory layout
    5405cb30db87 Commit 9bb48c82aced ("tty: implement write_iter") converted the tty layer to use write_iter. Fix the redirected_tty_write declaration also in n_tty and change the comparisons to use write_iter instead of write. also in n_tty and change the comparisons to use write_iter instead of write.
    e8572713897e fs/pipe: allow sendfile() to pipe again
    eb5381efaf36 interconnect: imx8mq: Use icc_sync_state
    0b6672fd778c kernfs: wire up ->splice_read and ->splice_write
    11167454e9cb kernfs: implement ->write_iter
    6ce10b6481cd kernfs: implement ->read_iter
    436bc4c45a58 bpf: Local storage helpers should check nullness of owner ptr passed
    b379dfbc1edd drm/i915/hdcp: Get conn while content_type changed
    9e9ae646eb80 ASoC: SOF: Intel: hda: Avoid checking jack on system suspend
    e9c4068fb0f6 tcp: Fix potential use-after-free due to double kfree()
    5cc760632083 x86/sev-es: Handle string port IO to kernel memory properly
    6c19578d4634 net: systemport: free dev before on error path
    e018e57fd5c0 tty: fix up hung_up_tty_write() conversion
    875f1b4bf890 tty: implement write_iter
    f5bbf7f47570 x86/sev: Fix nonistr violation
    39afef8a282b pinctrl: qcom: Don't clear pending interrupts when enabling
    f8a622d21295 pinctrl: qcom: Properly clear "intr_ack_high" interrupts when unmasking
    022dac5bcde9 pinctrl: qcom: No need to read-modify-write the interrupt status
    49aec69ee40c pinctrl: qcom: Allow SoCs to specify a GPIO function that's not 0
    22c3cb558a4b net: core: devlink: use right genl user_ptr when handling port param get/set
    6a791693a013 net: mscc: ocelot: Fix multicast to the CPU port
    70746a4779ad tcp: fix TCP_USER_TIMEOUT with zero window
    981e1807748a tcp: do not mess with cloned skbs in tcp_add_backlog()
    013ed7c845df net: dsa: b53: fix an off by one in checking "vlan->vid"
    f0f3d3e6e938 net: Disable NETIF_F_HW_TLS_RX when RXCSUM is disabled
    261b8f617d2a net: mscc: ocelot: allow offloading of bridge on top of LAG
    9898801780ed ipv6: set multicast flag on the multicast route
    0083dc292ee4 net_sched: reject silly cell_log in qdisc_get_rtab()
    56ef551205e4 net_sched: avoid shift-out-of-bounds in tcindex_set_parms()
    3cb2de5242ec ipv6: create multicast route with RTPROT_KERNEL
    e5f323b7aba3 udp: mask TOS bits in udp_v4_early_demux()
    03ca5c229a49 net_sched: gen_estimator: support large ewma log
    a6fc8314dc40 tcp: fix TCP socket rehash stats mis-accounting
    fee5a83dfc4a kasan: fix incorrect arguments passing in kasan_add_zero_shadow
    ecd63f04e728 kasan: fix unaligned address is unhandled in kasan_remove_zero_shadow
    b65578cec113 skbuff: back tiny skbs with kmalloc() in __netdev_alloc_skb() too
    73171b677fc4 lightnvm: fix memory leak when submit fails
    76e2b0b65d47 cachefiles: Drop superfluous readpages aops NULL check
    20fa3a744279 nvme-pci: fix error unwind in nvme_map_data
    88072260f3ca nvme-pci: refactor nvme_unmap_data
    13bcd09b2f50 sh_eth: Fix power down vs. is_opened flag ordering
    7e2bf98d534f selftests/powerpc: Fix exit status of pkey tests
    55c869b1324f net: dsa: mv88e6xxx: also read STU state in mv88e6250_g1_vtu_getnext
    2fc06bfa701d octeontx2-af: Fix missing check bugs in rvu_cgx.c
    19187877057d ASoC: SOF: Intel: fix page fault at probe if i915 init fails
    ba548335c8e8 locking/lockdep: Cure noinstr fail
    8c262be154ff sh: Remove unused HAVE_COPY_THREAD_TLS macro
    233900505617 sh: dma: fix kconfig dependency for G2_DMA
    e929068ad5b3 drm/i915/hdcp: Update CP property in update_pipe
    5897a78fd13f tools: gpio: fix %llu warning in gpio-watch.c
    3fa4a03fd01e tools: gpio: fix %llu warning in gpio-event-mon.c
    83d7403b2e3e netfilter: rpfilter: mask ecn bits before fib lookup
    238b5ebdb6a6 cls_flower: call nla_ok() before nla_next()
    23d02ee1d455 x86/cpu/amd: Set __max_die_per_package on AMD
    0b3efe55e583 x86/entry: Fix noinstr fail
    a2989acadc8b drm/i915: Only enable DFP 4:4:4->4:2:0 conversion when outputting YCbCr 4:4:4
    75b944403000 drm/i915: s/intel_dp_sink_dpms/intel_dp_set_power/
    881363cbddb1 driver core: Extend device_is_dependent()
    b3bc56e3f503 driver core: Fix device link device name collision
    8cd3c48c1baf drivers core: Free dma_range_map when driver probe failed
    3a9eb1141390 xhci: tegra: Delay for disabling LFPS detector
    9e7d7c034708 xhci: make sure TRB is fully written before giving it to the controller
    6b81e926bb98 usb: cdns3: imx: fix can't create core device the second time issue
    cc7f1a32424e usb: cdns3: imx: fix writing read-only memory issue
    eb87dd389e0f usb: bdc: Make bdc pci driver depend on BROKEN
    9bbf039671dc usb: udc: core: Use lock when write to soft_connect
    43e2ae5a7493 USB: gadget: dummy-hcd: Fix errors in port-reset handling
    ea0dd2da3ac7 usb: gadget: aspeed: fix stop dma register setting.
    c6e50ff9363c USB: ehci: fix an interrupt calltrace error
    f270d1d75563 ehci: fix EHCI host controller initialization sequence
    ee3a62cb263b serial: mvebu-uart: fix tx lost characters at power off
    225c87b40a78 stm class: Fix module init return on allocation failure
    f583ccebacdf intel_th: pci: Add Alder Lake-P support
    2df15ef2a9cc io_uring: fix short read retries for non-reg files
    f3ac7a5996d7 io_uring: fix SQPOLL IORING_OP_CLOSE cancelation state
    ca75872dd9f3 io_uring: iopoll requests should also wake task ->in_idle state
    371f3fbf4ff1 mm: fix numa stats for thp migration
    0dc3a130cc37 mm: memcg: fix memcg file_dirty numa stat
    26f54dac1564 mm: memcg/slab: optimize objcg stock draining
    cb5fe25c8220 proc_sysctl: fix oops caused by incorrect command parameters
    c351dc4d774e x86/setup: don't remove E820_TYPE_RAM for pfn 0
    bd08075c8640 x86/mmx: Use KFPU_387 for MMX string operations
    f19c54317e1b x86/topology: Make __max_die_per_package available unconditionally
    f5ee8afc1971 x86/fpu: Add kernel_fpu_begin_mask() to selectively initialize state
    c530b17272d1 irqchip/mips-cpu: Set IPI domain parent chip
    2edf2c9f3e5e cifs: do not fail __smb_send_rqst if non-fatal signals are pending
    062dea906be1 powerpc/64s: fix scv entry fallback flush vs interrupt
    1bac5333d47e counter:ti-eqep: remove floor
    855b115749d8 iio: adc: ti_am335x_adc: remove omitted iio_kfifo_free()
    dbecf6631344 drivers: iio: temperature: Add delay after the addressed reset command in mlx90632.c
    5b136903db0e iio: ad5504: Fix setting power-down state
    c9894c169ec6 iio: common: st_sensors: fix possible infinite loop in st_sensors_irq_thread
    61aad39e2e13 i2c: sprd: depend on COMMON_CLK to fix compile tests
    3b56eecdc7da perf evlist: Fix id index for heterogeneous systems
    ec939c13c3ff can: peak_usb: fix use after free bugs
    e771a8740761 can: vxcan: vxcan_xmit: fix use after free bug
    593c072b7b3c can: dev: can_restart: fix use after free bug
    66ee6d91d327 selftests: net: fib_tests: remove duplicate log test
    636868a52d33 xsk: Clear pool even for inactive queues
    517732c1b52b ALSA: hda: Balance runtime/system PM if direct-complete is disabled
    ca431352900a gpio: sifive: select IRQ_DOMAIN_HIERARCHY rather than depend on it
    bc183873967e platform/x86: hp-wmi: Don't log a warning on HPWMI_RET_UNKNOWN_COMMAND errors
    d77bc052c438 platform/x86: intel-vbtn: Drop HP Stream x360 Convertible PC 11 from allow-list
    3e21c4dbc3ae drm/vc4: Unify PCM card's driver_name
    adc0cb3adf8b i2c: octeon: check correct size of maximum RECV_LEN packet
    37d4f78ae274 iov_iter: fix the uaccess area in copy_compat_iovec_from_user
    ce4d02da78a3 printk: fix kmsg_dump_get_buffer length calulations
    cf3cca5f1580 printk: ringbuffer: fix line counting
    2cd90971a2c9 RDMA/cma: Fix error flow in default_roce_mode_store
    56c1362981b3 RDMA/umem: Avoid undefined behavior of rounddown_pow_of_two()
    eb8ca93e4929 drm/amdkfd: Fix out-of-bounds read in kdf_create_vcrat_image_cpu()
    ef9eb913c050 bpf: Reject too big ctx_size_in for raw_tp test run
    93f8cc947b13 arm64: entry: remove redundant IRQ flag tracing
    29c95dc43fde powerpc: Fix alignment bug within the init sections
    3f46eda5dff4 powerpc: Use the common INIT_DATA_SECTION macro in vmlinux.lds.S
    7c7b2b560583 bpf: Prevent double bpf_prog_put call from bpf_tracing_prog_attach
    cfaa40727152 crypto: omap-sham - Fix link error without crypto-engine
    f733c696e74a scsi: ufs: Fix tm request when non-fatal error happens
    1ef1c2e25a4a scsi: ufs: ufshcd-pltfrm depends on HAS_IOMEM
    20758d0493c3 scsi: megaraid_sas: Fix MEGASAS_IOC_FIRMWARE regression
    dbba7a38b007 btrfs: print the actual offset in btrfs_root_name
    1f54a26bdb60 RDMA/ucma: Do not miss ctx destruction steps in some cases
    1e00ef8a5d22 pinctrl: mediatek: Fix fallback call path
    9eea5cc5f641 pinctrl: aspeed: g6: Fix PWMG0 pinctrl setting
    73ad8d0c7b05 gpiolib: cdev: fix frame size warning in gpio_ioctl()
    653368189090 nfsd: Don't set eof on a truncated READ_PLUS
    de82ec8e5e8c nfsd: Fixes for nfsd4_encode_read_plus_data()
    8478091a1bd5 x86/xen: fix 'nopvspin' build error
    434f246733e7 RISC-V: Fix maximum allowed phsyical memory for RV32
    e1b2ecb562fa RISC-V: Set current memblock limit
    90ab323edfcd libperf tests: Fail when failing to get a tracepoint id
    680559480c95 libperf tests: If a test fails return non-zero
    2ca824c79376 io_uring: flush timeouts that should already have expired
    f3f906bb36cc drm/nouveau/kms/nv50-: fix case where notifier buffer is at offset 0
    bb2ee33ec396 drm/nouveau/mmu: fix vram heap sizing
    685a45858bf9 drm/nouveau/i2c/gm200: increase width of aux semaphore owner fields
    2249a3f0aed9 drm/nouveau/privring: ack interrupts the same way as RM
    c2cd3e1d69f8 drm/nouveau/bios: fix issue shadowing expansion ROMs
    3970a9851fe9 drm/amd/display: Fix to be able to stop crc calculation
    0a3be22a90ac HID: logitech-hidpp: Add product ID for MX Ergo in Bluetooth mode
    17c9b5100056 drm/amd/display: disable dcn10 pipe split by default
    285a86df680c drm/amdgpu/psp: fix psp gfx ctrl cmds
    9e82f2aa5912 riscv: defconfig: enable gpio support for HiFive Unleashed
    a416b33e8b78 dts: phy: add GPIO number and active state used for phy reset
    4685e186ab85 dts: phy: fix missing mdio device and probe failure of vsc8541-01 device
    99e301aca69c x86/xen: Fix xen_hvm_smp_init() when vector callback not available
    a8fddd4192f8 x86/xen: Add xen_no_vector_callback option to test PCI INTX delivery
    fa5f2e04daa4 xen: Fix event channel callback via INTX/GSI
    95379fec8264 arm64: make atomic helpers __always_inline
    64de608c9899 riscv: cacheinfo: Fix using smp_processor_id() in preemptible
    cec20e26750c ALSA: hda/tegra: fix tegra-hda on tegra30 soc
    a8749dfcb892 clk: tegra30: Add hda clock default rates to clock driver
    4301e3448aeb HID: Ignore battery for Elan touchscreen on ASUS UX550
    1e6fc9768ed2 HID: logitech-dj: add the G602 receiver
    6bc83cce3e7f riscv: Enable interrupts during syscalls with M-Mode
    094a4af043bc riscv: Fix sifive serial driver
    c47d249af1bd riscv: Fix kernel time_init()
    de88bcba6611 scsi: sd: Suppress spurious errors when WRITE SAME is being disabled
    fb84da3a6882 scsi: scsi_debug: Fix memleak in scsi_debug_init()
    c419b747ee5a scsi: qedi: Correct max length of CHAP secret
    2536194bb3b0 scsi: ufs: Correct the LUN used in eh_device_reset_handler() callback
    62985a33c6a2 scsi: ufs: Relax the condition of UFSHCI_QUIRK_SKIP_MANUAL_WB_FLUSH_CTRL
    55807e7cb0bc x86/hyperv: Fix kexec panic/hang issues
    246ab9b9ed63 dm integrity: select CRYPTO_SKCIPHER
    e03bbc55b149 HID: sony: select CONFIG_CRC32
    eacac9a92183 HID: multitouch: Enable multi-input for Synaptics pointstick/touchpad device
    00ee972739fb SUNRPC: Handle TCP socket sends with kernel_sendpage() again
    ae3e2f34b30d ASoC: rt711: mutex between calibration and power state changes
    14fe083fd052 ASoC: Intel: haswell: Add missing pm_ops
    142c6a6040de drm/i915: Check for rq->hwsp validity after acquiring RCU lock
    bdab6bdaa0e6 drm/i915/gt: Prevent use of engine->wa_ctx after error
    7f8049df7c50 drm/amd/display: DCN2X Find Secondary Pipe properly in MPO + ODM Case
    09846950a1b6 drm/amdgpu: remove gpu info firmware of green sardine
    eab4b3e27413 drm/syncobj: Fix use-after-free
    931bc41c59e3 drm/atomic: put state on error path
    9cb683c3c471 dm integrity: conditionally disable "recalculate" feature
    de4fabc02a58 dm integrity: fix a crash if "recalculate" used without "internal_hash"
    5a5095ac9e0b dm: avoid filesystem lookup in dm_get_dev_t()
    4749ffd9c432 mmc: sdhci-brcmstb: Fix mmc timeout errors on S5 suspend
    b97c26cfe1e6 mmc: sdhci-xenon: fix 1.8v regulator stabilization
    728d8ab4d6ac mmc: sdhci-of-dwcmshc: fix rpmb access
    ec302409d0a8 mmc: core: don't initialize block size from ext_csd if not present
    6b873acfb82a pinctrl: ingenic: Fix JZ4760 support
    13ef6bccab39 fs: fix lazytime expiration handling in __writeback_single_inode()
    adc11110d1e5 btrfs: send: fix invalid clone operations when cloning from the same file and root
    018abb50891e btrfs: don't clear ret in btrfs_start_dirty_block_groups
    14e17e90bfaa btrfs: fix lockdep splat in btrfs_recover_relocation
    5169a289fc8c btrfs: do not double free backref nodes on error
    9e2fc8f10c91 btrfs: don't get an EINTR during drop_snapshot for reloc
    d9deb4ccd026 ACPI: scan: Make acpi_bus_get_device() clear return pointer on error
    c5f23645ab51 dm crypt: fix copy and paste bug in crypt_alloc_req_aead
    367733db7a10 crypto: xor - Fix divide error in do_xor_speed()
    fba2b0d2e171 ALSA: hda/via: Add minimum mute flag
    d9984b976c65 ALSA: hda/realtek - Limit int mic boost on Acer Aspire E5-575T
    a03241a22a07 ALSA: seq: oss: Fix missing error check in snd_seq_oss_synth_make_info()
    de45a93792ea platform/x86: ideapad-laptop: Disable touchpad_switch for ELAN0634
    4d33a2e557da platform/x86: i2c-multi-instantiate: Don't create platform device for INT3515 ACPI nodes
    c47951346c3c i2c: bpmp-tegra: Ignore unknown I2C_M flags
    e633c0879be3 i2c: tegra: Wait for config load atomically while in ISR
    48481056537e mtd: rawnand: nandsim: Fix the logic when selecting Hamming soft ECC engine
    deffd59b8101 mtd: rawnand: gpmi: fix dst bit offset when extracting raw payload
    e65d6887fc16 scsi: target: tcmu: Fix use-after-free of se_cmd->priv

(From OE-Core rev: 4ae13220b07030c314ca8666af54362b460647f5)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03 21:45:49 +00:00
Bruce Ashfield
c6c9fa61b4 linux-yocto/5.10: update to v5.10.10
Updating linux-yocto/5.10 to the latest korg -stable release that comprises
the following commits:

    8dc0fcbcfa97 Linux 5.10.10
    3fe603666360 spi: cadence: cache reference clock rate during probe
    da02e4ca8a29 spi: fsl: Fix driver breakage when SPI_CS_HIGH is not set in spi->mode
    04ed7f1da638 cxgb4/chtls: Fix tid stuck due to wrong update of qid
    d0b97c8cd63e net: dsa: unbind all switches from tree when DSA master unbinds
    6423b2193794 mac80211: check if atf has been disabled in __ieee80211_schedule_txq
    a00432fa4cb9 mac80211: do not drop tx nulldata packets on encrypted links
    a6d508c63573 drm/panel: otm8009a: allow using non-continuous dsi clock
    fd21e00c5e0b can: mcp251xfd: mcp251xfd_handle_rxif_one(): fix wrong NULL pointer check
    65accf0324bf net: stmmac: use __napi_schedule() for PREEMPT_RT
    6f3fe96a6956 rxrpc: Fix handling of an unsupported token type in rxrpc_read()
    2bfb953aeebf net: dsa: clear devlink port type before unregistering slave netdevs
    c469b23d1b54 net: phy: smsc: fix clk error handling
    ad2175c9fb27 dt-bindings: net: renesas,etheravb: RZ/G2H needs tx-internal-delay-ps
    024158d3b571 net: avoid 32 x truesize under-estimation for tiny skbs
    72cfe5b07e85 net: stmmac: fix taprio configuration when base_time is in the past
    34f782b9d0dc net: stmmac: fix taprio schedule configuration
    00442a962152 net: sit: unregister_netdevice on newlink's error path
    5ae772504325 net: stmmac: Fixed mtu channged by cache aligned
    741690db7a35 i40e: fix potential NULL pointer dereferencing
    7c85d8e7ebd2 rxrpc: Call state should be read with READ_ONCE() under some circumstances
    1e5a4c74b555 net: dcb: Accept RTM_GETDCB messages carrying set-like DCB commands
    dbdca9d9b7ca net: dcb: Validate netlink message in DCB handler
    26413630f4f6 esp: avoid unneeded kmap_atomic call
    3c64191cad98 rndis_host: set proper input size for OID_GEN_PHYSICAL_MEDIUM request
    f999ca8c5fc5 net: mvpp2: Remove Pause and Asym_Pause support
    82f72e41b797 mlxsw: core: Increase critical threshold for ASIC thermal zone
    d2bfbfcc5505 mlxsw: core: Add validation of transceiver temperature thresholds
    60b8b4e6310b tipc: fix NULL deref in tipc_link_xmit()
    bbcb4746a6a3 net: ipv6: Validate GSO SKB before finish IPv6 processing
    5a61d9f573da netxen_nic: fix MSI/MSI-x interrupts
    4b97ce051ffe udp: Prevent reuseport_select_sock from reading uninitialized socks
    24cd33174189 net: fix use-after-free when UDP GRO with shared fraglist
    7d5c38974219 net: ipa: modem: add missing SET_NETDEV_DEV() for proper sysfs links
    31ad07292553 bpf: Fix helper bpf_map_peek_elem_proto pointing to wrong callback
    de661caaee07 bpf: Support PTR_TO_MEM{,_OR_NULL} register spilling
    3ed29995c281 bpf: Don't leak memory in bpf getsockopt when optlen == 0
    fdcaa4af5e70 nfsd4: readdirplus shouldn't return parent of export
    90bd4a0cf5dd X.509: Fix crash caused by NULL pointer
    5f52a8a71b62 bpf: Fix signed_{sub,add32}_overflows type handling
    99ea120383b1 drm/amdgpu/display: drop DCN support for aarch64
    4473923b6674 x86/hyperv: Initialize clockevents after LAPIC is initialized
    1200a5bc6871 bpf: Fix selftest compilation on clang 11
    57dc19a9d60d Revert "kconfig: remove 'kvmconfig' and 'xenconfig' shorthands"
    e2d133180bbc Linux 5.10.9
    88a5c90f39b0 netfilter: nf_nat: Fix memleak in nf_nat_init
    f14e31c169dc netfilter: conntrack: fix reading nf_conntrack_buckets
    5b984e538bdf ALSA: firewire-tascam: Fix integer overflow in midi_port_work()
    c0e1ac275f1f ALSA: fireface: Fix integer overflow in transmit_midi_msg()
    0eb56457d239 dm: eliminate potential source of excessive kernel log noise
    26865769ed8f selftests: netfilter: Pass family parameter "-f" to conntrack tool
    f0cd3fba4eae net: sunrpc: interpret the return value of kstrtou32 correctly
    a9bc9c9320ac iommu/vt-d: Fix unaligned addresses for intel_flush_svm_range_dev()
    ff2ca5439c50 riscv: Trace irq on only interrupt is enabled
    c8c01da728ef mm, slub: consider rest of partial list if acquire_slab() fails
    ecca0c675bde drm/i915/gt: Restore clear-residual mitigations for Ivybridge, Baytrail
    de3f572607c2 drm/i915/icl: Fix initing the DSI DSC power refcount during HW readout
    54c9246a47fa drm/i915/dsi: Use unconditional msleep for the panel_on_delay when there is no reset-deassert MIPI-sequence
    f6de06406411 dm zoned: select CONFIG_CRC32
    c6dc4f8e617b umount(2): move the flag validity checks first
    5cd483a7e788 IB/mlx5: Fix error unwinding when set_has_smi_cap fails
    bc296e43233a RDMA/mlx5: Fix wrong free of blue flame register on error
    44693384c324 bnxt_en: Improve stats context resource accounting with RDMA driver loaded.
    3090af5d1fb2 RDMA/usnic: Fix memleak in find_free_vf_and_create_qp_grp
    35694924a60a RDMA/restrack: Don't treat as an error allocation ID wrapping
    cd223237e792 ext4: fix superblock checksum failure when setting password salt
    4351cf25cb52 scsi: ufs: Fix possible power drain during system suspend
    51121ea1d1e8 NFS: nfs_igrab_and_active must first reference the superblock
    b4689562fa95 NFS: nfs_delegation_find_inode_server must first reference the superblock
    01a12a24f923 NFS/pNFS: Fix a leak of the layout 'plh_outstanding' counter
    b666f394d6b8 NFS/pNFS: Don't leak DS commits in pnfs_generic_retry_commit()
    067aefcdfc1e NFS/pNFS: Don't call pnfs_free_bucket_lseg() before removing the request
    e6ae16467af1 NFS: Adjust fs_context error logging
    06f58dbc49a2 pNFS: Stricter ordering of layoutget and layoutreturn
    ecaaad180133 pNFS: Mark layout for return if return-on-close was not sent
    f128de17c8d4 pNFS: We want return-on-close to complete when evicting the inode
    1b42712e43e5 NFS4: Fix use-after-free in trace_event_raw_event_nfs4_set_lock
    76600f633bb9 nvme-tcp: Fix warning with CONFIG_DEBUG_PREEMPT
    b1e9f635a5e3 nvme-tcp: fix possible data corruption with bio merges
    c09af1ee7c23 nvme: don't intialize hwmon for discovery controllers
    a60c7aaaccf6 nvmet-rdma: Fix NULL deref when setting pi_enable and traddr INADDR_ANY
    a835cff329a5 ASoC: Intel: fix error code cnl_set_dsp_D0()
    95e5df536757 ASoC: meson: axg-tdmin: fix axg skew offset
    d11f18351ee6 ASoC: meson: axg-tdm-interface: fix loopback
    a3fddad7af2c dump_common_audit_data(): fix racy accesses to ->d_name
    09b3e0bc8e9a perf intel-pt: Fix 'CPU too large' error
    72c5ce89427f mm: don't put pinned pages into the swap cache
    1eea108995a2 mm: don't play games with pinned pages in clear_page_refs
    41b0b0c09e97 mm: fix clear_refs_write locking
    847c76518c41 blk-mq-debugfs: Add decode for BLK_MQ_F_TAG_HCTX_SHARED
    9812b54310ad net/mlx5: E-Switch, fix changing vf VLANID
    96d77cf22dd7 net/mlx5: Fix passing zero to 'PTR_ERR'
    452e34d6635c net/mlx5e: CT: Use per flow counter when CT flow accounting is enabled
    518606a84a0f iommu/vt-d: Update domain geometry in iommu_ops.at(de)tach_dev
    f1cd8c40936f nvme-fc: avoid calling _nvme_fc_abort_outstanding_ios from interrupt context
    4ac5d20182c7 cfg80211: select CONFIG_CRC32
    e558b38b5e11 x86/sev-es: Fix SEV-ES OUT/IN immediate opcode vc handling
    1f63b3393bac bpf: Save correct stopping point in file seq iteration
    a3a51c69c1a9 bpf: Simplify task_file_seq_get_next()
    30b491e2b6cc rcu-tasks: Move RCU-tasks initialization to before early_initcall()
    bc880f2040e0 poll: fix performance regression due to out-of-line __put_user()
    e30f6e1ac3ce ARM: picoxcell: fix missing interrupt-parent properties
    d565c626b4e1 drm/msm: Call msm_init_vram before binding the gpu
    45f7e133f9e8 ACPI: scan: add stub acpi_create_platform_device() for !CONFIG_ACPI
    a4c84cd83c15 iommu/vt-d: Fix lockdep splat in sva bind()/unbind()
    2c7b7660c611 usb: typec: Fix copy paste error for NVIDIA alt-mode description
    279af879c3df drm/amdgpu: fix potential memory leak during navi12 deinitialization
    9910f52b4cb4 drm/amd/pm: fix the failure when change power profile for renoir
    a973bc7d8ab5 drm/amdgpu: fix a GPU hang issue when remove device
    26f0adb0b4c8 drm/amd/display: fix sysfs amdgpu_current_backlight_pwm NULL pointer issue
    8e57baf3cdb3 nvmet-rdma: Fix list_del corruption on queue establishment failure
    74310d40e0a4 nvme: avoid possible double fetch in handling CQE
    afc0002f6396 nvme-pci: mark Samsung PM1725a as IGNORE_DEV_SUBNQN
    1151161dd029 selftests: fix the return value for UDP GRO test
    2e1939396c77 net: ethernet: fs_enet: Add missing MODULE_LICENSE
    8bd59057edf5 misdn: dsp: select CONFIG_BITREVERSE
    bb3700925c19 arch/arc: add copy_user_page() to <asm/page.h> to fix build error on ARC
    7fdaca86fc9b bfq: Fix computation of shallow depth
    94dbb87fc0b2 io_uring: drop file refs after task cancel
    501e1875da32 spi: fix the divide by 0 error when calculating xfer waiting time
    17a08680ab6a kconfig: remove 'kvmconfig' and 'xenconfig' shorthands
    2aa134d9abca lib/raid6: Let $(UNROLL) rules work with macOS userland
    3163d7c1fbd3 hwmon: (pwm-fan) Ensure that calculation doesn't discard big period values
    8c3520e21f6b habanalabs: Fix memleak in hl_device_reset
    78755373aa48 spi: altera: fix return value for altera_spi_txrx()
    560e9b900e12 staging: spmi: hisi-spmi-controller: Fix some error handling paths
    c78cff56baad habanalabs: register to pci shutdown callback
    68a9abf536ff habanalabs/gaudi: retry loading TPC f/w on -EINTR
    8d0522d9688c habanalabs: adjust pci controller init to new firmware
    06b0d83b33b5 ARM: dts: ux500/golden: Set display max brightness
    d5285a5eb3da ethernet: ucc_geth: fix definition and size of ucc_geth_tx_global_pram
    36afeaad7671 regulator: bd718x7: Add enable times
    29543864c8b8 btrfs: fix transaction leak and crash after RO remount caused by qgroup rescan
    f89d84b35af3 btrfs: merge critical sections of discard lock in workfn
    33061bd104cb btrfs: fix async discard stall
    d18e04ce283a ath11k: qmi: try to allocate a big block of DMA memory first
    cc77e4a020aa netfilter: ipset: fixes possible oops in mtype_resize
    c871060d3eaa ath11k: fix crash caused by NULL rx_channel
    54cfdd65070e ARM: omap2: pmic-cpcap: fix maximum voltage to be consistent with defaults on xt875
    6169a5cfaacc ARC: build: move symlink creation to arch/arc/Makefile to avoid race
    443fb88d6dea ARC: build: add boot_targets to PHONY
    e1c4b5ff9655 ARC: build: add uImage.lzma to the top-level target
    cf4592a2d740 ARC: build: remove non-existing bootpImage from KBUILD_IMAGE
    f7f32822a44a io_uring: drop mm and files after task_work_run
    a3647cddfee6 io_uring: don't take files/mm for a dead task
    85958f60ebba ext4: don't leak old mountpoint samples
    41b5ec745ccf btrfs: tree-checker: check if chunk item end overflows
    85905240bf79 r8152: Add Lenovo Powered USB-C Travel Hub
    53e976bb0708 stmmac: intel: change all EHL/TGL to auto detect phy addr
    7c5b2049caad dm crypt: defer decryption to a tasklet if interrupts disabled
    fe40f6a6309f dm crypt: do not call bio_endio() from the dm-crypt tasklet
    8727884b7f80 dm crypt: do not wait for backlogged crypto request completion in softirq
    93edb8db94cf dm crypt: use GFP_ATOMIC when allocating crypto requests from softirq
    9bf4fbaf7dad dm integrity: fix the maximum number of arguments
    6bba7eff6b33 dm integrity: fix flush with external metadata device
    1ac4156de549 dm snapshot: flush merged data before committing metadata
    5de4f3a301f1 dm raid: fix discard limits for raid1
    ccd903e26750 mm/process_vm_access.c: include compat.h
    d3e43af7c61f mm/hugetlb: fix potential missing huge page size info
    b4ecc259657c mm/vmalloc.c: fix potential memory leak
    33dbd5422c88 compiler.h: Raise minimum version of GCC to 5.1 for arm64
    047ea5a8feff xen/privcmd: allow fetching resource sizes
    3b9f7b0a19f7 ACPI: scan: Harden acpi_device_add() against device ID overflows
    0dbfad171b9c RDMA/ocrdma: Fix use after free in ocrdma_dealloc_ucontext_pd()
    c8c2b27ab34d MIPS: relocatable: fix possible boot hangup with KASLR enabled
    652daca07f4f MIPS: Fix malformed NT_FILE and NT_SIGINFO in 32bit coredumps
    9e2413f41aa2 MIPS: boot: Fix unaligned access with CONFIG_MIPS_RAW_APPENDED_DTB
    974f19621f19 mips: lib: uncached: fix non-standard usage of variable 'sp'
    5ca873f92b4f mips: fix Section mismatch in reference
    4b0a0655da7f riscv: Fix KASAN memory mapping.
    ab7594f63926 riscv: Fixup CONFIG_GENERIC_TIME_VSYSCALL
    7c4ced368204 riscv: return -ENOSYS for syscall -1
    eae7b19b32aa riscv: Drop a duplicated PAGE_KERNEL_EXEC
    531c88c9fe56 cifs: fix interrupted close commands
    0e4c42cb4a5f cifs: check pointer before freeing
    2207c3ce7075 ext4: fix bug for rename with RENAME_WHITEOUT
    15a062c79d49 ext4: fix wrong list_splice in ext4_fc_cleanup
    6c557cb1f9d7 ext4: use IS_ERR instead of IS_ERR_OR_NULL and set inode null when IS_ERR
    fcae2beac981 tools/bootconfig: Add tracing_on support to helper scripts
    75942370699b tracing/kprobes: Do the notrace functions check without kprobes on ftrace
    47319c4b81a3 drm/bridge: sii902x: Enable I/O and core VCC supplies if present
    af402f64ca08 dt-bindings: display: sii902x: Add supply bindings
    c0c34c5ab715 drm/bridge: sii902x: Refactor init code into separate function
    0a34addcdbd9 drm/i915/backlight: fix CPU mode backlight takeover on LPT
    48b8c6689efa drm/i915/gt: Limit VFE threads based on GT
    481e27f05073 drm/i915: Allow the sysadmin to override security mitigations
    586a42de0bae drm/amdgpu: add new device id for Renior
    989a0f6791ff Revert "drm/amd/display: Fixed Intermittent blue screen on OLED panel"
    7fe745881255 drm/amdgpu: fix DRM_INFO flood if display core is not supported (bug 210921)
    9c6524bba523 drm/amdgpu: add green_sardine device id (v2)
    ad8ca24ba879 x86/hyperv: check cpu mask after interrupt has been disabled
    0351fbe00a23 ASoC: dapm: remove widget from dirty list on free
    55eb1867a5b3 ASoC: AMD Renoir - add DMI entry for Lenovo ThinkPad X395
    69b84d87fd59 ALSA: doc: Fix reference to mixart.rst
    617b1bae7ee9 ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP machines
    f37fba66a437 btrfs: prevent NULL pointer dereference in extent_io_tree_panic
    e883eb5d1567 btrfs: reloc: fix wrong file extent type check to avoid false ENOENT

(From OE-Core rev: c1d6bd068478b5414e11ac7402de69e6a7b14356)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03 21:45:49 +00:00
Bruce Ashfield
3c9f78f6d7 linux-yocto-rt/5.4: fix 5.4-stable caused build breakage
5.4-stable included a backport of:

   Author: Eric W. Biederman <ebiederm@xmission.com>
   Date:   Thu Dec 3 14:11:13 2020 -0600

     rwsem: Implement down_read_interruptible

     [ Upstream commit 31784cff7ee073b34d6eddabb95e3be2880a425c ]

     In preparation for converting exec_update_mutex to a rwsem so that
     multiple readers can execute in parallel and not deadlock, add
     down_read_interruptible.  This is needed for perf_event_open to be
     converted (with no semantic changes) from working on a mutex to
     wroking on a rwsem.

     Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
     Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
     Link: https://lkml.kernel.org/r/87k0tybqfy.fsf@x220.int.ebiederm.org
     Signed-off-by: Sasha Levin <sashal@kernel.org>

We implement a -rt variant to fix the build issues.

(From OE-Core rev: e610fb7cc22447441f18a9b1bffe58aadb6aaab6)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03 21:45:49 +00:00
Bruce Ashfield
1db7f2a8c6 linux-yocto-rt/5.10: fix 5.10-rt build breakage
5.10-stable included a backport of:

  Author: Eric W. Biederman <ebiederm@xmission.com>
  Date:   Thu Dec 3 14:11:13 2020 -0600

    rwsem: Implement down_read_interruptible

    [ Upstream commit 31784cff7ee073b34d6eddabb95e3be2880a425c ]

    In preparation for converting exec_update_mutex to a rwsem so that
    multiple readers can execute in parallel and not deadlock, add
    down_read_interruptible.  This is needed for perf_event_open to be
    converted (with no semantic changes) from working on a mutex to
    wroking on a rwsem.

    Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
    Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
    Link: https://lkml.kernel.org/r/87k0tybqfy.fsf@x220.int.ebiederm.org
    Signed-off-by: Sasha Levin <sashal@kernel.org>

We implement a -rt variant to fix the build issues.

(From OE-Core rev: 448e2210cbe66d52b175d29df16edc4aeda4c961)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03 21:45:49 +00:00
Bruce Ashfield
d4a587c6f8 linux-yocto/5.4: update to v5.4.90
Updating linux-yocto/5.4 to the latest korg -stable release that comprises
the following commits:

    ceed81a883dc Linux 5.4.90
    6f484096196b regmap: debugfs: Fix a reversed if statement in regmap_debugfs_init()
    bbb2fee395e9 net: drop bogus skb with CHECKSUM_PARTIAL and offset beyond end of trimmed packet
    bd0051a5cb05 block: fix use-after-free in disk_part_iter_next
    c5fe50e18fcb KVM: arm64: Don't access PMCR_EL0 when no PMU is available
    f595e44b161a net: mvpp2: disable force link UP during port init procedure
    5b8d3c3a9fcb regulator: qcom-rpmh-regulator: correct hfsmps515 definition
    3582406b9c04 wan: ds26522: select CONFIG_BITREVERSE
    480c5e9c7e4c regmap: debugfs: Fix a memory leak when calling regmap_attach_dev
    c3c774886790 net/mlx5e: Fix two double free cases
    ce74b5a0689d net/mlx5e: Fix memleak in mlx5e_create_l2_table_groups
    a2b2ae3812e5 bpftool: Fix compilation failure for net.o with older glibc
    2992e3371a3a iommu/intel: Fix memleak in intel_irq_remapping_alloc
    006319327d21 lightnvm: select CONFIG_CRC32
    46c15eeb0a8a block: rsxx: select CONFIG_CRC32
    4834a984e456 wil6210: select CONFIG_CRC32
    b28378bc91d0 qed: select CONFIG_CRC32
    cc196d4604c9 dmaengine: xilinx_dma: fix mixed_enum_type coverity warning
    d0eaf8a8eff8 dmaengine: xilinx_dma: fix incompatible param warning in _child_probe()
    e6f247a5f927 dmaengine: xilinx_dma: check dma_async_device_register return value
    c15556cb344a dmaengine: mediatek: mtk-hsdma: Fix a resource leak in the error handling path of the probe function
    55503711adff i2c: i801: Fix the i2c-mux gpiod_lookup_table not being properly terminated
    12e8bcaef61a spi: stm32: FIFO threshold level - fix align packet size
    9ff4796e6fd9 cpufreq: powernow-k8: pass policy rather than use cpufreq_cpu_get()
    4dd15f9bc881 can: kvaser_pciefd: select CONFIG_CRC32
    82adac5ad13b can: m_can: m_can_class_unregister(): remove erroneous m_can_clk_stop()
    3b68980596fb can: tcan4x5x: fix bittiming const, use common bittiming from m_can driver
    b77e0283efdc dmaengine: dw-edma: Fix use after free in dw_edma_alloc_chunk()
    f6dd8c259ab8 i2c: sprd: use a specific timeout to avoid system hang up issue
    8d0cadc2ea64 ARM: OMAP2+: omap_device: fix idling of devices during probe
    003280bd8845 HID: wacom: Fix memory leakage caused by kfifo_alloc
    6f367fb1b7ee iio: imu: st_lsm6dsx: fix edge-trigger interrupts
    87ea51c90280 vmlinux.lds.h: Add PGO and AutoFDO input sections
    099340d3e758 exfat: Month timestamp metadata accidentally incremented
    bb039d45ebc5 x86/resctrl: Don't move a task to the same resource group
    628af07fc5cd x86/resctrl: Use an IPI instead of task_work_add() to update PQR_ASSOC MSR
    96fb3d28c885 chtls: Fix chtls resources release sequence
    fac9b53cfacb chtls: Added a check to avoid NULL pointer dereference
    38768ea1127d chtls: Replace skb_dequeue with skb_peek
    dcce456b2843 chtls: Fix panic when route to peer not configured
    44bed66b2be9 chtls: Remove invalid set_tcb call
    266ee00f402b chtls: Fix hardware tid leak
    ed62af62da41 net/mlx5e: ethtool, Fix restriction of autoneg with 56G
    cf59803ce4b3 net/mlx5: Use port_num 1 instead of 0 when delete a RoCE address
    3008c639c081 net: dsa: lantiq_gswip: Exclude RMII from modes that report 1 GbE
    fc1c907da5a1 s390/qeth: fix L2 header access in qeth_l3_osa_features_check()
    e6931e3eb084 nexthop: Unlink nexthop group entry in error path
    3cecab93f271 nexthop: Fix off-by-one error in error path
    f03b81e61ef5 octeontx2-af: fix memory leak of lmac and lmac->name
    12e10b12124c net: ip: always refragment ip defragmented packets
    41bfd4111257 net: fix pmtu check in nopmtudisc mode
    98fc9692ac3d tools: selftests: add test for changing routes with PTMU exceptions
    7694654168bb net: ipv6: fib: flush exceptions when purging route
    1cba7e270b16 net/sonic: Fix some resource leaks in error handling paths
    37e6368a8de6 net: vlan: avoid leaks on register_vlan_dev() failures
    4ff0737ebc76 net: stmmac: dwmac-sun8i: Balance internal PHY power
    5698f0921c9b net: stmmac: dwmac-sun8i: Balance internal PHY resource references
    fa020a28896c net: hns3: fix a phy loopback fail issue
    bddaf51d116c net: hns3: fix the number of queues actually used by ARQ
    d73f7e757526 net: cdc_ncm: correct overhead in delayed_ndp_size
    5597557244d4 vfio iommu: Add dma available capability
    335104082c21 x86/asm/32: Add ENDs to some functions and relabel with SYM_CODE_*
    a829146c3fdc Linux 5.4.89
    485e21729b1e scsi: target: Fix XCOPY NAA identifier lookup
    7795afa0d7a9 KVM: x86: fix shift out of bounds reported by UBSAN
    a9d49da7edf8 x86/mtrr: Correct the range check before performing MTRR type lookups
    a798b367a066 netfilter: nft_dynset: report EOPNOTSUPP on missing set feature
    5e401ea71676 netfilter: xt_RATEEST: reject non-null terminated string from userspace
    1dd6a790c220 netfilter: ipset: fix shift-out-of-bounds in htable_bits()
    e0281bb5a82d netfilter: x_tables: Update remaining dereference to RCU
    828f2a20f946 drm/i915: clear the gpu reloc batch
    ef8133b1b47e dmabuf: fix use-after-free of dmabuf's file->f_inode
    284be2b993ca Revert "device property: Keep secondary firmware node secondary by type"
    64d06c7f2fa2 btrfs: send: fix wrong file path when there is an inode with a pending rmdir
    0cb0b876f17f ALSA: hda/realtek: Add two "Intel Reference board" SSID in the ALC256.
    02e59692a6b1 ALSA: hda/realtek: Enable mute and micmute LED on HP EliteBook 850 G7
    d63a96f45c4f ALSA: hda/realtek - Fix speaker volume control on Lenovo C940
    30fd9778cf8f ALSA: hda/conexant: add a new hda codec CX11970
    121944484cc4 ALSA: hda/via: Fix runtime PM for Clevo W35xSS
    a5c7a456680f kvm: check tlbs_dirty directly
    10dcb79ec79e x86/mm: Fix leak of pmd ptlock
    d3e5db486fd8 USB: serial: keyspan_pda: remove unused variable
    bcffe2de9dde usb: gadget: configfs: Fix use-after-free issue with udc_name
    276828221852 usb: gadget: configfs: Preserve function ordering after bind failure
    b2bd36f54495 usb: gadget: Fix spinlock lockup on usb_function_deactivate
    ce507b55db29 USB: gadget: legacy: fix return error code in acm_ms_bind()
    7f875ea9883c usb: gadget: u_ether: Fix MTU size mismatch with RX packet size
    b89a5f39c2b5 usb: gadget: function: printer: Fix a memory leak for interface descriptor
    692ab0726460 usb: gadget: f_uac2: reset wMaxPacketSize
    7ac84fa85ba2 usb: gadget: select CONFIG_CRC32
    77a804dd6b46 ALSA: usb-audio: Fix UBSAN warnings for MIDI jacks
    5c263f16822f USB: usblp: fix DMA to stack
    41f15da2abd9 USB: yurex: fix control-URB timeout handling
    175f7a5fa7e6 USB: serial: option: add Quectel EM160R-GL
    1a59feb52dc4 USB: serial: option: add LongSung M5710 module support
    ac48b1dacb07 USB: serial: iuu_phoenix: fix DMA from stack
    8a051eaae708 usb: uas: Add PNY USB Portable SSD to unusual_uas
    a7b81d0d2e07 usb: usbip: vhci_hcd: protect shift size
    f7cc27eb358d USB: xhci: fix U1/U2 handling for hardware with XHCI_INTEL_HOST quirk set
    ea472d839133 usb: chipidea: ci_hdrc_imx: add missing put_device() call in usbmisc_get_init_data()
    a37a0667e1e0 usb: dwc3: ulpi: Use VStsDone to detect PHY regs access completion
    5b8e1be9e0c1 USB: cdc-wdm: Fix use after free in service_outstanding_interrupt().
    5445502a344b USB: cdc-acm: blacklist another IR Droid device
    eeae1d95ce4e usb: gadget: enable super speed plus
    70cf59b8ffb4 staging: mt7621-dma: Fix a resource leak in an error handling path
    c511f27e130e powerpc: Handle .text.{hot,unlikely}.* in linker script
    867c10a03f84 crypto: asym_tpm: correct zero out potential secrets
    ff7397add935 crypto: ecdh - avoid buffer overflow in ecdh_set_secret()
    9e60056b1f53 video: hyperv_fb: Fix the mmap() regression for v5.4.y and older
    84d488719b27 Bluetooth: revert: hci_h5: close serdev device and free hu in h5_close
    3417067b3111 kbuild: don't hardcode depmod path
    3f2a28930a7e net/sched: sch_taprio: ensure to reset/destroy all child qdiscs
    c41ea30c3839 ionic: account for vlan tag len in rx buffer len
    5c6eb887e192 vhost_net: fix ubuf refcount incorrectly when sendmsg fails
    8f64957fda12 net: usb: qmi_wwan: add Quectel EM160R-GL
    12ab7b627d43 CDC-NCM: remove "connected" log message
    171a2bce9d6c net: dsa: lantiq_gswip: Fix GSWIP_MII_CFG(p) register access
    c0883010d3b3 net: dsa: lantiq_gswip: Enable GSWIP_MII_CFG_EN also for internal PHYs
    07f26fc52b45 r8169: work around power-saving bug on some chip versions
    106ca9ca9acc net: hdlc_ppp: Fix issues when mod_timer is called while timer is running
    2b8aa896b151 erspan: fix version 1 check in gre_parse_header()
    606f5412ad86 net: hns: fix return value check in __lb_other_process()
    e40b5fc79110 net: sched: prevent invalid Scell_log shift count
    b16f883e71f3 ipv4: Ignore ECN bits for fib lookups in fib_compute_spec_dst()
    a018c071de14 net: mvpp2: fix pkt coalescing int-threshold configuration
    443a71031e49 tun: fix return value when the number of iovs exceeds MAX_SKB_FRAGS
    c076e1198554 net: ethernet: ti: cpts: fix ethtool output when no ptp_clock registered
    8602c20a9160 net-sysfs: take the rtnl lock when accessing xps_rxqs_map and num_tc
    1f6b04a2b282 net-sysfs: take the rtnl lock when storing xps_rxqs
    67ed54a63f43 net-sysfs: take the rtnl lock when accessing xps_cpus_map and num_tc
    fb14db9508c0 net-sysfs: take the rtnl lock when storing xps_cpus
    e43ec45d45af net: ethernet: Fix memleak in ethoc_probe
    56dc7908ed85 net/ncsi: Use real net-device for response handler
    dffef999e484 virtio_net: Fix recursive call to cpus_read_lock()
    5404192a8721 qede: fix offload for IPIP tunnel packets
    8009f6bb13a3 net: ethernet: mvneta: Fix error handling in mvneta_probe
    6d003fe7fe87 ibmvnic: continue fatal error reset after passive init
    3d16088a9668 net: mvpp2: Fix GoP port 3 Networking Complex Control configurations
    8548c9679939 atm: idt77252: call pci_disable_device() on error path
    2a006b4fa5cc ethernet: ucc_geth: set dev->max_mtu to 1518
    c2ca14cc6f55 ethernet: ucc_geth: fix use-after-free in ucc_geth_remove()
    af99cae96fdc net: systemport: set dev->max_mtu to UMAC_MAX_MTU_SIZE
    8dd98d5d2ba4 net: mvpp2: prs: fix PPPoE with ipv6 packet parse
    73445f29575a net: mvpp2: Add TCAM entry to drop flow control pause frames
    a5a6dc4dc293 iavf: fix double-release of rtnl_lock
    6aba31a7c72e i40e: Fix Error I40E_AQ_RC_EINVAL when removing VFs
    9ea03f6890ce proc: fix lookup in /proc/net subdirectories after setns(2)
    d2942e958f26 proc: change ->nlink under proc_subdir_lock
    59b10c8a59a1 depmod: handle the case of /sbin/depmod without /sbin in PATH
    663a0bcb3fa5 lib/genalloc: fix the overflow when size is too big
    19e0cf8fc481 scsi: scsi_transport_spi: Set RQF_PM for domain validation commands
    eb3e975ac2a3 scsi: ide: Do not set the RQF_PREEMPT flag for sense requests
    4ae3573c571e scsi: ufs-pci: Ensure UFS device is in PowerDown mode for suspend-to-disk ->poweroff()
    5f9c3d640505 scsi: ufs: Fix wrong print message in dev_err()
    515dc635eb76 workqueue: Kick a worker based on the actual activation of delayed works
    f3a4c8d50145 Linux 5.4.88
    0a49aaf4df29 mwifiex: Fix possible buffer overflows in mwifiex_cmd_802_11_ad_hoc_start
    117433236ae2 exec: Transform exec_update_mutex into a rw_semaphore
    d390fc97df62 rwsem: Implement down_read_interruptible
    1b75a263fbd9 rwsem: Implement down_read_killable_nested
    71b8355ba667 perf: Break deadlock involving exec_update_mutex
    732251cabeb3 fuse: fix bad inode
    06c672dd61b5 iio:imu:bmi160: Fix alignment and data leak issues
    7a736f41013e kdev_t: always inline major/minor helper functions
    61a0d8e437bb dmaengine: at_hdmac: add missing kfree() call in at_dma_xlate()
    20d5ee563bfd dmaengine: at_hdmac: add missing put_device() call in at_dma_xlate()
    f2a0b7677444 dmaengine: at_hdmac: Substitute kzalloc with kmalloc
    4d3ba541bede Revert "mtd: spinand: Fix OOB read"
    da5b4cf021b9 Revert "drm/amd/display: Fix memory leaks in S3 resume"

(From OE-Core rev: 5dcc8a5977725a9fe11ac13ebd16a7acc1eef37d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03 21:45:49 +00:00
Bruce Ashfield
f7f4a53ca5 linux-yocto/5.10: update to v5.10.8
Updating linux-yocto/5.10 to the latest korg -stable release that comprises
the following commits:

    7a1519a74f3d Linux 5.10.8
    b77681d400f4 tools headers UAPI: Sync linux/fscrypt.h with the kernel sources
    27c6968cfb76 drm/panfrost: Remove unused variables in panfrost_job_close()
    75e5e51acf59 regmap: debugfs: Fix a reversed if statement in regmap_debugfs_init()
    43f6ea41408b net: drop bogus skb with CHECKSUM_PARTIAL and offset beyond end of trimmed packet
    481097d66174 block: fix use-after-free in disk_part_iter_next
    61e8c02ae6d6 can: isotp: isotp_getname(): fix kernel information leak
    6f7a362e1c6f block/rnbd-clt: avoid module unload race with close confirmation
    be665727363f xsk: Rollback reservation at NETDEV_TX_BUSY
    9ad0375ed292 xsk: Fix race in SKB mode transmit with shared cq
    610e2c5699f8 KVM: arm64: Don't access PMCR_EL0 when no PMU is available
    c5c22948f235 selftests: fib_nexthops: Fix wrong mausezahn invocation
    e336a772cdcb net: mvneta: fix error message when MTU too large for XDP
    729319e4f177 drm/i915/dp: Track pm_qos per connector
    e7f0992529b2 net: mvpp2: disable force link UP during port init procedure
    734bd3f8256b regulator: qcom-rpmh-regulator: correct hfsmps515 definition
    ae4db0bc5cde arm64: cpufeature: remove non-exist CONFIG_KVM_ARM_HOST
    344f59a93151 wan: ds26522: select CONFIG_BITREVERSE
    c9698380b01a regmap: debugfs: Fix a memory leak when calling regmap_attach_dev
    6defee43fe54 net/mlx5e: Fix two double free cases
    699804e07641 net/mlx5e: Fix memleak in mlx5e_create_l2_table_groups
    b23accd11a89 nvme-tcp: Fix possible race of io_work and direct send
    31a3520409ff bpftool: Fix compilation failure for net.o with older glibc
    2a21faa9c596 iommu/intel: Fix memleak in intel_irq_remapping_alloc
    39b3204e54c1 iommu/vt-d: Fix misuse of ALIGN in qi_flush_piotlb()
    2bbe923d7a84 zonefs: select CONFIG_CRC32
    771865dc5a6e lightnvm: select CONFIG_CRC32
    432071f6af70 block: rsxx: select CONFIG_CRC32
    0d813da1bde0 wil6210: select CONFIG_CRC32
    e208085c82f7 phy: dp83640: select CONFIG_CRC32
    f03e2257df3c qed: select CONFIG_CRC32
    41dcfc0cb955 arm64: mm: Fix ARCH_LOW_ADDRESS_LIMIT when !CONFIG_ZONE_DMA
    d4a7eb9fbfcc dmaengine: xilinx_dma: fix mixed_enum_type coverity warning
    c16e7cfc1baf dmaengine: xilinx_dma: fix incompatible param warning in _child_probe()
    e72371fab4ea dmaengine: xilinx_dma: check dma_async_device_register return value
    41f95d84fcf5 dmaengine: milbeaut-xdmac: Fix a resource leak in the error handling path of the probe function
    ceb97fbe4816 dmaengine: mediatek: mtk-hsdma: Fix a resource leak in the error handling path of the probe function
    fcd04aa9b52c interconnect: qcom: fix rpmh link failures
    6a0e580ded88 interconnect: imx: Add a missing of_node_put after of_device_is_available
    e5689d84ebd8 bcache: set bcache device into read-only mode for BCH_FEATURE_INCOMPAT_OBSO_LARGE_BUCKET
    8f243682e5ed i2c: mediatek: Fix apdma and i2c hand-shake timeout
    d908dd5c1064 i2c: i801: Fix the i2c-mux gpiod_lookup_table not being properly terminated
    7a30d664c949 spi: stm32: FIFO threshold level - fix align packet size
    c75a66726d7e spi: spi-geni-qcom: Fix geni_spi_isr() NULL dereference in timeout case
    932e130e3dc8 cpufreq: powernow-k8: pass policy rather than use cpufreq_cpu_get()
    a885713b0c03 spi: spi-geni-qcom: Fail new xfers if xfer/cancel/abort pending
    175465cb6d87 can: kvaser_pciefd: select CONFIG_CRC32
    9fc286ed3926 can: m_can: m_can_class_unregister(): remove erroneous m_can_clk_stop()
    9b990788d84d can: tcan4x5x: fix bittiming const, use common bittiming from m_can driver
    4abc2dbd8822 selftests/bpf: Clarify build error if no vmlinux
    e095ac6bc3ea dmaengine: dw-edma: Fix use after free in dw_edma_alloc_chunk()
    75dfd242b46a i2c: sprd: use a specific timeout to avoid system hang up issue
    0a27398d8969 ARM: OMAP2+: omap_device: fix idling of devices during probe
    797335659e58 fanotify: Fix sys_fanotify_mark() on native x86-32
    797c128d3c7d HID: wacom: Fix memory leakage caused by kfifo_alloc
    bca9046c36d3 ionic: start queues before announcing link up
    6aebfdacad97 scsi: lpfc: Fix variable 'vport' set but not used in lpfc_sli4_abts_err_handler()
    8543acf02563 net/mlx5: Check if lag is supported before creating one
    1e5b0a2300bb net/mlx5e: In skb build skip setting mark in switchdev mode
    dd7cce96dd37 net/mlx5e: ethtool, Fix restriction of autoneg with 56G
    39e86d3ca489 net/mlx5: Use port_num 1 instead of 0 when delete a RoCE address
    d6d3f9de7a06 net: dsa: lantiq_gswip: Exclude RMII from modes that report 1 GbE
    af9b4ab6ee6d s390/qeth: fix L2 header access in qeth_l3_osa_features_check()
    af0c184ea106 s390/qeth: fix locking for discipline setup / removal
    1214d69a2bfc s390/qeth: fix deadlock during recovery
    5fb8a3116cd0 nexthop: Bounce NHA_GATEWAY in FDB nexthop groups
    eaa7a6c39d10 nexthop: Unlink nexthop group entry in error path
    6486bc0a3400 nexthop: Fix off-by-one error in error path
    2e7635299fbf octeontx2-af: fix memory leak of lmac and lmac->name
    ab8e7a1af3f2 chtls: Fix chtls resources release sequence
    23e696e2f382 chtls: Added a check to avoid NULL pointer dereference
    5a1af38e06b6 chtls: Replace skb_dequeue with skb_peek
    d9297487df15 chtls: Avoid unnecessary freeing of oreq pointer
    523cea39aab2 chtls: Fix panic when route to peer not configured
    2702758d42a4 chtls: Remove invalid set_tcb call
    694635a7b8cb chtls: Fix hardware tid leak
    b0ff6d00edac net: ip: always refragment ip defragmented packets
    d5fc41ebe260 net: fix pmtu check in nopmtudisc mode
    541c22aad368 tools: selftests: add test for changing routes with PTMU exceptions
    69363e37d470 net: ipv6: fib: flush exceptions when purging route
    6d233d9501af ptp: ptp_ines: prevent build when HAS_IOMEM is not set
    210b9cdb3d5b net: bareudp: add missing error handling for bareudp_link_config()
    2a432be9ba44 net/sonic: Fix some resource leaks in error handling paths
    9591f32a630f net: vlan: avoid leaks on register_vlan_dev() failures
    60de77165d0b net: stmmac: dwmac-sun8i: Balance syscon (de)initialization
    35526a9c46b4 net: stmmac: dwmac-sun8i: Balance internal PHY power
    22e1ed2abc66 net: stmmac: dwmac-sun8i: Balance internal PHY resource references
    413a79ccb98e net: stmmac: dwmac-sun8i: Fix probe error handling
    8d12c062ca99 net: hns3: fix a phy loopback fail issue
    ed59d391ee5e net: hns3: fix the number of queues actually used by ARQ
    799d8080f903 net: hns3: fix incorrect handling of sctp6 rss tuple
    b044a949a5c5 net: cdc_ncm: correct overhead in delayed_ndp_size
    e3b5252b5cdb btrfs: shrink delalloc pages instead of full inodes
    17243f73ad74 btrfs: fix deadlock when cloning inline extent and low on free metadata space
    87738164592f btrfs: skip unnecessary searches for xattrs when logging an inode
    e28ace868c1e scsi: ufs: Fix -Wsometimes-uninitialized warning
    458b40598dc0 io_uring: Fix return value from alloc_fixed_file_ref_node
    51495b719515 drm/panfrost: Don't corrupt the queue mutex on open/close
    9d7751a39a19 iommu/arm-smmu-qcom: Initialize SCTLR of the bypass context
    85bbe2e64ab4 RDMA/hns: Avoid filling sl in high 3 bits of vlan_id
    85e25e2370a2 io_uring: patch up IOPOLL overflow_flush sync
    bc924dd21ecf io_uring: limit {io|sq}poll submit locking scope
    1d5e50da5cc7 io_uring: synchronise IOPOLL on task_submit fail
    bca9ca5a603f powerpc/32s: Fix RTAS machine check with VMAP stack
    659361086d8b Linux 5.10.7
    6f1e88527c18 scsi: target: Fix XCOPY NAA identifier lookup
    513729aecb53 rtlwifi: rise completion at the last step of firmware callback
    0fae7d269ef7 xsk: Fix memory leak for failed bind
    563135ec664f KVM: x86: fix shift out of bounds reported by UBSAN
    02ccda90ef7e x86/mtrr: Correct the range check before performing MTRR type lookups
    6e3c67976eda dmaengine: idxd: off by one in cleanup code
    8b109f4cd1dc netfilter: nft_dynset: report EOPNOTSUPP on missing set feature
    810bc977f8a4 netfilter: xt_RATEEST: reject non-null terminated string from userspace
    d17f2ccf6f99 netfilter: ipset: fix shift-out-of-bounds in htable_bits()
    27bc60d9678a netfilter: x_tables: Update remaining dereference to RCU
    56429ddfd59c ARM: dts: OMAP3: disable AES on N950/N9
    00a6b090d5c9 net/mlx5e: Fix SWP offsets when vlan inserted by driver
    a3601005de8f bcache: introduce BCH_FEATURE_INCOMPAT_LOG_LARGE_BUCKET_SIZE for large bucket
    a9c413cd0cdf bcache: check unsupported feature sets for bcache register
    fbb23cd18755 bcache: fix typo from SUUP to SUPP in features.h
    36d366ace154 drm/i915: clear the gpu reloc batch
    13738d7d5a24 drm/i915: clear the shadow batch
    1cd7e30a6db6 arm64: link with -z norelro for LLD or aarch64-elf
    a19dae4254c4 dmabuf: fix use-after-free of dmabuf's file->f_inode
    6844bc38c9fe Revert "device property: Keep secondary firmware node secondary by type"
    5e84c99055eb btrfs: send: fix wrong file path when there is an inode with a pending rmdir
    1888e5df8449 btrfs: qgroup: don't try to wait flushing if we're already holding a transaction
    1c31964eca13 iommu/vt-d: Move intel_iommu info from struct intel_svm to struct intel_svm_dev
    a07c54917aad ALSA: hda/realtek: Add two "Intel Reference board" SSID in the ALC256.
    41af04d3037a ALSA: hda/realtek: Enable mute and micmute LED on HP EliteBook 850 G7
    3e1bcaebe8b1 ALSA: hda/realtek: Add mute LED quirk for more HP laptops
    582de98b59fd ALSA: hda/realtek - Fix speaker volume control on Lenovo C940
    2eda063db992 ALSA: hda/conexant: add a new hda codec CX11970
    c03f37d52934 ALSA: hda/via: Fix runtime PM for Clevo W35xSS
    cafc6e70a63c blk-iocost: fix NULL iocg deref from racing against initialization
    397e352ca96f x86/resctrl: Don't move a task to the same resource group
    34e4ae4dca72 x86/resctrl: Use an IPI instead of task_work_add() to update PQR_ASSOC MSR
    c3cf9ffe8d9c KVM: x86/mmu: Ensure TDP MMU roots are freed after yield
    ffee6772c489 kvm: check tlbs_dirty directly
    f4064ef40c5c KVM: x86/mmu: Get root level from walkers when retrieving MMIO SPTE
    afd621673f03 KVM: x86/mmu: Use -1 to flag an undefined spte in get_mmio_spte()
    23220e87c91f x86/mm: Fix leak of pmd ptlock
    876195e1c8c6 mm: make wait_on_page_writeback() wait for multiple pending writebacks
    96e6724310f2 hwmon: (amd_energy) fix allocation of hwmon_channel_info config
    3f47b182241f USB: serial: keyspan_pda: remove unused variable
    a4b202cba3ab usb: gadget: configfs: Fix use-after-free issue with udc_name
    ed57b762f51b usb: gadget: configfs: Preserve function ordering after bind failure
    8ca9626a819c usb: gadget: Fix spinlock lockup on usb_function_deactivate
    c92e6831dc90 USB: gadget: legacy: fix return error code in acm_ms_bind()
    9cc6bf99c64d usb: gadget: u_ether: Fix MTU size mismatch with RX packet size
    e698e1478be7 usb: gadget: function: printer: Fix a memory leak for interface descriptor
    c4aa893e2e0d usb: gadget: f_uac2: reset wMaxPacketSize
    e7f2c25aa88e USB: Gadget: dummy-hcd: Fix shift-out-of-bounds bug
    2cd6988fbfa5 usb: gadget: select CONFIG_CRC32
    88eaa6c077f8 ALSA: usb-audio: Fix UBSAN warnings for MIDI jacks
    0a5b28c99dc4 USB: usblp: fix DMA to stack
    4f7e97ffb4eb USB: yurex: fix control-URB timeout handling
    008689576a4e USB: serial: option: add Quectel EM160R-GL
    3013ff766dad USB: serial: option: add LongSung M5710 module support
    5410726d7def USB: serial: iuu_phoenix: fix DMA from stack
    677503c72765 usb: uas: Add PNY USB Portable SSD to unusual_uas
    91a6375b1836 usb: usbip: vhci_hcd: protect shift size
    cee536f1a5c7 USB: xhci: fix U1/U2 handling for hardware with XHCI_INTEL_HOST quirk set
    4485bdb99624 usb: chipidea: ci_hdrc_imx: add missing put_device() call in usbmisc_get_init_data()
    150a9c163c3d usb: dwc3: ulpi: Fix USB2.0 HS/FS/LS PHY suspend regression
    97abe6663fa3 usb: dwc3: ulpi: Replace CPU-based busyloop with Protocol-based one
    b51963e9f562 usb: dwc3: ulpi: Use VStsDone to detect PHY regs access completion
    8907a10c8ffa usb: dwc3: gadget: Clear wait flag on dequeue
    dd8363fbca50 usb: dwc3: gadget: Restart DWC3 gadget when enabling pullup
    906b0510dde5 usb: dwc3: meson-g12a: disable clk on error handling path in probe
    5a5ce1e75c77 usb: typec: intel_pmc_mux: Configure HPD first for HPD+IRQ request
    340db7c0a6c0 USB: cdc-wdm: Fix use after free in service_outstanding_interrupt().
    1452fefc4c29 USB: cdc-acm: blacklist another IR Droid device
    b55debd08b8f usb: gadget: enable super speed plus
    22f56c63d50e staging: mt7621-dma: Fix a resource leak in an error handling path
    b8c9bb139331 Staging: comedi: Return -EFAULT if copy_to_user() fails
    cb5a170e979e powerpc: Handle .text.{hot,unlikely}.* in linker script
    80a364421c95 crypto: asym_tpm: correct zero out potential secrets
    3f20005ab271 crypto: ecdh - avoid buffer overflow in ecdh_set_secret()
    d55d15a332ec scsi: block: Do not accept any requests while suspended
    782c9ef2ac05 scsi: block: Remove RQF_PREEMPT and BLK_MQ_REQ_PREEMPT
    faa613d033f3 Bluetooth: revert: hci_h5: close serdev device and free hu in h5_close
    3ca425885bb7 kbuild: don't hardcode depmod path
    e5383432d92c scsi: ufs: Clear UAC for FFU and RPMB LUNs
    43dee885bead depmod: handle the case of /sbin/depmod without /sbin in PATH
    8532d3ec57e5 lib/genalloc: fix the overflow when size is too big
    2179bae04b12 local64.h: make <asm/local64.h> mandatory
    271822bbf9fe scsi: core: Only process PM requests if rpm_status != RPM_ACTIVE
    a97d55de10aa scsi: scsi_transport_spi: Set RQF_PM for domain validation commands
    60fb6a8d782b scsi: ide: Mark power management requests with RQF_PM instead of RQF_PREEMPT
    2d8b9f991de7 scsi: ide: Do not set the RQF_PREEMPT flag for sense requests
    8ed46b329d4e scsi: block: Introduce BLK_MQ_REQ_PM
    4bdd912c724e scsi: ufs-pci: Enable UFSHCD_CAP_RPM_AUTOSUSPEND for Intel controllers
    3a1be8e3806e scsi: ufs-pci: Fix recovery from hibernate exit errors for Intel controllers
    46e435583610 scsi: ufs-pci: Ensure UFS device is in PowerDown mode for suspend-to-disk ->poweroff()
    20e1aec964ea scsi: ufs-pci: Fix restore from S4 for Intel controllers
    42b464fb10ff scsi: ufs: Fix wrong print message in dev_err()
    dfec7dc891d7 workqueue: Kick a worker based on the actual activation of delayed works
    bfb39e6d67a5 block: add debugfs stanza for QUEUE_FLAG_NOWAIT
    2dc3447a043b selftests/vm: fix building protection keys test
    952264ac96ef stmmac: intel: Add PCI IDs for TGL-H platform
    22c0b151bca4 selftests: mlxsw: Set headroom size of correct port
    7b81c2f8ad8f net: usb: qmi_wwan: add Quectel EM160R-GL
    063608092aa5 ibmvnic: fix: NULL pointer dereference.
    57dde18a1e60 CDC-NCM: remove "connected" log message
    143143feae03 net: dsa: lantiq_gswip: Fix GSWIP_MII_CFG(p) register access
    495442144c74 net: dsa: lantiq_gswip: Enable GSWIP_MII_CFG_EN also for internal PHYs
    f62153027b9a r8169: work around power-saving bug on some chip versions
    0ad31889c481 vhost_net: fix ubuf refcount incorrectly when sendmsg fails
    cf78c32ac7eb bareudp: Fix use of incorrect min_headroom size
    cfcd702d038e bareudp: set NETIF_F_LLTX flag
    8ca1d23e6ad3 net: hdlc_ppp: Fix issues when mod_timer is called while timer is running
    0d6eeee3b9d4 erspan: fix version 1 check in gre_parse_header()
    cd63471a4184 net: hns: fix return value check in __lb_other_process()
    7a20969b874e net: sched: prevent invalid Scell_log shift count
    5e87eabce7bc ipv4: Ignore ECN bits for fib lookups in fib_compute_spec_dst()
    042c7f35fa61 bnxt_en: Fix AER recovery.
    cdb02a7a9e8d net: mvpp2: fix pkt coalescing int-threshold configuration
    9b350728118e bnxt_en: Check TQM rings for maximum supported value.
    7c0681c2b681 e1000e: Export S0ix flags to ethtool
    d0cd009b052e Revert "e1000e: disable s0ix entry and exit flows for ME systems"
    4e7176129f4f e1000e: bump up timeout to wait when ME un-configures ULP mode
    35a44ba54587 e1000e: Only run S0ix flows if shutdown succeeded
    e3cbce80be89 tun: fix return value when the number of iovs exceeds MAX_SKB_FRAGS
    44dc29d44b84 net: ethernet: ti: cpts: fix ethtool output when no ptp_clock registered
    e4535dbb721d net-sysfs: take the rtnl lock when accessing xps_rxqs_map and num_tc
    90297553d870 net-sysfs: take the rtnl lock when storing xps_rxqs
    0ca897c1ec41 net-sysfs: take the rtnl lock when accessing xps_cpus_map and num_tc
    4da25d83b7cc net-sysfs: take the rtnl lock when storing xps_cpus
    7eab4e69cb01 net: ethernet: Fix memleak in ethoc_probe
    2cdf8c2747d3 net/ncsi: Use real net-device for response handler
    23f8bea3e9d9 virtio_net: Fix recursive call to cpus_read_lock()
    087cfc73598a qede: fix offload for IPIP tunnel packets
    c7d068a2d711 net: ethernet: mvneta: Fix error handling in mvneta_probe
    933b2ba7f9de ibmvnic: continue fatal error reset after passive init
    0583c8ed2d30 ibmvnic: fix login buffer memory leak
    cad75a6bdba6 net: stmmac: dwmac-meson8b: ignore the second clock input
    04f241fc7eb3 net: mvpp2: Fix GoP port 3 Networking Complex Control configurations
    8ece401fa3d6 atm: idt77252: call pci_disable_device() on error path
    0e2dee9a6b26 ionic: account for vlan tag len in rx buffer len
    15741c05a889 ethernet: ucc_geth: set dev->max_mtu to 1518
    116395a26d95 ethernet: ucc_geth: fix use-after-free in ucc_geth_remove()
    ca126e9e0345 net: systemport: set dev->max_mtu to UMAC_MAX_MTU_SIZE
    cf65734dee5f net: mvpp2: prs: fix PPPoE with ipv6 packet parse
    121164dc3314 net: mvpp2: Add TCAM entry to drop flow control pause frames
    db8895aa58c7 net/sched: sch_taprio: ensure to reset/destroy all child qdiscs
    e2572423ab92 iavf: fix double-release of rtnl_lock
    d9dea80af65e i40e: Fix Error I40E_AQ_RC_EINVAL when removing VFs
    5650152ddab1 Linux 5.10.6
    94cc73b27a25 mwifiex: Fix possible buffer overflows in mwifiex_cmd_802_11_ad_hoc_start
    ab7709b551de exec: Transform exec_update_mutex into a rw_semaphore
    933b7cc86068 rwsem: Implement down_read_interruptible
    27bae39e4fc4 rwsem: Implement down_read_killable_nested
    2cded5a3cc38 perf: Break deadlock involving exec_update_mutex
    36cf9ae54b0e fuse: fix bad inode
    e522a788eb91 RDMA/siw,rxe: Make emulated devices virtual in the device tree
    404fa093741e RDMA/core: remove use of dma_virt_ops
    2a54ad3066a8 scsi: ufs: Re-enable WriteBooster after device reset
    acbf7db67ae3 scsi: ufs: Allow an error return value from ->device_reset()
    8cba90399216 drm/i915/tgl: Fix Combo PHY DPLL fractional divider for 38.4MHz ref clock
    adee1c5126ef ALSA: hda/hdmi: Fix incorrect mutex unlock in silent_stream_disable()
    e235fd076eb7 ALSA: hda/realtek - Modify Dell platform name
    ce9163cf7a84 Bluetooth: Fix attempting to set RPA timeout when unsupported
    3e073508920a kdev_t: always inline major/minor helper functions
    fd3ec3b25137 dt-bindings: rtc: add reset-source property
    757cd94ac859 rtc: pcf2127: only use watchdog when explicitly available
    acb821425c8c rtc: pcf2127: move watchdog initialisation to a separate function
    b00195241186 Revert "mtd: spinand: Fix OOB read"
    261f4d03ad23 Revert "drm/amd/display: Fix memory leaks in S3 resume"

(From OE-Core rev: 16687a9e858dce980263d73e4b0f8050ad36c1b2)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03 21:45:49 +00:00
Richard Purdie
14efc6e698 Revert "msmtp: Fix to work with autoconf 2.70"
This reverts commit e8c0012ea036cb962db25a5941619c22e7218985.

No longer needed with autoconf 2.71

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03 21:45:49 +00:00
Dorinda
785b5489ab sanity.bbclass: Check if PSEUDO_IGNORE_PATHS and paths under pseudo control overlap
Added a sanity check for when PSEUDO_IGNORE_PATHS and paths under pseudo control overlap to avoid random failures generated.

[YOCTO #14193]

(From OE-Core rev: 6e4bd8cabcdedf4b52345ef5eb421f71d0f19b1d)

Signed-off-by: Dorinda Bassey <dorindabassey@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03 21:45:49 +00:00
Teoh Jay Shen
eedd8033e0 oeqa/usb_hid.py : add test to check the usb/human interface device status after suspend state
This test mimic the Test_if_usb_hid_device_works_well_after_resume_from_suspend_state manual test case from oeqa/manual/bsp-hw.json.

(From OE-Core rev: 23a3dc370a52907ee3261746405fb9b2af9e9a11)

Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03 21:45:49 +00:00
Tomasz Dziendzielski
899514c477 sstatesig: Add descriptive error message to getpwuid/getgrgid "uid/gid not found" KeyError
If path is not owned by any user installed on target it gives
insufficient error "getpwuid(): uid not found" which may be misleading.
This exception occurs if uid/gid of path was not found in PSEUDO_PASSWD
files, which simply means the path is owned by host user and there is
host user contamination.

Add more information to the exception message to make it easier for user
to debug.

[YOCTO #14031]

(From OE-Core rev: 38540b59ed4ec8632e30a5fd6364b010d9da8470)

Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03 21:45:49 +00:00
Anuj Mittal
90ae075867 python3: fix CVE-2021-3177
(From OE-Core rev: 2ed4f61e9d694fef8ff72b8eeb2163634e96c3bb)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03 21:45:49 +00:00
Richard Purdie
0960f15dd8 opkg: Fix build reproducibility issue
A build date was leaking into the generated docs and makefile used for
ptests leading to reproducibility issues each time the month changed.

Add a patch to use SOURCE_DATE_EPOCH to derive it if available.

(From OE-Core rev: 6a9ca7aec4991eabd425e32fdf85f51bb1686b8b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03 21:45:49 +00:00
Lee Chee Yang
77c56e8c78 openssl: set CVE_VERSION_SUFFIX
(From OE-Core rev: 17df664a32a74f17baaef8c31ac23adec2d6255f)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03 21:45:49 +00:00
Tomasz Dziendzielski
a3cba800ef lib/oe/patch.py: Ignore scissors line on applying patch
The "devtool modify" could remove message body before scissors line, so
patches re-generated from git tree were incorrectly modified.
Adding --no-scissors to "git am" invocation to prevent this behaviour.

[YOCTO #12674]

(From OE-Core rev: 13ea33fbd197b9ee3cf913d9995617115f22798f)

Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03 21:45:49 +00:00
Richard Purdie
b1e70354dd python3-setuptools: Add back accidentally dropped RDEPENDS
This was accidentally removed in a previous commit. Due to improvements
in the core, we can now just add it as a normal RDEPENDS along with the
others as the native case no longer causes issues.

(From OE-Core rev: 83d8b469750d7917376abb4d34f7797ee0f75267)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03 21:45:49 +00:00
Richard Purdie
fe70db2c46 qemu.inc: Should depend on qemu-system-native, not qemu-native
This looks like it was from before the recipe was split, we'd expect
the system qemu mode for running the images so the dependency should be
updated.

(From OE-Core rev: 3a4fed4ae0e8a0d1bd62ea5fa1ef12925e1f20f5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-31 10:37:16 +00:00
Richard Purdie
9dbe0f69f8 image_types: Ensure tar archives are reproducible
The tar output seems to vary depending on the version of tar used and distro
configuration. Be explict about the output format to avoid this and be
determinstic.

(From OE-Core rev: c56f3c9febc1732aa1302524c6c4da36f16bd1f7)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-31 10:37:16 +00:00
Richard Purdie
87cb7577db Revert "sanity.bbclass: check if PSEUDO_IGNORE_PATHS and ${S} overlap"
This reverts commit c5a6cc4146402620851e2a1f2b01d69989150ba2.

This was accientally added and shouldn't have been, it has a v2 and was then
determined not to be required.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-30 10:55:58 +00:00
Dorinda
4dd9b84991 elfutils: add support for ipk
debuginfod scanner 0.182 could only support/scan RPM and .debs, add
support to scan .ipk as well (they're effectively debs).

[YOCTO #13807]

(From OE-Core rev: d9913c3d7da01d5bbe84728e9cb7701669362e2b)

Signed-off-by: Dorinda Bassey <dorindabassey@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-30 10:45:55 +00:00
Dorinda
c900b345aa elfutils: add PACKAGECONFIG for debuginfod
Removed the config option that disabled debuginfod and
changed it to a PACKAGECONFIG.

[YOCTO #13807]

(From OE-Core rev: a970ba050db606ee646ca155031d47bcd9a9ab8c)

Signed-off-by: Dorinda Bassey <dorindabassey@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-30 10:45:55 +00:00
Dorinda
2da2405aec elfutils: split libdebuginfod into its own package
Added package options for libdebuginfod.
Added GPLv2+ | LGPLv3+ license for libdebuginfod with reference to
https://sourceware.org/git/?p=elfutils.git;a=blob;f=debuginfod/debuginfod-client.c;h=de26af5bb26e187b51d9ea00d5826e199a96d01a;hb=HEAD

[YOCTO #13807]

(From OE-Core rev: e679f44f99e1a14027780ebbe47d4f56c90bfca0)

Signed-off-by: Dorinda Bassey <dorindabassey@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-30 10:45:55 +00:00
Tomasz Dziendzielski
8ed8b81af6 python3: Use addtask statement instead of task dependencies
The externalsrc class deletes do_patch task which results with:
| ERROR: Task do_create_manifest in <PATH>/python3_3.8.2.bb depends upon
| non-existent task do_patch in <PATH>/python3_3.8.2.bb

Use addtask to define correct order to prevent this error, since addtask
mechanism accepts deleted tasks.

[YOCTO #14151]

(From OE-Core rev: a746d034fa7eaad4f4876fa61c5a8c3c15e211c8)

Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-30 10:41:04 +00:00
Awais Belal
44ecc935b2 kernel.bbclass: fix deployment for initramfs images
The do_bundle_initramfs() only processes kernel image
types that are found in KERNEL_IMAGETYPE_FOR_MAKE whereas
the build system can generate other types that are not
directly supported by the kernel build system. In which
case when we come to the deploy phase not all the images
mentioned in KERNEL_IMAGETYPES would have a respective
initramfs bundled image. An example is using vmlinux.gz
in KERNEL_IMAGETYPES and enabling initramfs and then we
see

install: cannot stat 'arch/arm64/boot/vmlinux.gz.initramfs': No such file or directory

So we align the deploy phase with bundle initramfs phase
and pick up relevant initramfs bundled images using
KERNEL_IMAGETYPE_FOR_MAKE instead of KERNEL_IMAGETYPES.

(From OE-Core rev: 526bdd88ccd758204452579333ba188e29270bde)

Signed-off-by: Awais Belal <awais_belal@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-30 10:41:04 +00:00
Tomasz Dziendzielski
5e2450731c lib/oe/patch.py: Don't return command stderr from runcmd function
If a function returns any stderr it will be passed to extractPatches and
used as path to patch.

For example subprocess command output can be:
| sh: warning: setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
| /tmp/oepatchhuqle8fj/0001-foo.patch
| /tmp/oepatchhuqle8fj/0002-bar.patch

that will result in:
| FileNotFoundError: [Errno 2] No such file or directory: 'sh:'

To fix this I separated output, made the function return stdout and
print stderr only in case of command error.

(From OE-Core rev: 482589e2cc7c3ddeefb0a0fb98d97a9cbb18c9ec)

Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-30 10:41:04 +00:00
Lee Chee Yang
86b42289bd cve_check: add CVE_VERSION_SUFFIX to indicate suffix in versioning
add CVE_VERSION_SUFFIX to indicate the version suffix type, currently
works in two value, "alphabetical" if the version string uses single
alphabetical character suffix as incremental release, blank to not
consider the unidentified suffixes. This can be expand when more suffix
pattern identified.

refactor cve_check.Version class to use functools and add parameter to
handle suffix condition.

Also update testcases to cover new changes.

(From OE-Core rev: 5dfd5ad5144708b474ef31eaa89a846c57be8ac0)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-30 10:41:04 +00:00
Dorinda
ef208aaf0f sanity.bbclass: check if PSEUDO_IGNORE_PATHS and ${S} overlap
added a sanity check for when PSEUDO_IGNORE_PATHS and ${S} overlap to avoid random failures generated.

[YOCTO #14193]

(From OE-Core rev: c5a6cc4146402620851e2a1f2b01d69989150ba2)

Signed-off-by: Dorinda Bassey <dorindabassey@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-30 10:41:04 +00:00
zhengruoqin
3f1c05e148 ca-certificates: upgrade 20200601 -> 20210119
0001-certdata2pem.py-use-python3.patch
removed since it is included in 20210119

(From OE-Core rev: afd86357e07f69090eaff4c5db2c517867dd4ccf)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-30 10:41:04 +00:00
zhengruoqin
84fdf259b4 bison: upgrade 3.7.4 -> 3.7.5
(From OE-Core rev: 77d41c0329290fb33319feffdc504c2b3b4c8568)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-30 10:41:04 +00:00
Wang Mingyu
3850c60b7b gtk-doc: upgrade 1.33.1 -> 1.33.2
(From OE-Core rev: 89506684baf82448136d4ca3e3fb62dc5d4cbba4)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-30 10:41:04 +00:00
Wang Mingyu
213a6978d2 util-macros: upgrade 1.19.2 -> 1.19.3
(From OE-Core rev: 00f136011312d9f42381fcbfa6a58e2675e1acce)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-30 10:41:04 +00:00
Wang Mingyu
f9be349d60 stress-ng: upgrade 0.12.01 -> 0.12.02
(From OE-Core rev: 3244bd2d48bfd993299125856113965056797dc9)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-30 10:41:04 +00:00
Wang Mingyu
9c68281f8d ltp: upgrade 20200930 -> 20210121
0001-ltp-pan-Use-long-long-int-to-print-time_t.patch
removed since it is included in 20210121

(From OE-Core rev: b6f49fc60a12ec6c4c1334ca3c266e99c03e81d4)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-30 10:41:04 +00:00
Wang Mingyu
b5bc306da0 libsolv: upgrade 0.7.16 -> 0.7.17
(From OE-Core rev: c51a6d1cad733da227ef4f97061238f3caa9f582)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-30 10:41:03 +00:00
Wang Mingyu
c174243f8e libjitterentropy: upgrade 3.0.0 -> 3.0.1
-License-Update: Copyright year updated to 2021.

(From OE-Core rev: bdd6c57497215aeb3c2cddca191a8d1a72e93c8e)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-30 10:41:03 +00:00
Wang Mingyu
41d8bce004 libcap: upgrade 2.46 -> 2.47
(From OE-Core rev: b214bc1a7fda43849895cccfff62dffec26ade0e)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-30 10:41:03 +00:00
Vyacheslav Yurkov
4bb1a003de npm.bbclass: use python3 for npm config
python2-native executable is not available in sysroot anymore, which
causes compilation of some nodejs modules to fail. Switch to python3 as a
default python version.

(From OE-Core rev: d21f50ecf8e8683a92b7d234fa8225c2c1470595)

Signed-off-by: Vyacheslav Yurkov <uvv.mail@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-30 10:41:03 +00:00
Vinícius Ossanes Aquino
68009e4cda cmake: Upgrade 3.19.2 -> 3.19.3
(From OE-Core rev: d5d06fa31c81a9e0460edada18e6d3dbecd3d94a)

Signed-off-by: Vinícius Ossanes Aquino <voa.aquino@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-30 10:41:03 +00:00
Denys Dmytriyenko
46a95d9d5d wayland: upgrade 1.18.0 -> 1.19.0
This release mostly contains bug fixes and minor protocol updates.

Related patches were rebased and backported patches dropped.

(From OE-Core rev: 353382f6c7f3904a11e0a73a1b17eff4963bdcb9)

Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-30 10:41:03 +00:00
Yi Fan Yu
c679c1cac2 glibc: fix CVE-2020-27618
iconv: Accept redundant shift sequences in IBM1364

Reference:
https://bugzilla.redhat.com/show_bug.cgi?id=1893708

(From OE-Core rev: 78a381ec75e48283397a7fe9eaad2afbb070c235)

Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-30 10:41:03 +00:00
Richard Purdie
36aef08dcd lrzsz: Fix to work with autoconf 2.70
Add the missing gettext version needed for autoconf 2.70.

(From OE-Core rev: 6926b690fea5d0737634e39ade1a3555ab603e81)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-29 21:22:53 +00:00
Richard Purdie
4ef8f9920a ruby: Fix to work with autoconf 2.70
Drop a macro we don't need which was breaking with autoconf 2.70.

(From OE-Core rev: 995a0421ab39d62354e56f77eca10e2d176582d4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-29 21:21:53 +00:00
Richard Purdie
1cd82ae655 msmtp: Fix to work with autoconf 2.70
Add the required gettext version macro to work with the new autoconf
version.

(From OE-Core rev: e8c0012ea036cb962db25a5941619c22e7218985)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-29 21:21:53 +00:00
Richard Purdie
77493aa990 at: Upgrade 3.1.23 -> 3.2.1
This fixes flex issues with autoconf 2.70 rather than backporting patches.

Patches refreshed.

(From OE-Core rev: 3ca412ed7fc5a9d525d4ba7922e7e3e179904380)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-29 21:21:53 +00:00
Richard Purdie
e1caf4f305 pseudo: Update to include passwd and file renaming fixes
Pulls in:
  pseudo_client: Ensure renames update open fd file paths
  pseudo_client.c: Rebuild passwd paths after chroot

which should fix issues seen in apt package index creation, new
binutils and other autobuilder race issues in pseudo amongst other
issues.

(From OE-Core rev: 44d11b56001f40622c055069b0901cc4ae15c76c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-29 21:21:53 +00:00
Richard Purdie
dcaed52dde gtk-doc: Disable dependencies in native case
Ensure that dependencies like qemu-native aren't added in the native
case since we don't want docs generate for native recipes.

(From OE-Core rev: c5ee8ac6929d91f39ebf6dc6786440dc3dbd02ff)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-29 21:21:53 +00:00
Richard Purdie
71cc4c0c00 meta: Clean up various class-native* RDEPENDS overrides
With PACKAGES functioning more correctly for native recipes combined
with classextend improvements over the years, there are various overrides
of RDEPENDS which look unecessary now, clean them up.

There some some minor changes in dependencies, specifically:

"python3-numpy-native.do_populate_sysroot" -> "python3-native.do_populate_sysroot"
"python3-mako-native.do_populate_sysroot" -> "python3-native.do_populate_sysroot"
"itstool-native.do_populate_sysroot" -> "libxml2-native.do_populate_sysroot"

however there are already:

XXX-native.do_prepare_recipe_ssysroot -> YYY-native.do_populate_sysroot

mappings from DEPENDS so this is effectively a null op.

(From OE-Core rev: 2edd826531d79744d7b2114c5f24296966d51781)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-29 21:21:53 +00:00
Richard Purdie
c4257ed8b1 native: Stop clearing PACKAGES
Native recipes have been special and they don't have packages generated
from them. The RDEPENDS/RPROVIDES and other runtime package specific
variables can contain important data about dependencies recipes need
though and currently it is required to write this information explicitly
in the native case.

We now delete the packaging tasks for native recipes which removes the
need to clear PACKAGES. The next step to improve the metadata is to
stop clearing it and ensure any entries in these variables are remapped
appropriately. The R* variables were already being processed by the class
extension code but the implementation was suboptimal.

This patch stops clearing PACKAGES and PACKAGES_DYNAMIC and fixes the places
where that caused issues in OE-Core, for example PACKAGES additions in anonymous
python without the "-native" suffix and a case where the included classes
caused a self reference in DEPENDS which would once have been removed by
the previous code.

The implementation uses datastore/parser parameters to ensure that the
variable overrides are not overwritten when calling setVar which is appropriate
for a function as close to the core as this one is.

Some now unneeded code in python3-setuptools is dropped, there are further
changes like this which can follow.

This change was verified with OE-Core by comparing task-depends.dot generated
by "bitbake world -g" before and after the change, the files were identical.

(From OE-Core rev: fd6a007efa7cb45101a66f294af81d9d33bb3fab)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-29 21:21:53 +00:00
Richard Purdie
cff7db890c bitbake.conf/python: Drop setting RDEPENDS/RPROVIDES default
We never recommend setting RDEPENDS or RPROVIDES without a package name
against them. The default in bitbake.conf is legacy only, drop it.

The python recipe was trying to add to the empty variable in the native case
fix that too.

(From OE-Core rev: b8bbc1bbe282cce2ea4d0ff293f931f6caf6153b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-29 21:21:53 +00:00
Richard Purdie
b033409243 package_rpm: Clean up unset runtime package variable handling
If the R* runtime package variables are unset it could cause trackbacks. There
were some fallbacks already, clean this up to handle consistently.

The code was expecting strings but setting defaults of empty lists
which silently were converted to strings by the "or" statements which
was a nightmare to understand or alter.

(From OE-Core rev: 06bf68012302330c2b14f59541f78f48c7389c37)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-29 21:21:53 +00:00
Richard Purdie
f9d0bc709f nativesdk-buildtools-perl-dummy: Add missing entries for nativesdk-automake
This allows the hardcoded nativesdk dependency hacking in the
automake recipe to be dropped and matches what autoconf is doing.

(From OE-Core rev: c723866a6834b8fa89b036a627f619a0c391a662)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-29 21:21:53 +00:00
Richard Purdie
3a59f2abe2 gobject-introspection: Fix variable override order
The DEPENDS variable override ordering here was almostly certainly
incorrect and led to weird behaviour when making changes elsewhere.
Correct it.

(From OE-Core rev: c8f7e92244b3c52c275a457aced69086800351d8)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-29 21:21:53 +00:00
Peter Bergin
55ead1be58 buildhistory.bbclass: avoid exception for empty BUILDHISTORY_FEATURES variable
An exception is fired when a BuildStarted event is sent to buildhistory bbclass
and the variable BUILDHISTORY_FEATURES is not set.

    ERROR: Execution of event handler 'buildhistory_eventhandler' failed
    Traceback (most recent call last):
      File "<...>/meta/classes/buildhistory.bbclass", line 862, in buildhistory_eventhandler(e=<bb.event.BuildStarted object at 0x7f94c3810250>):
         python buildhistory_eventhandler() {
        >    if e.data.getVar('BUILDHISTORY_FEATURES').strip():
                 reset = e.data.getVar("BUILDHISTORY_RESET")
    AttributeError: 'NoneType' object has no attribute 'strip'

This can happen in a multiconfig build where the default configuration use the
buildhistory class but not the configuration in mc. It should be a rare case that
this happens and it was found in a missconfigured build.

(From OE-Core rev: a74e30a4de02c8efd3e7102ba7a4fe06df53cc34)

Signed-off-by: Peter Bergin <peter@berginkonsult.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-29 21:21:53 +00:00
Jose Quaresma
e45227cb2c shaderc: add spirv-headers as dependencie
(From OE-Core rev: 32007e42f7174b9ab90ff2c5ae79933e2cb83137)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-29 15:59:40 +00:00
Jose Quaresma
ba50c39564 spirv-tools: cleanup
- spirv-headers is provived in a separete receipe, so add it as dependencie
- add a new package spirv-tools-lesspipe that needs bash
- remove unneeded external sources

(From OE-Core rev: 97cab6b9691497841b2ae894e25f83d893c2ee30)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-29 15:59:40 +00:00
Jose Quaresma
a2121683ba spirv-headers: Add receipe
(From OE-Core rev: 0f7aa28a254ab25e3c3f6322d750e765518fb8b5)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-29 15:59:40 +00:00
Jose Quaresma
73e83acb24 shaderc: fix the build with glslang 11.1.0
Drop patches:
    * 0001-Fix-the-link-order-of-libglslang-and-libHLSL.patch
      is rejected upstream and is not need when glslang as shared libs.

Update pacthes:
    * 0001-cmake-de-vendor-libs-and-disable-git-versioning.patch
      renamed and refreshed from 0003-cmake-de-vendor-libs-and-disable-git-versioning.patch.

(From OE-Core rev: 496c69d56806a2521bfc51b4de9575637db2ac02)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-29 15:59:40 +00:00
Jose Quaresma
e4d03c40f6 shaderc: avoid reproducible issues
(From OE-Core rev: 1fb9e706ba83df272ca924d8ea65460bb5675aa8)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-29 15:59:40 +00:00
Jose Quaresma
5fc62dd668 glslang: disable precompiled header
- precompiled headers have reproducible issues [1]

[1] https://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20210125-3iawhiyz/packages/diff-html

(From OE-Core rev: 94cea2b5f3091de0326c4d7322b45de2ce9fae3b)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-29 15:59:40 +00:00
Jose Quaresma
23ff403243 glslang: enable shared libs
(From OE-Core rev: 3355367f339c36161aced3e9fcbc38bca7915ada)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-29 15:59:40 +00:00
Jose Quaresma
8cce2373f4 glslang: upgrade 8.13.3743 -> 11.1.0
License-Update: Add additional licenses

- [1] BSD-2-Clause & MIT & Apache-2.0
- [2] GPL-3-with-bison-exception

[1] 2962be40ba
[2] 14a2cfbc72

(From OE-Core rev: 6ddba144e1aa9288645ec4b7271fc4138ef945ba)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-29 15:59:40 +00:00
Denys Dmytriyenko
0874c1e710 maintainers: update own email address
(From OE-Core rev: 63e5f91d46d76800452ed8a0fade8dd3db1fc88e)

Signed-off-by: Denys Dmytriyenko <denis@denix.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-29 15:59:40 +00:00
Tomasz Dziendzielski
24e95b9a0b insane: native-last: Only print classes inherited after native/nativesdk
For usability, only print the classes inherited after native/nativesdk
which makes it easier for the user to see where the problem is.

Realted to [YOCTO #5729].

(From OE-Core rev: 78f7cf59783faab6ef8d4f4fde774754db946519)

Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-28 23:12:05 +00:00
Tomasz Dziendzielski
eb604952d5 insane: Add missing INSANE_SKIP mechanism for native-last QA check
Ensure that the native-last QA check can be controlled by the INSANE_SKIP
variable (realted to [YOCTO #5729]).

(From OE-Core rev: 2d95aee64766341bf81f610386bac222e329f1bb)

Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-28 23:12:05 +00:00
Sakib Sajal
4e03f04139 linux-yocto*: add features/gpio/mockup.scc to KERNEL_FEATURES
add features/gpio/mockup.scc to KERNEL_FEATURES when ptest
is enabled as it is required for testing libgpiod.

(From OE-Core rev: 906cde06bee319e788c76abb8f8295ed9921ccb1)

Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-28 23:12:05 +00:00
Richard Purdie
a89f77b92d staging: Clean up files installed into the sysroot
There are a variety of files being installed into $datadir which we
don't need. Pick the top "offenders" which amount of thousands of files
and simply don't install them. These include things like test data,
terminfo data, locale data for native tools and so on. This saves
copying these files into native and target sysroots and should improve
performance (smaller sstate, fewer files to copy around).

With this and the python recipe change, alsa-tools went from:

recipe-sysroot: 18357
recipe-sysroot-native: 14129

to

recipe-sysroot: 10809
recipe-sysroot-native: 8079

which is a decent improvement.

(From OE-Core rev: 366c72941fe1c24d0b1d96df46e13cb9eb4e79d6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-28 23:12:05 +00:00
Richard Purdie
b5869bf29a python3: Avoid installing test data into recipe-sysroot
There are several thousand files in the test directory which we don't need.
Adding these for the native and target sysroots is a crazy amount of files
to be throwing around needlessly. Delete the files from the sysroot side
of things to tidy up the sysroots and improve performance.

(From OE-Core rev: f6bced03011ad1663d68b0322a2f8aeb4d836646)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-28 23:12:05 +00:00
Richard Purdie
2599b4af5c ncurses: Don't put terminfo into the sysroot
This recudes the file count from ~2850 to ~100 which is a huge win
for reducing build directory clutter, its unlikely anything uses the
terminfo data or man pages in the sysroot. This is especially helpful
as we usually end up with two copies of these sets of files.

(From OE-Core rev: 443633dfc20177ef88a388d96745675817510c99)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-28 23:12:05 +00:00
Tomasz Dziendzielski
9385670add externalsrc: Detect code changes in submodules
The srctree_hash was calculated only from main source directory ignoring
changes in submodules.

[YOCTO #13748]

Use submodule--helper to determine all submodules, and calculate hash
from all git tree objects names combined.

(From OE-Core rev: 50ff9afb3990bcf60b4fa1f937506cb84028c32d)

Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-28 23:12:05 +00:00
Teoh Jay Shen
41f96b141e oeqa/ethernet_ip_connman : add test for network connections
This test mimic the ethernet_static_ip_set_in_connman and ethernet_get_IP_in_connman_via_DHCP test case from oeqa/manual/bsp-hw.json.
The ethernet_static_ip_set_in_connman and ethernet_get_IP_in_connman_via_DHCP manual test case should be remove from oeqa/manual/bsp-hw.json if this patch get merged.

(From OE-Core rev: aaabc94dbe353b12297ba4a237f6817b2c6d4a31)

Signed-off-by: Teoh Jay Shen <jay.shen.teoh@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-28 23:12:05 +00:00
Yi Fan Yu
d1aee0c050 sudo: upgrade 1.9.5p1 -> 1.9.5p2
Notable fix: CVE-2021-3156

(From OE-Core rev: 1140ca0090eb235cad3bc1427703dea43429d9de)

Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-27 10:17:45 +00:00
Yi Fan Yu
8e03298201 strace: increase ptest timeout duration 120->240s
solve qual_fault-syscall.test and qual_fault.test
failing due to timeout.

Bug 14165

(From OE-Core rev: 5af9f32d9b12654793289f44366251f978f6378a)

Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-27 10:17:45 +00:00
Tomasz Dziendzielski
f22225a413 lib/oe/package_manager: Do not pass stderr to package manager as an argument
The cmd redirected stderr to stdout that was then assigned to variable
with pkgs to install. Then this variable was passed to package manager
that then tried to install it and generated confusing warnings.

For example this variable could contain:
| ['(en_US.UTF-8)', 'LC_ALL:', 'bash:', 'cannot', 'change', 'locale', 'setlocale:', 'warning:']

and the warning was:

| WARNING: addon-bci-1.0-r0 do_populate_sdk: Unable to install packages.
| Command 'PATH/usr/bin/opkg ... install (en_US.UTF-8) LC_ALL: bash:
| cannot change locale setlocale: warning:' returned 255:
| Collected errors:
|  * opkg_prepare_url_for_install: Couldn't find anything to satisfy '(en_US.UTF-8)'.

In this change I remove stderr redirection to stdout and pass it to
bb.note instead.

(From OE-Core rev: 70d8ced3d7f53f988c02ff03d8dfa448f088fdf1)

Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-27 10:17:45 +00:00
Jonathan Richardson
6bc8f8ac0f core-image-tiny-initramfs: Add compatiblity for aarch64
Update the host compatibility to include aarch64.

(From OE-Core rev: 6ff15e05755bec9207099b326a3a78aa3bf2b3b1)

Signed-off-by: Jonathan Richardson <jonathan.richardson@broadcom.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-27 10:17:45 +00:00
Khem Raj
1b4801d13b musl: Update to 1.2.2 release
Detailed logs are here [1]

* 85e0e351 release 1.2.2
* 3953aecb fix VIDIOC_DQEVENT (v4l2) ioctl fallback for pre-5.6 kernels
* 30f55067 fix v4l2 buffer ioctl fallbacks for pre-5.6 kernels
* db981ffb sh: fix incorrect mcontext_t member naming

[1] https://git.musl-libc.org/cgit/musl/log/?qt=range&q=1e4204d522670a1d8b8ab85f1cfefa960547e8af..85e0e3519655220688e757b9d5bfd314923548bd

(From OE-Core rev: 73c2661a328b109a9fa69fbb4150c15622a5b506)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-27 10:17:45 +00:00
Dorinda
dbd80a923c sanity.bbclass: sanity check for if bitbake is present in PATH
If a user executes the environment script instead of sourcing it,
there's an error about an empty element in PATH. This is because
bitbake isn't present in environment variable PATH. Hence, this
patch adds a sanity check to verify if bitbake is present in
PATH and if bitbake isn't present issue a warning message.

[YOCTO #13822]

(From OE-Core rev: e08799913a7f207bc63e085eb98196fd61ed57bc)

Signed-off-by: Dorinda Bassey <dorindabassey@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-27 10:17:45 +00:00
Dorinda
bfeeaf9ff1 sanity: Verify that user isn't building in PSEUDO_IGNORE_PATHS
If a user builds in a path in PSEUDO_IGNORE_PATHS, random failures
are generated. Hence this patch adds a sanity check in sanity.bbclass
to ensure that a user isn't building in PSEUDO_IGNORE_PATHS.

[YOCTO #14179]

(From OE-Core rev: 7a681525e904914e938de25df5cc64209097d15d)

Signed-off-by: Dorinda Bassey <dorindabassey@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-27 10:17:45 +00:00
Ovidiu Panait
d647db7c30 timezone: upgrade to 2021a
Release 2021a - 2021-01-24 10:54:57 -0800

  Changes to future timestamps

    South Sudan changes from +03 to +02 on 2021-02-01 at 00:00.
    (Thanks to Steffen Thorsen.)

(From OE-Core rev: ed9114df2086c4ad0544cf99c9c1ff8fb7b830b9)

Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-27 10:17:45 +00:00
Alan Perry
70aac6cae8 iproute2: Add subpackage for rdma command
The rdma command is part of iproute2 and is used to query or set the RDMA
configuration where applicable. This patch adds options to build it
and include it.

(From OE-Core rev: a2d79159dd3fa583ae28fc138f68ad9c893f5de0)

Signed-off-by: Alan Perry <alanp@snowmoose.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-27 10:17:45 +00:00
zhengruoqin
9f01875a9e libmodulemd: upgrade 2.11.2 -> 2.12.0
(From OE-Core rev: 2e25bea34fb144108cb020284a53369666318479)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-27 10:17:45 +00:00
akuster
2d1610e801 openssl: Enable srp algorithm
This is still needed by libest in meta-security

(From OE-Core rev: 1242b04e97fbef3d926bcf706ac99a580109e58b)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Cc: Shachar Menashe <shachar@vdoo.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-27 10:17:45 +00:00
Tomasz Dziendzielski
0f0c0df633 insane: Add test for native/nativesdk inherit order
Classes native/nativesdk should be inherited last to prevent unexpected
behaviour.

[YOCTO #5729]

(From OE-Core rev: 55a0197fe62577fd51d41d87822e6d64d85c7680)

Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-27 10:17:45 +00:00
Tomasz Dziendzielski
a2a34451c9 meta: Fix native inheritance order in recipes
Classes native/nativesdk should be inherited last to prevent unexpected
behaviour.

See [YOCTO #5729] for details.

(From OE-Core rev: 217a8974765693192cbead51ebd9845a383ef7cc)

Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-27 10:17:45 +00:00
Tomasz Dziendzielski
9fa87066bb selftest/devtool: Add modify_localfiles_only test checking symlink path
If recipe uses only file:// fetcher devtool unpacks sources under
oe-local-files/ and adds symlink in source root directory. We need to
verify if the symlink in subdirectory has correct path.

See [YOCTO #13738] for details.

(From OE-Core rev: 044c90d152bfd1b2a23272df39327ba4cd862dff)

Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-27 10:17:45 +00:00
Mingli Yu
065a23550e libpam: add ptest support
Add ptest support.

(From OE-Core rev: 016efb82e90a56707995d2a6addd34e6b28b6b99)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-27 10:17:45 +00:00
Matt Hoosier
45c02843d1 bitbake: fetch/git: download LFS content too during do_fetch
Insert an explicit pass to fetch all blobs needed by Git LFS, during the
fetch() function. This avoids the default behavior of Git LFS to wait
until 'git checkout' to begin downloading the blobs pointed to by LFS records.
Network access is not allowed at that point in the recipe's lifecycle.

[YOCTO #14191]

(Bitbake rev: 0efac66043662e7a2027192f50e92e982db2ba1c)

Signed-off-by: Matt Hoosier <matt.hoosier@garmin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23 17:10:46 +00:00
Ross Burton
8e92ec7832 bitbake: tests/fetch: add test for empty query parameters
To exercise the previous patch, add a test case.

(Bitbake rev: efdf6d5c4cd8155bc54dc667346f58dccb138e07)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23 17:09:26 +00:00
Ross Burton
5d81a91861 bitbake: fetch2: handle empty elements in _param_str_split
_param_str_split is used to split ?foo=1;bar=2 into a dictionary, but throws
an exception if a lone semicolon is used as the value doesn't split into two
items.

Fix by checking that the result of the first split has content.

(Bitbake rev: 7662f8c8676d87cb318f811423cc02fe8cb146f6)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23 17:09:26 +00:00
Richard Purdie
5920b3f129 bitbake: fetch2/perforce: Fix localfile to include ud.module
As reported by Katu Txakur, the output depends on the module path
set so this needs to be accounted for in localfile.

(Bitbake rev: 9861ed37bb1c5d09c3b4852d2a252e3f3c86ab14)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23 17:09:26 +00:00
Christophe Priouzeau
9f12323826 bitbake: fetch2/wget: Update user-agent
With the usage of enterprise proxy, the user-agent defined are
too old and refused by proxy configuration. Updating to something
more modern is desirable.

(Bitbake rev: 7001fdd7c4dca372cbebd8fd2c0b03c5d43f9400)

Signed-off-by: Christophe Priouzeau <christophe.priouzeau@st.com>
Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23 17:09:26 +00:00
Ross Burton
db87aab8e2 ovmf-shell-image: image is only buildable on x86-64
This image is only buildable for x86-64, so add a COMPATIBLE assignment
to ensure it isn't attempted on others.

(From OE-Core rev: bdd8208675c8a0c0232c678804a8b62cd74f1d48)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23 17:08:54 +00:00
Ross Burton
72b859aba8 core-image-sato-sdk-ptest: these images need ptest
As this image isn't buildable without ptest (the packages won't exist),
depend on the ptest DISTRO_FEATURE to ensure we don't try and build it.

(From OE-Core rev: 0fe856d726c6d9c35533e32e70fbe05ef2b88b17)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23 17:08:54 +00:00
Ross Burton
bca05547e2 lib/oe/package_manager: ensure repodata is wiped
When building package indexes for RPM feeds, delete repodata first to
be absolutely sure that the indexes are up to date.

We've seen some mysterious failures where the repodata doesn't match
the repository, so hopefully this will stop that happening.

[ YOCTO #14190 ]

(From OE-Core rev: 88cd40c08109bf732934fa4c8d602c701c1eb2a0)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23 17:08:54 +00:00
Oleksiy Obitotskyy
21e70c8a72 dtc: improve reproducibility
Makefile override CFLAGS, so -fmacro/debug-prefix-map
optiions was omitted and binaries contains absolute
patch to sources.

(From OE-Core rev: b58e808a087bbc0a5abd78fd34bb6f1c0c93ba25)

Signed-off-by: Oleksiy Obitotskyy <oobitots@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23 17:08:54 +00:00
Wang Mingyu
d1fb52f6bc socat: upgrade 1.7.3.4 ->1.7.4.1
README updated:
    version updated
    add descrition of platform specifics - Debian

(From OE-Core rev: d2bd5a0df7d81e167b718d0f65b7426d62701f2e)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23 17:08:54 +00:00
Lee Chee Yang
3807c6d9a7 cve-check: replace Looseversion with custom version class
The way distutils.version.LooseVersion compare version are tricky, it treat
all these ( "1.0-beta2", "1.0-rc1", "1.0A", "1.0p2" and "1.0pre1") as greater
version than "1.0". This might be right for "1.0A" and "1.0p1" but not for
the rest, also these version could be confusing, the "p" in "1.0p1" can be
"pre" or "patched" version or even other meaning.

Replace Looseversion with custom class, it uses regex to capture common
version format like "1.1.1" or tag format using date like "2020-12-12" as
release section, check for following known string/tags ( beta, rc, pre, dev,
alpha, preview) as pre-release section, any other trailing characters
are difficult to understand/define so ignore them. Compare release
section and pre-release section saperately.

included selftest for the version class.

[YOCTO#14127]

(From OE-Core rev: 6ced85e9ddd3569240f1e8b82130d1ac0fffbc40)

Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23 17:08:54 +00:00
Jose Quaresma
2485beac68 common-licenses: Add GPL-3.0-with-bison-exception
(From OE-Core rev: 58f8debdd53c27cce17ae083dfeb0dab0bd54964)

Signed-off-by: Jose Quaresma <quaresma.jose@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23 17:08:54 +00:00
Anuj Mittal
7b90027aac gstreamer1.0: fix failing ptest
Backport a patch to increase the timeout that might help with the
intermittent seek test failure.

[YOCTO #14194]

(From OE-Core rev: a7dc7a35334ad634926a1386f4a56b27aad3ce68)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23 17:08:54 +00:00
Kai Kang
d485c68b9a adwaita-icon-theme: add version 3.34.3 back
Newer versions of adwaita-icon-theme can't work well with librsvg 2.40.
Boot up the core-image-sato image, and start "Media Player", most of the
icons are not showed properly.

The source code of librsvg has been adapted to rust, so it is impossible
to update librsvg in oe core for now. Then add adwaita-icon-theme 3.34.3
back and set as preferred version.

Duplicate one patch as well to fix patch fuzz issue.

Ref:
1. https://gitlab.gnome.org/GNOME/adwaita-icon-theme/-/issues/84
2. https://people.gnome.org/~federico/blog/do-not-use-librsvg-2.40.x.html

(From OE-Core rev: e46e8d638440446d34744e6b816f2446029e4a34)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23 17:08:54 +00:00
Ross Burton
02360c2e53 base: use URI instead of decodeurl when detecting unpack dependencies
decodeurl() has limitations, primarily that it doesn't handle query
parameters at all. If a SRC_URI looks like this:

  http://example.com/download.tar.gz?something

Then the returned path attribute is download.tar.gz?something.  This means
the filename extension detection fails and required tools are not added
to the dependencies.

(From OE-Core rev: 5cd396c099730b765fc6cd82e2d7748f99de7157)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23 17:08:54 +00:00
Tomasz Dziendzielski
3a220f1e41 devtool: Fix file:// fetcher symlink directory structure
Add relative path if file is under directory.

[YOCTO #13738]

(From OE-Core rev: 19ddacc1b38f9ebb86a9359963ccc3c707f7125e)

Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23 17:08:54 +00:00
Yi Fan Yu
1d803b70e5 oeqa/selftest/cases/tinfoil.py: increase timeout 10->60s test_wait_event
The test would timeout on autobuilders. This patch increases the
timeout to 60s

The test will now also exit as soon as we receive the 2 expected events
Expected runtime is around 1s if successful

Bug 14158

(From OE-Core rev: be02aa9283f805de718badd5ea12c4968da8774f)

Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23 17:08:54 +00:00
Alistair Francis
63fb8bcf7c opensbi: Bump from 0.8 to 0.9
(From OE-Core rev: 083bf3c575c3800a2f82abc6ee8e5383d0883f3d)

Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23 17:08:54 +00:00
Wang Mingyu
e261ab2d36 iptables: upgrade 1.8.6 -> 1.8.7
(From OE-Core rev: 7d5c46abf904de5c9770e466baef38705f46695e)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23 17:08:54 +00:00
Wang Mingyu
80f38cff27 gpgme: upgrade 1.15.0 -> 1.15.1
refresh the followning patches:
0001-Revert-build-Make-gpgme.m4-use-gpgrt-config-with-.pc.patch

(From OE-Core rev: cabf519e6af08d590ba55a4b2680b198e90b9826)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23 17:08:54 +00:00
Wang Mingyu
c5b1cb506b btrfs-tools: upgrade 5.9 -> 5.10
(From OE-Core rev: 50d484296c52b9b81c471052ffc43c76aec195fe)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23 17:08:53 +00:00
Tomasz Dziendzielski
28bdfe0066 externalsrc: Fix parsing error with devtool non-git sources
If srcdir is under poky directory (e.g. devtool poky/build/workspace/sources)
and is not a git repository then ${@srctree_hash_files(d)} will run "git
rev-parse --git-dir" and detect poky directory as git-dir and run "'git', 'add',
'-A', '.'], cwd=s_dir" trying to add srcdir but build dir is in .gitignore and
latest git will fail with "The following paths are ignored by one of your
.gitignore files: build" which will end with "ExpansionError during parsing".

In this commit I added a check if git_dir is the same as git-dir from
TOPDIR (which will detect poky directory) and if yes, then treat srcdir
as non-git sources.

(From OE-Core rev: 95fbac8dcad6c93f4c9737e9fe13e92ab6befa09)

Signed-off-by: Tomasz Dziendzielski <tomasz.dziendzielski@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23 17:08:53 +00:00
Wang Mingyu
c7c1e9e561 pulseaudio: upgrade 14.0 -> 14.2
refresh 0002-do-not-display-CLFAGS-to-improve-reproducibility-bui.patch

(From OE-Core rev: 1a6cb10fb1beb598fe40894ca32f432273db4504)

Signed-off-by: Wang Mingyu <wangmy@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23 17:08:53 +00:00
Alejandro Hernandez Samaniego
f926c41c89 newlib: Update licence
- libgloss:
  - (22) New tcl license for csky-* targets
  - (23) New license for csky-* targets, states itself as FreeBSD license
  but text matches GPL (648365e0)
  - (24) New BSD-2 license for risc-v targets

newlib:
  - New license for csky-* targets, states itself as FreeBSD license
  but text matches GPL (648365e0)
  - (53) arm targets FreeBSD
  - (54) arm targets BSD-2-Clause-FreeBSD

(From OE-Core rev: 97388b7da445c42ca9d425d37d2f369fc673b973)

Signed-off-by: Alejandro Enedino Hernandez Samaniego <alejandro@enedino.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23 17:08:53 +00:00
Mingli Yu
137150c6df systemd: resolve executable path if it is relative
Backport a patch to fix the below systemd-analyze issue:
 # systemd-analyze --man=false verify /lib/systemd/system/initrd-cleanup.service
 initrd-cleanup.service: Command systemctl is not executable: No such file or directory

 # which systemctl
 /bin/systemctl

 # cat /lib/systemd/system/initrd-cleanup.service
 [snip]
 [Unit]
 Description=Cleaning Up and Shutting Down Daemons
 DefaultDependencies=no
 AssertPathExists=/etc/initrd-release
 OnFailure=emergency.target
 OnFailureJobMode=replace-irreversibly
 After=initrd-root-fs.target initrd-fs.target initrd.target

 [Service]
 Type=oneshot
 ExecStart=systemctl --no-block isolate initrd-switch-root.target

(From OE-Core rev: 2e0259931f71701147039bb8e60251892f67dbcd)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-01-23 17:08:53 +00:00
351 changed files with 3525 additions and 4834 deletions

View File

@@ -26,7 +26,7 @@ from bb.main import bitbake_main, BitBakeConfigParameters, BBMainException
if sys.getfilesystemencoding() != "utf-8":
sys.exit("Please use a locale setting which supports UTF-8 (such as LANG=en_US.UTF-8).\nPython can't change the filesystem locale after loading so we need a UTF-8 when Python starts or things won't work.")
__version__ = "1.49.0"
__version__ = "1.49.1"
if __name__ == "__main__":
if __version__ != bb.__version__:

View File

@@ -151,9 +151,6 @@ def main():
func = getattr(args, 'func', None)
if func:
client = hashserv.create_client(args.address)
# Try to establish a connection to the server now to detect failures
# early
client.connect()
return func(args, client)

View File

@@ -30,9 +30,11 @@ def main():
"--bind [::1]:8686"'''
)
parser.add_argument('--bind', default=DEFAULT_BIND, help='Bind address (default "%(default)s")')
parser.add_argument('--database', default='./hashserv.db', help='Database file (default "%(default)s")')
parser.add_argument('--log', default='WARNING', help='Set logging level')
parser.add_argument('-b', '--bind', default=DEFAULT_BIND, help='Bind address (default "%(default)s")')
parser.add_argument('-d', '--database', default='./hashserv.db', help='Database file (default "%(default)s")')
parser.add_argument('-l', '--log', default='WARNING', help='Set logging level')
parser.add_argument('-u', '--upstream', help='Upstream hashserv to pull hashes from')
parser.add_argument('-r', '--read-only', action='store_true', help='Disallow write operations from clients')
args = parser.parse_args()
@@ -47,7 +49,7 @@ def main():
console.setLevel(level)
logger.addHandler(console)
server = hashserv.create_server(args.bind, args.database)
server = hashserv.create_server(args.bind, args.database, upstream=args.upstream, read_only=args.read_only)
server.serve_forever()
return 0

View File

@@ -118,7 +118,9 @@ def worker_child_fire(event, d):
data = b"<event>" + pickle.dumps(event) + b"</event>"
try:
worker_pipe_lock.acquire()
worker_pipe.write(data)
while(len(data)):
written = worker_pipe.write(data)
data = data[written:]
worker_pipe_lock.release()
except IOError:
sigterm_handler(None, None)
@@ -167,7 +169,7 @@ def fork_off_task(cfg, data, databuilder, workerdata, fn, task, taskname, taskha
fakedirs = (workerdata["fakerootdirs"][fn] or "").split()
for p in fakedirs:
bb.utils.mkdirhier(p)
logger.debug(2, 'Running %s:%s under fakeroot, fakedirs: %s' %
logger.debug2('Running %s:%s under fakeroot, fakedirs: %s' %
(fn, taskname, ', '.join(fakedirs)))
else:
envvars = (workerdata["fakerootnoenv"][fn] or "").split()
@@ -321,7 +323,9 @@ class runQueueWorkerPipe():
end = len(self.queue)
index = self.queue.find(b"</event>")
while index != -1:
worker_fire_prepickled(self.queue[:index+8])
msg = self.queue[:index+8]
assert msg.startswith(b"<event>") and msg.count(b"<event>") == 1
worker_fire_prepickled(msg)
self.queue = self.queue[index+8:]
index = self.queue.find(b"</event>")
return (end > start)

View File

@@ -9,7 +9,7 @@
# SPDX-License-Identifier: GPL-2.0-only
#
__version__ = "1.49.0"
__version__ = "1.49.1"
import sys
if sys.version_info < (3, 5, 0):
@@ -21,8 +21,8 @@ class BBHandledException(Exception):
The big dilemma for generic bitbake code is what information to give the user
when an exception occurs. Any exception inheriting this base exception class
has already provided information to the user via some 'fired' message type such as
an explicitly fired event using bb.fire, or a bb.error message. If bitbake
encounters an exception derived from this class, no backtrace or other information
an explicitly fired event using bb.fire, or a bb.error message. If bitbake
encounters an exception derived from this class, no backtrace or other information
will be given to the user, its assumed the earlier event provided the relevant information.
"""
pass
@@ -42,7 +42,16 @@ class BBLoggerMixin(object):
def setup_bblogger(self, name):
if name.split(".")[0] == "BitBake":
self.debug = self.bbdebug
self.debug = self._debug_helper
def _debug_helper(self, *args, **kwargs):
return self.bbdebug(1, *args, **kwargs)
def debug2(self, *args, **kwargs):
return self.bbdebug(2, *args, **kwargs)
def debug3(self, *args, **kwargs):
return self.bbdebug(3, *args, **kwargs)
def bbdebug(self, level, msg, *args, **kwargs):
loglevel = logging.DEBUG - level + 1
@@ -128,7 +137,7 @@ def debug(lvl, *args):
mainlogger.warning("Passed invalid debug level '%s' to bb.debug", lvl)
args = (lvl,) + args
lvl = 1
mainlogger.debug(lvl, ''.join(args))
mainlogger.bbdebug(lvl, ''.join(args))
def note(*args):
mainlogger.info(''.join(args))

View File

@@ -583,7 +583,7 @@ def _exec_task(fn, task, d, quieterr):
logger.error("No such task: %s" % task)
return 1
logger.debug(1, "Executing task %s", task)
logger.debug("Executing task %s", task)
localdata = _task_data(fn, task, d)
tempdir = localdata.getVar('T')
@@ -596,7 +596,7 @@ def _exec_task(fn, task, d, quieterr):
curnice = os.nice(0)
nice = int(nice) - curnice
newnice = os.nice(nice)
logger.debug(1, "Renice to %s " % newnice)
logger.debug("Renice to %s " % newnice)
ionice = localdata.getVar("BB_TASK_IONICE_LEVEL")
if ionice:
try:
@@ -720,7 +720,7 @@ def _exec_task(fn, task, d, quieterr):
logfile.close()
if os.path.exists(logfn) and os.path.getsize(logfn) == 0:
logger.debug(2, "Zero size logfn %s, removing", logfn)
logger.debug2("Zero size logfn %s, removing", logfn)
bb.utils.remove(logfn)
bb.utils.remove(loglink)
event.fire(TaskSucceeded(task, fn, logfn, localdata), localdata)

View File

@@ -215,7 +215,7 @@ class CoreRecipeInfo(RecipeInfoCommon):
if not self.not_world:
cachedata.possible_world.append(fn)
#else:
# logger.debug(2, "EXCLUDE FROM WORLD: %s", fn)
# logger.debug2("EXCLUDE FROM WORLD: %s", fn)
# create a collection of all targets for sanity checking
# tasks, such as upstream versions, license, and tools for
@@ -238,7 +238,7 @@ def virtualfn2realfn(virtualfn):
Convert a virtual file name to a real one + the associated subclass keyword
"""
mc = ""
if virtualfn.startswith('mc:'):
if virtualfn.startswith('mc:') and virtualfn.count(':') >= 2:
elems = virtualfn.split(':')
mc = elems[1]
virtualfn = ":".join(elems[2:])
@@ -268,7 +268,7 @@ def variant2virtual(realfn, variant):
"""
if variant == "":
return realfn
if variant.startswith("mc:"):
if variant.startswith("mc:") and variant.count(':') >= 2:
elems = variant.split(":")
if elems[2]:
return "mc:" + elems[1] + ":virtual:" + ":".join(elems[2:]) + ":" + realfn
@@ -323,7 +323,7 @@ class NoCache(object):
Return a complete set of data for fn.
To do this, we need to parse the file.
"""
logger.debug(1, "Parsing %s (full)" % virtualfn)
logger.debug("Parsing %s (full)" % virtualfn)
(fn, virtual, mc) = virtualfn2realfn(virtualfn)
bb_data = self.load_bbfile(virtualfn, appends, virtonly=True)
return bb_data[virtual]
@@ -400,7 +400,7 @@ class Cache(NoCache):
self.cachefile = self.getCacheFile("bb_cache.dat")
self.logger.debug(1, "Cache dir: %s", self.cachedir)
self.logger.debug("Cache dir: %s", self.cachedir)
bb.utils.mkdirhier(self.cachedir)
cache_ok = True
@@ -408,7 +408,7 @@ class Cache(NoCache):
for cache_class in self.caches_array:
cachefile = self.getCacheFile(cache_class.cachefile)
cache_exists = os.path.exists(cachefile)
self.logger.debug(2, "Checking if %s exists: %r", cachefile, cache_exists)
self.logger.debug2("Checking if %s exists: %r", cachefile, cache_exists)
cache_ok = cache_ok and cache_exists
cache_class.init_cacheData(self)
if cache_ok:
@@ -416,7 +416,7 @@ class Cache(NoCache):
elif os.path.isfile(self.cachefile):
self.logger.info("Out of date cache found, rebuilding...")
else:
self.logger.debug(1, "Cache file %s not found, building..." % self.cachefile)
self.logger.debug("Cache file %s not found, building..." % self.cachefile)
# We don't use the symlink, its just for debugging convinience
if self.mc:
@@ -453,7 +453,7 @@ class Cache(NoCache):
for cache_class in self.caches_array:
cachefile = self.getCacheFile(cache_class.cachefile)
self.logger.debug(1, 'Loading cache file: %s' % cachefile)
self.logger.debug('Loading cache file: %s' % cachefile)
with open(cachefile, "rb") as cachefile:
pickled = pickle.Unpickler(cachefile)
# Check cache version information
@@ -500,7 +500,7 @@ class Cache(NoCache):
def parse(self, filename, appends):
"""Parse the specified filename, returning the recipe information"""
self.logger.debug(1, "Parsing %s", filename)
self.logger.debug("Parsing %s", filename)
infos = []
datastores = self.load_bbfile(filename, appends, mc=self.mc)
depends = []
@@ -554,7 +554,7 @@ class Cache(NoCache):
cached, infos = self.load(fn, appends)
for virtualfn, info_array in infos:
if info_array[0].skipped:
self.logger.debug(1, "Skipping %s: %s", virtualfn, info_array[0].skipreason)
self.logger.debug("Skipping %s: %s", virtualfn, info_array[0].skipreason)
skipped += 1
else:
self.add_info(virtualfn, info_array, cacheData, not cached)
@@ -590,21 +590,21 @@ class Cache(NoCache):
# File isn't in depends_cache
if not fn in self.depends_cache:
self.logger.debug(2, "%s is not cached", fn)
self.logger.debug2("%s is not cached", fn)
return False
mtime = bb.parse.cached_mtime_noerror(fn)
# Check file still exists
if mtime == 0:
self.logger.debug(2, "%s no longer exists", fn)
self.logger.debug2("%s no longer exists", fn)
self.remove(fn)
return False
info_array = self.depends_cache[fn]
# Check the file's timestamp
if mtime != info_array[0].timestamp:
self.logger.debug(2, "%s changed", fn)
self.logger.debug2("%s changed", fn)
self.remove(fn)
return False
@@ -615,13 +615,13 @@ class Cache(NoCache):
fmtime = bb.parse.cached_mtime_noerror(f)
# Check if file still exists
if old_mtime != 0 and fmtime == 0:
self.logger.debug(2, "%s's dependency %s was removed",
self.logger.debug2("%s's dependency %s was removed",
fn, f)
self.remove(fn)
return False
if (fmtime != old_mtime):
self.logger.debug(2, "%s's dependency %s changed",
self.logger.debug2("%s's dependency %s changed",
fn, f)
self.remove(fn)
return False
@@ -638,14 +638,14 @@ class Cache(NoCache):
continue
f, exist = f.split(":")
if (exist == "True" and not os.path.exists(f)) or (exist == "False" and os.path.exists(f)):
self.logger.debug(2, "%s's file checksum list file %s changed",
self.logger.debug2("%s's file checksum list file %s changed",
fn, f)
self.remove(fn)
return False
if tuple(appends) != tuple(info_array[0].appends):
self.logger.debug(2, "appends for %s changed", fn)
self.logger.debug(2, "%s to %s" % (str(appends), str(info_array[0].appends)))
self.logger.debug2("appends for %s changed", fn)
self.logger.debug2("%s to %s" % (str(appends), str(info_array[0].appends)))
self.remove(fn)
return False
@@ -654,10 +654,10 @@ class Cache(NoCache):
virtualfn = variant2virtual(fn, cls)
self.clean.add(virtualfn)
if virtualfn not in self.depends_cache:
self.logger.debug(2, "%s is not cached", virtualfn)
self.logger.debug2("%s is not cached", virtualfn)
invalid = True
elif len(self.depends_cache[virtualfn]) != len(self.caches_array):
self.logger.debug(2, "Extra caches missing for %s?" % virtualfn)
self.logger.debug2("Extra caches missing for %s?" % virtualfn)
invalid = True
# If any one of the variants is not present, mark as invalid for all
@@ -665,10 +665,10 @@ class Cache(NoCache):
for cls in info_array[0].variants:
virtualfn = variant2virtual(fn, cls)
if virtualfn in self.clean:
self.logger.debug(2, "Removing %s from cache", virtualfn)
self.logger.debug2("Removing %s from cache", virtualfn)
self.clean.remove(virtualfn)
if fn in self.clean:
self.logger.debug(2, "Marking %s as not clean", fn)
self.logger.debug2("Marking %s as not clean", fn)
self.clean.remove(fn)
return False
@@ -681,10 +681,10 @@ class Cache(NoCache):
Called from the parser in error cases
"""
if fn in self.depends_cache:
self.logger.debug(1, "Removing %s from cache", fn)
self.logger.debug("Removing %s from cache", fn)
del self.depends_cache[fn]
if fn in self.clean:
self.logger.debug(1, "Marking %s as unclean", fn)
self.logger.debug("Marking %s as unclean", fn)
self.clean.remove(fn)
def sync(self):
@@ -697,13 +697,13 @@ class Cache(NoCache):
return
if self.cacheclean:
self.logger.debug(2, "Cache is clean, not saving.")
self.logger.debug2("Cache is clean, not saving.")
return
for cache_class in self.caches_array:
cache_class_name = cache_class.__name__
cachefile = self.getCacheFile(cache_class.cachefile)
self.logger.debug(2, "Writing %s", cachefile)
self.logger.debug2("Writing %s", cachefile)
with open(cachefile, "wb") as f:
p = pickle.Pickler(f, pickle.HIGHEST_PROTOCOL)
p.dump(__cache_version__)
@@ -879,7 +879,7 @@ class MultiProcessCache(object):
bb.utils.mkdirhier(cachedir)
self.cachefile = os.path.join(cachedir,
cache_file_name or self.__class__.cache_file_name)
logger.debug(1, "Using cache in '%s'", self.cachefile)
logger.debug("Using cache in '%s'", self.cachefile)
glf = bb.utils.lockfile(self.cachefile + ".lock")
@@ -985,7 +985,7 @@ class SimpleCache(object):
bb.utils.mkdirhier(cachedir)
self.cachefile = os.path.join(cachedir,
cache_file_name or self.__class__.cache_file_name)
logger.debug(1, "Using cache in '%s'", self.cachefile)
logger.debug("Using cache in '%s'", self.cachefile)
glf = bb.utils.lockfile(self.cachefile + ".lock")

View File

@@ -411,6 +411,8 @@ class BBCooker:
self.data.disableTracking()
def parseConfiguration(self):
self.updateCacheSync()
# Change nice level if we're asked to
nice = self.data.getVar("BB_NICE_LEVEL")
if nice:
@@ -441,7 +443,7 @@ class BBCooker:
continue
except AttributeError:
pass
logger.debug(1, "Marking as dirty due to '%s' option change to '%s'" % (o, options[o]))
logger.debug("Marking as dirty due to '%s' option change to '%s'" % (o, options[o]))
print("Marking as dirty due to '%s' option change to '%s'" % (o, options[o]))
clean = False
if hasattr(self.configuration, o):
@@ -468,17 +470,17 @@ class BBCooker:
for k in bb.utils.approved_variables():
if k in environment and k not in self.configuration.env:
logger.debug(1, "Updating new environment variable %s to %s" % (k, environment[k]))
logger.debug("Updating new environment variable %s to %s" % (k, environment[k]))
self.configuration.env[k] = environment[k]
clean = False
if k in self.configuration.env and k not in environment:
logger.debug(1, "Updating environment variable %s (deleted)" % (k))
logger.debug("Updating environment variable %s (deleted)" % (k))
del self.configuration.env[k]
clean = False
if k not in self.configuration.env and k not in environment:
continue
if environment[k] != self.configuration.env[k]:
logger.debug(1, "Updating environment variable %s from %s to %s" % (k, self.configuration.env[k], environment[k]))
logger.debug("Updating environment variable %s from %s to %s" % (k, self.configuration.env[k], environment[k]))
self.configuration.env[k] = environment[k]
clean = False
@@ -486,7 +488,7 @@ class BBCooker:
self.configuration.env = environment
if not clean:
logger.debug(1, "Base environment change, triggering reparse")
logger.debug("Base environment change, triggering reparse")
self.reset()
def runCommands(self, server, data, abort):
@@ -614,7 +616,7 @@ class BBCooker:
# Replace string such as "mc:*:bash"
# into "mc:A:bash mc:B:bash bash"
for k in targetlist:
if k.startswith("mc:"):
if k.startswith("mc:") and k.count(':') >= 2:
if wildcard:
bb.fatal('multiconfig conflict')
if k.split(":")[1] == "*":
@@ -648,7 +650,7 @@ class BBCooker:
for k in fulltargetlist:
origk = k
mc = ""
if k.startswith("mc:"):
if k.startswith("mc:") and k.count(':') >= 2:
mc = k.split(":")[1]
k = ":".join(k.split(":")[2:])
ktask = task
@@ -697,7 +699,7 @@ class BBCooker:
if depmc not in self.multiconfigs:
bb.fatal("Multiconfig dependency %s depends on nonexistent multiconfig configuration named configuration %s" % (k,depmc))
else:
logger.debug(1, "Adding providers for multiconfig dependency %s" % l[3])
logger.debug("Adding providers for multiconfig dependency %s" % l[3])
taskdata[depmc].add_provider(localdata[depmc], self.recipecaches[depmc], l[3])
seen.add(k)
new = True
@@ -1553,7 +1555,7 @@ class BBCooker:
self.inotify_modified_files = []
if not self.baseconfig_valid:
logger.debug(1, "Reloading base configuration data")
logger.debug("Reloading base configuration data")
self.initConfigurationData()
self.handlePRServ()

View File

@@ -290,7 +290,7 @@ class URI(object):
def _param_str_split(self, string, elmdelim, kvdelim="="):
ret = collections.OrderedDict()
for k, v in [x.split(kvdelim, 1) for x in string.split(elmdelim)]:
for k, v in [x.split(kvdelim, 1) for x in string.split(elmdelim) if x]:
ret[k] = v
return ret
@@ -428,7 +428,7 @@ def uri_replace(ud, uri_find, uri_replace, replacements, d, mirrortarball=None):
uri_decoded = list(decodeurl(ud.url))
uri_find_decoded = list(decodeurl(uri_find))
uri_replace_decoded = list(decodeurl(uri_replace))
logger.debug(2, "For url %s comparing %s to %s" % (uri_decoded, uri_find_decoded, uri_replace_decoded))
logger.debug2("For url %s comparing %s to %s" % (uri_decoded, uri_find_decoded, uri_replace_decoded))
result_decoded = ['', '', '', '', '', {}]
for loc, i in enumerate(uri_find_decoded):
result_decoded[loc] = uri_decoded[loc]
@@ -474,7 +474,7 @@ def uri_replace(ud, uri_find, uri_replace, replacements, d, mirrortarball=None):
result = encodeurl(result_decoded)
if result == ud.url:
return None
logger.debug(2, "For url %s returning %s" % (ud.url, result))
logger.debug2("For url %s returning %s" % (ud.url, result))
return result
methods = []
@@ -499,9 +499,9 @@ def fetcher_init(d):
# When to drop SCM head revisions controlled by user policy
srcrev_policy = d.getVar('BB_SRCREV_POLICY') or "clear"
if srcrev_policy == "cache":
logger.debug(1, "Keeping SRCREV cache due to cache policy of: %s", srcrev_policy)
logger.debug("Keeping SRCREV cache due to cache policy of: %s", srcrev_policy)
elif srcrev_policy == "clear":
logger.debug(1, "Clearing SRCREV cache due to cache policy of: %s", srcrev_policy)
logger.debug("Clearing SRCREV cache due to cache policy of: %s", srcrev_policy)
revs.clear()
else:
raise FetchError("Invalid SRCREV cache policy of: %s" % srcrev_policy)
@@ -857,9 +857,9 @@ def runfetchcmd(cmd, d, quiet=False, cleanup=None, log=None, workdir=None):
cmd = 'export PSEUDO_DISABLED=1; ' + cmd
if workdir:
logger.debug(1, "Running '%s' in %s" % (cmd, workdir))
logger.debug("Running '%s' in %s" % (cmd, workdir))
else:
logger.debug(1, "Running %s", cmd)
logger.debug("Running %s", cmd)
success = False
error_message = ""
@@ -900,7 +900,7 @@ def check_network_access(d, info, url):
elif not trusted_network(d, url):
raise UntrustedUrl(url, info)
else:
logger.debug(1, "Fetcher accessed the network with the command %s" % info)
logger.debug("Fetcher accessed the network with the command %s" % info)
def build_mirroruris(origud, mirrors, ld):
uris = []
@@ -926,7 +926,7 @@ def build_mirroruris(origud, mirrors, ld):
continue
if not trusted_network(ld, newuri):
logger.debug(1, "Mirror %s not in the list of trusted networks, skipping" % (newuri))
logger.debug("Mirror %s not in the list of trusted networks, skipping" % (newuri))
continue
# Create a local copy of the mirrors minus the current line
@@ -939,8 +939,8 @@ def build_mirroruris(origud, mirrors, ld):
newud = FetchData(newuri, ld)
newud.setup_localpath(ld)
except bb.fetch2.BBFetchException as e:
logger.debug(1, "Mirror fetch failure for url %s (original url: %s)" % (newuri, origud.url))
logger.debug(1, str(e))
logger.debug("Mirror fetch failure for url %s (original url: %s)" % (newuri, origud.url))
logger.debug(str(e))
try:
# setup_localpath of file:// urls may fail, we should still see
# if mirrors of the url exist
@@ -1043,8 +1043,8 @@ def try_mirror_url(fetch, origud, ud, ld, check = False):
elif isinstance(e, NoChecksumError):
raise
else:
logger.debug(1, "Mirror fetch failure for url %s (original url: %s)" % (ud.url, origud.url))
logger.debug(1, str(e))
logger.debug("Mirror fetch failure for url %s (original url: %s)" % (ud.url, origud.url))
logger.debug(str(e))
try:
ud.method.clean(ud, ld)
except UnboundLocalError:
@@ -1688,7 +1688,7 @@ class Fetch(object):
if m.verify_donestamp(ud, self.d) and not m.need_update(ud, self.d):
done = True
elif m.try_premirror(ud, self.d):
logger.debug(1, "Trying PREMIRRORS")
logger.debug("Trying PREMIRRORS")
mirrors = mirror_from_string(self.d.getVar('PREMIRRORS'))
done = m.try_mirrors(self, ud, self.d, mirrors)
if done:
@@ -1698,7 +1698,7 @@ class Fetch(object):
m.update_donestamp(ud, self.d)
except ChecksumError as e:
logger.warning("Checksum failure encountered with premirror download of %s - will attempt other sources." % u)
logger.debug(1, str(e))
logger.debug(str(e))
done = False
if premirroronly:
@@ -1710,7 +1710,7 @@ class Fetch(object):
try:
if not trusted_network(self.d, ud.url):
raise UntrustedUrl(ud.url)
logger.debug(1, "Trying Upstream")
logger.debug("Trying Upstream")
m.download(ud, self.d)
if hasattr(m, "build_mirror_data"):
m.build_mirror_data(ud, self.d)
@@ -1725,19 +1725,19 @@ class Fetch(object):
except BBFetchException as e:
if isinstance(e, ChecksumError):
logger.warning("Checksum failure encountered with download of %s - will attempt other sources if available" % u)
logger.debug(1, str(e))
logger.debug(str(e))
if os.path.exists(ud.localpath):
rename_bad_checksum(ud, e.checksum)
elif isinstance(e, NoChecksumError):
raise
else:
logger.warning('Failed to fetch URL %s, attempting MIRRORS if available' % u)
logger.debug(1, str(e))
logger.debug(str(e))
firsterr = e
# Remove any incomplete fetch
if not verified_stamp:
m.clean(ud, self.d)
logger.debug(1, "Trying MIRRORS")
logger.debug("Trying MIRRORS")
mirrors = mirror_from_string(self.d.getVar('MIRRORS'))
done = m.try_mirrors(self, ud, self.d, mirrors)
@@ -1774,7 +1774,7 @@ class Fetch(object):
ud = self.ud[u]
ud.setup_localpath(self.d)
m = ud.method
logger.debug(1, "Testing URL %s", u)
logger.debug("Testing URL %s", u)
# First try checking uri, u, from PREMIRRORS
mirrors = mirror_from_string(self.d.getVar('PREMIRRORS'))
ret = m.try_mirrors(self, ud, self.d, mirrors, True)

View File

@@ -74,16 +74,16 @@ class Bzr(FetchMethod):
if os.access(os.path.join(ud.pkgdir, os.path.basename(ud.pkgdir), '.bzr'), os.R_OK):
bzrcmd = self._buildbzrcommand(ud, d, "update")
logger.debug(1, "BZR Update %s", ud.url)
logger.debug("BZR Update %s", ud.url)
bb.fetch2.check_network_access(d, bzrcmd, ud.url)
runfetchcmd(bzrcmd, d, workdir=os.path.join(ud.pkgdir, os.path.basename(ud.path)))
else:
bb.utils.remove(os.path.join(ud.pkgdir, os.path.basename(ud.pkgdir)), True)
bzrcmd = self._buildbzrcommand(ud, d, "fetch")
bb.fetch2.check_network_access(d, bzrcmd, ud.url)
logger.debug(1, "BZR Checkout %s", ud.url)
logger.debug("BZR Checkout %s", ud.url)
bb.utils.mkdirhier(ud.pkgdir)
logger.debug(1, "Running %s", bzrcmd)
logger.debug("Running %s", bzrcmd)
runfetchcmd(bzrcmd, d, workdir=ud.pkgdir)
scmdata = ud.parm.get("scmdata", "")
@@ -109,7 +109,7 @@ class Bzr(FetchMethod):
"""
Return the latest upstream revision number
"""
logger.debug(2, "BZR fetcher hitting network for %s", ud.url)
logger.debug2("BZR fetcher hitting network for %s", ud.url)
bb.fetch2.check_network_access(d, self._buildbzrcommand(ud, d, "revno"), ud.url)

View File

@@ -70,7 +70,7 @@ class ClearCase(FetchMethod):
return ud.type in ['ccrc']
def debug(self, msg):
logger.debug(1, "ClearCase: %s", msg)
logger.debug("ClearCase: %s", msg)
def urldata_init(self, ud, d):
"""

View File

@@ -109,7 +109,7 @@ class Cvs(FetchMethod):
cvsupdatecmd = "CVS_RSH=\"%s\" %s" % (cvs_rsh, cvsupdatecmd)
# create module directory
logger.debug(2, "Fetch: checking for module directory")
logger.debug2("Fetch: checking for module directory")
moddir = os.path.join(ud.pkgdir, localdir)
workdir = None
if os.access(os.path.join(moddir, 'CVS'), os.R_OK):
@@ -123,7 +123,7 @@ class Cvs(FetchMethod):
# check out sources there
bb.utils.mkdirhier(ud.pkgdir)
workdir = ud.pkgdir
logger.debug(1, "Running %s", cvscmd)
logger.debug("Running %s", cvscmd)
bb.fetch2.check_network_access(d, cvscmd, ud.url)
cmd = cvscmd

View File

@@ -384,6 +384,35 @@ class Git(FetchMethod):
if missing_rev:
raise bb.fetch2.FetchError("Unable to find revision %s even from upstream" % missing_rev)
if self._contains_lfs(ud, d, ud.clonedir) and self._need_lfs(ud):
# Unpack temporary working copy, use it to run 'git checkout' to force pre-fetching
# of all LFS blobs needed at the the srcrev.
#
# It would be nice to just do this inline here by running 'git-lfs fetch'
# on the bare clonedir, but that operation requires a working copy on some
# releases of Git LFS.
tmpdir = tempfile.mkdtemp(dir=d.getVar('DL_DIR'))
try:
# Do the checkout. This implicitly involves a Git LFS fetch.
self.unpack(ud, tmpdir, d)
# Scoop up a copy of any stuff that Git LFS downloaded. Merge them into
# the bare clonedir.
#
# As this procedure is invoked repeatedly on incremental fetches as
# a recipe's SRCREV is bumped throughout its lifetime, this will
# result in a gradual accumulation of LFS blobs in <ud.clonedir>/lfs
# corresponding to all the blobs reachable from the different revs
# fetched across time.
#
# Only do this if the unpack resulted in a .git/lfs directory being
# created; this only happens if at least one blob needed to be
# downloaded.
if os.path.exists(os.path.join(tmpdir, "git", ".git", "lfs")):
runfetchcmd("tar -cf - lfs | tar -xf - -C %s" % ud.clonedir, d, workdir="%s/git/.git" % tmpdir)
finally:
bb.utils.remove(tmpdir, recurse=True)
def build_mirror_data(self, ud, d):
if ud.shallow and ud.write_shallow_tarballs:
if not os.path.exists(ud.fullshallow):
@@ -479,7 +508,7 @@ class Git(FetchMethod):
if os.path.exists(destdir):
bb.utils.prunedir(destdir)
need_lfs = ud.parm.get("lfs", "1") == "1"
need_lfs = self._need_lfs(ud)
if not need_lfs:
ud.basecmd = "GIT_LFS_SKIP_SMUDGE=1 " + ud.basecmd
@@ -568,6 +597,9 @@ class Git(FetchMethod):
raise bb.fetch2.FetchError("The command '%s' gave output with more then 1 line unexpectedly, output: '%s'" % (cmd, output))
return output.split()[0] != "0"
def _need_lfs(self, ud):
return ud.parm.get("lfs", "1") == "1"
def _contains_lfs(self, ud, d, wd):
"""
Check if the repository has 'lfs' (large file) content
@@ -578,8 +610,14 @@ class Git(FetchMethod):
else:
branchname = "master"
cmd = "%s grep lfs origin/%s:.gitattributes | wc -l" % (
ud.basecmd, ud.branches[ud.names[0]])
# The bare clonedir doesn't use the remote names; it has the branch immediately.
if wd == ud.clonedir:
refname = ud.branches[ud.names[0]]
else:
refname = "origin/%s" % ud.branches[ud.names[0]]
cmd = "%s grep lfs %s:.gitattributes | wc -l" % (
ud.basecmd, refname)
try:
output = runfetchcmd(cmd, d, quiet=True, workdir=wd)

View File

@@ -78,7 +78,7 @@ class GitSM(Git):
module_hash = ""
if not module_hash:
logger.debug(1, "submodule %s is defined, but is not initialized in the repository. Skipping", m)
logger.debug("submodule %s is defined, but is not initialized in the repository. Skipping", m)
continue
submodules.append(m)
@@ -179,7 +179,7 @@ class GitSM(Git):
(ud.basecmd, ud.revisions[ud.names[0]]), d, workdir=ud.clonedir)
if len(need_update_list) > 0:
logger.debug(1, 'gitsm: Submodules requiring update: %s' % (' '.join(need_update_list)))
logger.debug('gitsm: Submodules requiring update: %s' % (' '.join(need_update_list)))
return True
return False

View File

@@ -150,7 +150,7 @@ class Hg(FetchMethod):
def download(self, ud, d):
"""Fetch url"""
logger.debug(2, "Fetch: checking for module directory '" + ud.moddir + "'")
logger.debug2("Fetch: checking for module directory '" + ud.moddir + "'")
# If the checkout doesn't exist and the mirror tarball does, extract it
if not os.path.exists(ud.pkgdir) and os.path.exists(ud.fullmirror):
@@ -160,7 +160,7 @@ class Hg(FetchMethod):
if os.access(os.path.join(ud.moddir, '.hg'), os.R_OK):
# Found the source, check whether need pull
updatecmd = self._buildhgcommand(ud, d, "update")
logger.debug(1, "Running %s", updatecmd)
logger.debug("Running %s", updatecmd)
try:
runfetchcmd(updatecmd, d, workdir=ud.moddir)
except bb.fetch2.FetchError:
@@ -168,7 +168,7 @@ class Hg(FetchMethod):
pullcmd = self._buildhgcommand(ud, d, "pull")
logger.info("Pulling " + ud.url)
# update sources there
logger.debug(1, "Running %s", pullcmd)
logger.debug("Running %s", pullcmd)
bb.fetch2.check_network_access(d, pullcmd, ud.url)
runfetchcmd(pullcmd, d, workdir=ud.moddir)
try:
@@ -183,14 +183,14 @@ class Hg(FetchMethod):
logger.info("Fetch " + ud.url)
# check out sources there
bb.utils.mkdirhier(ud.pkgdir)
logger.debug(1, "Running %s", fetchcmd)
logger.debug("Running %s", fetchcmd)
bb.fetch2.check_network_access(d, fetchcmd, ud.url)
runfetchcmd(fetchcmd, d, workdir=ud.pkgdir)
# Even when we clone (fetch), we still need to update as hg's clone
# won't checkout the specified revision if its on a branch
updatecmd = self._buildhgcommand(ud, d, "update")
logger.debug(1, "Running %s", updatecmd)
logger.debug("Running %s", updatecmd)
runfetchcmd(updatecmd, d, workdir=ud.moddir)
def clean(self, ud, d):
@@ -247,9 +247,9 @@ class Hg(FetchMethod):
if scmdata != "nokeep":
proto = ud.parm.get('protocol', 'http')
if not os.access(os.path.join(codir, '.hg'), os.R_OK):
logger.debug(2, "Unpack: creating new hg repository in '" + codir + "'")
logger.debug2("Unpack: creating new hg repository in '" + codir + "'")
runfetchcmd("%s init %s" % (ud.basecmd, codir), d)
logger.debug(2, "Unpack: updating source in '" + codir + "'")
logger.debug2("Unpack: updating source in '" + codir + "'")
if ud.user and ud.pswd:
runfetchcmd("%s --config auth.default.prefix=* --config auth.default.username=%s --config auth.default.password=%s --config \"auth.default.schemes=%s\" pull %s" % (ud.basecmd, ud.user, ud.pswd, proto, ud.moddir), d, workdir=codir)
else:
@@ -259,5 +259,5 @@ class Hg(FetchMethod):
else:
runfetchcmd("%s up -C %s" % (ud.basecmd, revflag), d, workdir=codir)
else:
logger.debug(2, "Unpack: extracting source to '" + codir + "'")
logger.debug2("Unpack: extracting source to '" + codir + "'")
runfetchcmd("%s archive -t files %s %s" % (ud.basecmd, revflag, codir), d, workdir=ud.moddir)

View File

@@ -54,12 +54,12 @@ class Local(FetchMethod):
return [path]
filespath = d.getVar('FILESPATH')
if filespath:
logger.debug(2, "Searching for %s in paths:\n %s" % (path, "\n ".join(filespath.split(":"))))
logger.debug2("Searching for %s in paths:\n %s" % (path, "\n ".join(filespath.split(":"))))
newpath, hist = bb.utils.which(filespath, path, history=True)
searched.extend(hist)
if not os.path.exists(newpath):
dldirfile = os.path.join(d.getVar("DL_DIR"), path)
logger.debug(2, "Defaulting to %s for %s" % (dldirfile, path))
logger.debug2("Defaulting to %s for %s" % (dldirfile, path))
bb.utils.mkdirhier(os.path.dirname(dldirfile))
searched.append(dldirfile)
return searched

View File

@@ -84,13 +84,13 @@ class Osc(FetchMethod):
Fetch url
"""
logger.debug(2, "Fetch: checking for module directory '" + ud.moddir + "'")
logger.debug2("Fetch: checking for module directory '" + ud.moddir + "'")
if os.access(os.path.join(d.getVar('OSCDIR'), ud.path, ud.module), os.R_OK):
oscupdatecmd = self._buildosccommand(ud, d, "update")
logger.info("Update "+ ud.url)
# update sources there
logger.debug(1, "Running %s", oscupdatecmd)
logger.debug("Running %s", oscupdatecmd)
bb.fetch2.check_network_access(d, oscupdatecmd, ud.url)
runfetchcmd(oscupdatecmd, d, workdir=ud.moddir)
else:
@@ -98,7 +98,7 @@ class Osc(FetchMethod):
logger.info("Fetch " + ud.url)
# check out sources there
bb.utils.mkdirhier(ud.pkgdir)
logger.debug(1, "Running %s", oscfetchcmd)
logger.debug("Running %s", oscfetchcmd)
bb.fetch2.check_network_access(d, oscfetchcmd, ud.url)
runfetchcmd(oscfetchcmd, d, workdir=ud.pkgdir)

View File

@@ -90,16 +90,16 @@ class Perforce(FetchMethod):
p4port = d.getVar('P4PORT')
if p4port:
logger.debug(1, 'Using recipe provided P4PORT: %s' % p4port)
logger.debug('Using recipe provided P4PORT: %s' % p4port)
ud.host = p4port
else:
logger.debug(1, 'Trying to use P4CONFIG to automatically set P4PORT...')
logger.debug('Trying to use P4CONFIG to automatically set P4PORT...')
ud.usingp4config = True
p4cmd = '%s info | grep "Server address"' % ud.basecmd
bb.fetch2.check_network_access(d, p4cmd, ud.url)
ud.host = runfetchcmd(p4cmd, d, True)
ud.host = ud.host.split(': ')[1].strip()
logger.debug(1, 'Determined P4PORT to be: %s' % ud.host)
logger.debug('Determined P4PORT to be: %s' % ud.host)
if not ud.host:
raise FetchError('Could not determine P4PORT from P4CONFIG')
@@ -119,6 +119,7 @@ class Perforce(FetchMethod):
cleanedpath = ud.path.replace('/...', '').replace('/', '.')
cleanedhost = ud.host.replace(':', '.')
cleanedmodule = ""
# Merge the path and module into the final depot location
if ud.module:
if ud.module.find('/') == 0:
@@ -133,7 +134,7 @@ class Perforce(FetchMethod):
ud.setup_revisions(d)
ud.localfile = d.expand('%s_%s_%s.tar.gz' % (cleanedhost, cleanedpath, ud.revision))
ud.localfile = d.expand('%s_%s_%s_%s.tar.gz' % (cleanedhost, cleanedpath, cleandedmodule, ud.revision))
def _buildp4command(self, ud, d, command, depot_filename=None):
"""
@@ -207,7 +208,7 @@ class Perforce(FetchMethod):
for filename in p4fileslist:
item = filename.split(' - ')
lastaction = item[1].split()
logger.debug(1, 'File: %s Last Action: %s' % (item[0], lastaction[0]))
logger.debug('File: %s Last Action: %s' % (item[0], lastaction[0]))
if lastaction[0] == 'delete':
continue
filelist.append(item[0])
@@ -254,7 +255,7 @@ class Perforce(FetchMethod):
raise FetchError('Could not determine the latest perforce changelist')
tipcset = tip.split(' ')[1]
logger.debug(1, 'p4 tip found to be changelist %s' % tipcset)
logger.debug('p4 tip found to be changelist %s' % tipcset)
return tipcset
def sortable_revision(self, ud, d, name):

View File

@@ -47,7 +47,7 @@ class Repo(FetchMethod):
"""Fetch url"""
if os.access(os.path.join(d.getVar("DL_DIR"), ud.localfile), os.R_OK):
logger.debug(1, "%s already exists (or was stashed). Skipping repo init / sync.", ud.localpath)
logger.debug("%s already exists (or was stashed). Skipping repo init / sync.", ud.localpath)
return
repodir = d.getVar("REPODIR") or (d.getVar("DL_DIR") + "/repo")

View File

@@ -116,7 +116,7 @@ class Svn(FetchMethod):
def download(self, ud, d):
"""Fetch url"""
logger.debug(2, "Fetch: checking for module directory '" + ud.moddir + "'")
logger.debug2("Fetch: checking for module directory '" + ud.moddir + "'")
lf = bb.utils.lockfile(ud.svnlock)
@@ -129,7 +129,7 @@ class Svn(FetchMethod):
runfetchcmd(ud.basecmd + " upgrade", d, workdir=ud.moddir)
except FetchError:
pass
logger.debug(1, "Running %s", svncmd)
logger.debug("Running %s", svncmd)
bb.fetch2.check_network_access(d, svncmd, ud.url)
runfetchcmd(svncmd, d, workdir=ud.moddir)
else:
@@ -137,7 +137,7 @@ class Svn(FetchMethod):
logger.info("Fetch " + ud.url)
# check out sources there
bb.utils.mkdirhier(ud.pkgdir)
logger.debug(1, "Running %s", svncmd)
logger.debug("Running %s", svncmd)
bb.fetch2.check_network_access(d, svncmd, ud.url)
runfetchcmd(svncmd, d, workdir=ud.pkgdir)

View File

@@ -52,6 +52,12 @@ class WgetProgressHandler(bb.progress.LineFilterProgressHandler):
class Wget(FetchMethod):
# CDNs like CloudFlare may do a 'browser integrity test' which can fail
# with the standard wget/urllib User-Agent, so pretend to be a modern
# browser.
user_agent = "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0"
"""Class to fetch urls via 'wget'"""
def supports(self, ud, d):
"""
@@ -82,7 +88,7 @@ class Wget(FetchMethod):
progresshandler = WgetProgressHandler(d)
logger.debug(2, "Fetching %s using command '%s'" % (ud.url, command))
logger.debug2("Fetching %s using command '%s'" % (ud.url, command))
bb.fetch2.check_network_access(d, command, ud.url)
runfetchcmd(command + ' --progress=dot -v', d, quiet, log=progresshandler, workdir=workdir)
@@ -297,7 +303,7 @@ class Wget(FetchMethod):
# Some servers (FusionForge, as used on Alioth) require that the
# optional Accept header is set.
r.add_header("Accept", "*/*")
r.add_header("User-Agent", "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.12) Gecko/20101027 Ubuntu/9.10 (karmic) Firefox/3.6.12")
r.add_header("User-Agent", self.user_agent)
def add_basic_auth(login_str, request):
'''Adds Basic auth to http request, pass in login:password as string'''
import base64
@@ -320,11 +326,11 @@ class Wget(FetchMethod):
pass
except urllib.error.URLError as e:
if try_again:
logger.debug(2, "checkstatus: trying again")
logger.debug2("checkstatus: trying again")
return self.checkstatus(fetch, ud, d, False)
else:
# debug for now to avoid spamming the logs in e.g. remote sstate searches
logger.debug(2, "checkstatus() urlopen failed: %s" % e)
logger.debug2("checkstatus() urlopen failed: %s" % e)
return False
return True
@@ -401,9 +407,8 @@ class Wget(FetchMethod):
"""
f = tempfile.NamedTemporaryFile()
with tempfile.TemporaryDirectory(prefix="wget-index-") as workdir, tempfile.NamedTemporaryFile(dir=workdir, prefix="wget-listing-") as f:
agent = "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.12) Gecko/20101027 Ubuntu/9.10 (karmic) Firefox/3.6.12"
fetchcmd = self.basecmd
fetchcmd += " -O " + f.name + " --user-agent='" + agent + "' '" + uri + "'"
fetchcmd += " -O " + f.name + " --user-agent='" + self.user_agent + "' '" + uri + "'"
try:
self._runwget(ud, d, fetchcmd, True, workdir=workdir)
fetchresult = f.read()

View File

@@ -71,7 +71,7 @@ def update_mtime(f):
def update_cache(f):
if f in __mtime_cache:
logger.debug(1, "Updating mtime cache for %s" % f)
logger.debug("Updating mtime cache for %s" % f)
update_mtime(f)
def clear_cache():

View File

@@ -34,7 +34,7 @@ class IncludeNode(AstNode):
Include the file and evaluate the statements
"""
s = data.expand(self.what_file)
logger.debug(2, "CONF %s:%s: including %s", self.filename, self.lineno, s)
logger.debug2("CONF %s:%s: including %s", self.filename, self.lineno, s)
# TODO: Cache those includes... maybe not here though
if self.force:
@@ -376,7 +376,7 @@ def _create_variants(datastores, names, function, onlyfinalise):
def multi_finalize(fn, d):
appends = (d.getVar("__BBAPPEND") or "").split()
for append in appends:
logger.debug(1, "Appending .bbappend file %s to %s", append, fn)
logger.debug("Appending .bbappend file %s to %s", append, fn)
bb.parse.BBHandler.handle(append, d, True)
onlyfinalise = d.getVar("__ONLYFINALISE", False)

View File

@@ -22,7 +22,7 @@ from .ConfHandler import include, init
# For compatibility
bb.deprecate_import(__name__, "bb.parse", ["vars_from_file"])
__func_start_regexp__ = re.compile(r"(((?P<py>python)|(?P<fr>fakeroot))\s*)*(?P<func>[\w\.\-\+\{\}\$]+)?\s*\(\s*\)\s*{$" )
__func_start_regexp__ = re.compile(r"(((?P<py>python(?=(\s|\()))|(?P<fr>fakeroot(?=\s)))\s*)*(?P<func>[\w\.\-\+\{\}\$]+)?\s*\(\s*\)\s*{$" )
__inherit_regexp__ = re.compile(r"inherit\s+(.+)" )
__export_func_regexp__ = re.compile(r"EXPORT_FUNCTIONS\s+(.+)" )
__addtask_regexp__ = re.compile(r"addtask\s+(?P<func>\w+)\s*((before\s*(?P<before>((.*(?=after))|(.*))))|(after\s*(?P<after>((.*(?=before))|(.*)))))*")
@@ -60,7 +60,7 @@ def inherit(files, fn, lineno, d):
file = abs_fn
if not file in __inherit_cache:
logger.debug(1, "Inheriting %s (from %s:%d)" % (file, fn, lineno))
logger.debug("Inheriting %s (from %s:%d)" % (file, fn, lineno))
__inherit_cache.append( file )
d.setVar('__inherit_cache', __inherit_cache)
include(fn, file, lineno, d, "inherit")

View File

@@ -95,7 +95,7 @@ def include_single_file(parentfn, fn, lineno, data, error_out):
if exc.errno == errno.ENOENT:
if error_out:
raise ParseError("Could not %s file %s" % (error_out, fn), parentfn, lineno)
logger.debug(2, "CONF file '%s' not found", fn)
logger.debug2("CONF file '%s' not found", fn)
else:
if error_out:
raise ParseError("Could not %s file %s: %s" % (error_out, fn, exc.strerror), parentfn, lineno)

View File

@@ -248,7 +248,7 @@ class PersistData(object):
stacklevel=2)
self.data = persist(d)
logger.debug(1, "Using '%s' as the persistent data cache",
logger.debug("Using '%s' as the persistent data cache",
self.data.filename)
def addDomain(self, domain):

View File

@@ -165,7 +165,7 @@ def findPreferredProvider(pn, cfgData, dataCache, pkg_pn = None, item = None):
available_vers.sort()
logger.warn("versions of %s available: %s", pn, ' '.join(available_vers))
else:
logger.debug(1, "selecting %s as PREFERRED_VERSION %s of package %s%s", preferred_file, pv_str, pn, itemstr)
logger.debug("selecting %s as PREFERRED_VERSION %s of package %s%s", preferred_file, pv_str, pn, itemstr)
return (preferred_ver, preferred_file)
@@ -232,7 +232,7 @@ def _filterProviders(providers, item, cfgData, dataCache):
pkg_pn[pn] = []
pkg_pn[pn].append(p)
logger.debug(1, "providers for %s are: %s", item, list(sorted(pkg_pn.keys())))
logger.debug("providers for %s are: %s", item, list(sorted(pkg_pn.keys())))
# First add PREFERRED_VERSIONS
for pn in sorted(pkg_pn):
@@ -291,7 +291,7 @@ def filterProviders(providers, item, cfgData, dataCache):
foundUnique = True
break
logger.debug(1, "sorted providers for %s are: %s", item, eligible)
logger.debug("sorted providers for %s are: %s", item, eligible)
return eligible, foundUnique
@@ -333,7 +333,7 @@ def filterProvidersRunTime(providers, item, cfgData, dataCache):
provides = dataCache.pn_provides[pn]
for provide in provides:
prefervar = cfgData.getVar('PREFERRED_PROVIDER_%s' % provide)
#logger.debug(1, "checking PREFERRED_PROVIDER_%s (value %s) against %s", provide, prefervar, pns.keys())
#logger.debug("checking PREFERRED_PROVIDER_%s (value %s) against %s", provide, prefervar, pns.keys())
if prefervar in pns and pns[prefervar] not in preferred:
var = "PREFERRED_PROVIDER_%s = %s" % (provide, prefervar)
logger.verbose("selecting %s to satisfy runtime %s due to %s", prefervar, item, var)
@@ -349,7 +349,7 @@ def filterProvidersRunTime(providers, item, cfgData, dataCache):
if numberPreferred > 1:
logger.error("Trying to resolve runtime dependency %s resulted in conflicting PREFERRED_PROVIDER entries being found.\nThe providers found were: %s\nThe PREFERRED_PROVIDER entries resulting in this conflict were: %s. You could set PREFERRED_RPROVIDER_%s" % (item, preferred, preferred_vars, item))
logger.debug(1, "sorted runtime providers for %s are: %s", item, eligible)
logger.debug("sorted runtime providers for %s are: %s", item, eligible)
return eligible, numberPreferred
@@ -384,7 +384,7 @@ def getRuntimeProviders(dataCache, rdepend):
regexp_cache[pattern] = regexp
if regexp.match(rdepend):
rproviders += dataCache.packages_dynamic[pattern]
logger.debug(1, "Assuming %s is a dynamic package, but it may not exist" % rdepend)
logger.debug("Assuming %s is a dynamic package, but it may not exist" % rdepend)
return rproviders
@@ -396,22 +396,22 @@ def buildWorldTargetList(dataCache, task=None):
if dataCache.world_target:
return
logger.debug(1, "collating packages for \"world\"")
logger.debug("collating packages for \"world\"")
for f in dataCache.possible_world:
terminal = True
pn = dataCache.pkg_fn[f]
if task and task not in dataCache.task_deps[f]['tasks']:
logger.debug(2, "World build skipping %s as task %s doesn't exist", f, task)
logger.debug2("World build skipping %s as task %s doesn't exist", f, task)
terminal = False
for p in dataCache.pn_provides[pn]:
if p.startswith('virtual/'):
logger.debug(2, "World build skipping %s due to %s provider starting with virtual/", f, p)
logger.debug2("World build skipping %s due to %s provider starting with virtual/", f, p)
terminal = False
break
for pf in dataCache.providers[p]:
if dataCache.pkg_fn[pf] != pn:
logger.debug(2, "World build skipping %s due to both us and %s providing %s", f, pf, p)
logger.debug2("World build skipping %s due to both us and %s providing %s", f, pf, p)
terminal = False
break
if terminal:

View File

@@ -38,7 +38,7 @@ def taskname_from_tid(tid):
return tid.rsplit(":", 1)[1]
def mc_from_tid(tid):
if tid.startswith('mc:'):
if tid.startswith('mc:') and tid.count(':') >= 2:
return tid.split(':')[1]
return ""
@@ -47,13 +47,13 @@ def split_tid(tid):
return (mc, fn, taskname)
def split_mc(n):
if n.startswith("mc:"):
if n.startswith("mc:") and n.count(':') >= 2:
_, mc, n = n.split(":", 2)
return (mc, n)
return ('', n)
def split_tid_mcfn(tid):
if tid.startswith('mc:'):
if tid.startswith('mc:') and tid.count(':') >= 2:
elems = tid.split(':')
mc = elems[1]
fn = ":".join(elems[2:-1])
@@ -544,8 +544,8 @@ class RunQueueData:
for tid in self.runtaskentries:
if task_done[tid] is False or deps_left[tid] != 0:
problem_tasks.append(tid)
logger.debug(2, "Task %s is not buildable", tid)
logger.debug(2, "(Complete marker was %s and the remaining dependency count was %s)\n", task_done[tid], deps_left[tid])
logger.debug2("Task %s is not buildable", tid)
logger.debug2("(Complete marker was %s and the remaining dependency count was %s)\n", task_done[tid], deps_left[tid])
self.runtaskentries[tid].weight = weight[tid]
if problem_tasks:
@@ -643,7 +643,7 @@ class RunQueueData:
(mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
#runtid = build_tid(mc, fn, taskname)
#logger.debug(2, "Processing %s,%s:%s", mc, fn, taskname)
#logger.debug2("Processing %s,%s:%s", mc, fn, taskname)
depends = set()
task_deps = self.dataCaches[mc].task_deps[taskfn]
@@ -1199,9 +1199,9 @@ class RunQueueData:
"""
Dump some debug information on the internal data structures
"""
logger.debug(3, "run_tasks:")
logger.debug3("run_tasks:")
for tid in self.runtaskentries:
logger.debug(3, " %s: %s Deps %s RevDeps %s", tid,
logger.debug3(" %s: %s Deps %s RevDeps %s", tid,
self.runtaskentries[tid].weight,
self.runtaskentries[tid].depends,
self.runtaskentries[tid].revdeps)
@@ -1238,7 +1238,7 @@ class RunQueue:
self.fakeworker = {}
def _start_worker(self, mc, fakeroot = False, rqexec = None):
logger.debug(1, "Starting bitbake-worker")
logger.debug("Starting bitbake-worker")
magic = "decafbad"
if self.cooker.configuration.profile:
magic = "decafbadbad"
@@ -1283,7 +1283,7 @@ class RunQueue:
def _teardown_worker(self, worker):
if not worker:
return
logger.debug(1, "Teardown for bitbake-worker")
logger.debug("Teardown for bitbake-worker")
try:
worker.process.stdin.write(b"<quit></quit>")
worker.process.stdin.flush()
@@ -1356,12 +1356,12 @@ class RunQueue:
# If the stamp is missing, it's not current
if not os.access(stampfile, os.F_OK):
logger.debug(2, "Stampfile %s not available", stampfile)
logger.debug2("Stampfile %s not available", stampfile)
return False
# If it's a 'nostamp' task, it's not current
taskdep = self.rqdata.dataCaches[mc].task_deps[taskfn]
if 'nostamp' in taskdep and taskname in taskdep['nostamp']:
logger.debug(2, "%s.%s is nostamp\n", fn, taskname)
logger.debug2("%s.%s is nostamp\n", fn, taskname)
return False
if taskname != "do_setscene" and taskname.endswith("_setscene"):
@@ -1385,18 +1385,18 @@ class RunQueue:
continue
if fn == fn2 or (fulldeptree and fn2 not in stampwhitelist):
if not t2:
logger.debug(2, 'Stampfile %s does not exist', stampfile2)
logger.debug2('Stampfile %s does not exist', stampfile2)
iscurrent = False
break
if t1 < t2:
logger.debug(2, 'Stampfile %s < %s', stampfile, stampfile2)
logger.debug2('Stampfile %s < %s', stampfile, stampfile2)
iscurrent = False
break
if recurse and iscurrent:
if dep in cache:
iscurrent = cache[dep]
if not iscurrent:
logger.debug(2, 'Stampfile for dependency %s:%s invalid (cached)' % (fn2, taskname2))
logger.debug2('Stampfile for dependency %s:%s invalid (cached)' % (fn2, taskname2))
else:
iscurrent = self.check_stamp_task(dep, recurse=True, cache=cache)
cache[dep] = iscurrent
@@ -1761,7 +1761,7 @@ class RunQueueExecute:
for scheduler in schedulers:
if self.scheduler == scheduler.name:
self.sched = scheduler(self, self.rqdata)
logger.debug(1, "Using runqueue scheduler '%s'", scheduler.name)
logger.debug("Using runqueue scheduler '%s'", scheduler.name)
break
else:
bb.fatal("Invalid scheduler '%s'. Available schedulers: %s" %
@@ -1899,7 +1899,7 @@ class RunQueueExecute:
break
if alldeps:
self.setbuildable(revdep)
logger.debug(1, "Marking task %s as buildable", revdep)
logger.debug("Marking task %s as buildable", revdep)
def task_complete(self, task):
self.stats.taskCompleted()
@@ -1929,7 +1929,7 @@ class RunQueueExecute:
def summarise_scenequeue_errors(self):
err = False
if not self.sqdone:
logger.debug(1, 'We could skip tasks %s', "\n".join(sorted(self.scenequeue_covered)))
logger.debug('We could skip tasks %s', "\n".join(sorted(self.scenequeue_covered)))
completeevent = sceneQueueComplete(self.sq_stats, self.rq)
bb.event.fire(completeevent, self.cfgData)
if self.sq_deferred:
@@ -1986,7 +1986,7 @@ class RunQueueExecute:
if nexttask in self.sq_buildable and nexttask not in self.sq_running and self.sqdata.stamps[nexttask] not in self.build_stamps.values():
if nexttask not in self.sqdata.unskippable and len(self.sqdata.sq_revdeps[nexttask]) > 0 and self.sqdata.sq_revdeps[nexttask].issubset(self.scenequeue_covered) and self.check_dependencies(nexttask, self.sqdata.sq_revdeps[nexttask]):
if nexttask not in self.rqdata.target_tids:
logger.debug(2, "Skipping setscene for task %s" % nexttask)
logger.debug2("Skipping setscene for task %s" % nexttask)
self.sq_task_skip(nexttask)
self.scenequeue_notneeded.add(nexttask)
if nexttask in self.sq_deferred:
@@ -1999,28 +1999,28 @@ class RunQueueExecute:
if nexttask in self.sq_deferred:
if self.sq_deferred[nexttask] not in self.runq_complete:
continue
logger.debug(1, "Task %s no longer deferred" % nexttask)
logger.debug("Task %s no longer deferred" % nexttask)
del self.sq_deferred[nexttask]
valid = self.rq.validate_hashes(set([nexttask]), self.cooker.data, 0, False, summary=False)
if not valid:
logger.debug(1, "%s didn't become valid, skipping setscene" % nexttask)
logger.debug("%s didn't become valid, skipping setscene" % nexttask)
self.sq_task_failoutright(nexttask)
return True
else:
self.sqdata.outrightfail.remove(nexttask)
if nexttask in self.sqdata.outrightfail:
logger.debug(2, 'No package found, so skipping setscene task %s', nexttask)
logger.debug2('No package found, so skipping setscene task %s', nexttask)
self.sq_task_failoutright(nexttask)
return True
if nexttask in self.sqdata.unskippable:
logger.debug(2, "Setscene task %s is unskippable" % nexttask)
logger.debug2("Setscene task %s is unskippable" % nexttask)
task = nexttask
break
if task is not None:
(mc, fn, taskname, taskfn) = split_tid_mcfn(task)
taskname = taskname + "_setscene"
if self.rq.check_stamp_task(task, taskname_from_tid(task), recurse = True, cache=self.stampcache):
logger.debug(2, 'Stamp for underlying task %s is current, so skipping setscene variant', task)
logger.debug2('Stamp for underlying task %s is current, so skipping setscene variant', task)
self.sq_task_failoutright(task)
return True
@@ -2030,12 +2030,12 @@ class RunQueueExecute:
return True
if self.rq.check_stamp_task(task, taskname, cache=self.stampcache):
logger.debug(2, 'Setscene stamp current task %s, so skip it and its dependencies', task)
logger.debug2('Setscene stamp current task %s, so skip it and its dependencies', task)
self.sq_task_skip(task)
return True
if self.cooker.configuration.skipsetscene:
logger.debug(2, 'No setscene tasks should be executed. Skipping %s', task)
logger.debug2('No setscene tasks should be executed. Skipping %s', task)
self.sq_task_failoutright(task)
return True
@@ -2097,12 +2097,12 @@ class RunQueueExecute:
return True
if task in self.tasks_covered:
logger.debug(2, "Setscene covered task %s", task)
logger.debug2("Setscene covered task %s", task)
self.task_skip(task, "covered")
return True
if self.rq.check_stamp_task(task, taskname, cache=self.stampcache):
logger.debug(2, "Stamp current task %s", task)
logger.debug2("Stamp current task %s", task)
self.task_skip(task, "existing")
self.runq_tasksrun.add(task)
@@ -2322,7 +2322,7 @@ class RunQueueExecute:
remapped = True
if not remapped:
#logger.debug(1, "Task %s hash changes: %s->%s %s->%s" % (tid, orighash, newhash, origuni, newuni))
#logger.debug("Task %s hash changes: %s->%s %s->%s" % (tid, orighash, newhash, origuni, newuni))
self.rqdata.runtaskentries[tid].hash = newhash
self.rqdata.runtaskentries[tid].unihash = newuni
changed.add(tid)
@@ -2337,7 +2337,7 @@ class RunQueueExecute:
for mc in self.rq.fakeworker:
self.rq.fakeworker[mc].process.stdin.write(b"<newtaskhashes>" + pickle.dumps(bb.parse.siggen.get_taskhashes()) + b"</newtaskhashes>")
hashequiv_logger.debug(1, pprint.pformat("Tasks changed:\n%s" % (changed)))
hashequiv_logger.debug(pprint.pformat("Tasks changed:\n%s" % (changed)))
for tid in changed:
if tid not in self.rqdata.runq_setscene_tids:
@@ -2356,7 +2356,7 @@ class RunQueueExecute:
# Check no tasks this covers are running
for dep in self.sqdata.sq_covered_tasks[tid]:
if dep in self.runq_running and dep not in self.runq_complete:
hashequiv_logger.debug(2, "Task %s is running which blocks setscene for %s from running" % (dep, tid))
hashequiv_logger.debug2("Task %s is running which blocks setscene for %s from running" % (dep, tid))
valid = False
break
if not valid:
@@ -2430,7 +2430,7 @@ class RunQueueExecute:
for dep in sorted(self.sqdata.sq_deps[task]):
if fail and task in self.sqdata.sq_harddeps and dep in self.sqdata.sq_harddeps[task]:
logger.debug(2, "%s was unavailable and is a hard dependency of %s so skipping" % (task, dep))
logger.debug2("%s was unavailable and is a hard dependency of %s so skipping" % (task, dep))
self.sq_task_failoutright(dep)
continue
if self.sqdata.sq_revdeps[dep].issubset(self.scenequeue_covered | self.scenequeue_notcovered):
@@ -2460,7 +2460,7 @@ class RunQueueExecute:
completed dependencies as buildable
"""
logger.debug(1, 'Found task %s which could be accelerated', task)
logger.debug('Found task %s which could be accelerated', task)
self.scenequeue_covered.add(task)
self.scenequeue_updatecounters(task)
@@ -2775,13 +2775,13 @@ def update_scenequeue_data(tids, sqdata, rqdata, rq, cooker, stampcache, sqrq, s
continue
if rq.check_stamp_task(tid, taskname + "_setscene", cache=stampcache):
logger.debug(2, 'Setscene stamp current for task %s', tid)
logger.debug2('Setscene stamp current for task %s', tid)
sqdata.stamppresent.add(tid)
sqrq.sq_task_skip(tid)
continue
if rq.check_stamp_task(tid, taskname, recurse = True, cache=stampcache):
logger.debug(2, 'Normal stamp current for task %s', tid)
logger.debug2('Normal stamp current for task %s', tid)
sqdata.stamppresent.add(tid)
sqrq.sq_task_skip(tid)
continue

View File

@@ -541,7 +541,7 @@ class SignatureGeneratorUniHashMixIn(object):
# is much more interesting, so it is reported at debug level 1
hashequiv_logger.debug((1, 2)[unihash == taskhash], 'Found unihash %s in place of %s for %s from %s' % (unihash, taskhash, tid, self.server))
else:
hashequiv_logger.debug(2, 'No reported unihash for %s:%s from %s' % (tid, taskhash, self.server))
hashequiv_logger.debug2('No reported unihash for %s:%s from %s' % (tid, taskhash, self.server))
except hashserv.client.HashConnectionError as e:
bb.warn('Error contacting Hash Equivalence Server %s: %s' % (self.server, str(e)))
@@ -615,12 +615,12 @@ class SignatureGeneratorUniHashMixIn(object):
new_unihash = data['unihash']
if new_unihash != unihash:
hashequiv_logger.debug(1, 'Task %s unihash changed %s -> %s by server %s' % (taskhash, unihash, new_unihash, self.server))
hashequiv_logger.debug('Task %s unihash changed %s -> %s by server %s' % (taskhash, unihash, new_unihash, self.server))
bb.event.fire(bb.runqueue.taskUniHashUpdate(fn + ':do_' + task, new_unihash), d)
self.set_unihash(tid, new_unihash)
d.setVar('BB_UNIHASH', new_unihash)
else:
hashequiv_logger.debug(1, 'Reported task %s as unihash %s to %s' % (taskhash, unihash, self.server))
hashequiv_logger.debug('Reported task %s as unihash %s to %s' % (taskhash, unihash, self.server))
except hashserv.client.HashConnectionError as e:
bb.warn('Error contacting Hash Equivalence Server %s: %s' % (self.server, str(e)))
finally:
@@ -748,7 +748,7 @@ def clean_basepath(basepath):
if basepath[0] == '/':
return cleaned
if basepath.startswith("mc:"):
if basepath.startswith("mc:") and basepath.count(':') >= 2:
mc, mc_name, basepath = basepath.split(":", 2)
mc_suffix = ':mc:' + mc_name
else:

View File

@@ -131,7 +131,7 @@ class TaskData:
for depend in dataCache.deps[fn]:
dependids.add(depend)
self.depids[fn] = list(dependids)
logger.debug(2, "Added dependencies %s for %s", str(dataCache.deps[fn]), fn)
logger.debug2("Added dependencies %s for %s", str(dataCache.deps[fn]), fn)
# Work out runtime dependencies
if not fn in self.rdepids:
@@ -149,9 +149,9 @@ class TaskData:
rreclist.append(rdepend)
rdependids.add(rdepend)
if rdependlist:
logger.debug(2, "Added runtime dependencies %s for %s", str(rdependlist), fn)
logger.debug2("Added runtime dependencies %s for %s", str(rdependlist), fn)
if rreclist:
logger.debug(2, "Added runtime recommendations %s for %s", str(rreclist), fn)
logger.debug2("Added runtime recommendations %s for %s", str(rreclist), fn)
self.rdepids[fn] = list(rdependids)
for dep in self.depids[fn]:
@@ -378,7 +378,7 @@ class TaskData:
for fn in eligible:
if fn in self.failed_fns:
continue
logger.debug(2, "adding %s to satisfy %s", fn, item)
logger.debug2("adding %s to satisfy %s", fn, item)
self.add_build_target(fn, item)
self.add_tasks(fn, dataCache)
@@ -431,7 +431,7 @@ class TaskData:
for fn in eligible:
if fn in self.failed_fns:
continue
logger.debug(2, "adding '%s' to satisfy runtime '%s'", fn, item)
logger.debug2("adding '%s' to satisfy runtime '%s'", fn, item)
self.add_runtime_target(fn, item)
self.add_tasks(fn, dataCache)
@@ -446,7 +446,7 @@ class TaskData:
return
if not missing_list:
missing_list = []
logger.debug(1, "File '%s' is unbuildable, removing...", fn)
logger.debug("File '%s' is unbuildable, removing...", fn)
self.failed_fns.append(fn)
for target in self.build_targets:
if fn in self.build_targets[target]:
@@ -526,7 +526,7 @@ class TaskData:
added = added + 1
except (bb.providers.NoRProvider, bb.providers.MultipleRProvider):
self.remove_runtarget(target)
logger.debug(1, "Resolved " + str(added) + " extra dependencies")
logger.debug("Resolved " + str(added) + " extra dependencies")
if added == 0:
break
# self.dump_data()
@@ -549,38 +549,38 @@ class TaskData:
"""
Dump some debug information on the internal data structures
"""
logger.debug(3, "build_names:")
logger.debug(3, ", ".join(self.build_targets))
logger.debug3("build_names:")
logger.debug3(", ".join(self.build_targets))
logger.debug(3, "run_names:")
logger.debug(3, ", ".join(self.run_targets))
logger.debug3("run_names:")
logger.debug3(", ".join(self.run_targets))
logger.debug(3, "build_targets:")
logger.debug3("build_targets:")
for target in self.build_targets:
targets = "None"
if target in self.build_targets:
targets = self.build_targets[target]
logger.debug(3, " %s: %s", target, targets)
logger.debug3(" %s: %s", target, targets)
logger.debug(3, "run_targets:")
logger.debug3("run_targets:")
for target in self.run_targets:
targets = "None"
if target in self.run_targets:
targets = self.run_targets[target]
logger.debug(3, " %s: %s", target, targets)
logger.debug3(" %s: %s", target, targets)
logger.debug(3, "tasks:")
logger.debug3("tasks:")
for tid in self.taskentries:
logger.debug(3, " %s: %s %s %s",
logger.debug3(" %s: %s %s %s",
tid,
self.taskentries[tid].idepends,
self.taskentries[tid].irdepends,
self.taskentries[tid].tdepends)
logger.debug(3, "dependency ids (per fn):")
logger.debug3("dependency ids (per fn):")
for fn in self.depids:
logger.debug(3, " %s: %s", fn, self.depids[fn])
logger.debug3(" %s: %s", fn, self.depids[fn])
logger.debug(3, "runtime dependency ids (per fn):")
logger.debug3("runtime dependency ids (per fn):")
for fn in self.rdepids:
logger.debug(3, " %s: %s", fn, self.rdepids[fn])
logger.debug3(" %s: %s", fn, self.rdepids[fn])

View File

@@ -87,6 +87,25 @@ class URITest(unittest.TestCase):
},
'relative': False
},
# Check that trailing semicolons are handled correctly
"http://www.example.org/index.html?qparam1=qvalue1;param2=value2;" : {
'uri': 'http://www.example.org/index.html?qparam1=qvalue1;param2=value2',
'scheme': 'http',
'hostname': 'www.example.org',
'port': None,
'hostport': 'www.example.org',
'path': '/index.html',
'userinfo': '',
'username': '',
'password': '',
'params': {
'param2': 'value2'
},
'query': {
'qparam1': 'qvalue1'
},
'relative': False
},
"http://www.example.com:8080/index.html" : {
'uri': 'http://www.example.com:8080/index.html',
'scheme': 'http',
@@ -2089,13 +2108,14 @@ class GitLfsTest(FetcherTest):
cwd = self.gitdir
return bb.process.run(cmd, cwd=cwd)[0]
def fetch(self, uri=None):
def fetch(self, uri=None, download=True):
uris = self.d.getVar('SRC_URI').split()
uri = uris[0]
d = self.d
fetcher = bb.fetch2.Fetch(uris, d)
fetcher.download()
if download:
fetcher.download()
ud = fetcher.ud[uri]
return fetcher, ud
@@ -2105,16 +2125,21 @@ class GitLfsTest(FetcherTest):
uri = 'git://%s;protocol=file;subdir=${S};lfs=1' % self.srcdir
self.d.setVar('SRC_URI', uri)
fetcher, ud = self.fetch()
# Careful: suppress initial attempt at downloading until
# we know whether git-lfs is installed.
fetcher, ud = self.fetch(uri=None, download=False)
self.assertIsNotNone(ud.method._find_git_lfs)
# If git-lfs can be found, the unpack should be successful
ud.method._find_git_lfs = lambda d: True
shutil.rmtree(self.gitdir, ignore_errors=True)
fetcher.unpack(self.d.getVar('WORKDIR'))
# If git-lfs can be found, the unpack should be successful. Only
# attempt this with the real live copy of git-lfs installed.
if ud.method._find_git_lfs(self.d):
fetcher.download()
shutil.rmtree(self.gitdir, ignore_errors=True)
fetcher.unpack(self.d.getVar('WORKDIR'))
# If git-lfs cannot be found, the unpack should throw an error
with self.assertRaises(bb.fetch2.FetchError):
fetcher.download()
ud.method._find_git_lfs = lambda d: False
shutil.rmtree(self.gitdir, ignore_errors=True)
fetcher.unpack(self.d.getVar('WORKDIR'))
@@ -2125,10 +2150,16 @@ class GitLfsTest(FetcherTest):
uri = 'git://%s;protocol=file;subdir=${S};lfs=0' % self.srcdir
self.d.setVar('SRC_URI', uri)
# In contrast to test_lfs_enabled(), allow the implicit download
# done by self.fetch() to occur here. The point of this test case
# is to verify that the fetcher can survive even if the source
# repository has Git LFS usage configured.
fetcher, ud = self.fetch()
self.assertIsNotNone(ud.method._find_git_lfs)
# If git-lfs can be found, the unpack should be successful
# If git-lfs can be found, the unpack should be successful. A
# live copy of git-lfs is not required for this case, so
# unconditionally forge its presence.
ud.method._find_git_lfs = lambda d: True
shutil.rmtree(self.gitdir, ignore_errors=True)
fetcher.unpack(self.d.getVar('WORKDIR'))

View File

@@ -148,14 +148,14 @@ class ORMWrapper(object):
buildrequest = None
if brbe is not None:
# Toaster-triggered build
logger.debug(1, "buildinfohelper: brbe is %s" % brbe)
logger.debug("buildinfohelper: brbe is %s" % brbe)
br, _ = brbe.split(":")
buildrequest = BuildRequest.objects.get(pk=br)
prj = buildrequest.project
else:
# CLI build
prj = Project.objects.get_or_create_default_project()
logger.debug(1, "buildinfohelper: project is not specified, defaulting to %s" % prj)
logger.debug("buildinfohelper: project is not specified, defaulting to %s" % prj)
if buildrequest is not None:
# reuse existing Build object
@@ -171,7 +171,7 @@ class ORMWrapper(object):
completed_on=now,
build_name='')
logger.debug(1, "buildinfohelper: build is created %s" % build)
logger.debug("buildinfohelper: build is created %s" % build)
if buildrequest is not None:
buildrequest.build = build
@@ -906,7 +906,7 @@ class BuildInfoHelper(object):
self.project = None
logger.debug(1, "buildinfohelper: Build info helper inited %s" % vars(self))
logger.debug("buildinfohelper: Build info helper inited %s" % vars(self))
###################
@@ -1620,7 +1620,7 @@ class BuildInfoHelper(object):
# if we have a backlog of events, do our best to save them here
if len(self.internal_state['backlog']):
tempevent = self.internal_state['backlog'].pop()
logger.debug(1, "buildinfohelper: Saving stored event %s "
logger.debug("buildinfohelper: Saving stored event %s "
% tempevent)
self.store_log_event(tempevent,cli_backlog)
else:

View File

@@ -609,7 +609,7 @@ def filter_environment(good_vars):
os.environ["LC_ALL"] = "en_US.UTF-8"
if removed_vars:
logger.debug(1, "Removed the following variables from the environment: %s", ", ".join(removed_vars.keys()))
logger.debug("Removed the following variables from the environment: %s", ", ".join(removed_vars.keys()))
return removed_vars
@@ -1613,12 +1613,12 @@ def export_proxies(d):
def load_plugins(logger, plugins, pluginpath):
def load_plugin(name):
logger.debug(1, 'Loading plugin %s' % name)
logger.debug('Loading plugin %s' % name)
spec = importlib.machinery.PathFinder.find_spec(name, path=[pluginpath] )
if spec:
return spec.loader.load_module()
logger.debug(1, 'Loading plugins from %s...' % pluginpath)
logger.debug('Loading plugins from %s...' % pluginpath)
expanded = (glob.glob(os.path.join(pluginpath, '*' + ext))
for ext in python_extensions)

View File

@@ -50,10 +50,10 @@ class ActionPlugin(LayerPlugin):
if not (args.force or notadded):
try:
self.tinfoil.run_command('parseConfiguration')
except bb.tinfoil.TinfoilUIException:
except (bb.tinfoil.TinfoilUIException, bb.BBHandledException):
# Restore the back up copy of bblayers.conf
shutil.copy2(backup, bblayers_conf)
bb.fatal("Parse failure with the specified layer added")
bb.fatal("Parse failure with the specified layer added, aborting.")
else:
for item in notadded:
sys.stderr.write("Specified layer %s is already in BBLAYERS\n" % item)

View File

@@ -79,7 +79,7 @@ class LayerIndexPlugin(ActionPlugin):
branches = [args.branch]
else:
branches = (self.tinfoil.config_data.getVar('LAYERSERIES_CORENAMES') or 'master').split()
logger.debug(1, 'Trying branches: %s' % branches)
logger.debug('Trying branches: %s' % branches)
ignore_layers = []
if args.ignore:

View File

@@ -94,10 +94,10 @@ def chunkify(msg, max_chunk):
yield "\n"
def create_server(addr, dbname, *, sync=True, upstream=None):
def create_server(addr, dbname, *, sync=True, upstream=None, read_only=False):
from . import server
db = setup_database(dbname, sync=sync)
s = server.Server(db, upstream=upstream)
s = server.Server(db, upstream=upstream, read_only=read_only)
(typ, a) = parse_address(addr)
if typ == ADDR_TYPE_UNIX:

View File

@@ -99,7 +99,7 @@ class AsyncClient(object):
l = await get_line()
m = json.loads(l)
if "chunk-stream" in m:
if m and "chunk-stream" in m:
lines = []
while True:
l = (await get_line()).rstrip("\n")
@@ -170,6 +170,12 @@ class AsyncClient(object):
{"get": {"taskhash": taskhash, "method": method, "all": all_properties}}
)
async def get_outhash(self, method, outhash, taskhash):
await self._set_mode(self.MODE_NORMAL)
return await self.send_message(
{"get-outhash": {"outhash": outhash, "taskhash": taskhash, "method": method}}
)
async def get_stats(self):
await self._set_mode(self.MODE_NORMAL)
return await self.send_message({"get-stats": None})

View File

@@ -112,6 +112,9 @@ class Stats(object):
class ClientError(Exception):
pass
class ServerError(Exception):
pass
def insert_task(cursor, data, ignore=False):
keys = sorted(data.keys())
query = '''INSERT%s INTO tasks_v2 (%s) VALUES (%s)''' % (
@@ -127,6 +130,18 @@ async def copy_from_upstream(client, db, method, taskhash):
d = {k: v for k, v in d.items() if k in TABLE_COLUMNS}
keys = sorted(d.keys())
with closing(db.cursor()) as cursor:
insert_task(cursor, d)
db.commit()
return d
async def copy_outhash_from_upstream(client, db, method, outhash, taskhash):
d = await client.get_outhash(method, outhash, taskhash)
if d is not None:
# Filter out unknown columns
d = {k: v for k, v in d.items() if k in TABLE_COLUMNS}
keys = sorted(d.keys())
with closing(db.cursor()) as cursor:
insert_task(cursor, d)
@@ -137,8 +152,22 @@ async def copy_from_upstream(client, db, method, taskhash):
class ServerClient(object):
FAST_QUERY = 'SELECT taskhash, method, unihash FROM tasks_v2 WHERE method=:method AND taskhash=:taskhash ORDER BY created ASC LIMIT 1'
ALL_QUERY = 'SELECT * FROM tasks_v2 WHERE method=:method AND taskhash=:taskhash ORDER BY created ASC LIMIT 1'
OUTHASH_QUERY = '''
-- Find tasks with a matching outhash (that is, tasks that
-- are equivalent)
SELECT * FROM tasks_v2 WHERE method=:method AND outhash=:outhash
def __init__(self, reader, writer, db, request_stats, backfill_queue, upstream):
-- If there is an exact match on the taskhash, return it.
-- Otherwise return the oldest matching outhash of any
-- taskhash
ORDER BY CASE WHEN taskhash=:taskhash THEN 1 ELSE 2 END,
created ASC
-- Only return one row
LIMIT 1
'''
def __init__(self, reader, writer, db, request_stats, backfill_queue, upstream, read_only):
self.reader = reader
self.writer = writer
self.db = db
@@ -149,15 +178,20 @@ class ServerClient(object):
self.handlers = {
'get': self.handle_get,
'report': self.handle_report,
'report-equiv': self.handle_equivreport,
'get-outhash': self.handle_get_outhash,
'get-stream': self.handle_get_stream,
'get-stats': self.handle_get_stats,
'reset-stats': self.handle_reset_stats,
'chunk-stream': self.handle_chunk,
'backfill-wait': self.handle_backfill_wait,
}
if not read_only:
self.handlers.update({
'report': self.handle_report,
'report-equiv': self.handle_equivreport,
'reset-stats': self.handle_reset_stats,
'backfill-wait': self.handle_backfill_wait,
})
async def process_requests(self):
if self.upstream is not None:
self.upstream_client = await create_async_client(self.upstream)
@@ -282,6 +316,21 @@ class ServerClient(object):
self.write_message(d)
async def handle_get_outhash(self, request):
with closing(self.db.cursor()) as cursor:
cursor.execute(self.OUTHASH_QUERY,
{k: request[k] for k in ('method', 'outhash', 'taskhash')})
row = cursor.fetchone()
if row is not None:
logger.debug('Found equivalent outhash %s -> %s', (row['outhash'], row['unihash']))
d = {k: row[k] for k in row.keys()}
else:
d = None
self.write_message(d)
async def handle_get_stream(self, request):
self.write_message('ok')
@@ -335,23 +384,19 @@ class ServerClient(object):
async def handle_report(self, data):
with closing(self.db.cursor()) as cursor:
cursor.execute('''
-- Find tasks with a matching outhash (that is, tasks that
-- are equivalent)
SELECT taskhash, method, unihash FROM tasks_v2 WHERE method=:method AND outhash=:outhash
-- If there is an exact match on the taskhash, return it.
-- Otherwise return the oldest matching outhash of any
-- taskhash
ORDER BY CASE WHEN taskhash=:taskhash THEN 1 ELSE 2 END,
created ASC
-- Only return one row
LIMIT 1
''', {k: data[k] for k in ('method', 'outhash', 'taskhash')})
cursor.execute(self.OUTHASH_QUERY,
{k: data[k] for k in ('method', 'outhash', 'taskhash')})
row = cursor.fetchone()
if row is None and self.upstream_client:
# Try upstream
row = await copy_outhash_from_upstream(self.upstream_client,
self.db,
data['method'],
data['outhash'],
data['taskhash'])
# If no matching outhash was found, or one *was* found but it
# wasn't an exact match on the taskhash, a new entry for this
# taskhash should be added
@@ -455,7 +500,10 @@ class ServerClient(object):
class Server(object):
def __init__(self, db, loop=None, upstream=None):
def __init__(self, db, loop=None, upstream=None, read_only=False):
if upstream and read_only:
raise ServerError("Read-only hashserv cannot pull from an upstream server")
self.request_stats = Stats()
self.db = db
@@ -467,6 +515,7 @@ class Server(object):
self.close_loop = False
self.upstream = upstream
self.read_only = read_only
self._cleanup_socket = None
@@ -510,7 +559,7 @@ class Server(object):
async def handle_client(self, reader, writer):
# writer.transport.set_write_buffer_limits(0)
try:
client = ServerClient(reader, writer, self.db, self.request_stats, self.backfill_queue, self.upstream)
client = ServerClient(reader, writer, self.db, self.request_stats, self.backfill_queue, self.upstream, self.read_only)
await client.process_requests()
except Exception as e:
import traceback

View File

@@ -6,6 +6,7 @@
#
from . import create_server, create_client
from .client import HashConnectionError
import hashlib
import logging
import multiprocessing
@@ -29,7 +30,7 @@ class HashEquivalenceTestSetup(object):
server_index = 0
def start_server(self, dbpath=None, upstream=None):
def start_server(self, dbpath=None, upstream=None, read_only=False):
self.server_index += 1
if dbpath is None:
dbpath = os.path.join(self.temp_dir.name, "db%d.sqlite" % self.server_index)
@@ -38,7 +39,10 @@ class HashEquivalenceTestSetup(object):
thread.terminate()
thread.join()
server = create_server(self.get_server_addr(self.server_index), dbpath, upstream=upstream)
server = create_server(self.get_server_addr(self.server_index),
dbpath,
upstream=upstream,
read_only=read_only)
server.dbpath = dbpath
server.thread = multiprocessing.Process(target=_run_server, args=(server, self.server_index))
@@ -242,6 +246,43 @@ class HashEquivalenceCommonTests(object):
self.assertClientGetHash(side_client, taskhash4, unihash4)
self.assertClientGetHash(self.client, taskhash4, None)
# Test that reporting a unihash in the downstream is able to find a
# match which was previously reported to the upstream server
taskhash5 = '35788efcb8dfb0a02659d81cf2bfd695fb30faf9'
outhash5 = '2765d4a5884be49b28601445c2760c5f21e7e5c0ee2b7e3fce98fd7e5970796f'
unihash5 = 'f46d3fbb439bd9b921095da657a4de906510d2cd'
result = self.client.report_unihash(taskhash5, self.METHOD, outhash5, unihash5)
taskhash6 = '35788efcb8dfb0a02659d81cf2bfd695fb30fafa'
unihash6 = 'f46d3fbb439bd9b921095da657a4de906510d2ce'
result = down_client.report_unihash(taskhash6, self.METHOD, outhash5, unihash6)
self.assertEqual(result['unihash'], unihash5, 'Server failed to copy unihash from upstream')
def test_ro_server(self):
(ro_client, ro_server) = self.start_server(dbpath=self.server.dbpath, read_only=True)
# Report a hash via the read-write server
taskhash = '35788efcb8dfb0a02659d81cf2bfd695fb30faf9'
outhash = '2765d4a5884be49b28601445c2760c5f21e7e5c0ee2b7e3fce98fd7e5970796f'
unihash = 'f46d3fbb439bd9b921095da657a4de906510d2cd'
result = self.client.report_unihash(taskhash, self.METHOD, outhash, unihash)
self.assertEqual(result['unihash'], unihash, 'Server returned bad unihash')
# Check the hash via the read-only server
self.assertClientGetHash(ro_client, taskhash, unihash)
# Ensure that reporting via the read-only server fails
taskhash2 = 'c665584ee6817aa99edfc77a44dd853828279370'
outhash2 = '3c979c3db45c569f51ab7626a4651074be3a9d11a84b1db076f5b14f7d39db44'
unihash2 = '90e9bc1d1f094c51824adca7f8ea79a048d68824'
with self.assertRaises(HashConnectionError):
ro_client.report_unihash(taskhash2, self.METHOD, outhash2, unihash2)
# Ensure that the database was not modified
self.assertClientGetHash(self.client, taskhash2, None)
class TestHashEquivalenceUnixServer(HashEquivalenceTestSetup, HashEquivalenceCommonTests, unittest.TestCase):
def get_server_addr(self, server_idx):

View File

@@ -94,7 +94,7 @@ class LayerIndex():
if not param:
continue
item = param.split('=', 1)
logger.debug(1, item)
logger.debug(item)
param_dict[item[0]] = item[1]
return param_dict
@@ -123,7 +123,7 @@ class LayerIndex():
up = urlparse(url)
if username:
logger.debug(1, "Configuring authentication for %s..." % url)
logger.debug("Configuring authentication for %s..." % url)
password_mgr = urllib.request.HTTPPasswordMgrWithDefaultRealm()
password_mgr.add_password(None, "%s://%s" % (up.scheme, up.netloc), username, password)
handler = urllib.request.HTTPBasicAuthHandler(password_mgr)
@@ -133,20 +133,20 @@ class LayerIndex():
urllib.request.install_opener(opener)
logger.debug(1, "Fetching %s (%s)..." % (url, ["without authentication", "with authentication"][bool(username)]))
logger.debug("Fetching %s (%s)..." % (url, ["without authentication", "with authentication"][bool(username)]))
try:
res = urlopen(Request(url, headers={'User-Agent': 'Mozilla/5.0 (bitbake/lib/layerindex)'}, unverifiable=True))
except urllib.error.HTTPError as e:
logger.debug(1, "HTTP Error: %s: %s" % (e.code, e.reason))
logger.debug(1, " Requested: %s" % (url))
logger.debug(1, " Actual: %s" % (e.geturl()))
logger.debug("HTTP Error: %s: %s" % (e.code, e.reason))
logger.debug(" Requested: %s" % (url))
logger.debug(" Actual: %s" % (e.geturl()))
if e.code == 404:
logger.debug(1, "Request not found.")
logger.debug("Request not found.")
raise LayerIndexFetchError(url, e)
else:
logger.debug(1, "Headers:\n%s" % (e.headers))
logger.debug("Headers:\n%s" % (e.headers))
raise LayerIndexFetchError(url, e)
except OSError as e:
error = 0
@@ -170,7 +170,7 @@ class LayerIndex():
raise LayerIndexFetchError(url, "Unable to fetch OSError exception: %s" % e)
finally:
logger.debug(1, "...fetching %s (%s), done." % (url, ["without authentication", "with authentication"][bool(username)]))
logger.debug("...fetching %s (%s), done." % (url, ["without authentication", "with authentication"][bool(username)]))
return res
@@ -205,14 +205,14 @@ The format of the indexURI:
if reload:
self.indexes = []
logger.debug(1, 'Loading: %s' % indexURI)
logger.debug('Loading: %s' % indexURI)
if not self.plugins:
raise LayerIndexException("No LayerIndex Plugins available")
for plugin in self.plugins:
# Check if the plugin was initialized
logger.debug(1, 'Trying %s' % plugin.__class__)
logger.debug('Trying %s' % plugin.__class__)
if not hasattr(plugin, 'type') or not plugin.type:
continue
try:
@@ -220,11 +220,11 @@ The format of the indexURI:
indexEnt = plugin.load_index(indexURI, load)
break
except LayerIndexPluginUrlError as e:
logger.debug(1, "%s doesn't support %s" % (plugin.type, e.url))
logger.debug("%s doesn't support %s" % (plugin.type, e.url))
except NotImplementedError:
pass
else:
logger.debug(1, "No plugins support %s" % indexURI)
logger.debug("No plugins support %s" % indexURI)
raise LayerIndexException("No plugins support %s" % indexURI)
# Mark CONFIG data as something we've added...
@@ -255,19 +255,19 @@ will write out the individual elements split by layer and related components.
for plugin in self.plugins:
# Check if the plugin was initialized
logger.debug(1, 'Trying %s' % plugin.__class__)
logger.debug('Trying %s' % plugin.__class__)
if not hasattr(plugin, 'type') or not plugin.type:
continue
try:
plugin.store_index(indexURI, index)
break
except LayerIndexPluginUrlError as e:
logger.debug(1, "%s doesn't support %s" % (plugin.type, e.url))
logger.debug("%s doesn't support %s" % (plugin.type, e.url))
except NotImplementedError:
logger.debug(1, "Store not implemented in %s" % plugin.type)
logger.debug("Store not implemented in %s" % plugin.type)
pass
else:
logger.debug(1, "No plugins support %s" % indexURI)
logger.debug("No plugins support %s" % indexURI)
raise LayerIndexException("No plugins support %s" % indexURI)
@@ -292,7 +292,7 @@ layerBranches set. If not, they are effectively blank.'''
the default configuration until the first vcs_url/branch match.'''
for index in self.indexes:
logger.debug(1, ' searching %s' % index.config['DESCRIPTION'])
logger.debug(' searching %s' % index.config['DESCRIPTION'])
layerBranch = index.find_vcs_url(vcs_url, [branch])
if layerBranch:
return layerBranch
@@ -304,7 +304,7 @@ layerBranches set. If not, they are effectively blank.'''
If a branch has not been specified, we will iterate over the branches in
the default configuration until the first collection/branch match.'''
logger.debug(1, 'find_collection: %s (%s) %s' % (collection, version, branch))
logger.debug('find_collection: %s (%s) %s' % (collection, version, branch))
if branch:
branches = [branch]
@@ -312,12 +312,12 @@ layerBranches set. If not, they are effectively blank.'''
branches = None
for index in self.indexes:
logger.debug(1, ' searching %s' % index.config['DESCRIPTION'])
logger.debug(' searching %s' % index.config['DESCRIPTION'])
layerBranch = index.find_collection(collection, version, branches)
if layerBranch:
return layerBranch
else:
logger.debug(1, 'Collection %s (%s) not found for branch (%s)' % (collection, version, branch))
logger.debug('Collection %s (%s) not found for branch (%s)' % (collection, version, branch))
return None
def find_layerbranch(self, name, branch=None):
@@ -408,7 +408,7 @@ layerBranches set. If not, they are effectively blank.'''
version=deplayerbranch.version
)
if rdeplayerbranch != deplayerbranch:
logger.debug(1, 'Replaced %s:%s:%s with %s:%s:%s' % \
logger.debug('Replaced %s:%s:%s with %s:%s:%s' % \
(deplayerbranch.index.config['DESCRIPTION'],
deplayerbranch.branch.name,
deplayerbranch.layer.name,
@@ -1121,7 +1121,7 @@ class LayerBranch(LayerIndexItemObj):
@property
def branch(self):
try:
logger.debug(1, "Get branch object from branches[%s]" % (self.branch_id))
logger.debug("Get branch object from branches[%s]" % (self.branch_id))
return self.index.branches[self.branch_id]
except KeyError:
raise AttributeError('Unable to find branches in index to map branch_id %s' % self.branch_id)
@@ -1149,7 +1149,7 @@ class LayerBranch(LayerIndexItemObj):
@actual_branch.setter
def actual_branch(self, value):
logger.debug(1, "Set actual_branch to %s .. name is %s" % (value, self.branch.name))
logger.debug("Set actual_branch to %s .. name is %s" % (value, self.branch.name))
if value != self.branch.name:
self._setattr('actual_branch', value, prop=False)
else:

View File

@@ -173,7 +173,7 @@ class CookerPlugin(layerindexlib.plugin.IndexPlugin):
else:
branches = ['HEAD']
logger.debug(1, "Loading cooker data branches %s" % branches)
logger.debug("Loading cooker data branches %s" % branches)
index = self._load_bblayers(branches=branches)
@@ -220,7 +220,7 @@ class CookerPlugin(layerindexlib.plugin.IndexPlugin):
required=required, layerbranch=layerBranchId,
dependency=depLayerBranch.layer_id)
logger.debug(1, '%s requires %s' % (layerDependency.layer.name, layerDependency.dependency.name))
logger.debug('%s requires %s' % (layerDependency.layer.name, layerDependency.dependency.name))
index.add_element("layerDependencies", [layerDependency])
return layerDependencyId

View File

@@ -82,7 +82,7 @@ class RestApiPlugin(layerindexlib.plugin.IndexPlugin):
def load_cache(path, index, branches=[]):
logger.debug(1, 'Loading json file %s' % path)
logger.debug('Loading json file %s' % path)
with open(path, 'rt', encoding='utf-8') as f:
pindex = json.load(f)
@@ -102,7 +102,7 @@ class RestApiPlugin(layerindexlib.plugin.IndexPlugin):
if newpBranch:
index.add_raw_element('branches', layerindexlib.Branch, newpBranch)
else:
logger.debug(1, 'No matching branches (%s) in index file(s)' % branches)
logger.debug('No matching branches (%s) in index file(s)' % branches)
# No matching branches.. return nothing...
return
@@ -120,7 +120,7 @@ class RestApiPlugin(layerindexlib.plugin.IndexPlugin):
load_cache(up.path, index, branches)
return index
logger.debug(1, 'Loading from dir %s...' % (up.path))
logger.debug('Loading from dir %s...' % (up.path))
for (dirpath, _, filenames) in os.walk(up.path):
for filename in filenames:
if not filename.endswith('.json'):
@@ -144,7 +144,7 @@ class RestApiPlugin(layerindexlib.plugin.IndexPlugin):
def _get_json_response(apiurl=None, username=None, password=None, retry=True):
assert apiurl is not None
logger.debug(1, "fetching %s" % apiurl)
logger.debug("fetching %s" % apiurl)
up = urlparse(apiurl)
@@ -163,9 +163,9 @@ class RestApiPlugin(layerindexlib.plugin.IndexPlugin):
parsed = json.loads(res.read().decode('utf-8'))
except ConnectionResetError:
if retry:
logger.debug(1, "%s: Connection reset by peer. Retrying..." % url)
logger.debug("%s: Connection reset by peer. Retrying..." % url)
parsed = _get_json_response(apiurl=up_stripped.geturl(), username=username, password=password, retry=False)
logger.debug(1, "%s: retry successful.")
logger.debug("%s: retry successful.")
else:
raise layerindexlib.LayerIndexFetchError('%s: Connection reset by peer. Is there a firewall blocking your connection?' % apiurl)
@@ -207,25 +207,25 @@ class RestApiPlugin(layerindexlib.plugin.IndexPlugin):
if "*" not in branches:
filter = "?filter=name:%s" % "OR".join(branches)
logger.debug(1, "Loading %s from %s" % (branches, index.apilinks['branches']))
logger.debug("Loading %s from %s" % (branches, index.apilinks['branches']))
# The link won't include username/password, so pull it from the original url
pindex['branches'] = _get_json_response(index.apilinks['branches'] + filter,
username=up.username, password=up.password)
if not pindex['branches']:
logger.debug(1, "No valid branches (%s) found at url %s." % (branch, url))
logger.debug("No valid branches (%s) found at url %s." % (branch, url))
return index
index.add_raw_element("branches", layerindexlib.Branch, pindex['branches'])
# Load all of the layerItems (these can not be easily filtered)
logger.debug(1, "Loading %s from %s" % ('layerItems', index.apilinks['layerItems']))
logger.debug("Loading %s from %s" % ('layerItems', index.apilinks['layerItems']))
# The link won't include username/password, so pull it from the original url
pindex['layerItems'] = _get_json_response(index.apilinks['layerItems'],
username=up.username, password=up.password)
if not pindex['layerItems']:
logger.debug(1, "No layers were found at url %s." % (url))
logger.debug("No layers were found at url %s." % (url))
return index
index.add_raw_element("layerItems", layerindexlib.LayerItem, pindex['layerItems'])
@@ -235,13 +235,13 @@ class RestApiPlugin(layerindexlib.plugin.IndexPlugin):
for branch in index.branches:
filter = "?filter=branch__name:%s" % index.branches[branch].name
logger.debug(1, "Loading %s from %s" % ('layerBranches', index.apilinks['layerBranches']))
logger.debug("Loading %s from %s" % ('layerBranches', index.apilinks['layerBranches']))
# The link won't include username/password, so pull it from the original url
pindex['layerBranches'] = _get_json_response(index.apilinks['layerBranches'] + filter,
username=up.username, password=up.password)
if not pindex['layerBranches']:
logger.debug(1, "No valid layer branches (%s) found at url %s." % (branches or "*", url))
logger.debug("No valid layer branches (%s) found at url %s." % (branches or "*", url))
return index
index.add_raw_element("layerBranches", layerindexlib.LayerBranch, pindex['layerBranches'])
@@ -256,7 +256,7 @@ class RestApiPlugin(layerindexlib.plugin.IndexPlugin):
("distros", layerindexlib.Distro)]:
if lName not in load:
continue
logger.debug(1, "Loading %s from %s" % (lName, index.apilinks[lName]))
logger.debug("Loading %s from %s" % (lName, index.apilinks[lName]))
# The link won't include username/password, so pull it from the original url
pindex[lName] = _get_json_response(index.apilinks[lName] + filter,
@@ -283,7 +283,7 @@ class RestApiPlugin(layerindexlib.plugin.IndexPlugin):
if up.scheme != 'file':
raise layerindexlib.plugin.LayerIndexPluginUrlError(self.type, url)
logger.debug(1, "Storing to %s..." % up.path)
logger.debug("Storing to %s..." % up.path)
try:
layerbranches = index.layerBranches
@@ -299,12 +299,12 @@ class RestApiPlugin(layerindexlib.plugin.IndexPlugin):
if getattr(index, objects)[obj].layerbranch_id == layerbranchid:
filtered.append(getattr(index, objects)[obj]._data)
except AttributeError:
logger.debug(1, 'No obj.layerbranch_id: %s' % objects)
logger.debug('No obj.layerbranch_id: %s' % objects)
# No simple filter method, just include it...
try:
filtered.append(getattr(index, objects)[obj]._data)
except AttributeError:
logger.debug(1, 'No obj._data: %s %s' % (objects, type(obj)))
logger.debug('No obj._data: %s %s' % (objects, type(obj)))
filtered.append(obj)
return filtered

View File

@@ -72,7 +72,7 @@ class LayerIndexCookerTest(LayersTest):
def test_find_collection(self):
def _check(collection, expected):
self.logger.debug(1, "Looking for collection %s..." % collection)
self.logger.debug("Looking for collection %s..." % collection)
result = self.layerindex.find_collection(collection)
if expected:
self.assertIsNotNone(result, msg="Did not find %s when it shouldn't be there" % collection)
@@ -91,7 +91,7 @@ class LayerIndexCookerTest(LayersTest):
def test_find_layerbranch(self):
def _check(name, expected):
self.logger.debug(1, "Looking for layerbranch %s..." % name)
self.logger.debug("Looking for layerbranch %s..." % name)
result = self.layerindex.find_layerbranch(name)
if expected:
self.assertIsNotNone(result, msg="Did not find %s when it shouldn't be there" % collection)

View File

@@ -57,11 +57,11 @@ class LayerIndexWebRestApiTest(LayersTest):
type in self.layerindex.indexes[0].config['local']:
continue
for id in getattr(self.layerindex.indexes[0], type):
self.logger.debug(1, "type %s" % (type))
self.logger.debug("type %s" % (type))
self.assertTrue(id in getattr(reload.indexes[0], type), msg="Id number not in reloaded index")
self.logger.debug(1, "%s ? %s" % (getattr(self.layerindex.indexes[0], type)[id], getattr(reload.indexes[0], type)[id]))
self.logger.debug("%s ? %s" % (getattr(self.layerindex.indexes[0], type)[id], getattr(reload.indexes[0], type)[id]))
self.assertEqual(getattr(self.layerindex.indexes[0], type)[id], getattr(reload.indexes[0], type)[id], msg="Reloaded contents different")
@@ -80,11 +80,11 @@ class LayerIndexWebRestApiTest(LayersTest):
type in self.layerindex.indexes[0].config['local']:
continue
for id in getattr(self.layerindex.indexes[0] ,type):
self.logger.debug(1, "type %s" % (type))
self.logger.debug("type %s" % (type))
self.assertTrue(id in getattr(reload.indexes[0], type), msg="Id number missing from reloaded data")
self.logger.debug(1, "%s ? %s" % (getattr(self.layerindex.indexes[0] ,type)[id], getattr(reload.indexes[0], type)[id]))
self.logger.debug("%s ? %s" % (getattr(self.layerindex.indexes[0] ,type)[id], getattr(reload.indexes[0], type)[id]))
self.assertEqual(getattr(self.layerindex.indexes[0] ,type)[id], getattr(reload.indexes[0], type)[id], msg="reloaded data does not match original")
@@ -111,14 +111,14 @@ class LayerIndexWebRestApiTest(LayersTest):
if dep.layer.name == 'meta-python':
break
else:
self.logger.debug(1, "meta-python was not found")
self.logger.debug("meta-python was not found")
raise self.failureException
# Only check the first element...
break
else:
# Empty list, this is bad.
self.logger.debug(1, "Empty list of dependencies")
self.logger.debug("Empty list of dependencies")
self.assertIsNotNone(first, msg="Empty list of dependencies")
# Last dep should be the requested item
@@ -128,7 +128,7 @@ class LayerIndexWebRestApiTest(LayersTest):
@skipIfNoNetwork()
def test_find_collection(self):
def _check(collection, expected):
self.logger.debug(1, "Looking for collection %s..." % collection)
self.logger.debug("Looking for collection %s..." % collection)
result = self.layerindex.find_collection(collection)
if expected:
self.assertIsNotNone(result, msg="Did not find %s when it should be there" % collection)
@@ -148,11 +148,11 @@ class LayerIndexWebRestApiTest(LayersTest):
@skipIfNoNetwork()
def test_find_layerbranch(self):
def _check(name, expected):
self.logger.debug(1, "Looking for layerbranch %s..." % name)
self.logger.debug("Looking for layerbranch %s..." % name)
for index in self.layerindex.indexes:
for layerbranchid in index.layerBranches:
self.logger.debug(1, "Present: %s" % index.layerBranches[layerbranchid].layer.name)
self.logger.debug("Present: %s" % index.layerBranches[layerbranchid].layer.name)
result = self.layerindex.find_layerbranch(name)
if expected:
self.assertIsNotNone(result, msg="Did not find %s when it should be there" % collection)

View File

@@ -7,17 +7,17 @@ KMACHINE_genericx86 ?= "common-pc"
KMACHINE_genericx86-64 ?= "common-pc-64"
KMACHINE_beaglebone-yocto ?= "beaglebone"
SRCREV_machine_genericx86 ?= "f08df324ccdbc73b9f0c2de2826a2843bcdf651b"
SRCREV_machine_genericx86-64 ?= "f08df324ccdbc73b9f0c2de2826a2843bcdf651b"
SRCREV_machine_edgerouter ?= "1f3d7b6a85e98317771367e70824f7803ff9ca30"
SRCREV_machine_beaglebone-yocto ?= "f08df324ccdbc73b9f0c2de2826a2843bcdf651b"
SRCREV_machine_genericx86 ?= "cdca78778415b4b3bd64e8390ee8adf04bf7e17a"
SRCREV_machine_genericx86-64 ?= "cdca78778415b4b3bd64e8390ee8adf04bf7e17a"
SRCREV_machine_edgerouter ?= "2e1fb8f84f09ca768eb531f33a126a40bb90e791"
SRCREV_machine_beaglebone-yocto ?= "cdca78778415b4b3bd64e8390ee8adf04bf7e17a"
COMPATIBLE_MACHINE_genericx86 = "genericx86"
COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
COMPATIBLE_MACHINE_edgerouter = "edgerouter"
COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto"
LINUX_VERSION_genericx86 = "5.10.5"
LINUX_VERSION_genericx86-64 = "5.10.5"
LINUX_VERSION_edgerouter = "5.10.5"
LINUX_VERSION_beaglebone-yocto = "5.10.5"
LINUX_VERSION_genericx86 = "5.10.12"
LINUX_VERSION_genericx86-64 = "5.10.12"
LINUX_VERSION_edgerouter = "5.10.12"
LINUX_VERSION_beaglebone-yocto = "5.10.12"

View File

@@ -17,7 +17,7 @@ def autotools_dep_prepend(d):
and not d.getVar('INHIBIT_DEFAULT_DEPS'):
deps += 'libtool-cross '
return deps + 'gnu-config-native '
return deps
DEPENDS_prepend = "${@autotools_dep_prepend(d)} "
@@ -30,7 +30,7 @@ inherit siteinfo
export CONFIG_SITE
acpaths ?= "default"
EXTRA_AUTORECONF = "--exclude=autopoint"
EXTRA_AUTORECONF = "--exclude=autopoint --exclude=gtkdocize"
export lt_cv_sys_lib_dlsearch_path_spec = "${libdir} ${base_libdir}"
@@ -215,21 +215,13 @@ autotools_do_configure() {
PRUNE_M4="$PRUNE_M4 gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 nls.m4 po.m4 progtest.m4"
fi
mkdir -p m4
if grep -q "^[[:space:]]*[AI][CT]_PROG_INTLTOOL" $CONFIGURE_AC; then
if ! echo "${DEPENDS}" | grep -q intltool-native; then
bbwarn "Missing DEPENDS on intltool-native"
fi
PRUNE_M4="$PRUNE_M4 intltool.m4"
bbnote Executing intltoolize --copy --force --automake
intltoolize --copy --force --automake
fi
for i in $PRUNE_M4; do
find ${S} -ignore_readdir_race -name $i -delete
done
bbnote Executing ACLOCAL=\"$ACLOCAL\" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths
ACLOCAL="$ACLOCAL" autoreconf -Wcross --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || die "autoreconf execution failed."
ACLOCAL="$ACLOCAL" autoreconf -Wcross -Wno-obsolete --verbose --install --force ${EXTRA_AUTORECONF} $acpaths || die "autoreconf execution failed."
cd $olddir
fi
if [ -e ${CONFIGURE_SCRIPT} ]; then

View File

@@ -596,62 +596,62 @@ python () {
needsrcrev = False
srcuri = d.getVar('SRC_URI')
for uri in srcuri.split():
(scheme, _ , path) = bb.fetch.decodeurl(uri)[:3]
for uri_string in srcuri.split():
uri = bb.fetch.URI(uri_string)
# HTTP/FTP use the wget fetcher
if scheme in ("http", "https", "ftp"):
if uri.scheme in ("http", "https", "ftp"):
d.appendVarFlag('do_fetch', 'depends', ' wget-native:do_populate_sysroot')
# Svn packages should DEPEND on subversion-native
if scheme == "svn":
if uri.scheme == "svn":
needsrcrev = True
d.appendVarFlag('do_fetch', 'depends', ' subversion-native:do_populate_sysroot')
# Git packages should DEPEND on git-native
elif scheme in ("git", "gitsm"):
elif uri.scheme in ("git", "gitsm"):
needsrcrev = True
d.appendVarFlag('do_fetch', 'depends', ' git-native:do_populate_sysroot')
# Mercurial packages should DEPEND on mercurial-native
elif scheme == "hg":
elif uri.scheme == "hg":
needsrcrev = True
d.appendVar("EXTRANATIVEPATH", ' python3-native ')
d.appendVarFlag('do_fetch', 'depends', ' mercurial-native:do_populate_sysroot')
# Perforce packages support SRCREV = "${AUTOREV}"
elif scheme == "p4":
elif uri.scheme == "p4":
needsrcrev = True
# OSC packages should DEPEND on osc-native
elif scheme == "osc":
elif uri.scheme == "osc":
d.appendVarFlag('do_fetch', 'depends', ' osc-native:do_populate_sysroot')
elif scheme == "npm":
elif uri.scheme == "npm":
d.appendVarFlag('do_fetch', 'depends', ' nodejs-native:do_populate_sysroot')
# *.lz4 should DEPEND on lz4-native for unpacking
if path.endswith('.lz4'):
if uri.path.endswith('.lz4'):
d.appendVarFlag('do_unpack', 'depends', ' lz4-native:do_populate_sysroot')
# *.lz should DEPEND on lzip-native for unpacking
elif path.endswith('.lz'):
elif uri.path.endswith('.lz'):
d.appendVarFlag('do_unpack', 'depends', ' lzip-native:do_populate_sysroot')
# *.xz should DEPEND on xz-native for unpacking
elif path.endswith('.xz') or path.endswith('.txz'):
elif uri.path.endswith('.xz') or uri.path.endswith('.txz'):
d.appendVarFlag('do_unpack', 'depends', ' xz-native:do_populate_sysroot')
# .zip should DEPEND on unzip-native for unpacking
elif path.endswith('.zip') or path.endswith('.jar'):
elif uri.path.endswith('.zip') or uri.path.endswith('.jar'):
d.appendVarFlag('do_unpack', 'depends', ' unzip-native:do_populate_sysroot')
# Some rpm files may be compressed internally using xz (for example, rpms from Fedora)
elif path.endswith('.rpm'):
elif uri.path.endswith('.rpm'):
d.appendVarFlag('do_unpack', 'depends', ' xz-native:do_populate_sysroot')
# *.deb should DEPEND on xz-native for unpacking
elif path.endswith('.deb'):
elif uri.path.endswith('.deb'):
d.appendVarFlag('do_unpack', 'depends', ' xz-native:do_populate_sysroot')
if needsrcrev:

View File

@@ -859,7 +859,7 @@ END
}
python buildhistory_eventhandler() {
if e.data.getVar('BUILDHISTORY_FEATURES').strip():
if (e.data.getVar('BUILDHISTORY_FEATURES') or "").strip():
reset = e.data.getVar("BUILDHISTORY_RESET")
olddir = e.data.getVar("BUILDHISTORY_OLD_DIR")
if isinstance(e, bb.event.BuildStarted):

View File

@@ -53,6 +53,16 @@ CVE_CHECK_PN_WHITELIST ?= ""
#
CVE_CHECK_WHITELIST ?= ""
# Layers to be excluded
CVE_CHECK_LAYER_EXCLUDELIST ??= ""
# Layers to be included
CVE_CHECK_LAYER_INCLUDELIST ??= ""
# set to "alphabetical" for version using single alphabetical character as increament release
CVE_VERSION_SUFFIX ??= ""
python cve_save_summary_handler () {
import shutil
import datetime
@@ -206,10 +216,11 @@ def check_cves(d, patched_cves):
"""
Connect to the NVD database and find unpatched cves.
"""
from distutils.version import LooseVersion
from oe.cve_check import Version
pn = d.getVar("PN")
real_pv = d.getVar("PV")
suffix = d.getVar("CVE_VERSION_SUFFIX")
cves_unpatched = []
# CVE_PRODUCT can contain more than one product (eg. curl/libcurl)
@@ -263,8 +274,8 @@ def check_cves(d, patched_cves):
else:
if operator_start:
try:
vulnerable_start = (operator_start == '>=' and LooseVersion(pv) >= LooseVersion(version_start))
vulnerable_start |= (operator_start == '>' and LooseVersion(pv) > LooseVersion(version_start))
vulnerable_start = (operator_start == '>=' and Version(pv,suffix) >= Version(version_start,suffix))
vulnerable_start |= (operator_start == '>' and Version(pv,suffix) > Version(version_start,suffix))
except:
bb.warn("%s: Failed to compare %s %s %s for %s" %
(product, pv, operator_start, version_start, cve))
@@ -274,8 +285,8 @@ def check_cves(d, patched_cves):
if operator_end:
try:
vulnerable_end = (operator_end == '<=' and LooseVersion(pv) <= LooseVersion(version_end))
vulnerable_end |= (operator_end == '<' and LooseVersion(pv) < LooseVersion(version_end))
vulnerable_end = (operator_end == '<=' and Version(pv,suffix) <= Version(version_end,suffix) )
vulnerable_end |= (operator_end == '<' and Version(pv,suffix) < Version(version_end,suffix) )
except:
bb.warn("%s: Failed to compare %s %s %s for %s" %
(product, pv, operator_end, version_end, cve))
@@ -330,7 +341,20 @@ def cve_write_data(d, patched, unpatched, whitelisted, cve_data):
CVE manifest if enabled.
"""
cve_file = d.getVar("CVE_CHECK_LOG")
fdir_name = d.getVar("FILE_DIRNAME")
layer = fdir_name.split("/")[-3]
include_layers = d.getVar("CVE_CHECK_LAYER_INCLUDELIST").split()
exclude_layers = d.getVar("CVE_CHECK_LAYER_EXCLUDELIST").split()
if exclude_layers and layer in exclude_layers:
return
if include_layers and layer not in include_layers:
return
nvd_link = "https://web.nvd.nist.gov/view/vuln/detail?vulnId="
write_string = ""
unpatched_cves = []
@@ -340,6 +364,7 @@ def cve_write_data(d, patched, unpatched, whitelisted, cve_data):
is_patched = cve in patched
if is_patched and (d.getVar("CVE_CHECK_REPORT_PATCHED") != "1"):
continue
write_string += "LAYER: %s\n" % layer
write_string += "PACKAGE NAME: %s\n" % d.getVar("PN")
write_string += "PACKAGE VERSION: %s%s\n" % (d.getVar("EXTENDPE"), d.getVar("PV"))
write_string += "CVE: %s\n" % cve

View File

@@ -190,6 +190,7 @@ def srctree_hash_files(d, srcdir=None):
import shutil
import subprocess
import tempfile
import hashlib
s_dir = srcdir or d.getVar('EXTERNALSRC')
git_dir = None
@@ -197,6 +198,10 @@ def srctree_hash_files(d, srcdir=None):
try:
git_dir = os.path.join(s_dir,
subprocess.check_output(['git', '-C', s_dir, 'rev-parse', '--git-dir'], stderr=subprocess.DEVNULL).decode("utf-8").rstrip())
top_git_dir = os.path.join(s_dir, subprocess.check_output(['git', '-C', d.getVar("TOPDIR"), 'rev-parse', '--git-dir'],
stderr=subprocess.DEVNULL).decode("utf-8").rstrip())
if git_dir == top_git_dir:
git_dir = None
except subprocess.CalledProcessError:
pass
@@ -210,7 +215,16 @@ def srctree_hash_files(d, srcdir=None):
env = os.environ.copy()
env['GIT_INDEX_FILE'] = tmp_index.name
subprocess.check_output(['git', 'add', '-A', '.'], cwd=s_dir, env=env)
sha1 = subprocess.check_output(['git', 'write-tree'], cwd=s_dir, env=env).decode("utf-8")
git_sha1 = subprocess.check_output(['git', 'write-tree'], cwd=s_dir, env=env).decode("utf-8")
submodule_helper = subprocess.check_output(['git', 'submodule--helper', 'list'], cwd=s_dir, env=env).decode("utf-8")
for line in submodule_helper.splitlines():
module_dir = os.path.join(s_dir, line.rsplit(maxsplit=1)[1])
proc = subprocess.Popen(['git', 'add', '-A', '.'], cwd=module_dir, env=env, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
proc.communicate()
proc = subprocess.Popen(['git', 'write-tree'], cwd=module_dir, env=env, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
stdout, _ = proc.communicate()
git_sha1 += stdout.decode("utf-8")
sha1 = hashlib.sha1(git_sha1.encode("utf-8")).hexdigest()
with open(oe_hash_file, 'w') as fobj:
fobj.write(sha1)
ret = oe_hash_file + ':True'

View File

@@ -7,6 +7,7 @@
#
# It should be used in recipes to determine whether gtk-doc based documentation should be built,
# so that qemu use can be avoided when necessary.
GTKDOC_ENABLED_class-native = "False"
GTKDOC_ENABLED ?= "${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', \
bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'True', 'False', d), 'False', d)}"

View File

@@ -110,7 +110,7 @@ IMAGE_CMD_squashfs-lz4 = "mksquashfs ${IMAGE_ROOTFS} ${IMGDEPLOYDIR}/${IMAGE_NAM
IMAGE_CMD_TAR ?= "tar"
# ignore return code 1 "file changed as we read it" as other tasks(e.g. do_image_wic) may be hardlinking rootfs
IMAGE_CMD_tar = "${IMAGE_CMD_TAR} --sort=name --numeric-owner -cf ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.tar -C ${IMAGE_ROOTFS} . || [ $? -eq 1 ]"
IMAGE_CMD_tar = "${IMAGE_CMD_TAR} --sort=name --format=posix --numeric-owner -cf ${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.tar -C ${IMAGE_ROOTFS} . || [ $? -eq 1 ]"
do_image_cpio[cleandirs] += "${WORKDIR}/cpio_append"
IMAGE_CMD_cpio () {

View File

@@ -27,7 +27,7 @@ WARN_QA ?= " libdir xorg-driver-abi \
infodir build-deps src-uri-bad symlink-to-sysroot multilib \
invalid-packageconfig host-user-contaminated uppercase-pn patch-fuzz \
mime mime-xdg unlisted-pkg-lics unhandled-features-check \
missing-update-alternatives \
missing-update-alternatives native-last \
"
ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \
perms dep-cmp pkgvarcheck perm-config perm-line perm-link \
@@ -1366,6 +1366,37 @@ python () {
d.setVarFlag('do_package_qa', 'rdeptask', '')
for i in issues:
package_qa_handle_error("pkgvarcheck", "%s: Variable %s is set as not being package specific, please fix this." % (d.getVar("FILE"), i), d)
if 'native-last' not in (d.getVar('INSANE_SKIP') or "").split():
for native_class in ['native', 'nativesdk']:
if bb.data.inherits_class(native_class, d):
inherited_classes = d.getVar('__inherit_cache', False) or []
needle = os.path.join('classes', native_class)
bbclassextend = (d.getVar('BBCLASSEXTEND') or '').split()
# BBCLASSEXTEND items are always added in the end
skip_classes = bbclassextend
if bb.data.inherits_class('native', d) or 'native' in bbclassextend:
# native also inherits nopackages and relocatable bbclasses
skip_classes.extend(['nopackages', 'relocatable'])
broken_order = []
for class_item in reversed(inherited_classes):
if needle not in class_item:
for extend_item in skip_classes:
if os.path.join('classes', '%s.bbclass' % extend_item) in class_item:
break
else:
pn = d.getVar('PN')
broken_order.append(os.path.basename(class_item))
else:
break
if broken_order:
package_qa_handle_error("native-last", "%s: native/nativesdk class is not inherited last, this can result in unexpected behaviour. "
"Classes inherited after native/nativesdk: %s" % (pn, " ".join(broken_order)), d)
qa_sane = d.getVar("QA_SANE")
if not qa_sane:
bb.fatal("Fatal QA errors found, failing task.")

View File

@@ -759,7 +759,7 @@ kernel_do_deploy() {
fi
if [ ! -z "${INITRAMFS_IMAGE}" -a x"${INITRAMFS_IMAGE_BUNDLE}" = x1 ]; then
for imageType in ${KERNEL_IMAGETYPES} ; do
for imageType in ${KERNEL_IMAGETYPE_FOR_MAKE} ; do
if [ "$imageType" = "fitImage" ] ; then
continue
fi

View File

@@ -210,7 +210,8 @@ def license_deployed_manifest(d):
os.unlink(lic_manifest_symlink_dir)
# create the image dir symlink
os.symlink(lic_manifest_dir, lic_manifest_symlink_dir)
if lic_manifest_dir != lic_manifest_symlink_dir:
os.symlink(lic_manifest_dir, lic_manifest_symlink_dir)
def get_deployed_dependencies(d):
"""

View File

@@ -5,20 +5,12 @@ inherit relocatable
# no need for them to be a direct target of 'world'
EXCLUDE_FROM_WORLD = "1"
PACKAGES = ""
PACKAGES_class-native = ""
PACKAGES_DYNAMIC = ""
PACKAGES_DYNAMIC_class-native = ""
PACKAGE_ARCH = "${BUILD_ARCH}"
# used by cmake class
OECMAKE_RPATH = "${libdir}"
OECMAKE_RPATH_class-native = "${libdir}"
# When this class has packaging enabled, setting
# RPROVIDES becomes unnecessary.
RPROVIDES = "${PN}"
TARGET_ARCH = "${BUILD_ARCH}"
TARGET_OS = "${BUILD_OS}"
TARGET_VENDOR = "${BUILD_VENDOR}"
@@ -138,7 +130,7 @@ python native_virtclass_handler () {
if "native" not in classextend:
return
def map_dependencies(varname, d, suffix = ""):
def map_dependencies(varname, d, suffix = "", selfref=True):
if suffix:
varname = varname + "_" + suffix
deps = d.getVar(varname)
@@ -148,22 +140,25 @@ python native_virtclass_handler () {
newdeps = []
for dep in deps:
if dep == pn:
continue
if not selfref:
continue
newdeps.append(dep)
elif "-cross-" in dep:
newdeps.append(dep.replace("-cross", "-native"))
elif not dep.endswith("-native"):
newdeps.append(dep + "-native")
newdeps.append(dep.replace("-native", "") + "-native")
else:
newdeps.append(dep)
d.setVar(varname, " ".join(newdeps))
d.setVar(varname, " ".join(newdeps), parsing=True)
map_dependencies("DEPENDS", e.data)
for pkg in [e.data.getVar("PN"), "", "${PN}"]:
map_dependencies("DEPENDS", e.data, selfref=False)
for pkg in e.data.getVar("PACKAGES", False).split():
map_dependencies("RDEPENDS", e.data, pkg)
map_dependencies("RRECOMMENDS", e.data, pkg)
map_dependencies("RSUGGESTS", e.data, pkg)
map_dependencies("RPROVIDES", e.data, pkg)
map_dependencies("RREPLACES", e.data, pkg)
map_dependencies("PACKAGES", e.data)
provides = e.data.getVar("PROVIDES")
nprovides = []

View File

@@ -17,8 +17,10 @@
# NPM_INSTALL_DEV:
# Set to 1 to also install devDependencies.
inherit python3native
DEPENDS_prepend = "nodejs-native "
RDEPENDS_${PN}_prepend = "nodejs "
RDEPENDS_${PN}_append_class-target = " nodejs"
NPM_INSTALL_DEV ?= "0"
@@ -248,9 +250,7 @@ python npm_do_compile() {
sysroot = d.getVar("RECIPE_SYSROOT_NATIVE")
nodedir = os.path.join(sysroot, d.getVar("prefix_native").strip("/"))
configs.append(("nodedir", nodedir))
bindir = os.path.join(sysroot, d.getVar("bindir_native").strip("/"))
pythondir = os.path.join(bindir, "python-native", "python")
configs.append(("python", pythondir))
configs.append(("python", d.getVar("PYTHON")))
# Add node-pre-gyp configuration
args.append(("target_arch", d.getVar("NPM_ARCH")))

View File

@@ -2452,6 +2452,7 @@ python do_packagedata () {
bb.build.exec_func("packagedata_translate_pr_autoinc", d)
}
do_packagedata[cleandirs] += "${WORKDIR}/pkgdata-pdata-input"
# Translate the EXTENDPRAUTO and AUTOINC to the final values
packagedata_translate_pr_autoinc() {

View File

@@ -300,13 +300,13 @@ python write_specfile () {
srccustomtagschunk = get_package_additional_metadata("rpm", localdata)
srcdepends = d.getVar('DEPENDS')
srcrdepends = []
srcrrecommends = []
srcrsuggests = []
srcrprovides = []
srcrreplaces = []
srcrconflicts = []
srcrobsoletes = []
srcrdepends = ""
srcrrecommends = ""
srcrsuggests = ""
srcrprovides = ""
srcrreplaces = ""
srcrconflicts = ""
srcrobsoletes = ""
srcrpreinst = []
srcrpostinst = []
@@ -365,13 +365,13 @@ python write_specfile () {
# Map the dependencies into their final form
mapping_rename_hook(localdata)
splitrdepends = localdata.getVar('RDEPENDS')
splitrrecommends = localdata.getVar('RRECOMMENDS')
splitrsuggests = localdata.getVar('RSUGGESTS')
splitrprovides = localdata.getVar('RPROVIDES')
splitrreplaces = localdata.getVar('RREPLACES')
splitrconflicts = localdata.getVar('RCONFLICTS')
splitrobsoletes = []
splitrdepends = localdata.getVar('RDEPENDS') or ""
splitrrecommends = localdata.getVar('RRECOMMENDS') or ""
splitrsuggests = localdata.getVar('RSUGGESTS') or ""
splitrprovides = localdata.getVar('RPROVIDES') or ""
splitrreplaces = localdata.getVar('RREPLACES') or ""
splitrconflicts = localdata.getVar('RCONFLICTS') or ""
splitrobsoletes = ""
splitrpreinst = localdata.getVar('pkg_preinst')
splitrpostinst = localdata.getVar('pkg_postinst')
@@ -439,9 +439,9 @@ python write_specfile () {
spec_preamble_bottom.append(splitcustomtagschunk)
# Replaces == Obsoletes && Provides
robsoletes = bb.utils.explode_dep_versions2(splitrobsoletes or "")
rprovides = bb.utils.explode_dep_versions2(splitrprovides or "")
rreplaces = bb.utils.explode_dep_versions2(splitrreplaces or "")
robsoletes = bb.utils.explode_dep_versions2(splitrobsoletes)
rprovides = bb.utils.explode_dep_versions2(splitrprovides)
rreplaces = bb.utils.explode_dep_versions2(splitrreplaces)
for dep in rreplaces:
if not dep in robsoletes:
robsoletes[dep] = rreplaces[dep]
@@ -533,9 +533,9 @@ python write_specfile () {
tail_source(d)
# Replaces == Obsoletes && Provides
robsoletes = bb.utils.explode_dep_versions2(srcrobsoletes or "")
rprovides = bb.utils.explode_dep_versions2(srcrprovides or "")
rreplaces = bb.utils.explode_dep_versions2(srcrreplaces or "")
robsoletes = bb.utils.explode_dep_versions2(srcrobsoletes)
rprovides = bb.utils.explode_dep_versions2(srcrprovides)
rreplaces = bb.utils.explode_dep_versions2(srcrreplaces)
for dep in rreplaces:
if not dep in robsoletes:
robsoletes[dep] = rreplaces[dep]

View File

@@ -703,6 +703,23 @@ def check_sanity_version_change(status, d):
if (tmpdirmode & stat.S_ISUID):
status.addresult("TMPDIR is setuid, please don't build in a setuid directory")
# Check that a user isn't building in a path in PSEUDO_IGNORE_PATHS
pseudoignorepaths = d.getVar('PSEUDO_IGNORE_PATHS', expand=True).split(",")
workdir = d.getVar('WORKDIR', expand=True)
for i in pseudoignorepaths:
if i and workdir.startswith(i):
status.addresult("You are building in a path included in PSEUDO_IGNORE_PATHS " + str(i) + " please locate the build outside this path.\n")
# Check if PSEUDO_IGNORE_PATHS and and paths under pseudo control overlap
pseudoignorepaths = d.getVar('PSEUDO_IGNORE_PATHS', expand=True).split(",")
pseudo_control_dir = "${D},${PKGD},${PKGDEST},${IMAGEROOTFS},${SDK_OUTPUT}"
pseudocontroldir = d.expand(pseudo_control_dir).split(",")
for i in pseudoignorepaths:
for j in pseudocontroldir:
if i and j:
if j.startswith(i):
status.addresult("A path included in PSEUDO_IGNORE_PATHS " + str(i) + " and the path " + str(j) + " overlap and this will break pseudo permission and ownership tracking. Please set the path " + str(j) + " to a different directory which does not overlap with pseudo controlled directories. \n")
# Some third-party software apparently relies on chmod etc. being suid root (!!)
import stat
suid_check_bins = "chown chmod mknod".split()
@@ -787,6 +804,11 @@ def check_sanity_everybuild(status, d):
if "." in paths or "./" in paths or "" in paths:
status.addresult("PATH contains '.', './' or '' (empty element), which will break the build, please remove this.\nParsed PATH is " + str(paths) + "\n")
#Check if bitbake is present in PATH environment variable
bb_check = bb.utils.which(d.getVar('PATH'), 'bitbake')
if not bb_check:
bb.warn("bitbake binary is not found in PATH, did you source the script?")
# Check whether 'inherit' directive is found (used for a class to inherit)
# in conf file it's supposed to be uppercase INHERIT
inherit = d.getVar('inherit')

View File

@@ -28,11 +28,15 @@ SYSROOT_DIRS_BLACKLIST = " \
${mandir} \
${docdir} \
${infodir} \
${datadir}/X11/locale \
${datadir}/applications \
${datadir}/bash-completion \
${datadir}/fonts \
${datadir}/gtk-doc/html \
${datadir}/installed-tests \
${datadir}/locale \
${datadir}/pixmaps \
${datadir}/terminfo \
${libdir}/${BPN}/ptest \
"

View File

@@ -272,10 +272,8 @@ DEPCHAIN_PRE = ""
DEPCHAIN_POST = "-dev -dbg"
DEPENDS = ""
RDEPENDS = ""
PROVIDES = ""
PROVIDES_prepend = "${PN} "
RPROVIDES = ""
MULTI_PROVIDER_WHITELIST = "virtual/libintl virtual/libintl-native virtual/nativesdk-libintl virtual/xserver virtual/update-alternatives-native virtual/update-alternatives"

View File

@@ -2,3 +2,4 @@
# Default preferred versions
#
PREFERRED_VERSION_adwaita-icon-theme ?= "3.34.3"

View File

@@ -85,8 +85,8 @@ RECIPE_MAINTAINER_pn-builder = "Richard Purdie <richard.purdie@linuxfoundation.o
RECIPE_MAINTAINER_pn-buildtools-extended-tarball = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-buildtools-tarball = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-busybox = "Andrej Valek <andrej.valek@siemens.com>"
RECIPE_MAINTAINER_pn-busybox-inittab = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-bzip2 = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-busybox-inittab = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER_pn-bzip2 = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER_pn-ca-certificates = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-cairo = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-cantarell-fonts = "Alexander Kanavin <alex.kanavin@gmail.com>"
@@ -122,7 +122,7 @@ RECIPE_MAINTAINER_pn-core-image-sato-dev = "Richard Purdie <richard.purdie@linux
RECIPE_MAINTAINER_pn-core-image-sato-ptest-fast = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-core-image-sato-sdk-ptest = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-coreutils = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-cpio = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-cpio = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER_pn-cracklib = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-createrepo-c = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-cronie = "Anuj Mittal <anuj.mittal@intel.com>"
@@ -232,7 +232,7 @@ RECIPE_MAINTAINER_pn-gobject-introspection = "Alexander Kanavin <alex.kanavin@gm
RECIPE_MAINTAINER_pn-gperf = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-gpgme = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-gptfdisk = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-grep = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-grep = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER_pn-groff = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-grub = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-grub-bootconf = "Anuj Mittal <anuj.mittal@intel.com>"
@@ -253,9 +253,9 @@ RECIPE_MAINTAINER_pn-gstreamer1.0-rtsp-server = "Anuj Mittal <anuj.mittal@intel.
RECIPE_MAINTAINER_pn-gstreamer1.0-vaapi = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-gtk+3 = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER_pn-gtk-doc = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-gzip = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-gzip = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER_pn-harfbuzz = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-hdparm = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-hdparm = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER_pn-help2man = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-hicolor-icon-theme = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-hwlatdetect = "Alexander Kanavin <alex.kanavin@gmail.com>"
@@ -461,10 +461,10 @@ RECIPE_MAINTAINER_pn-ltp = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-lttng-modules = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-lttng-tools = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-lttng-ust = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-lz4 = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-lzo = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-lzip = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-lzop = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-lz4 = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER_pn-lzo = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER_pn-lzip = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER_pn-lzop = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER_pn-m4 = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-m4-native = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-make = "Robert Yang <liezhi.yang@windriver.com>"
@@ -508,7 +508,7 @@ RECIPE_MAINTAINER_pn-mpeg2dec = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-mpfr = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-mpg123 = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-msmtp = "Wang Mingyu <wangmy@cn.fujitsu.com>"
RECIPE_MAINTAINER_pn-mtd-utils = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-mtd-utils = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER_pn-mtdev = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-mtools = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-musl = "Khem Raj <raj.khem@gmail.com>"
@@ -553,7 +553,7 @@ RECIPE_MAINTAINER_pn-pango = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER_pn-parted = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-patch = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-patchelf = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-pbzip2 = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-pbzip2 = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER_pn-pciutils = "Chen Qi <Qi.Chen@windriver.com>"
RECIPE_MAINTAINER_pn-pcmanfm = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-perf = "Bruce Ashfield <bruce.ashfield@gmail.com>"
@@ -668,6 +668,7 @@ RECIPE_MAINTAINER_pn-slang = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-socat = "Hongxu Jia <hongxu.jia@windriver.com>"
RECIPE_MAINTAINER_pn-speex = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER_pn-speexdsp = "Unassigned <unassigned@yoctoproject.org>"
RECIPE_MAINTAINER_pn-spirv-headers = "Jose Quaresma <quaresma.jose@gmail.com>"
RECIPE_MAINTAINER_pn-spirv-tools = "Jose Quaresma <quaresma.jose@gmail.com>"
RECIPE_MAINTAINER_pn-sqlite3 = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-squashfs-tools = "Robert Yang <liezhi.yang@windriver.com>"
@@ -714,7 +715,7 @@ RECIPE_MAINTAINER_pn-udev-extraconf = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER_pn-unfs3 = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER_pn-unifdef = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER_pn-uninative-tarball = "Richard Purdie <richard.purdie@linuxfoundation.org>"
RECIPE_MAINTAINER_pn-unzip = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-unzip = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER_pn-update-rc.d = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER_pn-usbinit = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-usbutils = "Alexander Kanavin <alex.kanavin@gmail.com>"
@@ -735,12 +736,12 @@ RECIPE_MAINTAINER_pn-vulkan-tools = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-waffle = "Ross Burton <ross.burton@arm.com>"
RECIPE_MAINTAINER_pn-watchdog = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-watchdog-config = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-wayland = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-wayland-protocols = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-wayland-utils = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-wayland = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER_pn-wayland-protocols = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER_pn-wayland-utils = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER_pn-webkitgtk = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-weston = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-weston-init = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-weston = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER_pn-weston-init = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER_pn-wget = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-which = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-wic-tools = "Anuj Mittal <anuj.mittal@intel.com>"
@@ -794,7 +795,7 @@ RECIPE_MAINTAINER_pn-xtrans = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-xuser-account = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-xvinfo = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-xwininfo = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-xz = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-zip = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-zlib = "Denys Dmytriyenko <denys@ti.com>"
RECIPE_MAINTAINER_pn-xz = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER_pn-zip = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER_pn-zlib = "Denys Dmytriyenko <denis@denix.org>"
RECIPE_MAINTAINER_pn-zstd = "Alexander Kanavin <alex.kanavin@gmail.com>"

View File

@@ -10,7 +10,9 @@ GCCPIE ?= "--enable-default-pie"
# _FORTIFY_SOURCE requires -O1 or higher, so disable in debug builds as they use
# -O0 which then results in a compiler warning.
lcl_maybe_fortify ?= "${@oe.utils.conditional('DEBUG_BUILD','1','','-D_FORTIFY_SOURCE=2',d)}"
OPTLEVEL = "${@bb.utils.filter('SELECTED_OPTIMIZATION', '-O0 -O1 -O2 -O3 -Ofast -Og -Os -Oz -O', d)}"
lcl_maybe_fortify ?= "${@oe.utils.conditional('OPTLEVEL','-O0','','${OPTLEVEL} -D_FORTIFY_SOURCE=2',d)}"
# Error on use of format strings that represent possible security problems
SECURITY_STRINGFORMAT ?= "-Wformat -Wformat-security -Werror=format-security"

View File

@@ -18,9 +18,9 @@ PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
GCCVERSION ?= "10.%"
SDKGCCVERSION ?= "${GCCVERSION}"
BINUVERSION ?= "2.35%"
BINUVERSION ?= "2.36%"
GDBVERSION ?= "10.%"
GLIBCVERSION ?= "2.32"
GLIBCVERSION ?= "2.33"
LINUXLIBCVERSION ?= "5.10%"
QEMUVERSION ?= "5.2%"
GOVERSION ?= "1.15%"

View File

@@ -6,9 +6,9 @@
# to the distro running on the build machine.
#
UNINATIVE_MAXGLIBCVERSION = "2.32"
UNINATIVE_MAXGLIBCVERSION = "2.33"
UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/2.9/"
UNINATIVE_CHECKSUM[aarch64] ?= "9f25a667aee225b1dd65c4aea73e01983e825b1cb9b56937932a1ee328b45f81"
UNINATIVE_CHECKSUM[i686] ?= "cae5d73245d95b07cf133b780ba3f6c8d0adca3ffc4e7e7fab999961d5e24d36"
UNINATIVE_CHECKSUM[x86_64] ?= "d07916b95c419c81541a19c8ef0ed8cbd78ae18437ff28a4c8a60ef40518e423"
UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/2.11/"
UNINATIVE_CHECKSUM[aarch64] ?= "fa703e25c26eaebb1afd895337b92a24cc5077818e093af74912e53846a117fe"
UNINATIVE_CHECKSUM[i686] ?= "638901c990ffbe716a34400134a2ad49a1c3104e3b48cdafd6fcd28e9b133294"
UNINATIVE_CHECKSUM[x86_64] ?= "047ddd78d6b5cabd2a102120e27755a9eaa1d5724c6a8f4007daa3f10ecb6871"

View File

@@ -123,6 +123,8 @@ CONFLICT_MACHINE_FEATURES[doc] = "When a recipe inherits the features_check clas
CORE_IMAGE_EXTRA_INSTALL[doc] = "Specifies the list of packages to be added to the image. You should only set this variable in the conf/local.conf file in the Build Directory."
COREBASE[doc] = "Specifies the parent directory of the OpenEmbedded Core Metadata layer (i.e. meta)."
CONF_VERSION[doc] = "Tracks the version of local.conf. Increased each time build/conf/ changes incompatibly."
CVE_CHECK_LAYER_EXCLUDELIST[doc] = "Defines which layers to exclude from cve-check scanning"
CVE_CHECK_LAYER_INCLUDELIST[doc] = "Defines which layers to include during cve-check scanning"
#D

View File

@@ -21,7 +21,7 @@ RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
# Use a common kernel recipe for all QEMU machines
PREFERRED_PROVIDER_virtual/kernel ??= "linux-yocto"
EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native"
EXTRA_IMAGEDEPENDS += "qemu-system-native qemu-helper-native"
# Provide the nfs server kernel module for all qemu images
KERNEL_FEATURES_append_pn-linux-yocto = " features/nfsd/nfsd-enable.scc"

View File

@@ -3,7 +3,7 @@
# See sanity.bbclass
#
# Expert users can confirm their sanity with "touch conf/sanity.conf"
BB_MIN_VERSION = "1.47.0"
BB_MIN_VERSION = "1.49.1"
SANITY_ABIFILE = "${TMPDIR}/abi_version"

View File

@@ -0,0 +1,7 @@
insert GPL v3 text here
Bison Exception
As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn`t itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception.
This special exception was added by the Free Software Foundation in version 2.2 of Bison.

60
meta/lib/oe/cve_check.py Normal file
View File

@@ -0,0 +1,60 @@
import collections
import re
import itertools
import functools
_Version = collections.namedtuple(
"_Version", ["release", "patch_l", "pre_l", "pre_v"]
)
@functools.total_ordering
class Version():
def __init__(self, version, suffix=None):
if str(suffix) == "alphabetical":
version_pattern = r"""r?v?(?:(?P<release>[0-9]+(?:[-\.][0-9]+)*)(?P<patch>[-_\.]?(?P<patch_l>[a-z]))?(?P<pre>[-_\.]?(?P<pre_l>(rc|alpha|beta|pre|preview|dev))[-_\.]?(?P<pre_v>[0-9]+)?)?)(.*)?"""
else:
version_pattern = r"""r?v?(?:(?P<release>[0-9]+(?:[-\.][0-9]+)*)(?P<pre>[-_\.]?(?P<pre_l>(rc|alpha|beta|pre|preview|dev))[-_\.]?(?P<pre_v>[0-9]+)?)?)(.*)?"""
regex = re.compile(r"^\s*" + version_pattern + r"\s*$", re.VERBOSE | re.IGNORECASE)
match = regex.search(version)
if not match:
raise Exception("Invalid version: '{0}'".format(version))
self._version = _Version(
release=tuple(int(i) for i in match.group("release").replace("-",".").split(".")),
patch_l=match.group("patch_l") if str(suffix) == "alphabetical" and match.group("patch_l") else "",
pre_l=match.group("pre_l"),
pre_v=match.group("pre_v")
)
self._key = _cmpkey(
self._version.release,
self._version.patch_l,
self._version.pre_l,
self._version.pre_v
)
def __eq__(self, other):
if not isinstance(other, Version):
return NotImplemented
return self._key == other._key
def __gt__(self, other):
if not isinstance(other, Version):
return NotImplemented
return self._key > other._key
def _cmpkey(release, patch_l, pre_l, pre_v):
# remove leading 0
_release = tuple(
reversed(list(itertools.dropwhile(lambda x: x == 0, reversed(release))))
)
_patch = patch_l.upper()
if pre_l is None and pre_v is None:
_pre = float('inf')
else:
_pre = float(pre_v) if pre_v else float('-inf')
return _release, _patch, _pre

View File

@@ -328,7 +328,11 @@ class PackageManager(object, metaclass=ABCMeta):
try:
bb.note("Installing globbed packages...")
cmd = ["oe-pkgdata-util", "-p", pkgdatadir, "list-pkgs", globs]
pkgs = subprocess.check_output(cmd, stderr=subprocess.STDOUT).decode("utf-8")
bb.note('Running %s' % cmd)
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = proc.communicate()
if stderr: bb.note(stderr.decode("utf-8"))
pkgs = stdout.decode("utf-8")
self.install(pkgs.split(), attempt_only=True)
except subprocess.CalledProcessError as e:
# Return code 1 means no packages matched
@@ -384,7 +388,10 @@ class PackageManager(object, metaclass=ABCMeta):
cmd.extend(['--exclude=' + '|'.join(exclude.split())])
try:
bb.note('Running %s' % cmd)
complementary_pkgs = subprocess.check_output(cmd, stderr=subprocess.STDOUT).decode("utf-8")
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
stdout, stderr = proc.communicate()
if stderr: bb.note(stderr.decode("utf-8"))
complementary_pkgs = stdout.decode("utf-8")
complementary_pkgs = set(complementary_pkgs.split())
skip_pkgs = sorted(complementary_pkgs & provided_pkgs)
install_pkgs = sorted(complementary_pkgs - provided_pkgs)

View File

@@ -33,6 +33,9 @@ class RpmIndexer(Indexer):
class RpmSubdirIndexer(RpmIndexer):
def write_index(self):
bb.note("Generating package index for %s" %(self.deploy_dir))
# Remove the existing repodata to ensure that we re-generate it no matter what
bb.utils.remove(os.path.join(self.deploy_dir, "repodata"), recurse=True)
self.do_write_index(self.deploy_dir)
for entry in os.walk(self.deploy_dir):
if os.path.samefile(self.deploy_dir, entry[0]):

View File

@@ -38,15 +38,19 @@ def runcmd(args, dir = None):
args = [ pipes.quote(str(arg)) for arg in args ]
cmd = " ".join(args)
# print("cmd: %s" % cmd)
(exitstatus, output) = subprocess.getstatusoutput(cmd)
proc = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True)
stdout, stderr = proc.communicate()
stdout = stdout.decode('utf-8')
stderr = stderr.decode('utf-8')
exitstatus = proc.returncode
if exitstatus != 0:
raise CmdError(cmd, exitstatus >> 8, output)
if " fuzz " in output and "Hunk " in output:
raise CmdError(cmd, exitstatus >> 8, "stdout: %s\nstderr: %s" % (stdout, stderr))
if " fuzz " in stdout and "Hunk " in stdout:
# Drop patch fuzz info with header and footer to log file so
# insane.bbclass can handle to throw error/warning
bb.note("--- Patch fuzz start ---\n%s\n--- Patch fuzz end ---" % format(output))
bb.note("--- Patch fuzz start ---\n%s\n--- Patch fuzz end ---" % format(stdout))
return output
return stdout
finally:
if dir:
@@ -512,7 +516,7 @@ class GitApplyTree(PatchTree):
try:
shellcmd = [patchfilevar, "git", "--work-tree=%s" % reporoot]
self.gitCommandUserOptions(shellcmd, self.commituser, self.commitemail)
shellcmd += ["am", "-3", "--keep-cr", "-p%s" % patch['strippath']]
shellcmd += ["am", "-3", "--keep-cr", "--no-scissors", "-p%s" % patch['strippath']]
return _applypatchhelper(shellcmd, patch, force, reverse, run)
except CmdError:
# Need to abort the git am, or we'll still be within it at the end

View File

@@ -552,9 +552,11 @@ def OEOuthashBasic(path, sigfile, task, d):
try:
update_hash(" %10s" % pwd.getpwuid(s.st_uid).pw_name)
update_hash(" %10s" % grp.getgrgid(s.st_gid).gr_name)
except KeyError:
except KeyError as e:
bb.warn("KeyError in %s" % path)
raise
msg = ("KeyError: %s\nPath %s is owned by uid %d, gid %d, which doesn't match "
"any user/group on target. This may be due to host contamination." % (e, path, s.st_uid, s.st_gid))
raise Exception(msg).with_traceback(e.__traceback__)
if include_timestamps:
update_hash(" %10d" % s.st_mtime)

View File

@@ -185,7 +185,7 @@ class Custom(Terminal):
Terminal.__init__(self, sh_cmd, title, env, d)
logger.warning('Custom terminal was started.')
else:
logger.debug(1, 'No custom terminal (OE_TERMINAL_CUSTOMCMD) set')
logger.debug('No custom terminal (OE_TERMINAL_CUSTOMCMD) set')
raise UnsupportedTerminal('OE_TERMINAL_CUSTOMCMD not set')
@@ -216,7 +216,7 @@ def spawn_preferred(sh_cmd, title=None, env=None, d=None):
def spawn(name, sh_cmd, title=None, env=None, d=None):
"""Spawn the specified terminal, by name"""
logger.debug(1, 'Attempting to spawn terminal "%s"', name)
logger.debug('Attempting to spawn terminal "%s"', name)
try:
terminal = Registry.registry[name]
except KeyError:

View File

@@ -0,0 +1,36 @@
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.data import skipIfQemu
class Ethernet_Test(OERuntimeTestCase):
def set_ip(self, x):
x = x.split(".")
sample_host_address = '150'
x[3] = sample_host_address
x = '.'.join(x)
return x
@skipIfQemu('qemuall', 'Test only runs on real hardware')
@OETestDepends(['ssh.SSHTest.test_ssh'])
def test_set_virtual_ip(self):
(status, output) = self.target.run("ifconfig eth0 | grep 'inet ' | awk '{print $2}'")
self.assertEqual(status, 0, msg='Failed to get ip address. Make sure you have an ethernet connection on your device, output: %s' % output)
original_ip = output
virtual_ip = self.set_ip(original_ip)
(status, output) = self.target.run("ifconfig eth0:1 %s netmask 255.255.255.0 && sleep 2 && ping -c 5 %s && ifconfig eth0:1 down" % (virtual_ip,virtual_ip))
self.assertEqual(status, 0, msg='Failed to create virtual ip address, output: %s' % output)
@OETestDepends(['ethernet_ip_connman.Ethernet_Test.test_set_virtual_ip'])
def test_get_ip_from_dhcp(self):
(status, output) = self.target.run("connmanctl services | grep -E '*AO Wired|*AR Wired' | awk '{print $3}'")
self.assertEqual(status, 0, msg='No wired interfaces are detected, output: %s' % output)
wired_interfaces = output
(status, output) = self.target.run("ip route | grep default | awk '{print $3}'")
self.assertEqual(status, 0, msg='Failed to retrieve the default gateway, output: %s' % output)
default_gateway = output
(status, output) = self.target.run("connmanctl config %s --ipv4 dhcp && sleep 2 && ping -c 5 %s" % (wired_interfaces,default_gateway))
self.assertEqual(status, 0, msg='Failed to get dynamic IP address via DHCP in connmand, output: %s' % output)

View File

@@ -0,0 +1,22 @@
from oeqa.runtime.case import OERuntimeTestCase
from oeqa.core.decorator.depends import OETestDepends
from oeqa.core.decorator.data import skipIfQemu
from oeqa.runtime.decorator.package import OEHasPackage
class USB_HID_Test(OERuntimeTestCase):
def keyboard_mouse_simulation(self):
(status, output) = self.target.run('export DISPLAY=:0 && xdotool key F2 && xdotool mousemove 100 100')
return self.assertEqual(status, 0, msg = 'Failed to simulate keyboard/mouse input event, output : %s' % output)
def set_suspend(self):
(status, output) = self.target.run('sudo rtcwake -m mem -s 10')
return self.assertEqual(status, 0, msg = 'Failed to suspends your system to RAM, output : %s' % output)
@OEHasPackage(['xdotool'])
@skipIfQemu('qemuall', 'Test only runs on real hardware')
@OETestDepends(['ssh.SSHTest.test_ssh'])
def test_USB_Hid_input(self):
self.keyboard_mouse_simulation()
self.set_suspend()
self.keyboard_mouse_simulation()

View File

@@ -0,0 +1,36 @@
from oe.cve_check import Version
from oeqa.selftest.case import OESelftestTestCase
class CVECheck(OESelftestTestCase):
def test_version_compare(self):
result = Version("100") > Version("99")
self.assertTrue( result, msg="Failed to compare version '100' > '99'")
result = Version("2.3.1") > Version("2.2.3")
self.assertTrue( result, msg="Failed to compare version '2.3.1' > '2.2.3'")
result = Version("2021-01-21") > Version("2020-12-25")
self.assertTrue( result, msg="Failed to compare version '2021-01-21' > '2020-12-25'")
result = Version("1.2-20200910") < Version("1.2-20200920")
self.assertTrue( result, msg="Failed to compare version '1.2-20200910' < '1.2-20200920'")
result = Version("1.0") >= Version("1.0beta")
self.assertTrue( result, msg="Failed to compare version '1.0' >= '1.0beta'")
result = Version("1.0-rc2") > Version("1.0-rc1")
self.assertTrue( result, msg="Failed to compare version '1.0-rc2' > '1.0-rc1'")
result = Version("1.0.alpha1") < Version("1.0")
self.assertTrue( result, msg="Failed to compare version '1.0.alpha1' < '1.0'")
result = Version("1.0_dev") <= Version("1.0")
self.assertTrue( result, msg="Failed to compare version '1.0_dev' <= '1.0'")
# ignore "p1" and "p2", so these should be equal
result = Version("1.0p2") == Version("1.0p1")
self.assertTrue( result ,msg="Failed to compare version '1.0p2' to '1.0p1'")
# ignore the "b" and "r"
result = Version("1.0b") == Version("1.0r")
self.assertTrue( result ,msg="Failed to compare version '1.0b' to '1.0r'")
# consider the trailing alphabet as patched level when comparing
result = Version("1.0b","alphabetical") < Version("1.0r","alphabetical")
self.assertTrue( result ,msg="Failed to compare version with suffix '1.0b' < '1.0r'")
result = Version("1.0b","alphabetical") > Version("1.0","alphabetical")
self.assertTrue( result ,msg="Failed to compare version with suffix '1.0b' > '1.0'")

View File

@@ -697,7 +697,44 @@ class DevtoolModifyTests(DevtoolBase):
self.assertTrue(bbclassextended, 'None of these recipes are BBCLASSEXTENDed to native - need to adjust testrecipes list: %s' % ', '.join(testrecipes))
self.assertTrue(inheritnative, 'None of these recipes do "inherit native" - need to adjust testrecipes list: %s' % ', '.join(testrecipes))
def test_devtool_modify_localfiles_only(self):
# Check preconditions
testrecipe = 'base-files'
src_uri = (get_bb_var('SRC_URI', testrecipe) or '').split()
foundlocalonly = False
correct_symlink = False
for item in src_uri:
if item.startswith('file://'):
if '.patch' not in item:
foundlocalonly = True
else:
foundlocalonly = False
break
self.assertTrue(foundlocalonly, 'This test expects the %s recipe to fetch local files only and it seems that it no longer does' % testrecipe)
# Clean up anything in the workdir/sysroot/sstate cache
bitbake('%s -c cleansstate' % testrecipe)
# Try modifying a recipe
tempdir = tempfile.mkdtemp(prefix='devtoolqa')
self.track_for_cleanup(tempdir)
self.track_for_cleanup(self.workspacedir)
self.add_command_to_tearDown('bitbake -c clean %s' % testrecipe)
self.add_command_to_tearDown('bitbake-layers remove-layer */workspace')
result = runCmd('devtool modify %s -x %s' % (testrecipe, tempdir))
srcfile = os.path.join(tempdir, 'oe-local-files/share/dot.bashrc')
srclink = os.path.join(tempdir, 'share/dot.bashrc')
self.assertExists(srcfile, 'Extracted source could not be found')
if os.path.islink(srclink) and os.path.exists(srclink) and os.path.samefile(srcfile, srclink):
correct_symlink = True
self.assertTrue(correct_symlink, 'Source symlink to oe-local-files is broken')
matches = glob.glob(os.path.join(self.workspacedir, 'appends', '%s_*.bbappend' % testrecipe))
self.assertTrue(matches, 'bbappend not created')
# Test devtool status
result = runCmd('devtool status')
self.assertIn(testrecipe, result.output)
self.assertIn(tempdir, result.output)
# Try building
bitbake(testrecipe)
def test_devtool_modify_git(self):
# Check preconditions

View File

@@ -65,7 +65,6 @@ exclude_packages = [
'quilt-ptest',
'rsync',
'ruby',
'spirv-tools-dev',
'swig',
'syslinux-misc',
'systemd-bootchart',

View File

@@ -100,9 +100,11 @@ class TinfoilTests(OESelftestTestCase):
eventreceived = False
commandcomplete = False
start = time.time()
# Wait for 10s in total so we'd detect spurious heartbeat events for example
# Wait for maximum 60s in total so we'd detect spurious heartbeat events for example
# The test is IO load sensitive too
while time.time() - start < 10:
while (not (eventreceived == True and commandcomplete == True)
and (time.time() - start < 60)):
# if we received both events (on let's say a good day), we are done
event = tinfoil.wait_event(1)
if event:
if isinstance(event, bb.command.CommandCompleted):

View File

@@ -318,6 +318,7 @@ class Wic(WicTestCase):
"--image-name=core-image-minimal "
"-D -o %s" % self.resultdir)
self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct")))
self.assertEqual(1, len(glob(self.resultdir + "tmp.wic*")))
def test_debug_long(self):
"""Test --debug option"""
@@ -325,6 +326,7 @@ class Wic(WicTestCase):
"--image-name=core-image-minimal "
"--debug -o %s" % self.resultdir)
self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct")))
self.assertEqual(1, len(glob(self.resultdir + "tmp.wic*")))
def test_skip_build_check_short(self):
"""Test -s option"""
@@ -588,6 +590,9 @@ part / --source rootfs --fstype=ext4 --include-path %s --include-path core-imag
def test_permissions(self):
"""Test permissions are respected"""
# prepare wicenv and rootfs
bitbake('core-image-minimal core-image-minimal-mtdutils -c do_rootfs_wicenv')
oldpath = os.environ['PATH']
os.environ['PATH'] = get_bb_var("PATH", "wic-tools")
@@ -621,6 +626,19 @@ part /etc --source rootfs --fstype=ext4 --change-directory=etc
res = runCmd("debugfs -R 'ls -p' %s 2>/dev/null" % (part))
self.assertEqual(True, files_own_by_root(res.output))
config = 'IMAGE_FSTYPES += "wic"\nWKS_FILE = "%s"\n' % wks_file
self.append_config(config)
bitbake('core-image-minimal')
tmpdir = os.path.join(get_bb_var('WORKDIR', 'core-image-minimal'),'build-wic')
# check each partition for permission
for part in glob(os.path.join(tmpdir, 'temp-*.direct.p*')):
res = runCmd("debugfs -R 'ls -p' %s 2>/dev/null" % (part))
self.assertTrue(files_own_by_root(res.output)
,msg='Files permission incorrect using wks set "%s"' % test)
# clean config and result directory for next cases
self.remove_config(config)
rmtree(self.resultdir, ignore_errors=True)
finally:

View File

@@ -43,28 +43,12 @@ def make_logger_bitbake_compatible(logger):
import logging
"""
Bitbake logger redifines debug() in order to
set a level within debug, this breaks compatibility
with vainilla logging, so we neeed to redifine debug()
method again also add info() method with INFO + 1 level.
We need to raise the log level of the info output so unittest
messages are visible on the console.
"""
def _bitbake_log_debug(*args, **kwargs):
lvl = logging.DEBUG
if isinstance(args[0], int):
lvl = args[0]
msg = args[1]
args = args[2:]
else:
msg = args[0]
args = args[1:]
logger.log(lvl, msg, *args, **kwargs)
def _bitbake_log_info(msg, *args, **kwargs):
logger.log(logging.INFO + 1, msg, *args, **kwargs)
logger.debug = _bitbake_log_debug
logger.info = _bitbake_log_info
return logger

View File

@@ -117,7 +117,7 @@ def extract_packages(d, needed_packages):
extract = package.get('extract', True)
if extract:
#logger.debug(1, 'Extracting %s' % pkg)
#logger.debug('Extracting %s' % pkg)
dst_dir = os.path.join(extracted_path, pkg)
# Same package used for more than one test,
# don't need to extract again.
@@ -130,7 +130,7 @@ def extract_packages(d, needed_packages):
shutil.rmtree(pkg_dir)
else:
#logger.debug(1, 'Copying %s' % pkg)
#logger.debug('Copying %s' % pkg)
_copy_package(d, pkg)
def _extract_in_tmpdir(d, pkg):

View File

@@ -0,0 +1,47 @@
From 6643507ce30f775008e093580f0c9499dfb2c485 Mon Sep 17 00:00:00 2001
From: Simon Hardy <simon.hardy@itdev.co.uk>
Date: Tue, 24 Mar 2020 13:29:12 +0000
Subject: build: Fix GRUB i386-pc build with Ubuntu gcc
With recent versions of gcc on Ubuntu a very large lzma_decompress.img file is
output. (e.g. 134479600 bytes instead of 2864.) This causes grub-mkimage to
fail with: "error: Decompressor is too big."
This seems to be caused by a section .note.gnu.property that is placed at an
offset such that objcopy needs to pad the img file with zeros.
This issue is present on:
Ubuntu 19.10 with gcc (Ubuntu 8.3.0-26ubuntu1~19.10) 8.3.0
Ubuntu 19.10 with gcc (Ubuntu 9.2.1-9ubuntu2) 9.2.1 20191008
This issue is not present on:
Ubuntu 19.10 with gcc (Ubuntu 7.5.0-3ubuntu1~19.10) 7.5.0
RHEL 8.0 with gcc 8.3.1 20190507 (Red Hat 8.3.1-4)
The issue can be fixed by removing the section using objcopy as shown in
this patch.
Signed-off-by: Simon Hardy <simon.hardy@itdev.co.uk>
Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
---
gentpl.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Upstream-Status: Backport
diff --git a/gentpl.py b/gentpl.py
index 387588c05..c86550d4f 100644
--- a/gentpl.py
+++ b/gentpl.py
@@ -766,7 +766,7 @@ def image(defn, platform):
if test x$(TARGET_APPLE_LINKER) = x1; then \
$(MACHO2IMG) $< $@; \
else \
- $(TARGET_OBJCOPY) $(""" + cname(defn) + """_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .ARM.exidx $< $@; \
+ $(TARGET_OBJCOPY) $(""" + cname(defn) + """_OBJCOPYFLAGS) --strip-unneeded -R .note -R .comment -R .note.gnu.build-id -R .MIPS.abiflags -R .reginfo -R .rel.dyn -R .note.gnu.gold-version -R .note.gnu.property -R .ARM.exidx $< $@; \
fi
""")
--
cgit v1.2.1

View File

@@ -27,6 +27,7 @@ SRC_URI = "${GNU_MIRROR}/grub/grub-${PV}.tar.gz \
file://script-Remove-unused-fields-from-grub_script_functio.patch \
file://CVE-2020-15706-script-Avoid-a-use-after-free-when-redefining-a-func.patch \
file://CVE-2020-15707-linux-Fix-integer-overflows-in-initrd-size-handling.patch \
file://6643507ce30f775008e093580f0c9499dfb2c485.patch \
file://determinism.patch \
"
SRC_URI[md5sum] = "5ce674ca6b2612d8939b9e6abed32934"

View File

@@ -7,7 +7,7 @@ require opensbi-payloads.inc
inherit autotools-brokensep deploy
SRCREV = "a98258d0b537a295f517bbc8d813007336731fa9"
SRCREV = "234ed8e427f4d92903123199f6590d144e0d9351"
SRC_URI = "git://github.com/riscv/opensbi.git;branch=master \
file://0001-Makefile-Don-t-specify-mabi-or-march.patch \
"

View File

@@ -12,7 +12,7 @@ PE = "1"
# We use the revision in order to avoid having to fetch it from the
# repo during parse
SRCREV = "050acee119b3757fee3bd128f55d720fdd9bb890"
SRCREV = "c4fddedc48f336eabc4ce3f74940e6aa372de18c"
SRC_URI = "git://git.denx.de/u-boot.git \
"

View File

@@ -1,5 +0,0 @@
require u-boot-common.inc
require u-boot.inc
DEPENDS += "bc-native dtc-native"

View File

@@ -0,0 +1,4 @@
require u-boot-common.inc
require u-boot.inc
DEPENDS += "bc-native dtc-native python3-setuptools-native"

Some files were not shown because too many files have changed in this diff Show More