Compare commits

...

196 Commits

Author SHA1 Message Date
Richard Purdie
6f02caa399 build-appliance-image: Update to master head revision
(From OE-Core rev: 61d80b07bcfa4adf5f1feb2904fec0a8d09c89f6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-15 22:48:55 +00:00
Richard Purdie
1adc7478a0 layer.conf: Allow compatibility with zeus for now
(From OE-Core rev: 1970c5f7838ff10cd6243e1624553bdc46e89fad)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-15 22:48:49 +00:00
Richard Purdie
3ac7f95ecf build-appliance-image: Update to master head revision
(From OE-Core rev: ebe7767d8a1f2d41bad126e7bafe3a33a6165333)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-15 22:27:25 +00:00
Richard Purdie
4cf541859d layer.conf: Update to new dunfell release name
(From meta-yocto rev: a1ae7e14edd36007adf027e21711f016e0f25658)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-15 22:24:43 +00:00
Richard Purdie
a6092298c8 layer.conf: Update to LAYERSERIES_CORENAME to dunfell
Update the layer core name to the new release name.

(From OE-Core rev: 090bb3b44ba0cc01c29942c00d43e910d1ff735e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-15 22:23:19 +00:00
Richard Purdie
9194c6c249 scripts/pybootchartgui: Fix to work with python 3.8
time.clock() was removed in python 3.8, use one of its recommended replacements
to fix failures on python 3.8 systems.

(From OE-Core rev: f1d4ecce7d3968c5e08c268e3329041d4b647cf6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-15 22:23:19 +00:00
Jeremy Puhlman
0bd1b2aaf8 ltp: make multilib installable.
Many of ltp's tests are of syscalls and libc content. Enable installing
mulitpule abi's.

Use prefix consistently rather then hardcoded /opt/ltp everywhere.

(From OE-Core rev: 66809f9257d667a0a0814f5c6d804f93cd4ad6e1)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-15 22:23:19 +00:00
Jan Kaisrlik
670e85a4a0 musl: removes aliases for glibc provided libraries
Based on the recommendation in musl mailing list[1] All symlinks have
been removed from musl recipe.

Move stub libraries into -dev package
having them treated as normal .a which they are not, is not correct and
packages shoves them into static archives, which are not installed on
target usually unless asked for

this should help in linking with -lm, -lpthread etc. on target

[1]: https://www.openwall.com/lists/musl/2020/03/10/11

(From OE-Core rev: 8d068bd3adec64d451cf9cd4ae6b0803a7152463)

Signed-off-by: Jan Kaisrlik <ja.kaisrlik@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-15 22:23:19 +00:00
Anders Wallin
6a999ec1b5 babeltrace2: updated to 2.0.2
(From OE-Core rev: b1ae2178fa188b2864280f2c3a9ba443e042cae0)

Signed-off-by: Anders Wallin <wallinux@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 23:00:26 +00:00
Trevor Gamblin
1e647ab5a9 python: upgrade 3.8.1 -> 3.8.2
THE LICENSE checksum changed in this update due to copyright notice
added for 2020.

(From OE-Core rev: 3513721b5dd660c7e6a8038b89ca17f1b76f7f9b)

Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 23:00:26 +00:00
Stefan Eichenberger
cf2ea6cc27 initramfs-framework: fix boothang when console=null
If console=null systemd-udevd throws an assertion which prevents the
system from booting. This patch redirects stdin, stdout and stderr to
/dev/null in case that the console can't be opened so that udevd still
boots.

A systemd issue was reported here. However, they will not fix this
specific use-case:
https://github.com/systemd/systemd/issues/13332

(From OE-Core rev: dd6ee0b06cd8df6204cf600050516d15172302ea)

Signed-off-by: Stefan Eichenberger <stefan.eichenberger@toradex.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 23:00:26 +00:00
Anuj Mittal
b353a8069b binutils: fix CVE-2020-0551
(From OE-Core rev: 287123a9562e08cd97a4ebfd380508432654324b)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 23:00:26 +00:00
Anuj Mittal
bed169a07b bluez: fix CVE-2020-0556
It was discovered that BlueZ's HID and HOGP profiles implementations
don't specifically require bonding between the device and the host.

This creates an opportunity for an malicious device to connect to a
target host to either impersonate an existing HID device without
security or to cause an SDP or GATT service discovery to take place
which would allow HID reports to be injected to the input subsystem from
a non-bonded source.

(From OE-Core rev: d598f8eee0741148416e8660e10c716654205cb5)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 23:00:26 +00:00
Khem Raj
901a93885f gcc: Upgrade to 9.3 bugfix release
This brings ~157 bugfixes [1] to gcc-9 with no features
Drop backports which are already part of the release now

[1] https://gcc.gnu.org/bugzilla/buglist.cgi?bug_status=RESOLVED&list_id=260610&resolution=FIXED&target_milestone=9.3

(From OE-Core rev: caf80e4e245132bdc3bbe219b567013f2c5d2f46)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 13:35:16 +00:00
Khem Raj
350979b278 oeqa/qemuarm64: Ignore logind: failed to get session seat
When booting weston images this error is seen commonly, but Qemu boots
the image fine, session seat error is thrown by libweston perhaps using
--seat option or setting XDG_SEAT variable in weston.ini could fix it

[YOCTO #13828]

(From OE-Core rev: 1f9d36722132c93c19651ea59062b3d5be01bb72)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 11:32:10 +00:00
Andreas Müller
d5ebb8e7ec libsdl2: upgrade 2.0.10 -> 2.0.12
* checked all hunks: backported patches can go
* for machines with neon in TUNE_FEATURES enable new configure option
  --enable-arm-neon. If enabled, license must be extended to MIT
* license checksum changed by copyright year

(From OE-Core rev: aaa1c3ee0fe782fb08a58f100bc04686824de815)

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 11:32:10 +00:00
Khem Raj
ce000c5270 weston-init: Launch weston with WESTON_DISABLE_ATOMIC on musl/x86
Since we enabled drm/kms backend for qemux86, it does not work with musl
fdbdev worked ok, we see this error

[18:58:45.628] launching '/usr/libexec/weston-desktop-shell'
[18:58:45.737] atomic: couldn't commit new state: Invalid argument
[18:58:45.737] repaint-flush failed: Invalid argument

There seems to be some problem with atomics in libdrm, until that gets
diagnosed, simple solution is to not use it on musl when drm backend is used
thats why WESTON_DISABLE_ATOMIC=Y is set in environment file for such
cases

(From OE-Core rev: e571ef707d76cf3aceb0d56fd588b37f9b5092ff)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 11:32:10 +00:00
jan
7e9fdd755d scritpts/tiny/ksize: Cleanup some python2 leftover in ksize.py
Although the script was running with Python3, almost no detailed
output was generated.

(From OE-Core rev: bd17a7e60264bb40df340fa38c425a7d7372516e)

Signed-off-by: Jan Vermaete <jan.vermaete@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 11:32:10 +00:00
Richard Purdie
ca5b3b4d1c bitbake: tinfoil: Update to match recent knotty console changes
This updates tinfoil to match recent changes to the logging code
in knotty.

(Bitbake rev: e67dfa4a4d0d63e4752655f25367582e5a95f1da)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 11:29:23 +00:00
Joshua Watt
bf7d68c812 bitbake: knotty/msg: Use logging.shutdown() instead of bb.msg.cleanupLogging()
The logging module provides a shutdown() function that does the same
thing in a much better way

(Bitbake rev: 970cd2fc4f0bbc93069dee5a15a608dd76081c67)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 11:29:23 +00:00
Joshua Watt
5ce50b3ce7 bitbake: knotty: Treat verbconsole as a console output
The BitBake.verbconsole needs to be treated like a console output logger
(meaning that the TerminalFilter attaches an InteractConsoleLogFilter to
it), even if it's not directly attached to the root 'BitBake' logger.
First, assign a special "is_console" property to the relevant handlers,
then look for the property in the handlers from the configuration object
return by bb.msg.setLoggingConfig(). Finally, pass the list of all
handlers to the TerminalFilter object; it doesn't care about the
difference between console and errconsole, so pass all the relevant
handlers as a list.

This fixes cases where the console output was corrupted when messages
were sent to the 'BitBake.verbconsole' handler.

(Bitbake rev: 2010be588c74a99256df7b565a309c84c2973546)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 11:29:23 +00:00
Joshua Watt
0dd9e5a84d bitbake: msg: Return config object
Returns the configuration object from setLoggingConfig(). This object
has a config dictionary that contains all of the created handlers,
filters and loggers, which makes it much easier to pull out items with
specific names.

(Bitbake rev: 93c98a85cb10d3795b3cebc9cd97214d0f4748e5)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 11:29:23 +00:00
Joshua Watt
b2d55ec1eb bitbake: knotty: Update hash equivalence logging
Updates hash equivalence logging so that the interesting VERBOSE
messages are always logged to the consolelog file so that issues in
individual user builds can be diagnosed. The autobuilder logging config
then updates this so that they also are shown on stdout, since the
consolelog file is not capture there.

In order to facilitate this, 2 new logging handlers were added,
"BitBake.verbconsole" and "BitBake.verbconsolelog". Neither of these
handlers are attached to anything by default, but they will log any
messages that wouldn't otherwise be logged by the normal console or
consolelog handlers. Users can attach whatever loggers the desire to
this handler to get them to appear on the console or in the consolelog,
as demonstrated by the autobuilderlog.json file.

(Bitbake rev: 766587c0baaaeb5cda3e9454395edbb70e33f756)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 11:29:23 +00:00
Joshua Watt
25944b8259 bitbake: contrib: Add autobuilder logging configuration
Adds a configuration file that the autobuilder can use to capture
interesting logging domains above the ones that show up for normal users
on stdout/stderr.

(Bitbake rev: 2259b5172b37442a4e0420a16a7bde9e21ffa086)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 11:29:23 +00:00
Joshua Watt
5766cf50b0 bitbake: runqueue: Lower setscene complete logging level
Lowers the level of the log message when setscene tasks have completed.
This message can occur multiple times when hash equivalence is enabled,
since the runqueue switches between executing setscene tasks and normal
tasks. Since this is primarily of use when debugging hash equivalence,
use the hash equivalence logger at VERBOSE level.

[YOCTO #13813]

(Bitbake rev: 7dd5b3900622008ff34ec70d71c6e994f460a46f)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 11:29:23 +00:00
Joshua Watt
361ea84d56 bitbake: msg: Add helper to merge logging configs
Adds a function that can be used by UI front ends to merge logging
configuration fragments.

(Bitbake rev: e860d93b76c142fdae90226bc68e4fe6e7b6a9db)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 11:29:23 +00:00
Joshua Watt
c8b2694cd4 bitbake: knotty: Add logging cleanup
Adds code to close all loggers when bitbake exits. This prevents
unclosed file ResourceWarnings. A form of this closing existed
previously, but was removed in the new logging code.

(Bitbake rev: b3f3779adf63c0d970462a558a6205da1d30c0ed)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 11:29:23 +00:00
Joshua Watt
03e35419af bitbake: bitbake-user-manual: Add documentation for BB_LOGCONFIG
Adds documentation describing how to use the BB_LOGCONFIG variable to
enable custom logging.

(Bitbake rev: e22565968828c86983162e67f52ebb106242ca76)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 11:29:23 +00:00
Joshua Watt
622ec78f7e bitbake: runqueue/siggen: Lower hash equivalence logging
Lowers the level at which hash equivalence messages are logged so as to
not annoy the majority of users. The autobuilder can use a custom
logging configuration to log these to a file for debugging (see
contrib/autobuilderlog.json)

[YOCTO #13813]

(Bitbake rev: 2ddb649ea31afe052f08e3969e36abf6fb515bc2)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 11:29:23 +00:00
Joshua Watt
554894287e bitbake: runqueue/siggen: Log hash equivalence with a different logger
Switches the hash equivalence logging to use a different logger so that
it can be easily filtered out with python's structured logging.

(Bitbake rev: 20bb29ef973e9c5483eb50a74550ea207637367b)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 11:29:23 +00:00
Joshua Watt
64e7ee4376 bitbake: bitbake-worker: Remove unnecessary addDefaultLogFilter
Adding the default log filter here is unnecessary because there are no
defined logging domains when it is called, which means it does no actual
filtering.

(Bitbake rev: dcdb8f2c14f09ce34d0a1facc33a441570912c05)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 11:29:23 +00:00
Joshua Watt
1c9874b9f3 bitbake: knotty: Setup logs with config helper
Sets up logging in knotty to use python's structured logging config and
the bb.msg.setLoggingConfig() helper to setup logging. This allows the
user to specify additional logging mechanism in a config file with
BB_LOGCONFIG

(Bitbake rev: 646a68a49364b50a42168b4b16308f7217eec0dc)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 11:29:23 +00:00
Joshua Watt
300fd2a659 bitbake: knotty: Remove dependency on format variable
Passing around the log formatter variable was unnecessary since the log
levels of interest can be accesses as class members of
bb.msg.BBLogFormatter. Switching to do this will make using the
structured python logging much easier, since it can be difficult to
extract out the formatter for a specific handler.

(Bitbake rev: c1c867df24b4ef204027d485acac7c75c63f2bc0)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 11:29:23 +00:00
Joshua Watt
6b9eacb404 bitbake: lib/bb/msg: Add helper to set logging config
Adds a helper function to setup the structure logging information in
bitbake. The helper function takes a default configuration and an
optional path to a user config file that can be merged into the default.

(Bitbake rev: 14c98d36b74c1599b4649078170b6e72df79ba2a)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 11:29:23 +00:00
Joshua Watt
143685de1b bitbake: lib/bb/msg: Remove unused filters
Now that the filter are described using the python logging structure,
these classes are no longer needed.

(Bitbake rev: 2cb16e0c61609f3fb8a86530ddedf8ad0e69428e)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 11:29:23 +00:00
Joshua Watt
9030edf4af bitbake: lib/bb/msg: Add filter utilities
Adds generic filter utilities that can be used to filter when the log
level is greater than or equal to a defined value, or below a defined
value, as well as a generic function to translate a string to a logging
level (or bitbake logging level)

(Bitbake rev: 8ebe8a7662200fad9b88be8b08376262a61c85c4)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 11:29:23 +00:00
Joshua Watt
ae6e0e0a51 bitbake: knotty: Add commented logging_tree code
Adds a comment section that can be easily uncommented to enable dumping
the logging tree. This module is extremely useful for debugging issued
with logging configuration

(Bitbake rev: 30461310915f911b80f92e03df694af7c1eb1f46)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 11:29:23 +00:00
Joshua Watt
4bbd4dc6b5 bitbake: lib/bb/msg: Add repr for BBLogFormatter
Adds a __repr__ function for BBLogFormatter. This allows it to get a
human readable string when printed using the logging_tree module

(Bitbake rev: 5ff962dca71f4ef16a3aa11b41a23f2227fe8c21)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 11:29:23 +00:00
Joshua Watt
4c9a412999 bitbake: lib/bb/msg: Use log level instead of debug count
Passes around the actual logging level as the default log level variable
instead of the debug count. This makes it easier to deal with logging
levels since the conversion from debug count and verbose flag only has
to occur once when logging is initialized and after that actual log
levels can be used

(Bitbake rev: 41bd155faf7f65cb0727fcce972715769b26ca89)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 11:29:23 +00:00
Joshua Watt
77fbe09245 bitbake: knotty: Handle logging messages with specific logger
Handles the log messages from the bitbake server with the specific
logger that the event originated from. This allows hierarchical logging
configurations to work as expected.

(Bitbake rev: 9624d42133e024fd044d0d089c7017ed53eed874)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 11:29:23 +00:00
Joshua Watt
26473bfbea bitbake: lib/bb/msg: Convert default domains to a dictionary
Converts the default domain variable to a dictionary where the keys are
the logging domains and the values are the logging level (instead of the
debug count). This makes it easier to deal with the logging domains and
the awkward conversion from a list to a dictionary only needs to be done
once when logging is initialized. Finally, other code has been written
that already assumes this variable is a dictionary, see:

f04cd93109 ("bitbake: lib/bb: Optimise out debug messages from cooker")

(Bitbake rev: f32a8bc7ff7a0b0750b6934a96f5d48391b1383a)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-13 11:29:23 +00:00
Richard Purdie
954b5258f1 coreutils: Add extra hint about DEPENDS changes affect on -dev dependencies
Add an extra comment about the implications of changing DEPENDS.

(From OE-Core rev: ce20c915019d350bf9663b2f27eccf3cef2e29fc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-12 22:53:40 +00:00
Richard Purdie
2150c6cb70 scripts/oe-buildenv-internal: Add BB_LOGCONFIG
We should allow the logging configurations to be specificed from the
environment, for example for autobuilder setups.

(From OE-Core rev: 66c9234b71791d2aab87068496aebdbd4eb1f5e2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-12 22:53:40 +00:00
Changqing Li
43da61a83f qemu: fix CVE-2020-7039
(From OE-Core rev: 5ea3d9d83ed695827634e3216664c13fcff6d48a)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-12 22:49:28 +00:00
Mingli Yu
d24dd531e2 babeltrace2: initialize the other_entry pointer
When add below line to local.conf to enable debug build:

DEBUG_BUILD = "1"

There comes below failure when run "bitbake babeltrace2"
| ../../../../../git/src/plugins/ctf/fs-src/fs.c: In function 'ds_index_insert_ds_index_entry_sorted':
| ../../../../../git/src/plugins/ctf/fs-src/fs.c:702:5: error: 'other_entry' may be used uninitialized in this function [-Werror=maybe-uninitialized]
|   702 |    !ds_index_entries_equal(entry, other_entry)) {

So initialize the other_entry pointer to fix the above error.

(From OE-Core rev: 1b98db372a1fdaecf9bb897b0ee4b2e72af22f81)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-12 22:49:28 +00:00
Stefan Kral
b10131ea74 oeqa: enable testresults.json for testexport
Add the option --json-result-dir to oeqa core context to enable
testresults.json creation for test runs via testexport.

Eg. oe-test runtime --json-result-dir .

(From OE-Core rev: 9d8edf33d1f5d89b310923b0aa3cc967317c7c49)

Signed-off-by: Stefan Kral <sk@typedivision.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-12 22:49:28 +00:00
Domarys Correa
4719298e34 weston-init: Allow use of weston without input devices
Don't force users to have input device in your targets. As the default
option require-input is set to true, Weston only starts if we have a
device in /dev/input/event* and this not a requirement for all applications,
e.g. kiosk browser.

(From OE-Core rev: 43f40613ecedb8c3a9e3aaac0630464efc7525e3)

Signed-off-by: Domarys Correa <domarys.correa@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-12 22:49:28 +00:00
Jeremy Puhlman
95cf1a9a5d boost: fix reproducibilty issues
fix cmake file references of image dir path

(From OE-Core rev: e12caa834bef6b5d0cad7e96f79374a0dbf86aea)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-12 22:49:28 +00:00
Jeremy Puhlman
79870c4d75 dnf: fix reproducibilty issue
Script points to native python3

(From OE-Core rev: 132c7ecd13955b20141fa01241f47753af60cb77)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-12 22:49:28 +00:00
Jeremy Puhlman
10847a4030 gtk-doc: Fix reproducibity issues
path to pkg-config and python3 encoded in scripts

(From OE-Core rev: d5b051cb9226a3c6b75f1e72a946e5f4e920d9a5)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-12 22:49:28 +00:00
Jeremy Puhlman
9b341f229d ltp: fix reproducibilty issues
Man pages are copied in to the target filesystem from the configured
build, which leaks paths in to the work directory

(From OE-Core rev: c4f6b04450ef658d99c0d15f3ce9058c4a770152)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-12 22:49:28 +00:00
Jeremy Puhlman
163ee315a5 qemu: Fix reproducibilty issues
tests/qemu-iotests/common.env is generated from configure which
we pass ${HOSTTOOLS_DIR}/python3 as our python to use, which gets
copied into the ptests. Correct python3 path.

(From OE-Core rev: e8e5765cf2ad324a84634877eebc8289f1bc934f)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-12 22:49:28 +00:00
Jeremy Puhlman
3d46c2d10d strace: Fix reproducibility issues
gen_tests script encodes its full path to itself in each script

(From OE-Core rev: 9e2db0ab1d4cacedde59e8915dff9a091e1c2d2b)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-12 22:49:28 +00:00
Jeremy Puhlman
df97528d19 glib-2.0: Correct multilib conflict
(From OE-Core rev: c82076d68bc95b6f9e3f125bba44b4dbaee444bf)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-12 22:49:28 +00:00
Jeremy Puhlman
3fbc48a1d8 babletrace2: make manpages multilib identical
(From OE-Core rev: 67d38c62b4a02a1ee1b6d751fa0f2483dafa2fb1)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-12 22:49:28 +00:00
Pierre-Jean Texier
cfe7c719ad curl: upgrade 7.69.0 -> 7.69.1
Contains a number of fixes for issues discovered post-7.69.0.
For details, see full changelog:

https://curl.haxx.se/changes.html#7_69_1

(From OE-Core rev: d3af3cf801ab5b235bce427bc73d2e6b29083368)

Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-12 12:46:09 +00:00
Stefan Kral
5c8a1312fa oeqa/runtime/context.py: fix typo
(From OE-Core rev: bf959e6fd175d0841a1c042bf925c54200bea3d4)

Signed-off-by: Stefan Kral <sk@typedivision.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-12 12:46:09 +00:00
Kai Kang
4a315d597f glew/curl: specify exclusive package configs
Specify exclusive package configs for glew and curl to make sure that
conflict package configs will NOT set at same time.

(From OE-Core rev: 8579673bdb314dbc554f40fc4c4c1db3d0bb0d63)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-12 12:46:08 +00:00
Kai Kang
48f7290a8e base.bbclass: extend PACKAGECONFIG for conflict package configs
There are mutually exclusive PACKAGECONFIGs in recipes. Though it
declares that package configs are exclusive, it can't prevent users to
set them at same time. Extend PACKAGECONFIG to support specifying
conflicted package configs.

(From OE-Core rev: 734475b3f86d88a548bc9eb91d836bd1b9335e9f)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-12 12:46:08 +00:00
Paul Barker
3c0a53fe75 bitbake: tests: Add test for gitsm fetcher with shallow mirror tarballs
(Bitbake rev: 2e26e97129d4c54bf86cdea8f9791696a06a36b4)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 14:43:25 +00:00
Paul Barker
6932c9757c bitbake: fetch2/gitsm: Unpack shallow mirror tarballs
When a shallow mirror tarball is used to satisfy a gitsm URI it needs to
be unpacked temporarily so that the .gitmodules file can be examined.

(Bitbake rev: 3987db953e414255ce278bc25a5f6cec0f2a30c7)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 14:43:25 +00:00
Robert P. J. Day
4cae3324bd manuals: Update YP manual notes with pointer to docs ML
Update the "Manual Notes" section of numerous YP manuals with a
reference to the recently-introduced YP documentation mailing list.

(From yocto-docs rev: a10fe36c864b8f1a71c6a8eb7e1f6a4eef2f5171)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 14:41:44 +00:00
Robert P. J. Day
fa6818b821 dev-manual: phrase should read "inherit packagegroup"
(From yocto-docs rev: 446204632ac9e8de3ce0b22df6fa2bb7605b9bce)

Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 14:41:44 +00:00
Khem Raj
1ca2992686 documentation: Remove python from UBUNTU_HOST_PACKAGES_ESSENTIAL
Ubuntu 20.04 doesn't have python package and therefore this list fails
to install, python3 is required anyway so removing python is perhaps ok

(From yocto-docs rev: a41567a4ee462c704a29ad5944a0c824d7eb840c)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 14:41:44 +00:00
Richard Purdie
c4bb662c58 dev-manual-common-tasks: Fix runall reference
[YOCTO #13715]

(From yocto-docs rev: 91fbf02ae126bcabfeb43525db620bbd36d5f583)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 14:41:44 +00:00
Mark Asselstine
cff8649018 manuals: Updates to reflect that MACHINE defaults to qemux86-64
meta-yocto commit 69ddecdb1516 [local.conf.sample: change default
MACHINE to qemux86-64] switched the default MACHINE from 'qemux86' to
'qemux86-64' but some documents which either explicitly mentioned the
default, or where this was implicit didn't receive an equivalent
update.

Where it made sense we continue this change in default to the docs. In
other places, such as the kernel-dev manual, we note the new default
and instruct the user how to switch back to 'qemux86'. Eventually we
should probably update the kernel-dev manual to use the default, but
for now the intention was to limit the impact of these changes.

Note that ext3 has also been replaced with ext4 for image generation,
so while we are modifying runqemu lines to qemux86-64 we also make the
change to reference ext4 such that the runqemu commands will function
properly.

(From yocto-docs rev: 8c1d8ab1170f47a2c2692beb903ab0b7c6835b7b)

Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 14:41:44 +00:00
Peter Kjellerstedt
0daf901b5b ref-manual: Add a tips on how to achieve whitelisting of licenses
It is sometimes more appropriate to define the licenses that are
allowed to be used rather than the ones that are not permitted. This
adds a tips on how this can be achieved by using AVAILABLE_LICENSES
and some Python set arithmetics.

(From yocto-docs rev: dd26d8a9f89402a9828bf02f2e65054d4c0f406f)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 14:41:44 +00:00
Peter Kjellerstedt
cc26e90a79 ref-manual: Add a variable description for AVAILABLE_LICENSES
(From yocto-docs rev: 275ea2bb30693315ebea659a82065b75066e13b6)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 14:41:44 +00:00
Peter Kjellerstedt
a4cc2e0d44 ref-manual: Update the documentation for USERADD_ERROR_DYNAMIC
* Update USERADD_ERROR_DYNAMIC[doc] and the first paragraph to match
  the definition in meta/conf/documentation.conf.
* Add a note explaining the differences in behavior when setting
  USERADD_ERROR_DYNAMIC to "warn" and "error" respectively.

[YOCTO #12932]

(From yocto-docs rev: 28cd546f3fe1eadd73ba71f9fe9a558538e69b0f)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 14:41:44 +00:00
Peter Kjellerstedt
91241f2b12 ref-manual: Add missing/remove extraneous quotes
(From yocto-docs rev: 542e362bf06c2d71ee6e30f5728ad5476f035c6e)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 14:41:44 +00:00
Peter Kjellerstedt
999c39e0e6 ref-manual: The sanity_info file has moved from build/conf to build/cache
(From yocto-docs rev: 813dd1a2ce48df08b92d821700380d5d231e6760)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 14:41:44 +00:00
Adrian Bunk
331216ed42 nspr: Move to meta-oe
It was used only by nss.

(From OE-Core rev: baecda5b32b66d09dadccbcbe706c5ec0a270568)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 13:44:02 +00:00
Adrian Bunk
ace5ed0878 nss: Move to meta-oe
rpm was the last user in OE-core.

(From OE-Core rev: 15aa3bdf798b0e45a20f877e203f3750b623754f)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 13:44:02 +00:00
Ross Burton
f48d73995c gcc: strip line numbers from generated code in gcc-plugins on target
The line numbers are influenced by the gcc version on the host used to generate
the code. Remove these to ensure the shipped source code is the same.

(From OE-Core rev: 5c3d3440809e9d76377af653ac8c5307bc1a01b4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 13:44:02 +00:00
Ross Burton
2e2f1980e0 gcc: don't ship build host information in the target gcc-plugins package
The build host configuration isn't reproducible as it varies depending
on the gcc version of the build host. This information isn't useful on the
target anyway so remove it.

(From OE-Core rev: f9154b2c3eff8434914710ab453e13cf338597ec)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 13:44:02 +00:00
Richard Purdie
24585a3b8e coreutils: Fix -dev package dependencies
The new ptest dependencies present some challenges, in particular libmodule-build-perl
which effectively depends on gcc. In multilib images, this results in both
libXX-gcc-symlinks and libYY-gcc-symlinks being installed which conflict. This also
makes little sense.

The easiest way to fix this is to disable the automatic -dev package dependencies
and manually specify the correct ones.

(From OE-Core rev: 5463971d45b21512210cf20f3902baf95eacd4c6)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 11:44:29 +00:00
Trevor Gamblin
071fa6a13d ptest-packagelists.inc: add coreutils to SLOW
(From OE-Core rev: 0c2c798164da283b79d396b1e50aedee9b6e70d6)

Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 11:44:29 +00:00
Trevor Gamblin
eda41c4342 coreutils: add ptest
coreutils has a large number of tests, including some added by the
Makefile flags RUN_EXPENSIVE_TESTS and RUN_VERY_EXPENSIVE_TESTS that
significantly increase runtime (and that have been disabled). Note
that the coreutils ptest directory is given blanket permissions at
runtime with chmod -R 777 to ensure that the user created for the
tests will be able to run the test scripts and create the necessary
files in the process.

There is still room to improve the results of this ptest without
the aforementioned additions. Of the tests marked SKIP, there are
30 tests that are currently counted as SKIP because they require
sudo permissions, and another 21 that require membership in
multiple user groups. It is important to know that coreutils has
tests for both root and non-root users. Testing showed that 42
tests are skipped when running as root versus 30 when running as a
non-root user, so the decision was made to run the suite as the
latter. Additionally, gdb, valgrind, and strace could be included
in the RDEPENDS list to increase pass rate, but their total
contribution is 13 tests, so they were omitted to reduce image size.

Finally, note that at least one ptest (misc/head-write-error.sh) is
prone to ERROR on builds of core-image-minimal if extra space is
not provided with IMAGE_ROOTFS_EXTRA_SPACE.

(From OE-Core rev: 9a703f8e05d9e7e609d0e04278be290d4051ec31)

Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 11:44:29 +00:00
Rich Persaud
b3ee2f9fc5 grub-efi-cfg: enable per-label APPEND override
For legacy bios boot configurations, syslinux supports multiple
labels with per-label APPEND definitions.  grub-efi-cfg supports
multiple labels, but only a single APPEND definition.

Enable optional per-label APPEND definitions for grub EFI, with
variable names prefixed by "grub_" to isolate grub definitions from
syslinux defintions.

Example use from an ISO image recipe that inherits grub-efi-cfg:

 LABELS_LIVE="foo bar"
 APPEND_grub_foo = "linuxcmdline"

No change in behavior for those using APPEND without overrides.

(From OE-Core rev: 20ad7705d1060300d53304c259b1f07d04b86eba)

Signed-off-by: Rich Persaud <rp@stacktrust.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 11:44:29 +00:00
Christopher Clark
59e64ae58c image-prelink: remove assumption of sysconfdir presence
If sysconfdir is not present in the image filesystem then the temporary
creation of a prelink.conf will fail. Fix this by creating sysconfdir
temporarily if needed beforehand and then remove any directories that
were created afterwards.

fixes: OpenXT OXT-1751

(From OE-Core rev: 6bf3e3db355643c4b2e20346230c09e45e519035)

Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 11:44:29 +00:00
Alexander Kanavin
cb659c2b1d libdnf: fix upstream version check
(From OE-Core rev: 206580e72336229f8044eb941ecb09d3f0d60d3e)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 11:44:29 +00:00
Khem Raj
11702842f9 valgrind: Fix timerfd syscall test to be 64bit time_t safe
This helps compile the testcase with musl on 32bit arches

(From OE-Core rev: ac5a65cb5fdb315df2cb016d0cc5c3389c7971f0)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 11:44:28 +00:00
Khem Raj
9faf676068 ruby: Use arm32 for coroutines on 32bit-arm
in 2.7 [2] ruby enabled ucontext for coroutines on arm32 but it does not
work for musl since it uses glibc specific functions e.g.
getcontext/swapcontext/swapcontext also see [1]

This patch reverts back to using arm32 implementation for coroutines on
arm

[1] https://bugs.ruby-lang.org/issues/16455#change-83442
[2] 6c6bf9ffcb (diff-7fccec8474e2184cd2518046bf39d54cL10)

(From OE-Core rev: ea93afa4c1c40d74faf321baa78a29d0ad7d3223)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 11:44:28 +00:00
Richard Purdie
25dbd03713 buildtools-extended-tarball: Add locale command
The eSDK installation code checks installed locales with the locale command which is
from glibc-utils. Add this so that we find the correct locales from the buildtools.

(From OE-Core rev: 7d35e4bc6ff94a2d03c48827d7d60a6855c9029d)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 11:44:28 +00:00
Richard Purdie
1a0fd5104f glibc: Update nativesdk locale relocation patch
The locale binary reported incorrect locale lists in relocated toolchains
as some path references were not relocated by this patch. Fix this missing
relocations so the locale binary correctly reports the locales.

(From OE-Core rev: f7a6a72880009380ae81bc7fc863921a26811c8c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 11:44:28 +00:00
Richard Purdie
6d78b84029 files/toolchain-shar-extract.sh: Rework PATH cleaning
Trying to create a clean PATH breaks cases where we install a buildtools tarball
on hosts to provide newer versions of gcc. Rework the fix for #8698 to clean up
directories in PATH which don't exist isntead. Do it with python as the shell
version was too fraught with corner cases.

(From OE-Core rev: 7674b63819aa7ca95ca5ca5477a5cce32e9691eb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 11:44:28 +00:00
Richard Purdie
f6bea5487e oeqa/testsdk: Use original PATH
We want to test the SDK with PATH from the original host, not with our own
tools injected via HOSTTOOLS. It even uses some tools which aren't in
HOSTTOOLS.

This is necessary after changing the SDK to not reset PATH to the system
default which is bad for other reasons and brings the testing into sync
with that change.

(From OE-Core rev: 87c9602fd0dedc7bcf75b822aaf5f6ebfc17737c)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-11 11:44:28 +00:00
Richard Purdie
f930e2cadb oeqa/selftest: Ensure buildtools in environment variables isn't replaced
This avoids the seeing broken replacements like:
oe-selftest-centos/build/build-st-926tools/sysroots/x86_64-pokysdk-linux/etc/ssl/certs/ca-certificates.crt
which understandably break builds.

(From OE-Core rev: 04ee0e8b95cd8ed890374e0007f976684206b630)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-10 23:20:34 +00:00
Zhixiong Chi
a67e91b1ba glibc: CVE-2020-10029
Backport the CVE patch from upstream:
[https://sourceware.org/git/gitweb.cgi?p=glibc.git;
a=patch;h=9333498794cde1d5cca518badf79533a24114b6f]

(From OE-Core rev: bc0b66c584116635940364fdc2740b8b6ce3d384)

Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-10 23:20:34 +00:00
Anuj Mittal
116e45ae33 e2fsprogs: backport upstream patch
Fixes a bug wherein a use after free could potentially be used to run
malicious code if a user can be tricked into running e2fsck on a
maliciously crafted file system.

Also see:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=948517

(From OE-Core rev: 23c1b157362609bd8d85c7d35e6c7f0f60c32c88)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-10 23:20:34 +00:00
Anuj Mittal
59a3d9b941 e2fsprogs: fix CVE-2019-5188
Also see:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=948508

(From OE-Core rev: 09bdcef183d885025da6aa87a7c2bf7e8268774e)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-10 23:20:34 +00:00
Anuj Mittal
0a9ce59fda sqlite3: fix CVE-2020-9327
(From OE-Core rev: 6acb9746744536019d5c04ce482a873916aac99f)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-10 23:20:33 +00:00
Christopher Clark
2ac00852cd kernel.bbclass: fix SOURCE_DATE_EPOCH for non-git kernel builds
The source directory is not always a git repository, so when querying
git for data to set SOURCE_DATE_EPOCH, specify ${S}/.git as the git
directory to prevent retrieving incorrect data from any parent directory.

Fixes the following errors with the prior logic when building a kernel
that is not obtained from a git repository:

1. With TMPDIR set to a directory outside any git repository on a
mounted filesystem, reproducible builds fail in do_compile with this git
error:

  fatal: not a git repository (or any parent up to mount point <abspath>)
  Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).

aborting before the error handling logic.

2. With TMPDIR located within a subdirectory of a git repository, the
SOURCE_DATE_EPOCH timestamp would be that of said repository rather than
that of the kernel.

(From OE-Core rev: 270ae94fe345b9ce98d822034cbfad7e24c5f393)

Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-10 23:20:33 +00:00
Chee Yang Lee
e753b71b39 cve-check: fix ValueError
fix below error for whitelisted recipe and recipe skip cve check.

Error:
The stack trace of python calls that resulted in this exception/failure was:
File: 'exec_python_func() autogenerated', lineno: 2, function: <module>
     0001:
 *** 0002:do_cve_check(d)
     0003:
File: '/poky-master/meta/classes/cve-check.bbclass', lineno: 59, function: do_cve_check
     0055:        try:
     0056:            patched_cves = get_patches_cves(d)
     0057:        except FileNotFoundError:
     0058:            bb.fatal("Failure in searching patches")
 *** 0059:        whitelisted, patched, unpatched = check_cves(d, patched_cves)
     0060:        if patched or unpatched:
     0061:            cve_data = get_cve_info(d, patched + unpatched)
     0062:            cve_write_data(d, patched, unpatched, whitelisted, cve_data)
     0063:    else:
Exception: ValueError: not enough values to unpack (expected 3, got 2)

(From OE-Core rev: 64a362bd2dd0b4f3165d5162adbc600826af66f8)

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-10 23:20:33 +00:00
Codrin Ciubotariu
34870513d7 p11-kit: Add nativesdk variant
The nativesdk variant is needed by the buildtools-tarball, when
p11-kit feature is enabled for gnutls. The error message is:

Missing or unbuildable dependency chain was: ['buildtools-tarball', 'nativesdk-wget', 'nativesdk-gnutls', 'nativesdk-p11-kit']

(From OE-Core rev: 744f2472df627cd85dd11aa9da445a2a1af196ed)

Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
Cc: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-10 23:20:33 +00:00
Paul Barker
3abf367f48 kernel-yocto.bbclass: Support config fragments with externalsrc
The merging of config fragments is performend in the do_kernel_configme
task and so config fragments will not be supported when this task is
removed from the dependency tree.

kernel-yocto adds additional tasks which may modify the source directory
to SRCTREECOVEREDTASKS so that they are removed when using externalsrc.
However, do_kernel_configme should be safe to use, the only modification
to the source tree is the potential creation of the '.kernel-meta'
directory and the '.metadir' file.

(From OE-Core rev: 44f04c039a4d61dd18666e42b9b9865cbc3ada9e)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-10 23:20:33 +00:00
Paul Barker
c82b02815b perf: Fix externalsrc support
When the externalsrc class is used the tasks listed in
SRCTREECOVEREDTASKS are deleted to prevent them being executed. If
externalsrc is used for the kernel then this will include
virtual/kernel:do_patch.

We can depend on do_shared_workdir instead as this will survive when
externalsrc is used.

(From OE-Core rev: eab605bab94552046ec4adae5debe026cc03bb4c)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-10 23:20:33 +00:00
Paul Barker
f5930bfb8f kernelsrc.bbclass: Fix externalsrc support
When the externalsrc class is used the tasks listed in
SRCTREECOVEREDTASKS are deleted to prevent them being executed. If
externalsrc is used for the kernel then this will include
virtual/kernel:do_patch.

We can depend on do_shared_workdir instead as this will survive when
externalsrc is used.

(From OE-Core rev: 2c17d35cc7b9c5e01fd5829858d2f0234e7ac8d6)

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-10 23:20:33 +00:00
Richard Purdie
995f7985f6 reproducibile_build: Fix SDE file generation when unpack reruns
Currently, if an existing TMPDIR is rebuilt, do_fetch/do_unpack can rerun
but SDE would remain unchanged. This leads to different results compared
to a fresh build. An example change which triggered this is:
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=cb4e69e6346a9fbeebf83a5d5397cacbd41d48b5

Instead, delete any existing SDE and recalculate if we're reunning.
Also rename and drop the do_ prefix since these are for tasks,
not functions.

(From OE-Core rev: 5d579fc2fe71637fc6e071aa66542befa39ac8bb)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-08 08:21:11 +00:00
Richard Purdie
568fb875bf glibc: Explicitly disable msgfmt
If configure is rerun it finds msgfmt from gettext-native which is installed
during package_write_ipk|deb and means builds are not determinisic.

Whether msgfmt is needed is debatable (libc.mo files aren't generated without
it), however, we should at least be consistent which this patch ensures.

(From OE-Core rev: 9ffd08cf7d472e6572ee8f04781f410c9d657188)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-08 08:21:11 +00:00
Jeremy Puhlman
1f41f11617 groff: Make manpages binary identical
(From OE-Core rev: b78a0cf49a4efb02cffc12e199de526e13391482)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-08 08:21:11 +00:00
Jeremy Puhlman
a41a9ad313 xinit: make manpages multilib identical
(From OE-Core rev: 282ca525c411e03391520c0c5950ed3418f6bc2e)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-08 08:21:11 +00:00
Jeremy Puhlman
326e8c6824 xserver-xorg: make manpage mutlilib identical
(From OE-Core rev: cf9759b27bca5bb1dfa99fc79b4651bfebe2da52)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-08 08:21:11 +00:00
Martin Jansa
1477b31a0d openssl: fix perl shebang in c_rehash
* passing PERL=perl breaks c_rehash calls from dash (works fine with bash)

  dash doesn't like
  #!perl
  shebang

  PERL="/usr/bin/env perl"
  unfortunately just passing PERL like this doesn't pass do_configure:
  Creating Makefile
  sh: 1: /usr/bin/env perl: not found
  WARNING: exit code 1 from a shell command.

  But passing it as:
  HASHBANGPERL="/usr/bin/env perl" PERL=perl
  seems to work.

(From OE-Core rev: 79350826396a882d115caafd88b0a49c91a4fa6c)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-08 08:21:11 +00:00
Khem Raj
09e1c01162 make: Fix build on arm/clang
clang defines __arm which is interpreted as non-posix by make build
system but thats not correct when using clang so patch addresses that

(From OE-Core rev: e225278a8a894389add56d14908398c14512f6c9)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-08 08:21:11 +00:00
Denys Dmytriyenko
0bbf04fa3e openssl: recommend cryptodev-module for corresponding PACKAGECONFIG
(From OE-Core rev: 57fcf9b517fe95e871122946cb99fe7fa9fd2e26)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-08 08:21:11 +00:00
Khem Raj
fe948c3c95 qemuarm64: Add -machine gic-version=3 with kvm
qemuarm64 on aarch64 host errors out when using kvm

qemu-system-aarch64: PMU: KVM_SET_DEVICE_ATTR: Invalid argument
qemu-system-aarch64: failed to set irq for PMU
Aborted

machines with GICv3 that don’t support GICv2 guests you must have ‘-machine gic-version=3’ on the QEMU command line.

(From OE-Core rev: 17e93c6464184d137b9590f17bfa879ae79d0cfc)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Jon Mason <jdmason@kudzu.us>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-08 08:21:10 +00:00
Chris Laplante
517f511039 bitbake: build.py: augment TaskBase to capture PN and PV
PF is already captured, but it's a pain to try to parse out PN and PV,
which can be helpful to have available.

(Bitbake rev: 2885034f42a1dce7586e081a0461b8932a3593bf)

Signed-off-by: Chris Laplante <chris.laplante@agilent.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-07 16:07:00 +00:00
Chris Laplante
1d20618c55 bitbake: ui/teamcity: add a TeamCity service message frontend
Exposes build status via TeamCity service messages, see
https://www.jetbrains.com/help/teamcity/build-script-interaction-with-teamcity.html.

(Bitbake rev: 26ff7fa314d0f84f2557b183fb71fa873d914ee0)

Signed-off-by: Chris Laplante <chris.laplante@agilent.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-07 16:07:00 +00:00
Chris Laplante
8b190c3e13 bitbake: runqueue: teach runonly/runall to accept "do_task" as well as "task"
Previously --runonly=do_task would give a misleading error like:

  ERROR: Could not find any tasks with the tasknames ['do_task'] to run
  within the recipes of the taskgraphs of the targets...

The problem is that BitBake tried to find "do_do_task". So teach it to
only add the do_ prefix if it's not already there.

(Bitbake rev: 694904bde980606dc67c201da61f4fb685679b17)

Signed-off-by: Chris Laplante <chris.laplante@agilent.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-07 16:07:00 +00:00
Joshua Watt
cc1ab55c14 bitbake: bblayers: query: Add multiconfig option
Adds an option to the show-recipes subcommand that allows the user to
specify which multiconfig should be shown.

(Bitbake rev: 83256115c7b1fdf3fa5129cfba6b9e7cba2ae0da)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-07 16:07:00 +00:00
Joshua Watt
ecb1d9f317 bitbake: tinfoil: Add multiconfig support
Adds support for the Tinfoil cache adaptor to be bound to a specific
multiconfig and invoke the appropriate commands for that multiconfig
instead of the default. The cooker adapter now creates a cache adapter
for each multiconfig specified in BBMULTICONFIG so that each multiconfig
is present.

(Bitbake rev: d515481681dca4a0bc733c6ad8a8498a82e3d9b9)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-07 16:07:00 +00:00
Joshua Watt
e57d1d3906 bitbake: cooker: Respect multiconfig parameter
The cooker had a multiconfig parameter for the findProviders() and
findBestProviders() API, but it was being ignored.

(Bitbake rev: ea0b68ac2b77676ed1c63f0ee1ae5d300f2b4696)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-07 16:07:00 +00:00
Joshua Watt
86aa524667 bitbake: command: Add mc parameter to findProviders command
Adds a multiconfig selection parameter to the findProviders command.
This allows a client to find the providers for a specific multiconfig
instead of the base configuration.

(Bitbake rev: 95bb446137734865f3fe04fe97681d90250deb11)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-07 16:07:00 +00:00
Alexander Kanavin
f303c98fda gettext: fix ptest package reproducibilty
(From OE-Core rev: 15fe7de55b90293a588703700b3de72cf95ecd79)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-07 10:06:17 +00:00
Nathan Hartman
0e59abfb66 mesa: updated to mesa 20.0.1 release
Updated to 20.0.1 release: https://www.mesa3d.org/relnotes/20.0.1.html

(From OE-Core rev: ba61205eecf6b6712aa9168942155398929e16db)

Signed-off-by: Nathan Hartman <hnathan918@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-07 10:06:17 +00:00
Pierre-Jean Texier
ad437a1d25 curl: upgrade 7.68.0 -> 7.69.0
Bugfix release. For details, see full changelog

 - https://curl.haxx.se/changes.html#7_69_0

(From OE-Core rev: 2d6a9904a838c5e498c0e2a2e34169cd2877a785)

Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-07 10:06:17 +00:00
André Draszik
6cc2580810 linux-firmware: TI: fix wl18xx support
wl1271-nvs.bin belongs to the wl18xx driver (and respective
package created here), see kernel source.
Due to the way packages are assembled here it ends up in the
wrong package, though.

Fix by placing it in the -common package as it's merely a
symlink to wl127x-nvs.bin (which does belong to the wl12xx),
so that both drivers have access to it.

(From OE-Core rev: e0cc3cb406efedad8673ff48fae7c9288172fc6d)

Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-07 10:06:17 +00:00
André Draszik
df7501528f linux-firmware: drop remnants of pre-2.6.37 support (TI)
Now that this recipe uses make install, we don't manually
create symlinks for firmware files for older kernel in
do_install(). As such, the FILES statement can be updated
as well.

(From OE-Core rev: 4c60fa1d71eb40fb36fb336b55579979308be0a6)

Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-07 10:06:17 +00:00
Chee Yang Lee
932ac04cb8 cve-check: show whitelisted status
change whitelisted CVE status from "Patched" to "Whitelisted".

[Yocto #13687]

(From OE-Core rev: 181bdd670492525f9488d52c3ebb9a1b142e35ea)

Signed-off-by: Chee Yang Lee <chee.yang.lee@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-07 10:06:17 +00:00
Andrej Valek
75bebb3546 populate_sdk_ext: enable custom templateconf.cfg
Do not always override templateconf.cfg content. Add option to use
already existing file.

(From OE-Core rev: e524e49ef22fd69882d5d2d01cd84db790e9cb88)

Signed-off-by: Andrej Valek <andrej.valek@siemens.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-07 10:06:16 +00:00
Alex Kiernan
a1baa2b51e linux-firmware: Fix usrmerge builds
FIRMWAREDIR defaults to /lib, failing when usrmerge is enabled:

  ERROR: linux-firmware-1_20200122-r0 do_install: Execution of '/home/akiernan/poky/build/tmp/work/core2-64-poky-linux/linux-firmware/1_20200122-r0/temp/run.do_install.31218' failed with exit code 1:
  mkdir -p /home/akiernan/poky/build/tmp/work/core2-64-poky-linux/linux-firmware/1_20200122-r0/image/lib/firmware
  ./copy-firmware.sh /home/akiernan/poky/build/tmp/work/core2-64-poky-linux/linux-firmware/1_20200122-r0/image/lib/firmware
  cp: target '/home/akiernan/poky/build/tmp/work/core2-64-poky-linux/linux-firmware/1_20200122-r0/image/usr/lib/firmware/' is not a directory

(From OE-Core rev: e51b82b05678a2602afce0ad892d84125620cf73)

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-07 10:06:16 +00:00
Mingli Yu
d03c12bb8f parselogs.py: ignore rdrand initialization failure
On the system whose cpu doesn't support rdrand,
there comes below message when start rngd service
 #systemctl status rngd
 [snip]
 Feb 25 05:08:14 qemux86-64 rngd[133]: [rdrand]: Initialization Failed
 [snip]

Actually the failed message doesn't matter as it
only indicates one entropy source as rdrand fails
to initialize and won't affect rngd function.

So add to ignore the failure message to fix below
error during do_testimage:
NOTE: ======================================================================
NOTE: FAIL: test_parselogs (parselogs.ParseLogsTest)
NOTE: ----------------------------------------------------------------------
NOTE: Traceback (most recent call last):
  File "/buildarea/layers/oe-core/meta/lib/oeqa/core/decorator/__init__.py", line 36, in wrapped_f
    return func(*args, **kwargs)
  File "/buildarea/layers/oe-core/meta/lib/oeqa/runtime/cases/parselogs.py", line 370, in test_parselogs
    self.assertEqual(errcount, 0, msg=self.msg)
AssertionError: 1 != 0 : Log: /buildarea/tmp/work/qemux86-64-wrs-linux/wrlinux-image-std/1.0-r5/target_logs/daemon.log
Central error: 2020-03-06T09:45:12.774286+00:00 qemux86-64 rngd[134]: [rdrand]: Initialization Failed

Reference: https://github.com/nhorman/rng-tools/pull/84

(From OE-Core rev: 09c4f9068858bf59eb60584a497f987bdd1e196e)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-07 10:06:16 +00:00
Richard Purdie
67511eda71 sstate: Drop obsolete check in hash validation
Now this function has a summary parameter we can drop this check.

It could well be why the mysterious "locked sigs" selftest fails
intermittently if this function were called with a single hash
to check.

[YOCTO #13605] (with luck)

(From OE-Core rev: 02aabe0e59f73bf206d9bada1e7089832ceed254)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 17:14:04 +00:00
Bruce Ashfield
f3cce6ad51 yocto-bsps: drop 5.2 bbappend
The 5.2 recipes have been dropped from oe-core, so we drop the
5.2 bbappends to match.

(From meta-yocto rev: 1da347d7c9b50974648bf216b766bcb958159fa0)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 13:15:27 +00:00
Bruce Ashfield
8ba6e7f068 yocto-bsps/5.2: backport perf build fix for latest binutils
[
   Author: Changbin Du <changbin.du@gmail.com>
   Date:   Tue Jan 28 23:29:38 2020 +0800

       perf: Make perf able to build with latest libbfd

       libbfd has changed the bfd_section_* macros to inline functions
       bfd_section_<field> since 2019-09-18. See below two commits:
	 o http://www.sourceware.org/ml/gdb-cvs/2019-09/msg00064.html
	 o https://www.sourceware.org/ml/gdb-cvs/2019-09/msg00072.html

       This fix make perf able to build with both old and new libbfd.

       Signed-off-by: Changbin Du <changbin.du@gmail.com>
       Acked-by: Jiri Olsa <jolsa@redhat.com>
       Cc: Peter Zijlstra <peterz@infradead.org>
       Link: http://lore.kernel.org/lkml/20200128152938.31413-1-changbin.du@gmail.com
       Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
       Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
]

(From meta-yocto rev: 207feb95be473359785e67df340e07942a376c54)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 13:15:27 +00:00
Joe Slater
6e3e269f91 libdnf: fix deprecation warning
Backport from libdnf.  Fix is in version 0.35.2.

(From OE-Core rev: bc9402d77a982ff71bd919837b4736f586aa04cf)

Signed-off-by: Joe Slater <joe.slater@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:18 +00:00
Khem Raj
1f71b9edcb pulseaudio: Fix inline assembly syntax for arm
Ensures that gcc can use right operand constraints

(From OE-Core rev: 03e6d0f787cbd62156a163bfbcaed68bfcd379e8)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:18 +00:00
Stefan Kral
56bbdd33d8 oeqa-runtime: add missing import os to ptest case
Add missing import os statement to the oeqa runtime ptest.py

(From OE-Core rev: e41c92c60694052c8292c1ea6b3d0b427aafafd7)

Signed-off-by: Stefan Kral <sk@typedivision.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:18 +00:00
Mingli Yu
81be419357 netbase: Upgrade to 6.1
(From OE-Core rev: 983733fa2e84db81c4a1e9bb8e3e22c43d2f8a5e)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:18 +00:00
Zheng Ruoqin
b4f7011841 xkbcomp: upgrade 1.4.2 -> 1.4.3
(From OE-Core rev: cfe8461a2b161d277906458186294c21f2827f70)

Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:18 +00:00
Ruslan Bilovol
6c9c919fd6 openssl: pass PERL=perl environment variable to configurator
In our build environment we use wrapper script
for perl in non-standard configuration with
extra variables set (provided by custom
buildtools-tarball).

In this case openssl fails to build because
by default it's Configure script detects and uses
perl executable directly (with absolute path)
obviously missing extra settings from wrapper
script.

Pass PERL=perl environment variable to Configure,
so it won't try to use perl executable directly
but will use what is provided from environment.

(From OE-Core rev: 2b087fef6820da8a6d86ca763bd7730dcac30849)

Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:18 +00:00
Nathan Hartman
21240081c0 mesa: updated to 20.0 release
Updated mesa and mesa-gl recipes to 20.0 release.

The license checksum difference is due to a small change in the license
formatting. The asterisk for footnotes was changed to a '[1]'
See: 199572b65b

glxgears runs successfully at 60 fps on a rpi4.

(From OE-Core rev: 0ee03e11bc2ae3faa6a2fcfdfae2ea35f7ba70ba)

Signed-off-by: Nathan Hartman <hnathan918@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:18 +00:00
Anders Wallin
12eac40aa6 babeltrace2: added first version, 2.0.1
Babeltrace 1 vs. Babeltrace 2

The Babeltrace project exists since 2010. In 2020, Babeltrace 2 was released.
Babeltrace 2 is a complete rewrite of the library, Python bindings, and CLI. It
is plugin based and offers much more features and potential than Babeltrace 1.

Because Babeltrace 2 is still a young released project, some distributions still
provide packages for the Babeltrace 1 project. Both projects can coexist on the
same system as there are no common installed files.

(From OE-Core rev: be52889ba5e5a2cf02f50b3f3acee8ca72ec494d)

Signed-off-by: Anders Wallin <wallinux@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:18 +00:00
Christopher Clark
d21783d68a qemu: update Xen packages names for the xen-tools recipe
The Xen recipe has been divided into separate recipes for the hypervisor
and tools in meta-virtualization commit 545461ba, so the package name
references in the qemu recipe need to be updated to the new xen-tools
packages. This change allows the temporary bbappend applied to qemu in
meta-virtualization in that change to be retired.

(From OE-Core rev: e7a7ce0999de3c562e7288538641087cf6d55d1f)

Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:18 +00:00
Joe Slater
ed32052e06 dnf: fix python3 syntax warning
Backport from dnf version 4.2.7.

(From OE-Core rev: 0870009f3e87d181178b3f26374862797f342d3f)

Signed-off-by: Joe Slater <joe.slater@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:18 +00:00
Changqing Li
e06997e8bf python-numpy: convert shebang from python to python3
(From OE-Core rev: dc1e84d343a47d67b5aed28542031b173828cc71)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:18 +00:00
Jeremy A. Puhlman
d1be223100 gdbm: Disable readlind
Turns off readline for both native and target.
Also corrected a typo with enable-libgdbm-compat

(From OE-Core rev: 5a9f81f73e9397b90e4d6d0eed859e53915cdb46)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:18 +00:00
Bruce Ashfield
8efa405ee0 linux-yocto: drop 5.2 recipes
linux-yocto 5.4 will serve as the versioned reference kernel in
the upcoming release, and -dev will serve as the "newer" kernel.

As such, we drop v5.2 from master, but will continue to update
and support it in released branches.

(From OE-Core rev: e71cda699189d3762d8af88d3ccdc0b0430b973c)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:18 +00:00
Bruce Ashfield
5d8866cbf0 linux-yocto/5.4: update to v5.4.23
Updating linux-yocto/5.4 to the latest korg -stable release that comprises
the following commits:

    bfe3046ecafd Linux 5.4.23
    bb7ffcbec227 ASoC: SOF: Intel: hda: Add iDisp4 DAI
    fb81480206ae bpf: Selftests build error in sockmap_basic.c
    19be2b3eea34 s390/mm: Explicitly compare PAGE_DEFAULT_KEY against zero in storage_key_init_range
    148c8531b69c s390/kaslr: Fix casts in get_random
    e26be2667399 net/mlx5e: Fix crash in recovery flow without devlink reporter
    fca1cdd3417e net/mlx5: Fix sleep while atomic in mlx5_eswitch_get_vepa
    06320052ee69 net/mlx5e: Reset RQ doorbell counter before moving RQ state from RST to RDY
    773dfd2223e3 xen: Enable interrupts when calling _cond_resched()
    9724b3f28dab ata: ahci: Add shutdown to freeze hardware resources of ahci
    8eb92c122840 io_uring: prevent sq_thread from spinning when it should stop
    b0f5f25c5541 rxrpc: Fix call RCU cleanup using non-bh-safe locks
    829e0a0ae2dc netfilter: xt_hashlimit: limit the max size of hashtable
    86502c68b81e ALSA: seq: Fix concurrent access to queue current tick/time
    2b550d1c7ac6 ALSA: seq: Avoid concurrent access to queue flags
    84e041a5df79 ALSA: rawmidi: Avoid bit fields for state flags
    c7deb9612e35 io_uring: fix __io_iopoll_check deadlock in io_sq_thread
    d562fdad84dd arm64: lse: Fix LSE atomics with LLVM
    8132323eb397 bpf, offload: Replace bitwise AND by logical AND in bpf_prog_offload_info_fill
    2463a30f6678 genirq/proc: Reject invalid affinity masks (again)
    c23074e20989 crypto: rename sm3-256 to sm3 in hash_algo_name
    8278f34f6ca8 iommu/vt-d: Fix compile warning from intel-svm.h
    cfde4697ea4d ecryptfs: replace BUG_ON with error handling code
    4c585d1e98d9 ASoC: fsl_sai: Fix exiting path on probing failure
    59c723344aec ASoC: atmel: fix atmel_ssc_set_audio link failure
    125b4a5345e2 staging: greybus: use after free in gb_audio_manager_remove_all()
    2ca19dfafc04 staging: rtl8723bs: fix copy of overlapping memory
    e6535a8c5d98 usb: dwc2: Fix in ISOC request length checking
    ceb1997a2ec3 usb: gadget: composite: Fix bMaxPower for SuperSpeedPlus
    826a43b22ce6 scsi: Revert "target: iscsi: Wait for all commands to finish before freeing a session"
    d92e714a463d scsi: Revert "RDMA/isert: Fix a recently introduced regression related to logout"
    42b4f3c8ec0b drm/msm/dpu: fix BGR565 vs RGB565 confusion
    337cbf3ea855 drm/i915/gt: Protect defer_request() from new waiters
    93805d430c53 drm/bridge: tc358767: fix poll timeouts
    7de50906e772 drm/i915/gvt: more locking for ppgtt mm LRU list
    19f8fb273193 drm/i915/execlists: Always force a context reload when rewinding RING_TAIL
    1e0175a15474 drm/i915/gt: Detect if we miss WaIdleLiteRestore
    341c8e03a90a Revert "dmaengine: imx-sdma: Fix memory leak"
    9ad7f8df34d2 Btrfs: fix deadlock during fast fsync when logging prealloc extents beyond eof
    73e1f2663273 btrfs: don't set path->leave_spinning for truncate
    d3d0fb9d42d3 Btrfs: fix race between shrinking truncate and fiemap
    c383f8ad2a12 Btrfs: fix btrfs_wait_ordered_range() so that it waits for all ordered extents
    9af8e258895f btrfs: do not check delayed items are empty for single transaction cleanup
    6065ca5d013d btrfs: reset fs_root to NULL on error in open_ctree
    37a2e704807a btrfs: fix bytes_may_use underflow in prealloc error condtition
    40ea30638d20 btrfs: destroy qgroup extent records on transaction abort
    7e946e30a46d KVM: apic: avoid calculating pending eoi from an uninitialized val
    dc5537061baf KVM: nVMX: handle nested posted interrupts when apicv is disabled for L1
    16f8553f75b5 KVM: nVMX: clear PIN_BASED_POSTED_INTR from nested pinbased_ctls only when apicv is globally disabled
    0f042f5e98f1 KVM: nVMX: Check IO instruction VM-exit conditions
    c4064f14f744 KVM: nVMX: Refactor IO bitmap checks into helper function
    e5d25003d059 ext4: fix race between writepages and enabling EXT4_EXTENTS_FL
    5195dc6e9365 ext4: rename s_journal_flag_rwsem to s_writepages_rwsem
    6ccdd6616a1c ext4: fix mount failure with quota configured as module
    eac2bb1042b2 ext4: fix potential race between s_flex_groups online resizing and access
    58631f8cbc24 ext4: fix potential race between s_group_info online resizing and access
    bb43897de9b3 ext4: fix potential race between online resizing and write operations
    ded8c21ac49c ext4: add cond_resched() to __ext4_find_entry()
    1673674ccd86 ext4: fix a data race in EXT4_I(inode)->i_disksize
    56b3949a2b5f KVM: x86: don't notify userspace IOAPIC on edge-triggered interrupt EOI
    24dfae91a23a KVM: nVMX: Don't emulate instructions in guest mode
    e61c236dcf34 sched/psi: Fix OOB write when writing 0 bytes to PSI files
    26ae0493c181 drm/i915: Update drm/i915 bug filing URL
    2104c4905a08 drm/i915: Wean off drm_pci_alloc/drm_pci_free
    3e740fa80cc8 drm/nouveau/kms/gv100-: Re-set LUT after clearing for modesets
    5e7dda6ddad1 drm/amdgpu/gfx10: disable gfxoff when reading rlc clock
    7e482baf6d70 drm/amdgpu/gfx9: disable gfxoff when reading rlc clock
    f141fac489ee drm/amdgpu/soc15: fix xclk for raven
    95236ae76bf8 mm: Avoid creating virtual address aliases in brk()/mmap()/mremap()
    9bb971b33565 lib/stackdepot.c: fix global out-of-bounds in stack_slabs
    ef32399bf729 mm/sparsemem: pfn_to_page is not valid yet on SPARSEMEM
    198f5aa0f73e mm/vmscan.c: don't round up scan size for online memory cgroup
    8735a5b6e1fb genirq/irqdomain: Make sure all irq domain flags are distinct
    6e304262e393 nvme-multipath: Fix memory leak with ana_log_buf
    e078c8d8971b mm/memcontrol.c: lost css_put in memcg_expand_shrinker_maps()
    aa4f749f8136 Revert "ipc,sem: remove uneeded sem_undo_list lock usage in exit_sem()"
    7b77e5a08224 ACPI: PM: s2idle: Check fixed wakeup events in acpi_s2idle_wake()
    f18121a59b5a MAINTAINERS: Update drm/i915 bug filing URL
    cf3c30a7112c serdev: ttyport: restore client ops on deregistration
    80990c30b776 tty: serial: qcom_geni_serial: Fix RX cancel command failure
    5b0af5e58368 tty: serial: imx: setup the correct sg entry for tx dma
    671ea19c3214 tty/serial: atmel: manage shutdown in case of RS485 or ISO7816 mode
    5ae6e5683755 serial: 8250: Check UPF_IRQ_SHARED in advance
    e0253c422024 x86/cpu/amd: Enable the fixed Instructions Retired counter IRPERF
    88e4901d3ebd x86/mce/amd: Fix kobject lifetime
    de2cce5ae563 x86/mce/amd: Publish the bank pointer only after setup has succeeded
    6df12de90e74 x86/ima: use correct identifier for SetupMode variable
    453692eb5a38 jbd2: fix ocfs2 corrupt when clearing block group bits
    98583fb54c2b arm64: memory: Add missing brackets to untagged_addr() macro
    9b9374cf1ea7 powerpc/hugetlb: Fix 8M hugepages on 8xx
    723a44f2288e powerpc/hugetlb: Fix 512k hugepages on 8xx with 16k page size
    2ffeef3db358 powerpc/entry: Fix an #if which should be an #ifdef in entry_32.S
    04e3f1d1e135 powerpc/tm: Fix clearing MSR[TS] in current when reclaiming on signal delivery
    a03b3cea86fd powerpc/eeh: Fix deadlock handling dead PHB
    9e1fab44502c powerpc/8xx: Fix clearing of bits 20-23 in ITLB miss
    2558e71bbfc5 drm/panfrost: perfcnt: Reserve/use the AS attached to the perfcnt MMU context
    3b8edaada13e staging: rtl8723bs: Fix potential overuse of kernel memory
    4113e08e75d3 staging: rtl8723bs: Fix potential security hole
    de63cd8b5521 staging: rtl8188eu: Fix potential overuse of kernel memory
    ddedb84fcdc8 staging: rtl8188eu: Fix potential security hole
    91aa9e475827 scsi: Revert "target/core: Inline transport_lun_remove_cmd()"
    24aeb16934e8 usb: dwc3: debug: fix string position formatting mixup with ret and len
    6dbf3ea0f566 usb: dwc3: gadget: Check for IOC/LST bit in TRB->ctrl fields
    256cc85f6f86 usb: dwc2: Fix SET/CLEAR_FEATURE and GET_STATUS flows
    c2f07cb7e317 USB: hub: Fix the broken detection of USB3 device in SMSC hub
    e5d078af8e5f USB: hub: Don't record a connect-change event during reset-resume
    5af8add0167c USB: Fix novation SourceControl XL after suspend
    b3c64c8b2fab usb: uas: fix a plug & unplug racing
    e805982b13e3 USB: quirks: blacklist duplicate ep on Sound Devices USBPre2
    4c02497e8f65 USB: core: add endpoint-blacklist quirk
    f9965af8e493 usb: host: xhci: update event ring dequeue pointer on purpose
    5d0faf16f960 xhci: Fix memory leak when caching protocol extended capability PSI tables - take 2
    ef69cf19bda8 xhci: apply XHCI_PME_STUCK_QUIRK to Intel Comet Lake platforms
    02e326360053 xhci: fix runtime pm enabling for quirky Intel hosts
    512dae7753cd xhci: Force Maximum Packet size for Full-speed bulk devices to valid range.
    22ff13ac65cb staging: vt6656: fix sign of rx_dbm to bb_pre_ed_rssi.
    41a53f5b68ec staging: android: ashmem: Disallow ashmem memory from being remapped
    897d5aaf3397 vt: vt_ioctl: fix race in VT_RESIZEX
    21275a431289 vt: selection, handle pending signals in paste_selection
    a2c3858faf3a vt: fix scrollback flushing on background consoles
    1eb78bc92c84 floppy: check FDC index for errors before assigning it
    c5455e3fab20 e1000e: Use rtnl_lock to prevent race conditions between net and pci/pm
    47a7a44650c1 USB: misc: iowarrior: add support for the 100 device
    9b5e87086fa9 USB: misc: iowarrior: add support for the 28 and 28L devices
    c8e28d325c97 USB: misc: iowarrior: add support for 2 OEMed devices
    cfda8551dd59 thunderbolt: Prevent crash if non-active NVMem file is read
    802a8369d21f btrfs: handle logged extent failure properly
    3c4ef8ac8f4b ecryptfs: fix a memory leak bug in ecryptfs_init_messaging()
    7e1dbc6656ff ecryptfs: fix a memory leak bug in parse_tag_1_packet()
    909149bf61da tpm: Initialize crypto_id of allocated_banks to HASH_ALGO__LAST
    9f83363875be ASoC: sun8i-codec: Fix setting DAI data format
    3de0bbe21312 ASoC: codec2codec: avoid invalid/double-free of pcm runtime
    c45877ca9f62 ALSA: hda/realtek - Apply quirk for yet another MSI laptop
    9dc3b7a5833a ALSA: hda/realtek - Apply quirk for MSI GP63, too
    80c1e9c4c484 ALSA: hda: Use scnprintf() for printing texts for sysfs/procfs
    b76e00b67dc6 iommu/qcom: Fix bogus detach logic
    f22dcb31727e Linux 5.4.22
    105542cea2ea rtc: Kconfig: select REGMAP_I2C when necessary
    cea9007ebb95 bcache: properly initialize 'path' and 'err' in register_bcache()
    7967c3299e3f drm/amdgpu/display: handle multiple numbers of fclks in dcn_calcs.c (v2)
    51c9c98a7bbe s390/pci: Recover handle in clp_set_pci_fn()
    332c8b5bc358 mlxsw: spectrum_dpipe: Add missing error path
    399ca7ee9130 fuse: don't overflow LLONG_MAX with end offset
    77912b69a989 virtio_balloon: prevent pfn array overflow
    9c80ae965082 cifs: log warning message (once) if out of disk space
    3f14879fd6ce i40e: Relax i40e_xsk_wakeup's return value when PF is busy
    6fa2bb0d06ca help_next should increase position index
    6b851823ceaa NFS: Fix memory leaks
    0562d37d143a drm/amdgpu/smu10: fix smu10_get_clock_by_type_with_voltage
    c3e3d17d0c5b drm/amdgpu/smu10: fix smu10_get_clock_by_type_with_latency
    17bddc85f980 brd: check and limit max_part par
    7291351c00e1 microblaze: Prevent the overflow of the start
    7ceb32672b1e asm-generic/tlb: add missing CONFIG symbol
    7a48064a42e0 iwlwifi: mvm: Check the sta is not NULL in iwl_mvm_cfg_he_sta()
    1656781d15c0 iwlwifi: mvm: Fix thermal zone registration
    0448387729d9 nvme-pci: remove nvmeq->tags
    1d0fbf3e2687 nvmet: Pass lockdep expression to RCU lists
    d5461fdd9645 irqchip/gic-v3-its: Reference to its_invall_cmd descriptor when building INVALL
    793137b0511c bcache: fix incorrect data type usage in btree_flush_write()
    57a180a630d8 bcache: explicity type cast in bset_bkey_last()
    374eec821858 bcache: fix memory corruption in bch_cache_accounting_clear()
    dc8c75f35374 reiserfs: prevent NULL pointer dereference in reiserfs_insert_item()
    23b88b51de5c lib/scatterlist.c: adjust indentation in __sg_alloc_table
    5a553bd43f59 ocfs2: fix a NULL pointer dereference when call ocfs2_update_inode_fsync_trans()
    799c4c1e389f ocfs2: make local header paths relative to C files
    7a97311de48d btrfs: do not do delalloc reservation under page lock
    a531e6ba85a0 powerpc: Do not consider weak unresolved symbol relocations as bad
    528c36e14b17 radeon: insert 10ms sleep in dce5_crtc_load_lut
    224c0751dfb7 trigger_next should increase position index
    e349287276c2 ftrace: fpid_next() should increase position index
    8a7bfa3d97dc char: hpet: Fix out-of-bounds read bug
    427f39e23326 drm/nouveau/disp/nv50-: prevent oops when no channel method map provided
    39c6932240c5 irqchip/gic-v3: Only provision redistributors that are enabled in ACPI
    074c4c43fce2 drm/amd/display: do not allocate display_mode_lib unnecessarily
    1687b204ae83 rbd: work around -Wuninitialized warning
    bd4e1894166b ceph: check availability of mds cluster on mount after wait timeout
    7288d5338c85 powerpc/mm: Don't log user reads to 0xffffffff
    3ce3df5d00d0 bpf: map_seq_next should always increase position index
    9a178494d05b cifs: fix NULL dereference in match_prepath
    9c5ede115a6e cifs: Fix mount options set in automount
    1d8e40cf86e4 cifs: fix unitialized variable poential problem with network I/O cache lock patch
    a2763f62baa4 iwlegacy: ensure loop counter addr does not wrap and cause an infinite loop
    034c5f26d2bf rtw88: fix potential NULL skb access in TX ISR
    e7e4d0eaa639 hostap: Adjust indentation in prism2_hostapd_add_sta
    32662df2d0bc ALSA: usb-audio: add quirks for Line6 Helix devices fw>=2.82
    2ccaac382af0 ARM: 8951/1: Fix Kexec compilation issue.
    16ec28640dc6 selftests/eeh: Bump EEH wait time to 60s
    93df1b23b157 powerpc/pseries/lparcfg: Fix display of Maximum Memory
    411327180703 jbd2: make sure ESHUTDOWN to be recorded in the journal superblock
    314e25f4b0cf jbd2: switch to use jbd2_journal_abort() when failed to submit the commit record
    b911c5e8686a selftests: bpf: Reset global state between reuseport test runs
    251c53a92b54 alarmtimer: Make alarmtimer platform device child of RTC device
    777baa1baf63 iommu/vt-d: Remove unnecessary WARN_ON_ONCE()
    b5f6bf0fdd71 bcache: fix use-after-free in register_bcache()
    393b8509be33 bcache: rework error unwinding in register_bcache
    f7d8ebf26d23 bcache: cached_dev_free needs to put the sb page
    714cd4a5127a btrfs: Fix split-brain handling when changing FSID to metadata uuid
    dc22bc8a8626 btrfs: separate definition of assertion failure handlers
    3420f1b304b3 media: uvcvideo: Add a quirk to force GEO GC6500 Camera bits-per-pixel value
    3f6c8de753ed powerpc/sriov: Remove VF eeh_dev state when disabling SR-IOV
    9d5fc7f14ef2 drm/nouveau/mmu: fix comptag memory leak
    707518c16ba4 sunrpc: Fix potential leaks in sunrpc_cache_unhash()
    46503858e275 ALSA: hda - Add docking station support for Lenovo Thinkpad T420s
    ea038a5270b5 bpf, btf: Always output invariant hit in pahole DWARF to BTF transform
    f11aefc9961d driver core: platform: fix u32 greater or equal to zero comparison
    843eb0a8cf53 s390/ftrace: generate traced function stack frame
    68c3cc414e08 s390: adjust -mpacked-stack support check for clang 10
    838bddc295a0 x86/decoder: Add TEST opcode to Group3-2
    a4f6948e57f0 objtool: Fix ARCH=x86_64 build error
    59e2355bdfc5 kbuild: use -S instead of -E for precise cc-option test in Kconfig
    ba6ad897c3dc spi: spi-fsl-qspi: Ensure width is respected in spi-mem operations
    dbdc1c12966e ALSA: hda/hdmi - add retry logic to parse_intel_hdmi()
    fa7d320dbbbe irqchip/mbigen: Set driver .suppress_bind_attrs to avoid remove problems
    27f3dc35fd59 regulator: core: Fix exported symbols to the exported GPL version
    18eca3cb5dd9 remoteproc: Initialize rproc_class before use
    496d6c021828 module: avoid setting info->name early in case we can fall back to info->mod->name
    7303a0b0a537 btrfs: device stats, log when stats are zeroed
    f9ab58f9a2ab btrfs: safely advance counter when looking up bio csums
    ebf8e5411888 btrfs: fix possible NULL-pointer dereference in integrity checks
    50b93369668b pwm: Remove set but not set variable 'pwm'
    adf4ab6d8312 ide: serverworks: potential overflow in svwks_set_pio_mode()
    e5c8d3abd927 cmd64x: potential buffer overflow in cmd64x_program_timings()
    419035d75dbe pwm: omap-dmtimer: Remove PWM chip in .remove before making it unfunctional
    e7e6b53fea10 x86/mm: Fix NX bit clearing issue in kernel_map_pages_in_pgd
    225a5b5bee00 f2fs: fix memleak of kobject
    337c7b95e16e regulator: vctrl-regulator: Avoid deadlock getting and setting the voltage
    bf754c88865d ASoC: SOF: Intel: hda: Fix SKL dai count
    84255fe86d07 debugobjects: Fix various data races
    0b2ecef39d8e watchdog/softlockup: Enforce that timestamp is valid on boot
    d8a6a443ff0a perf/x86/amd: Constrain Large Increment per Cycle events
    f2323c374e49 sched/topology: Assert non-NUMA topology masks don't (partially) overlap
    5d13f62b9ef6 sched/core: Fix size of rq::uclamp initialization
    8da6ae7dcb16 arm64: dts: ti: k3-j721e-main: Add missing power-domains for smmu
    88cf251d3c0d KVM: PPC: Remove set but not used variable 'ra', 'rs', 'rt'
    d4870a4343f3 EDAC/sifive: Fix return value check in ecc_register()
    0a8f90d5654d drm/amd/display: fixup DML dependencies
    304982d21e2b arm64: fix alternatives with LLVM's integrated assembler
    f68668292496 arm64: lse: fix LSE atomics with LLVM's integrated assembler
    b04235f1e11d RDMA/mlx5: Don't fake udata for kernel path
    da2d50868e59 ALSA: usb-audio: add implicit fb quirk for MOTU M Series
    5a6f5b327fce crypto: essiv - fix AEAD capitalization and preposition use in help text
    817faa4ed433 scsi: iscsi: Don't destroy session if there are outstanding connections
    12b685be50c7 scsi: ufs-mediatek: add apply_dev_quirks variant operation
    4fa2dd4eebfd scsi: ufs: pass device information to apply_dev_quirks
    0016939be0ee f2fs: free sysfs kobject
    06c34c604b13 f2fs: set I_LINKABLE early to avoid wrong access by vfs
    f51caa62dea1 ALSA: usb-audio: unlock on error in probe
    480494e28a51 iommu/arm-smmu-v3: Use WRITE_ONCE() when changing validity of an STE
    23d3f191a576 kbuild: remove *.tmp file when filechk fails
    1fc9746acbb2 usb: musb: omap2430: Get rid of musb .set_vbus for omap2430 glue
    9112d1ef5a1b perf/imx_ddr: Fix cpu hotplug state cleanup
    994b203b619d drm/vmwgfx: prevent memory leak in vmw_cmdbuf_res_add
    13d368cd1e13 gpiolib: Set lockdep class for hierarchical irq domains
    7f0d9ac2621e dm thin: don't allow changing data device during thin-pool reload
    74f42a77318e drm/nouveau/fault/gv100-: fix memory leak on module unload
    18792937b064 drm/nouveau/drm/ttm: Remove set but not used variable 'mem'
    a94c84c5c4bc drm/nouveau: Fix copy-paste error in nouveau_fence_wait_uevent_handler
    93672fa5b9b3 drm/nouveau/gr/gk20a,gm200-: add terminators to method lists read from fw
    63e00e2c80e5 drm/nouveau/secboot/gm20b: initialize pointer in gm20b_secboot_new()
    760baae7ab35 vme: bridges: reduce stack usage
    76fac0e735c7 bpf: Return -EBADRQC for invalid map type in __bpf_tx_xdp_map
    be1113b4b415 ASoC: SOF: Intel: hda-dai: fix compilation warning in pcm_prepare
    a8b37e32415e driver core: Print device when resources present in really_probe()
    3f6af05d1d1b driver core: platform: Prevent resouce overflow from causing infinite loops
    11c759264c32 visorbus: fix uninitialized variable access
    83f964dd14a7 misc: xilinx_sdfec: fix xsdfec_poll()'s return type
    9087af8639c2 tty: synclink_gt: Adjust indentation in several functions
    71faeca11055 tty: synclinkmp: Adjust indentation in several functions
    a922fa72a860 raid6/test: fix a compilation warning
    6cfe307b5be7 ASoC: atmel: fix build error with CONFIG_SND_ATMEL_SOC_DMA=m
    5bff3c470f84 ALSA: usb-audio: Add boot quirk for MOTU M Series
    d691d1e5836d ARM: dts: rockchip: add reg property to brcmf sub node for rk3188-bqedison2qc
    7c32c479b1e0 arm64: dts: rockchip: add reg property to brcmf sub-nodes
    f9de6fb6e679 arm64: dts: rockchip: fix dwmmc clock name for px30
    989a495ed9a3 clocksource: davinci: only enable clockevents once tim34 is initialized
    48be6f9d2f7e wan: ixp4xx_hss: fix compile-testing on 64-bit
    73f48c1004d4 x86/nmi: Remove irq_work from the long duration NMI handler
    b075c29e816c bnxt: Detach page from page pool before sending up the stack
    1e703d621b9c Input: edt-ft5x06 - work around first register access error
    2b1fd461067f rcu: Use WRITE_ONCE() for assignments to ->pprev for hlist_nulls
    5f0a4eba2a88 efi/x86: Don't panic or BUG() on non-critical error conditions
    5cf01eacd5c2 soc/tegra: fuse: Correct straps' address for older Tegra124 device trees
    75d916c3b393 IB/hfi1: Add RcvShortLengthErrCnt to hfi1stats
    9cfe6c21ff17 IB/hfi1: Add software counter for ctxt0 seq drop
    8689967be56d staging: rtl8188: avoid excessive stack usage
    bfe29951e250 drm/mediatek: Add gamma property according to hardware capability
    6ceef50235d1 udf: Fix free space reporting for metadata and virtual partitions
    03560e4a19fe usbip: Fix unsafe unaligned pointer usage
    e653e1c05423 ARM: dts: stm32: Add power-supply for DSI panel on stm32f469-disco
    6e86c4ce5d3a usb: dwc3: use proper initializers for property entries
    ab7edf7fa651 drm: remove the newline for CRC source name.
    9d89ff3d27e0 RDMA/hns: Avoid printing address of mtt page
    5a2a529974e1 mlx5: work around high stack usage with gcc
    010cdc1be053 drm/amdkfd: Fix permissions of hang_hws
    960671ac5065 iommu/vt-d: Avoid sending invalid page response
    2aab9e9d1f3d iommu/vt-d: Match CPU and IOMMU paging mode
    4ffdfc414d81 ACPI: button: Add DMI quirk for Razer Blade Stealth 13 late 2019 lid switch
    e9e24f2ca9a6 ASoC: Intel: sof_rt5682: Ignore the speaker amp when there isn't one.
    d00a15040454 vfio/spapr/nvlink2: Skip unpinning pages on error exit
    e44b48f5bb64 tools lib api fs: Fix gcc9 stringop-truncation compilation error
    3e32b1282b11 net: phy: fixed_phy: fix use-after-free when checking link GPIO
    4070a491bfcf ALSA: sh: Fix compile warning wrt const
    cf24ed82438c ALSA: hda/realtek - Apply mic mute LED quirk for Dell E7xx laptops, too
    2417ea1d07a5 clk: uniphier: Add SCSSI clock gate for each channel
    6447bfe82922 clk: Use parent node pointer during registration if necessary
    6c7984312d35 ALSA: sh: Fix unused variable warnings
    9f87fff25159 clk: sunxi-ng: add mux and pll notifiers for A64 CPU clock
    d1d92e97260f RDMA/rxe: Fix error type of mmap_offset
    c87c4d442b9f fbdev: fix numbering of fbcon options
    67ca691658f5 ASoC: soc-topology: fix endianness issues
    04361b8961d6 reset: uniphier: Add SCSSI reset control for each channel
    e39aac0e65f1 pinctrl: sh-pfc: sh7269: Fix CAN function GPIOs
    9ed73297980b drm/fbdev: Fallback to non tiled mode if all tiles not present
    d3db7b78e7d6 PM / devfreq: rk3399_dmc: Add COMPILE_TEST and HAVE_ARM_SMCCC dependency
    704582e6a714 PM / devfreq: exynos-ppmu: Fix excessive stack usage
    bc866376d7cd x86/vdso: Provide missing include file
    b5fe09b676de crypto: chtls - Fixed memory leak
    a739564c4c53 net: phy: realtek: add logging for the RGMII TX delay configuration
    4783bf08f8d2 bpf: Print error message for bpftool cgroup show
    8a7aa4feeaea dmaengine: imx-sdma: Fix memory leak
    f99958a96c7f dmaengine: Store module owner in dma_device struct
    93a3eff6fab3 clk: actually call the clock init before any other callback of the clock
    fa0150ba88fa iommu/iova: Silence warnings under memory pressure
    8c358435459b iommu/amd: Only support x2APIC with IVHD type 11h/40h
    b1b7add9d2de iommu/amd: Check feature support bit before accessing MSI capability registers
    0c09d9dc8440 arm64: dts: qcom: db845c: Enable ath10k 8bit host-cap quirk
    ce591c921944 scsi: lpfc: Fix: Rework setting of fdmi symbolic node name registration
    111749fba968 selinux: ensure we cleanup the internal AVC counters on error in avc_update()
    069d2385f381 ARM: dts: r8a7779: Add device node for ARM global timer
    f9b42cb09d8b clk: renesas: rcar-gen3: Allow changing the RPC[D2] clocks
    d80f9dfe47ce drm/mediatek: handle events when enabling/disabling crtc
    57cd234da28c crypto: inside-secure - add unspecified HAS_IOMEM dependency
    df0f4455a12f scsi: aic7xxx: Adjust indentation in ahc_find_syncrate
    f6ebbf46c3a8 scsi: ufs: Complete pending requests in host reset and restore path
    8728001e1e41 nfsd: Clone should commit src file metadata too
    d67d31cb0e92 ACPICA: Disassembler: create buffer fields in ACPI_PARSE_LOAD_PASS1
    3fa5ba7b1912 clk: qcom: smd: Add missing bimc clock
    43ef7ad610dc drm/amdgpu: fix KIQ ring test fail in TDR of SRIOV
    75423fdad259 orinoco: avoid assertion in case of NULL pointer
    5a14db967b72 rtlwifi: rtl_pci: Fix -Wcast-function-type
    f20bc906af52 iwlegacy: Fix -Wcast-function-type
    3acea3092a33 ipw2x00: Fix -Wcast-function-type
    bc8746721cdf b43legacy: Fix -Wcast-function-type
    90053ff023da PCI: Add DMA alias quirk for PLX PEX NTB
    27a35f09367f PCI: Add nr_devfns parameter to pci_add_dma_alias()
    dd77f77004b6 ALSA: usx2y: Adjust indentation in snd_usX2Y_hwdep_dsp_status
    b6c857e5e500 netfilter: nft_tunnel: add the missing ERSPAN_VERSION nla_policy
    1e2b6e5f32aa fore200e: Fix incorrect checks of NULL pointer dereference
    58bc57b373e0 r8169: check that Realtek PHY driver module is loaded
    cdd5b09bcbc0 samples/bpf: Set -fno-stack-protector when building BPF programs
    af77e76625be reiserfs: Fix spurious unlock in reiserfs_fill_super() error handling
    6107a895e383 media: v4l2-device.h: Explicitly compare grp{id,mask} to zero in v4l2_device macros
    cf03458ab2cf selftests/net: make so_txtime more robust to timer variance
    687ef9c269b6 gpu/drm: ingenic: Avoid null pointer deference in plane atomic update
    e07c107a2483 Revert "nfp: abm: fix memory leak in nfp_abm_u32_knode_replace"
    6a05af0b718a PCI: Increase D3 delay for AMD Ryzen5/7 XHCI controllers
    5700b8073f03 PCI: Add generic quirk for increasing D3hot delay
    1e7b1684de37 media: cx23885: Add support for AVerMedia CE310B
    a3a7f90936d7 PCI: iproc: Apply quirk_paxc_bridge() for module as well as built-in
    76ce0e269b4a bus: ti-sysc: Implement quirk handling for CLKDM_NOAUTO
    2fc336213605 ARM: dts: imx6: rdu2: Limit USBH1 to Full Speed
    f3e63a4ddf19 ARM: dts: imx6: rdu2: Disable WP for USDHC2 and USDHC3
    dbe3806c7191 ARM: exynos_defconfig: Bring back explicitly wanted options
    4ece124849a2 clk: imx: Add correct failure handling for clk based helpers
    0685dfa0a2ff padata: validate cpumask without removed CPU during offline
    c3a007435359 arm64: dts: qcom: msm8996: Disable USB2 PHY suspend by core
    0e44cd879ba1 selinux: ensure we cleanup the internal AVC counters on error in avc_insert()
    5fed8c513adb opp: Free static OPPs on errors while adding them
    ef6b35dfe142 arm: dts: allwinner: H3: Add PMU node
    5a241d7bf1e6 arm64: dts: allwinner: H5: Add PMU node
    02dfae36b03f arm64: dts: allwinner: H6: Add PMU mode
    5f0a50b0a37d NFC: port100: Convert cpu_to_le16(le16_to_cpu(E1) + E2) to use le16_add_cpu().
    53d9b08dc80d net/wan/fsl_ucc_hdlc: reject muram offsets above 64K
    12ba455b1d28 regulator: rk808: Lower log level on optional GPIOs being not available
    bae02d239a38 ASoC: intel: sof_rt5682: Add support for tgl-max98357a-rt5682
    fa54ae038c95 ASoC: intel: sof_rt5682: Add quirk for number of HDMI DAI's
    4c50665fc968 modules: lockdep: Suppress suspicious RCU usage warning
    fa0316aaf094 arm64: dts: rockchip: Fix NanoPC-T4 cooling maps
    3a28e0701264 drm/panel: simple: Add Logic PD Type 28 display support
    c3c3f3449b8c drm/amdgpu: Ensure ret is always initialized when using SOC15_WAIT_ON_RREG
    ddbdf757a7ef ath10k: correct the tlv len of ath10k_wmi_tlv_op_gen_config_pno_start
    69c12b79e9e2 drm/amdgpu: remove 4 set but not used variable in amdgpu_atombios_get_connector_info_from_object_table
    ad9728b377a6 bpf, sockhash: Synchronize_rcu before free'ing map
    25c85d8574d8 drm/amdkfd: Fix a bug in SDMA RLC queue counting under HWS mode
    dff5d0fc77a5 clk: qcom: rcg2: Don't crash if our parent can't be found; return an error
    8d122cd0d266 clk: qcom: Don't overwrite 'cfg' in clk_rcg2_dfs_populate_freq()
    8ba34cdadba3 kconfig: fix broken dependency in randconfig-generated .config
    39a708219509 block, bfq: do not plug I/O for bfq_queues with no proc refs
    b0d5c881d36e drivers/block/zram/zram_drv.c: fix error return codes not being returned in writeback_store
    53aaa9f1a638 Btrfs: keep pages dirty when using btrfs_writepage_fixup_worker
    3aa694d0e112 KVM: s390: ENOTSUPP -> EOPNOTSUPP fixups
    25cbba5d4e14 nbd: add a flush_workqueue in nbd_start_device
    201fdd62bb23 tracing: Simplify assignment parsing for hist triggers
    7bc84d854017 drm/amd/display: Retrain dongles when SINK_COUNT becomes non-zero
    806f57ec2b52 rtc: i2c/spi: Avoid inclusion of REGMAP support when not needed
    b752d473b1fb selftests: settings: tests can be in subsubdirs
    6f65dd66ea6f brcmfmac: sdio: Fix OOB interrupt initialization on brcm43362
    abf8d588e3b1 rtw88: fix rate mask for 1SS chip
    3eee03d0ffb8 ath10k: Correct the DMA direction for management tx buffers
    494c30b80550 ext4, jbd2: ensure panic when aborting with zero errno
    8343f165f3d4 ARM: 8952/1: Disable kmemleak on XIP kernels
    8c72748e9f6a tracing: Fix very unlikely race of registering two stat tracers
    75225eee8715 tracing: Fix tracing_stat return values in error handling paths
    8be3ac46ef80 powerpc/iov: Move VF pdev fixup into pcibios_fixup_iov()
    256e52a1a915 s390/pci: Fix possible deadlock in recover_store()
    37ea6d15b197 wan/hdlc_x25: fix skb handling
    77b131f652d4 dmaengine: fsl-qdma: fix duplicated argument to &&
    d30a4882e630 udf: Allow writing to 'Rewritable' partitions
    a3536e5589c7 pwm: omap-dmtimer: Simplify error handling
    971579fae1b4 x86/sysfb: Fix check for bad VRAM size
    7828a927b850 clk: ti: dra7: fix parent for gmac_clkctrl
    2d7fa7564bc4 ext4: fix deadlock allocating bio_post_read_ctx from mempool
    c982320078dd jbd2: clear JBD2_ABORT flag before journal_reset to update log tail info when load journal
    56953ccd7f00 kselftest: Minimise dependency of get_size on C library interfaces
    6aa96ec9c196 drm/amd/display: Clear state after exiting fixed active VRR state
    c7fc72092134 clocksource/drivers/bcm2835_timer: Fix memory leak of timer
    9f0414eed212 usb: dwc2: Fix IN FIFO allocation
    2cea5895b69d usb: gadget: udc: fix possible sleep-in-atomic-context bugs in gr_probe()
    531d0ac5fbbd drm/nouveau/nouveau: fix incorrect sizeof on args.src an args.dst
    d34ecf4949de spi: fsl-lpspi: fix only one cs-gpio working
    9f3a2e147f0e drm/amdgpu/sriov: workaround on rev_id for Navi12 under sriov
    750a95d63746 uio: fix a sleep-in-atomic-context bug in uio_dmem_genirq_irqcontrol()
    b2f28d11f2a1 raid6/test: fix a compilation error
    448563605d98 net: ethernet: ixp4xx: Standard module init
    b5d649f14470 sparc: Add .exit.data section.
    c09d0bd924ac MIPS: Loongson: Fix potential NULL dereference in loongson3_platform_init()
    ed140997f80c efi/x86: Map the entire EFI vendor string before copying it
    04a5bebd7789 pinctrl: baytrail: Do not clear IRQ flags on direct-irq enabled pins
    9ad79d4fa032 IB/core: Let IB core distribute cache update events
    f606721660a6 kernel/module: Fix memleak in module_add_modinfo_attrs()
    fc3c0fc85d69 media: sti: bdisp: fix a possible sleep-in-atomic-context bug in bdisp_device_run()
    bc4730880281 char/random: silence a lockdep splat with printk()
    0b455673e7c4 x86/fpu: Deactivate FPU state after failure during state load
    9b743915bd00 iommu/vt-d: Fix off-by-one in PASID allocation
    739abce96dd0 gpio: gpio-grgpio: fix possible sleep-in-atomic-context bugs in grgpio_irq_map/unmap()
    e715aa99c502 clk: meson: meson8b: make the CCF use the glitch-free mali mux
    271b18405eb0 powerpc/powernv/iov: Ensure the pdn for VFs always contains a valid PE number
    2f812301bacf clk: at91: sam9x60: fix programmable clock prescaler
    e1e1cdbc646f media: sun4i-csi: Fix [HV]sync polarity handling
    65fbde986aef media: sun4i-csi: Fix data sampling polarity handling
    f5076ea1bc9d media: sun4i-csi: Deal with DRAM offset
    cb514c01f6e4 media: i2c: mt9v032: fix enum mbus codes and frame sizes
    ecb8ea6f93e5 media: ov5640: Fix check for PLL1 exceeding max allowed rate
    9c76a7b28edc pxa168fb: Fix the function used to release some memory in an error handling path
    4a8bb7ce9f0b drm/msm/adreno: fix zap vs no-zap handling
    4aa148666a70 drm/mipi_dbi: Fix off-by-one bugs in mipi_dbi_blank()
    d21cc4ea7a82 printk: fix exclusive_console replaying
    f46afae807aa pinctrl: sh-pfc: sh7264: Fix CAN function GPIOs
    fcc0000109b0 gianfar: Fix TX timestamping with a stacked DSA driver
    c324effa6d9d ALSA: ctl: allow TLV read operation for callback type of element in locked case
    4125714ce1d6 ext4: fix ext4_dax_read/write inode locking sequence for IOCB_NOWAIT
    348a7ccdb9f0 leds: pca963x: Fix open-drain initialization
    4e2d5e3eb865 drm/amd/display: Map ODM memory correctly when doing ODM combine
    b3224bf30709 PCI: Fix pci_add_dma_alias() bitmask size
    071963d37143 brcmfmac: Fix use after free in brcmf_sdio_readframes()
    55195593a8c6 brcmfmac: Fix memory leak in brcmf_p2p_create_p2pdev()
    c4d0a90b5029 cpu/hotplug, stop_machine: Fix stop_machine vs hotplug order
    4d7f8ca608b2 clk: meson: pll: Fix by 0 division in __pll_params_to_rate()
    343fc9a26887 media: meson: add missing allocation failure check on new_buf
    85275286d118 f2fs: call f2fs_balance_fs outside of locked page
    678b25bfd983 f2fs: preallocate DIO blocks when forcing buffered_io
    255edefeb0b8 rcu: Fix data-race due to atomic_t copy-by-value
    b7725deb9d61 rcu: Fix missed wakeup of exp_wq waiters
    3ece067c12e1 rcu/nocb: Fix dump_tree hierarchy print always active
    2339f7a55c84 drm/qxl: Complete exception handling in qxl_device_init()
    3deb6e993ec4 wil6210: fix break that is never reached because of zero'ing of a retry counter
    281ebbcdee49 ath10k: Fix qmi init error handling
    726196728c2c drm/gma500: Fixup fbdev stolen size usage evaluation
    60e055d59d0e net/sched: flower: add missing validation of TCA_FLOWER_FLAGS
    58cd462bc5b1 net/sched: matchall: add missing validation of TCA_MATCHALL_FLAGS
    d9bc012b4a47 net: dsa: tag_qca: Make sure there is headroom for tag
    42dd56266b9f net/smc: fix leak of kernel memory to user space
    f1f2eea30d19 enic: prevent waking up stopped tx queues over watchdog reset
    8f22873582a7 core: Don't skip generic XDP program execution for cloned SKBs
    2d636a1263be Linux 5.4.21
    c10cfc131c0b mmc: core: Rework wp-gpio handling
    b0ad23142a2a gpio: add gpiod_toggle_active_low()
    2cbbe28c734b KVM: x86/mmu: Fix struct guest_walker arrays for 5-level paging
    ac3aea49cc35 ext4: choose hardlimit when softlimit is larger than hardlimit in ext4_statfs_project()
    9275ae515385 jbd2: do not clear the BH_Mapped flag when forgetting a metadata buffer
    f09998f7a11f jbd2: move the clearing of b_modified flag to the journal_unmap_buffer()
    0e365eafbcaa Revert "drm/sun4i: drv: Allow framebuffer modifiers in mode config"
    590d35beddcc NFSv4.1 make cachethis=no for writes
    7bee7eabf0ed perf stat: Don't report a null stalled cycles per insn metric
    1164c3380958 KVM: x86: Mask off reserved bit from #DB exception payload
    ec86856b4672 arm64: dts: fast models: Fix FVP PCI interrupt-map property
    51a610a5c88d cifs: fix mount option display for sec=krb5i
    db5a68ffad2a mac80211: fix quiet mode activation in action frames
    671338889e8f hwmon: (pmbus/ltc2978) Fix PMBus polling of MFR_COMMON definitions.
    98509dfe6f25 perf/x86/intel: Fix inaccurate period in context switch for auto-reload
    1d2a31baf6b6 spmi: pmic-arb: Set lockdep class for hierarchical irq domains
    9f6f61c61a84 sched/uclamp: Reject negative values in cpu_uclamp_write()
    115402ee80ce s390/time: Fix clk type in get_tod_clock
    ae88de70c254 RDMA/core: Fix protection fault in get_pkey_idx_qp_list
    2c753af06f23 RDMA/rxe: Fix soft lockup problem due to using tasklets in softirq
    8662e612ae4c RDMA/hfi1: Fix memory leak in _dev_comp_vect_mappings_create
    b860a4524217 RDMA/iw_cxgb4: initiate CLOSE when entering TERM
    c60c4b4b6bf2 RDMA/core: Fix invalid memory access in spec_filter_size
    8a14f01c4d0f IB/umad: Fix kernel crash while unloading ib_umad
    6603342a6060 IB/rdmavt: Reset all QPs when the device is shut down
    b16dfda32ca5 IB/hfi1: Close window for pq and request coliding
    327f33e54c7f IB/hfi1: Acquire lock to release TID entries when user file is closed
    e30e30c042fe IB/mlx5: Return failure when rts2rts_qp_counters_set_id is not supported
    cf0ea974b6a2 drivers: ipmi: fix off-by-one bounds check that leads to a out-of-bounds write
    5e9f573dc8e7 nvme: fix the parameter order for nvme_get_log in nvme_get_fw_slot_info
    fa3c053b8313 bus: moxtet: fix potential stack buffer overflow
    279c15b917ec drm/panfrost: Make sure the shrinker does not reclaim referenced BOs
    3ea7f138cec1 drm/vgem: Close use-after-free race in vgem_gem_create
    9ea66515918e s390/uv: Fix handling of length extensions
    9e6874da9446 s390/pkey: fix missing length of protected key on return
    ebc3ddc1a255 perf/x86/amd: Add missing L2 misses event spec to AMD Family 17h's event map
    db6f68908bce KVM: nVMX: Use correct root level for nested EPT shadow page tables
    ce8b9b8032bd EDAC/mc: Fix use-after-free and memleaks during device removal
    b2e977a9731f EDAC/sysfs: Remove csrow objects on errors
    03f6c2bf9562 cifs: make sure we do not overflow the max EA buffer size
    ff04f342f8c4 xprtrdma: Fix DMA scatter-gather list mapping imbalance
    22f15745c4e7 arm64: ssbs: Fix context-switch when SSBS is present on all CPUs
    4267ba3bac6d gpio: xilinx: Fix bug where the wrong GPIO register is written to
    8791bb8f8471 ARM: npcm: Bring back GPIOLIB support
    cafaf6bcce60 btrfs: log message when rw remount is attempted with unclean tree-log
    2655c88c03e8 btrfs: print message when tree-log replay starts
    f3cdf024ed19 btrfs: ref-verify: fix memory leaks
    bf4a9715a914 Btrfs: fix race between using extent maps and merging them
    c43f560acc85 ext4: improve explanation of a mount failure caused by a misconfigured kernel
    94f0fe04da78 ext4: add cond_resched() to ext4_protect_reserved_inode
    5b0a26514d6c ext4: fix checksum errors with indexed dirs
    449e607322d7 ext4: fix support for inode sizes > 1024 bytes
    f080204b677d ext4: don't assume that mmp_nodename/bdevname have NUL
    86c30da1b684 ALSA: usb-audio: Add clock validity quirk for Denon MC7000/MCX8000
    67d49871f8e4 ALSA: usb-audio: sound: usb: usb true/false for bool return type
    c3b35c87e5b6 ACPI: PM: s2idle: Prevent spurious SCIs from waking up the system
    303740645567 ACPICA: Introduce acpi_any_gpe_status_set()
    0671627a5faa ACPI: PM: s2idle: Avoid possible race related to the EC GPE
    b9f78af90d92 ACPI: EC: Fix flushing of pending work
    25487999ca3a ALSA: usb-audio: Apply sample rate quirk for Audioengine D1
    2b7e7004970a ALSA: hda/realtek - Fix silent output on MSI-GL73
    1e73c5eae8c6 ALSA: hda/realtek - Add more codec supported Headset Button
    c28273b42c95 ALSA: usb-audio: Fix UAC2/3 effect unit parsing
    2323beb68436 Input: synaptics - remove the LEN0049 dmi id from topbuttonpad list
    efca0d73501a Input: synaptics - enable SMBus on ThinkPad L470
    c6426ba5731b Input: synaptics - switch T470s to RMI4 by default

(From OE-Core rev: aef943886969fb4c411eb4dc2fd6fb5063ce0064)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:18 +00:00
Bruce Ashfield
033589ac71 linux-yocto: common-pc-drivers.cfg: add CONFIG_INPUT_UINPUT
Integrating the following configuration tweak:

[

   Author: Alexander Kanavin <alex.kanavin@gmail.com>
   Date:   Mon Feb 24 10:34:00 2020 +0100

       common-pc-drivers.cfg: add CONFIG_INPUT_UINPUT

       This will allow testing libinput in particular:
       https://www.kernel.org/doc/html/latest/input/uinput.html
       https://wayland.freedesktop.org/libinput/doc/latest/test-suite.html

       Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
       Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
]

(From OE-Core rev: add2cd52e4bc638f1d8f5f669cbf9bcb83e39397)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:18 +00:00
Bruce Ashfield
8de46476f5 linux-yocto/5.2: backport perf build fix for latest binutils
[
   Author: Changbin Du <changbin.du@gmail.com>
   Date:   Tue Jan 28 23:29:38 2020 +0800

       perf: Make perf able to build with latest libbfd

       libbfd has changed the bfd_section_* macros to inline functions
       bfd_section_<field> since 2019-09-18. See below two commits:
	 o http://www.sourceware.org/ml/gdb-cvs/2019-09/msg00064.html
	 o https://www.sourceware.org/ml/gdb-cvs/2019-09/msg00072.html

       This fix make perf able to build with both old and new libbfd.

       Signed-off-by: Changbin Du <changbin.du@gmail.com>
       Acked-by: Jiri Olsa <jolsa@redhat.com>
       Cc: Peter Zijlstra <peterz@infradead.org>
       Link: http://lore.kernel.org/lkml/20200128152938.31413-1-changbin.du@gmail.com
       Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
       Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
]

(From OE-Core rev: 14a338dbbe2da5a022a916081b3aab9c7472c3ce)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:18 +00:00
Jeremy Puhlman
400743867d python3-native: Should not search the system for headers/libraries.
The specific issue here is rpc/rpc.h, but its likely more general.
/usr/include is searched for rpc/rpc.h and if it exists on the
system, it changes behavior. If you are using the extended buildtools
tarball on a machine that has /usr/include/rpc/rpc.h, it will decide
that is good enough and not continue to search. nis fails to build
because /usr/include and /usr/lib are not part of the include/link
paths for the buildtools tarball compiler(nor should they be).

This makes it so python3-native will not build if you are using the
extended buildtools tarball, but from a larger issue perspective it
is building in likely different ways depending on what machine it
is building on.

libtirpc is already a depend so we shouldn't need the hosts rpc/rcp.h.

(From OE-Core rev: f37dfc7907ae7bac08d40468ddde2e5b8bba030c)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:18 +00:00
André Draszik
b4b09ea33b linux-firmware: install / package all license files again
This doesn't happen with make install, hence all the -license packages
are missing, since they'd otherwise be empty.

(From OE-Core rev: 456a1431dd7d8472830b8716e80e64a888617354)

Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:18 +00:00
Alexander Kanavin
2b43efced7 linux-firmware: use 'make install' for installation
Copying the source tree over was missing important symlinks
that since recent updates can only be created with make install.

(From OE-Core rev: 8764cc85f3ef570f1c220c3c200d6e02d3e7a260)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:18 +00:00
Ming Liu
c412d3440c kernel-yocto.bbclass: fix a wrong inter-task dependency
do_kernel_checkout and do_symlink_kernsrc are both modifying ${S}, they
could conflict with eacher other, move do_kernel_checkout after
do_symlink_kernsrc does fix that.

(From OE-Core rev: 965090f42bc0576e938a0575b7938a1ff60b0018)

Signed-off-by: Ming Liu <liu.ming@toradex.com>
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:18 +00:00
Jeremy Puhlman
06972e2d4d buildtools-extended-tarball: add nativesdk-libxcrypt-dev
virtual/crypt-native is assume provided in bitbake.conf, so
buildtools-extended-tarball shoud provide crypt since it doesn't
use the host's headers/libraries.

[YOCTO #13714]

(From OE-Core rev: da948b25d5ef452fb35275d108e18d2a2829f4fb)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:18 +00:00
Joshua Watt
fea1d99036 classes/kernel.bbclass: Fix parsing errors
legitimize_package_name wants the actual value of KERNEL_REVISION, so
use d.getVar() to fetch it as is done elsewhere in the file. Failing to
do so can result it weird errors at parsing time.

(From OE-Core rev: 9bff4d14693c1890fc181ec68c9f883dc4e4accf)

Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:18 +00:00
Alexander Kanavin
177c9b49b8 libmodule-build-perl: make it reproducible
Particularly, delete html docs as they have sysroot
paths in them, and adjust build configuration to not
refer to host paths either.

(From OE-Core rev: 7f58aed9d7b07d9f86717fc0c45b31b1887eb36a)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:18 +00:00
Joe Slater
ebc39a1856 blktrace: modify two scripts for python3
Backport from git.kernel.dk.  Changed shebangs to use python3.

(From OE-Core rev: 2c0ca4632f6c2ce645412ca975a70b3088c27916)

Signed-off-by: Joe Slater <joe.slater@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:18 +00:00
André Draszik
dec4e3f813 bitbake.conf: omit XZ threads and RAM from sstate signatures
The number of threads used, and the amount of memory allowed
to be used, should not affect sstate signatures, as they
don't affect the outcome of the compression if xz operates
in multi-threaded mode [1].

Otherwise, it becomes impossible to re-use sstate from
automated builders on developer's machines (as the former
might execute bitbake with certain constraints different
compared to developer's machines).

This is in particular a problem with the opkg package writing
backend, as the OPKGBUILDCMD depends on XZ_DEFAULTS. Without
the vardepexclude, there is no re-use possible of the
package_write_ipk sstate.

Whitelist the maximum number of threads and the memory limit
given assumptions outlined in [2] below.

(From OE-Core rev: 7927d5f6eaab48578b23db9a4c38e2f87f011353)

Signed-off-by: André Draszik <git@andred.net>

[1] When starting out in multi-threaded mode, the output is always
deterministic, as even if xz scales down to single-threaded later,
the archives are still split into blocks and size information is
still added, thus keeping them compatible with multi-threaded mode.
Also, when starting out in multi-threaded mode, xz never scales
down the compression level to accomodate memory usage restrictions,
it just scales down the number of threads and errors out if it
can not accomodate the memory limit.

[2] Assumptions
* We only support multi-threaded mode (threads >= 2), builds
  should not try to use xz in single-threaded mode
* The thread limit should be set via XZ_THREADS, not via
  modifying XZ_DEFAULTS or XZ_OPTS, or any other way
* The thread limit should not be set to xz's magic value
  zero (0), as that will lead to single-threaded mode on
  single-core systems.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:18 +00:00
André Draszik
e16134e3bb bitbake.conf: more deterministic xz compression (threads)
xz archives can be non-deterministic / non-reproducible:
    a) archives are created differently in single- vs
       multi-threaded modes
    b) xz will scale down the compression level so as to
       be try to work within any memory limit given to
       it when operating in single-threaded mode

This means that due to bitbake's default of using as many
threads as there are cores in the system, files compressed
with xz will be different if built on a multi-core system
compared to single-core systems. They will also potentially
be different if built on single-core systems with different
amounts of physical memory, due to bitbake's default of
limiting xz's memory consumption.

Force multi-threaded operation by default, even on single-core
systems, so as to ensure archives are created in the same
way in all cases.

(From OE-Core rev: d96aa8594c8d7531da34645cadbac4f7549d8ae6)

Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:18 +00:00
André Draszik
0d7f24ce89 lib/oe/utils: allow to set a lower bound on returned cpu_count()
This will be needed for making xz compression more deterministic,
as xz archives are created differently in single- vs multi-threaded
modes.

This means that due to bitbake's default of using as many threads
as there are cores in the system, files compressed with xz
will be different if built on a multi-core system compared to
single-core systems.

Allowing cpu_count() here to return a lower bound, will allow
forcing xz to always use multi-threaded operation.

(From OE-Core rev: c6dda204e15c5b27559f7617b18a7b3ce604e2f8)

Signed-off-by: André Draszik <git@andred.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:17 +00:00
Anders Wallin
193f56f8b8 babeltrace: only check latest git tag version for 1.x.x
version 2.x.x will be added with a new babeltrace2 recipe

(From OE-Core rev: 0616a5dbc61561fefcd1822ce263837437466df2)

Signed-off-by: Anders Wallin <wallinux@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-06 08:19:17 +00:00
Richard Purdie
92e172b5b4 systemd: Fix service file for race issues
It seems this service needs both Requires: and After: according to the definitions
in the systemd docs, else we see boot race failures.

(From OE-Core rev: d6b1809e8cd7ca78c5b442177393d4299a96ec65)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-03 13:06:29 +00:00
Ruslan Bilovol
fa4945100a kernel-devsrc: support 4.4+ ARM/ARM64 kernels
Linux Kernel 4.4 is an LTS kernel so people may still
build it with OE.

Thus make copying of some files optional:
 - arm64 module.lds file first appeared with kernel v4.6 commit
   fd045f6cd98e arm64: add support for module PLTs"
 - arm32 *.tbl files first appeared in kernel v4.10 in
   commit 96a8fae0fe09 "ARM: convert to generated
   system call tables"

(From OE-Core rev: 3329dd6ea914c5fadbf63ecbfde9c66472df19ee)

Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-03 13:06:29 +00:00
Scott Murray
bd5635d7ae psplash: update to latest git revision and clean up
Update SRCREV to pick up:

c359546 Fix psplash-systemd failures
3c0a4f3 Remove generated psplash-poky-img.h

Also:
* set the unit type in psplash-start.service to "notify" to
  complete the psplash-systemd race fix
* remove the rest of the now unnecessary has_png logic bits
* change the generated image header destination to B instead of S
  since that now works after the recent makefile changes, and will
  avoid unnecessarily polluting the source tree

(From OE-Core rev: 6f31da5632220a09ac65b8f361cdc9c64e64ce35)

Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-03 13:06:28 +00:00
Adrian Bunk
57f15632d7 make: Use gziped sources
Building lzip-native just for being able to build make is not
worth saving 1 MB download, especially since this creates a
bottleneck for the whole build.

(From OE-Core rev: 136314ffd107654b7673d937acafb7f4a81ac5a9)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-03 13:06:28 +00:00
Matt Ranostay
2673d8005c freetype: add pixmap to PACKAGECONFIG
Add pixmap to PACKAGECONFIG defaults to allow consumers to
render color emojis without distro changes.

(From OE-Core rev: 01d404302238b0ad570192118617083440d1d50a)

Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-02 21:00:54 +00:00
Armin Kuster
26525f2f4f wic/engine: lets display an error not a traceback
If the requested partition does not exist in this request "wic ls {path}:pnum"
display a nice message not a trackback

Also fix displaying the pnum and not "%s"

(From OE-Core rev: 15d1722950a22649905cf8a5789d3cfe48a2a892)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-02 21:00:54 +00:00
Anuj Mittal
9165187275 stress-ng: upgrade 0.11.00 -> 0.11.01
(From OE-Core rev: 713837a0a2d51b3a9aaf3d5aa053f9503f9c362d)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-02 21:00:54 +00:00
Anuj Mittal
94195b7bd0 libsoup-2.4: upgrade 2.68.3 -> 2.68.4
(From OE-Core rev: fc2479d488974c4af154f215f9de7e0e5b3b3c71)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-02 21:00:53 +00:00
Anuj Mittal
6a5daf4b2e enchant2: upgrade 2.2.7 -> 2.2.8
(From OE-Core rev: d9d386122f70b6692f614e526fe3168d674533bf)

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-02 21:00:53 +00:00
Denys Dmytriyenko
b9cd01e95a wayland-protocols: upgrade 1.18 -> 1.20
wayland-protocols 1.20 is now available.

This release is a brown paper bag release adding the missing README.md,
GOVERNANCE.md and MEMBERS.md files to the tarball. Distributions that
distribute one or more of these files should ignore the 1.19 release and
move directly to 1.20.
https://lists.freedesktop.org/archives/wayland-devel/2020-February/041269.html

(From OE-Core rev: 7bd664600cce0fba4e256c690078ef69e39be299)

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-02 21:00:53 +00:00
Pierre-Jean Texier
5fb445614e sysklogd: upgrade 2.0.3 -> 2.1.1
License-Update: Relicensed under the BSD-3-Clause license since v2.1

Remove patches applied upstream.

Since version v2.1, klogd was removed from the sysklogd project since
syslogd performs logging of kernel messages.

So, this patch remove klogd support.

(From OE-Core rev: c28457322eb6a141d0e8c66fc1c7eee681c0fe88)

Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-02 21:00:53 +00:00
Petr Vorel
2af240a7d4 ltp: Remove mips related open_posix_testsuite patch
Upstream just disagree on this patch
https://patchwork.ozlabs.org/comment/2012045/

(From OE-Core rev: 2497b28b14bd70c0a4c94fc22a74ea62c527b410)

Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-02 16:16:27 +00:00
Petr Vorel
a37dba3063 ltp: Update to 20200120
Removed ffsb copying file and associated runtest file fs_ext4
(both removed in this release).

Added LIBS=-lfts for MUSL.

Removed patches (accepted upstream)
* 0001-mkswap01.sh-Add-udevadm-trigger-before-swap-verifica.patch
* 0001-testcases-fix-an-absent-format-string-issue.patch
* 0001-nm01-Remove-prefix-zeros-of-the-addresses-output-by-.patch

Merged patches
* 0006-rt_tgsigqueueinfo-disable-test-on-musl.patch
(into 0001-build-Add-option-to-select-libc-implementation.patch as they
touch the same files)

Refreshed patches (some tests have been fixed for musl)
* 0001-Add-more-musl-exclusions.patch
* 0001-build-Add-option-to-select-libc-implementation.patch
* 0002-kernel-controllers-Link-with-libfts-explicitly-on-mu.patch
IMHO this one shouldn't be needed not, but CI still fails without it

Updated status
* 0008-testcases-network-nfsv4-acl-acl1.c-Security-fix-on-s.patch
* 0001-syscalls-Check-for-time64-unsafe-syscalls-before-usi.patch

(From OE-Core rev: 62e2063698477a13c55ae370451e52a2f1e18e45)

Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-02 16:16:27 +00:00
Richard Purdie
fecd65625e bitbake: cooker: Reset parse status unpon clientComplete
If for example a tinfoil connection edits the datastore, a subsequent
connection can be "corrupted" by those changes. By setting the parse
status of the caches as False at exit, the behaviour becomes the same
as a newly setup server as a new data store is setup.

This avoids problems in tests when BB_SERVER_TIMEOUT is set as the
server is properly reset between connections.

[YOCTO #13812]

(Bitbake rev: e66759106e21da2b34a6cdec7aa681ad2204da54)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-02 16:16:27 +00:00
Richard Purdie
bed52fbf3c bitbake: fetch2: Limit shown checksums to sha256
Currently bitbake will list many checksums for a recipe when none are
present, encouraging users to add them all to a recipe. We don't
need/want them all.

We used to show md5 and sha256 but given the concerns about md5,
switch to showing just sha256 going forward which seems like the
sensible one to standardise upon.

There will be no change to existing recipe functionality.

(Bitbake rev: 47f0c849ed13ba554d9523b926d92405e8251702)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-02 16:16:27 +00:00
Andreas Müller
5e1f0d593e mime-xdg.bbclass: Fix typo in comment
(From OE-Core rev: d6fc0081f53ebc5b12ffff917cf3c04c270a69f1)

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-01 17:50:30 +00:00
Pierre-Jean Texier
0c8892fa1d wic/engine: dump the partition table in JSON format only
since commit 03154d2cf25c1d5ce908da9e72d324004b8d5722 ("sfdisk: add -J between mutually exclusive options")
in util-linux [1], the '-J' can't be used with the '-d' option anymore.

So, since we're using json format output, drop the '-d' option.

Fixes:

ERROR: _exec_cmd: <snip>/usr/sbin/sfdisk -dJ <snip>/core-image-minimal-qemux86-64.wic returned '1' instead of 0
output: sfdisk: mutually exclusive arguments: --list-free --json --dump

[1] - 03154d2cf2 (diff-31d5cc325380dbdafe64d0e019846f12)

(From OE-Core rev: 49e7f3e8e3a775510d8b0e2826a06d000934706b)

Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-01 10:40:11 +00:00
Pierre-Jean Texier
5a8d7be90a util-linux: upgrade 2.34 -> 2.35.1
License-Update: add GPLv3 text in README.licensing

Also:
 - Drop upstreamed patch
 - Backport an upstream patch to fix an issue with 'sfdisk'
 - Use 'disable-hwclock-gplv3' explicitly.

Since commit 7a3000f7ba548cf7d74ac77cc63fe8de228a669e ("hwclock: use parse_date function") hwclock is linked
with parse_date.y from gnullib. This gnulib code is distributed with GPLv3.
So, we have to use '--disable-hwclock-gplv3' to exclude this code.

See full changelog https://lore.kernel.org/util-linux/20200131095846.ogjtqrs7ai774tka@ws.net.home/T/#u

(From OE-Core rev: 324f33ba5a77d498cfff81c6857c78ad13b27125)

Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-01 10:40:11 +00:00
Pierre-Jean Texier
e1b4a438cb libarchive: support mbedtls in PACKAGECONFIG
The version 3.4.2 of libarchive add support for mbed TLS [1].

So, add PACKAGECONFIG for mbedtls.

[1] - https://github.com/libarchive/libarchive/releases/tag/v3.4.2

(From OE-Core rev: 19ef429ffb7ccd7277da82c5487f3ab1ae2af994)

Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-01 10:40:11 +00:00
Richard Purdie
6479de2ae6 make: Drop mips glibc workaround
This is no longer needed with the upgraded glibc version.

(From OE-Core rev: 2d51abf53e063ce6328290de728b5870530aa86a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-01 10:40:11 +00:00
Khem Raj
6184143ae4 tcmode-default: Add wildcard to GLIBCVERSION
glibc version has moved on to 2.31.x

(From OE-Core rev: ef681222a918030d726a79cf04111fb5d0b66355)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-01 10:40:11 +00:00
Khem Raj
9f7a38cbbe glibc: Syscall fixes for mips/risc-v/mucroblaze
Should fix the mips make 4.3 issue on target

Changes in this delta

* 71f2b249a2 malloc/tst-mallocfork2: Kill lingering process for unexpected failures
* 5d31b083e4 riscv: Avoid clobbering register parameters in syscall
* f4f8843515 microblaze: Avoid clobbering register parameters in syscall
* aa638b86b2 mips: Fix argument passing for inlined syscalls on Linux [BZ #25523]
* ae1b6b13d4 mips: Use 'long int' and 'long long int' in linux syscall code

(From OE-Core rev: 79b23077288dd557842f987e558262d7d8522e25)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-01 10:40:11 +00:00
Richard Purdie
03453aa3e0 python3-scons: Fix license file collision
Downloading a file called "LICENSE" into DL_DIR is 'problematic' and collides with the
file from other versions of the recipe at best.

Rename it to something more specific to avoid collision problems.

(From OE-Core rev: 3ef237f2cd1836f4c9f584837fb25762fe4d4332)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-29 21:47:30 +00:00
Khem Raj
cde372bde3 systemd: Add missing leading space for CFLAGS append
(From OE-Core rev: 9141ff8dc4e75e42606f3c364718f7e813003863)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-29 21:47:30 +00:00
Adrian Bunk
21e6e7ae08 ncurses: Comment out version parsing that broke CVE checking
This will be needed again when using patchlevel versions again.
Also make it more generic.

(From OE-Core rev: 7939288700ad35ed43e5988371e16d5afc594a57)

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-29 21:47:30 +00:00
Richard Purdie
0a229e7045 psplash: Update to latest git revision
Image files are always generated now so make the gdk-pixbuf dependency
required.

(From OE-Core rev: f273684f75c050ce3c7c4d93d73a27c973f84df5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-29 21:47:30 +00:00
Tim Orling
070c0d27a8 at-spi2-atk: upgrade 2.32.0 -> 2.34.1
Add patch to fix missing sys/time.h include in tests/atk_test_util.h

Release notes:
043b793de2/NEWS

License-Update: Changed to LGPL-2.1+

(From OE-Core rev: dd78eeef75cb94f14dda8ae50c0a0bee1fcfca07)

Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-29 13:04:49 +00:00
Tim Orling
748ba1dc59 at-spi2-core: upgrade 2.32.1 -> 2.34.0
Release notes:
6da122f1e8/NEWS

License-Update: Changed to LPGL-2.1+

(From OE-Core rev: 3956af4bf8a55ae0a64363c591c74c38d8468c58)

Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-29 13:04:49 +00:00
Tim Orling
b1515d967e atk: upgrade 2.32.0 -> 2.34.1
Patch no longer applies (nor is needed) upstream.

Release notes:
633bde11f9/NEWS

(From OE-Core rev: eaf19af52d166295494863379049868375498c0a)

Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-29 13:04:49 +00:00
Victor Kamensky
1ae1fb6f14 make: disable use of posix_spawn on mips
After make-4.3 migration child_execute_job function started
using posix_spawn function, which happens to be broken on mips.

It manifests itself as when make executed by root, it switches
real user id to wrong value because of some issues with direct
setresuid system call done in glibc __spawni_child function
through inline assemble and/or gcc compiling it produces wrong
code. I.e instead of passing -1 posix_spawn function incorrectly
passes 127 as ruid. Subsequently job started by make can fail
with permission issue because they run under wrong user.

For now workaround is used by explicitly disabling posix_spawn
call use by make on mips through configure variable.

(From OE-Core rev: de5572deff36ecf7dd209600a94b3b7fb991cdc1)

Signed-off-by: Victor Kamensky <kamensky@cisco.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-29 13:04:49 +00:00
Jens Rehsack
1735b8ae62 make: 4.2.1 -> 4.3
Announcement: https://lists.gnu.org/archive/html/bug-make/2020-01/msg00057.html

1) Remove upstream provided patches 0001-glob-Do-not-assume-glibc-glob-internals.patch
   and 0002-glob-Do-not-assume-glibc-glob-internals.patch.

2) License has been changed to GPLv3 only

3) Important bug-fix is
   * https://lists.gnu.org/archive/html/bug-make/2018-09/msg00006.html

4) Backward-incompatibilities:
   * Number signs (#) appearing inside a macro reference or function invocation
     no longer introduce comments and should not be escaped with backslashes
   * Previously appending using '+=' to an empty variable would result in a value
     starting with a space.  Now the initial space is only added if the variable
     already contains some value.  Similarly, appending an empty string does not
     add a trailing space.

Fix incompatibility issues between gnulib bundled with updated make fix issues
in w32 compat sources.

(From OE-Core rev: 4a5d4cf0cc8a4a6af76f23dd8a29627042230f98)

Signed-off-by: Jens Rehsack <sno@netbsd.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-29 13:04:49 +00:00
Michael Halstead
58cbf48376 yocto-uninative.inc: version 2.8 updates glibc to 2.31
Allow sstate use in Tumbleweed and other distros as they update glibc.

(From OE-Core rev: ccb374c279b260b1fd3460f6bfd1567240816055)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-29 13:04:49 +00:00
Tim Orling
838d91d459 libmodule-build-perl: upgrade 0.4229 -> 0.4231
Upstream release notes:
"
0.4231 - Wed Jan 29 08:47:56 CET 2020

  - Released 0.42_30 without code changes

0.42_30 - Wed Jul 31 13:15:39 CEST 2019

  - Add dependency on ExtUtils::PL2Bat
"

Add ptest RDEPENDS:
  - ExtUtils::Command::MM for t/compat.t
  - gcc, make didn't seem like enough for ptest, replace with
    packagegroup-core-buildessential which definitely works
  - perl-dev for EXTERN.h in t/xs.t

Add INSANE_SKIP dev-deps for the -ptest package because of perl-dev

Five tests from t/help.t are skipped because they are TODO

t/par.t is skipped because PAR::Dist (0.17+) is not present

t/ppm.t is skipped because "HTML support not installed"

All other tests pass.

(From OE-Core rev: 7c22dc2e34af2530a73f3af2876f0f5f5b65c7c8)

Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-29 13:04:49 +00:00
Jeremy Puhlman
fc77128b73 xorgproto: move pc files to libdir
We fixed this two years go:
http://lists.openembedded.org/pipermail/openembedded-core/2018-June/151922.html

However xorgproto moved to meson and uses pkgconfig module to generate the .pc
which does not provide a method of omitting the libdir, which now means any
pc generated from meson using the module will always be mulitlib incompatible.

(From OE-Core rev: fceed19bf1ab26adaea54edcc8af7f767a872269)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-29 13:04:48 +00:00
Jeremy Puhlman
579e59a6b5 binutils: fix multilib header difference
bfd_stdint.h encodes the name of the compiler in the header
which is different between mutlilibs. Remvoe target prefix to
make the headers match.

(From OE-Core rev: 62cd67ac4ca39edac3c57f648669f1427b6fe7dd)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-29 13:04:48 +00:00
Jeremy Puhlman
8f796d8e8e cups: make cups-config a multilib script
cups-config encodes the library dir in the script.

(From OE-Core rev: 0e19b25fbf1d760c06dd6a2cb8e291c7482330c4)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-29 13:04:48 +00:00
Jeremy Puhlman
4c745fb712 apr-util: add multilib script for apu-1-config
apu-1-config encodes library path in to script
27c27
< libdir="/usr/lib64"

(From OE-Core rev: 3682d0ca3ffeb84fd2f935a9c9b253e015c9e137)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-29 13:04:48 +00:00
Jeremy Puhlman
0101968aa8 apr: add mulitlib scripts apr-1-config, apr_rules.mk
apr_rules.mk encodes build options in to file
35c35
< CC=x86_64-montavista-linux-gcc  -m64 -march=nehalem -mtune=generic -mfpmath=sse -msse4.2 --sysroot=

(From OE-Core rev: 9cdfafe487fc5e7fecdc56a8fa5c3ea70829fb99)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-29 13:04:48 +00:00
Jeremy Puhlman
c897b60bca mesa: add fix for arm6
We have had similar problems with missing atomics on arm6 that arm5
has.

(From OE-Core rev: 3971b6278f88b7f780f6d03847c2fed6bfd98d8c)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-29 13:04:48 +00:00
Jeremy A. Puhlman
f4dd739113 libxcrypt: add native to BBCLASSEXTEND
buildtools-extended does not provide libcrypt, and some native
applications require it, like clang. While it would likely make sense to
include nativesdk-libxcrypt in the buildtools it would also likely make
sense to remove the dependancy on the host libcrypt for those
applications that need it.

(From OE-Core rev: 4fa12fac6d320723d08fa7ab1635f63fbe01ad4d)

Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-29 13:04:48 +00:00
Bruce Ashfield
018bf09f3f linux-yocto/5.2: update to v5.2.32
Updating linux-yocto/5.2 to the latest korg -stable release that comprises
the following commits:

    ef3886a722c8 Linux 5.2.32
    ce5a5accc87e dm thin: fix use-after-free in metadata_pre_commit_callback
    9aafc6574336 cifs: Fix memory allocation in __smb2_handle_cancelled_cmd()
    e177f6d8471e drm/amd/display: add default clocks if not able to fetch them
    dba8b53f1ef4 drm/dp_mst: Correct the bug in drm_dp_update_payload_part1()
    bd427585578d drm/radeon: fix r1xx/r2xx register checker for POT textures
    b56603ead990 drm/i915/fbc: Disable fbc by default on all glk+
    5ce9d8bdf796 drm/nouveau/kms/nv50-: Limit MST BPC to 8
    86bdcc48feb0 drm/nouveau/kms/nv50-: Store the bpc we're using in nv50_head_atom
    b039a9b6d8f4 drm/nouveau/kms/nv50-: Call outp_atomic_check_view() before handling PBN
    03e122dbc136 scsi: qla2xxx: Fix incorrect SFUB length used for Secure Flash Update MB Cmd
    8bf5409573de scsi: qla2xxx: Correctly retrieve and interpret active flash region
    7af719a2ca84 scsi: qla2xxx: Change discovery state before PLOGI
    1fea09aa4b42 scsi: qla2xxx: Added support for MPI and PEP regions for ISP28XX
    30205f999d12 scsi: qla2xxx: Initialize free_work before flushing it
    39ec6bc75116 scsi: qla2xxx: Ignore NULL pointer in tcm_qla2xxx_free_mcmd
    1f08dd5fa5c5 scsi: iscsi: Fix a potential deadlock in the timeout handler
    42a2fbbc708f dm thin: Flush data device before committing metadata
    56d35c21552b dm thin metadata: Add support for a pre-commit callback
    d658f6349a2f dm btree: increase rebalance threshold in __rebalance2()
    3aca6fce0d4e dm mpath: remove harmful bio-based optimization
    2363f92cde9c drm: meson: venc: cvbs: fix CVBS mode matching
    2878bba5052a dma-buf: Fix memory leak in sync_file_merge()
    b10d7f86b5ca vfio/pci: call irq_bypass_unregister_producer() before freeing irq
    099085c85deb ARM: tegra: Fix FLOW_CTLR_HALT register clobbering by tegra_resume()
    674f30df2798 ARM: dts: s3c64xx: Fix init order of clock providers
    7fe7993bd757 cifs: Fix retrieval of DFS referrals in cifs_mount()
    6fef05311f57 CIFS: Fix NULL pointer dereference in mid callback
    42d37a87a332 CIFS: Do not miss cancelled OPEN responses
    ca8deb792b01 CIFS: Close open handle after interrupted close
    df192003fb6b CIFS: Respect O_SYNC and O_DIRECT flags during reconnect
    40ae22555ce3 cifs: Don't display RDMA transport on reconnect
    969925ff652b cifs: smbd: Return -ECONNABORTED when trasnport is not in connected state
    82fe0b779a89 cifs: smbd: Return -EINVAL when the number of iovs exceeds SMBDIRECT_MAX_SGE
    d88fc76297a7 cifs: smbd: Add messages on RDMA session destroy and reconnection
    f1bede222a44 cifs: smbd: Only queue work for error recovery on memory registration
    118c2599caf3 cifs: smbd: Return -EAGAIN when transport is reconnecting
    2c3c6e2691ff rpmsg: glink: Free pending deferred work on remove
    7286d52aa88c rpmsg: glink: Don't send pending rx_done during remove
    eed61c8c6667 rpmsg: glink: Fix rpmsg_register_device err handling
    00b748a63488 rpmsg: glink: Put an extra reference during cleanup
    ebb78ad8b431 rpmsg: glink: Fix use after free in open_ack TIMEOUT case
    b3f09043fc81 rpmsg: glink: Fix reuse intents memory leak issue
    5bfb2ef7a181 rpmsg: glink: Set tail pointer to 0 at end of FIFO
    63045fa07fba xtensa: fix syscall_set_return_value
    9247f95643ef xtensa: fix TLB sanity checker
    c848ea0969ce gfs2: fix glock reference problem in gfs2_trans_remove_revoke
    eb30a9e18f47 xtensa: use MEMBLOCK_ALLOC_ANYWHERE for KASAN shadow map
    adff286a3be5 PCI: Apply Cavium ACS quirk to ThunderX2 and ThunderX3
    f28f30c5255c PCI: rcar: Fix missing MACCTLR register setting in initialization sequence
    cb5cb799bf0b PCI: Do not use bus number zero from EA capability
    d291c94f8e57 PCI/MSI: Fix incorrect MSI-X masking on resume
    eb24be2871ad PCI: Fix Intel ACS quirk UPDCR register address
    06ad330304d2 PCI: pciehp: Avoid returning prematurely from sysfs requests
    5d558c8b1439 PCI/PM: Always return devices to D0 when thawing
    84dfe86a3851 PCI/switchtec: Read all 64 bits of part_event_bitmap
    0db244d3995f mmc: block: Add CMD13 polling for MMC IOCTLS with R1B response
    845b2cbece34 mmc: block: Make card_busy_detect() a bit more generic
    5db0e71cbee1 libertas: make lbs_ibss_join_existing() return error code on rates overflow
    36e460a8c861 libertas: don't exit from lbs_ibss_join_existing() with RCU read lock held
    2aabb3fcd7fe libertas: Fix two buffer overflows at parsing bss descriptor
    8866a53c5e7a Linux 5.2.31
    33a9ecf23bdb hsr: fix a NULL pointer dereference in hsr_dev_xmit()
    c5eba532e308 gre: refetch erspan header from skb->data after pskb_may_pull()
    8477c46262fa tcp: Protect accesses to .ts_recent_stamp with {READ,WRITE}_ONCE()
    d46e87f84fd4 tcp: tighten acceptance of ACKs not matching a child socket
    06b27e9e4496 tcp: fix rejected syncookies due to stale timestamps
    d3ce127be5c7 net: ipv6_stub: use ip6_dst_lookup_flow instead of ip6_dst_lookup
    31ecfe259fba net: ipv6: add net argument to ip6_dst_lookup_flow
    1a45655b78c5 net/mlx5e: Query global pause state before setting prio2buffer
    10ac0045c8a7 tipc: fix ordering of tipc module init and exit routine
    f8089e38f286 tcp: md5: fix potential overestimation of TCP option space
    c9b8428b8b42 openvswitch: support asymmetric conntrack
    ab45bc5d7c6f net/tls: Fix return values to avoid ENOTSUPP
    aaa20d4352a1 net: thunderx: start phy before starting autonegotiation
    aebf8e234674 net: sched: fix dump qlen for sch_mq/sch_mqprio with NOLOCK subqueues
    876e02c6b8de net: ethernet: ti: cpsw: fix extra rx interrupt
    75b099157e3b net: dsa: fix flow dissection on Tx path
    b8c2a07d7fc9 net: bridge: deny dev_set_mac_address() when unregistering
    ef141fca118c mqprio: Fix out-of-bounds access in mqprio_dump
    a0484dba9932 inet: protect against too small mtu values.
    7d923144ef6e net_sched: validate TCA_KIND attribute in tc_chain_tmplt_add()
    c0f777b6c28d SUNRPC: Fix another issue with MIC buffer space
    cce35a47eb7c raid5: need to set STRIPE_HANDLE for batch head
    2b15565d1a62 workqueue: Fix missing kfree(rescuer) in destroy_workqueue()
    2fb67c1da0c0 blk-mq: make sure that line break can be printed
    588d5a85b106 ext4: fix a bug in ext4_wait_for_tail_page_commit
    87b234005394 splice: only read in as much information as there is pipe buffer space
    de86c841c81b rtc: disable uie before setting time and enable after
    d4e7102cc326 mm/shmem.c: cast the type of unmap_start to u64
    922a48c3e94d s390/kaslr: store KASLR offset for early dumps
    3b7d69248f06 s390/smp,vdso: fix ASCE handling
    546e9a689d3e firmware: qcom: scm: Ensure 'a0' status code is treated as signed
    a9b6310e93a4 ext4: work around deleting a file with i_nlink == 0 safely
    609a4e56145d mm: memcg/slab: wait for !root kmem_cache refcnt killing on root kmem_cache destruction
    3d5c91034234 mfd: rk808: Fix RK818 ID template
    fbac2f7aa1c3 mm, memfd: fix COW issue on MAP_PRIVATE and F_SEAL_FUTURE_WRITE mappings
    118197756683 powerpc: Fix vDSO clock_getres()
    9ba5c6dcb3b7 powerpc: Avoid clang warnings around setjmp and longjmp
    7c36247732a2 omap: pdata-quirks: remove openpandora quirks for mmc3 and wl1251
    1eff30510478 omap: pdata-quirks: revert pandora specific gpiod additions
    5dbe853560e4 iio: ad7949: fix channels mixups
    7df6007288fd iio: ad7949: kill pointless "readback"-handling code
    109dbc91c5a8 iio: imu: st_lsm6dsx: fix ODR check in st_lsm6dsx_write_raw
    6305866e630c iio: imu: st_lsm6dsx: move odr_table in st_lsm6dsx_sensor_settings
    9073b0be6589 scsi: lpfc: Fix bad ndlp ptr in xri aborted handling
    13f83b3a2688 reiserfs: fix extended attributes on the root directory
    e026fc523a75 ext4: Fix credit estimate for final inode freeing
    b09b4d152aa2 quota: fix livelock in dquot_writeback_dquots
    513bcf5ee8e0 seccomp: avoid overflow in implicit constant conversion
    ae57738ec38a ext2: check err when partial != NULL
    b7c24d8c06b8 quota: Check that quota is not dirty before release
    42e495b46f80 video/hdmi: Fix AVI bar unpack
    6739872abdfd powerpc/xive: Skip ioremap() of ESB pages for LSI interrupts
    7d55c5e73263 powerpc: Allow flush_icache_range to work across ranges >4GB
    be0cd7e9b258 powerpc/xive: Prevent page fault issues in the machine crash handler
    99d2164e4865 powerpc: Allow 64bit VDSO __kernel_sync_dicache to work across ranges >4GB
    f0f08beb3fa0 stm class: Lose the protocol driver when dropping its reference
    c0919315b735 ppdev: fix PPGETTIME/PPSETTIME ioctls
    86de25118e9c RDMA/core: Fix ib_dma_max_seg_size()
    f5aae41d4eac ARM: dts: omap3-tao3530: Fix incorrect MMC card detection GPIO polarity
    5cc72ba36683 mmc: host: omap_hsmmc: add code for special init of wl1251 to get rid of pandora_wl1251_init_card
    f15fa36b9c6b pinctrl: samsung: Fix device node refcount leaks in S3C24xx wakeup controller init
    da352a4b5493 pinctrl: samsung: Fix device node refcount leaks in init code
    738e8de6b8d2 pinctrl: samsung: Fix device node refcount leaks in S3C64xx wakeup controller init
    53149343fc98 pinctrl: samsung: Fix device node refcount leaks in Exynos wakeup controller init
    43cb61f4878b pinctrl: samsung: Add of_node_put() before return in error path
    72f6c3180468 pinctrl: armada-37xx: Fix irq mask access in armada_37xx_irq_set_type()
    e264e3ae1165 pinctrl: rza2: Fix gpio name typos
    61a4f44dc075 ACPI: PM: Avoid attaching ACPI PM domain to certain devices
    0a041ba2564a ACPI: bus: Fix NULL pointer check in acpi_bus_get_private_data()
    b56eca6bf2e4 ACPI: OSL: only free map once in osl.c
    2ba38c34447d ACPI / hotplug / PCI: Allocate resources directly under the non-hotplug bridge
    0a4cab60dde2 ACPI: LPSS: Add dmi quirk for skipping _DEP check for some device-links
    487afadea2fd ACPI: LPSS: Add LNXVIDEO -> BYT I2C1 to lpss_device_links
    9af85668040a ACPI: LPSS: Add LNXVIDEO -> BYT I2C7 to lpss_device_links
    e055c1890429 ACPI / utils: Move acpi_dev_get_first_match_dev() under CONFIG_ACPI
    5eac1d4c2450 ALSA: oxfw: fix return value in error path of isochronous resources reservation
    33e6efad9334 cpufreq: powernv: fix stack bloat and hard limit on number of CPUs
    7240e6e25891 PM / devfreq: Lock devfreq in trans_stat_show
    92741be9a736 intel_th: pci: Add Tiger Lake CPU support
    69d1163cd0f4 intel_th: pci: Add Ice Lake CPU support
    5ac267cabcd9 intel_th: Fix a double put_device() in error path
    a3784ad079c6 powerpc/perf: Disable trace_imc pmu
    08ded9339d52 cpuidle: teo: Fix "early hits" handling for disabled idle states
    30b23caa5deb cpuidle: teo: Consider hits and misses metrics of disabled states
    0df48241b6ab cpuidle: teo: Rename local variable in teo_select()
    db302e3bb162 cpuidle: teo: Ignore disabled idle states that are too deep
    ade564919a0c cpuidle: Do not unset the driver if it is there already
    f2a7f16026f9 media: cec.h: CEC_OP_REC_FLAG_ values were swapped
    342c964a9895 media: radio: wl1273: fix interrupt masking on release
    780fe9f19c38 media: bdisp: fix memleak on release
    348cecf72f8e s390/mm: properly clear _PAGE_NOEXEC bit when it is not supported
    9ec8636ef00a ar5523: check NULL before memcpy() in ar5523_cmd()
    6fc971f1d831 wil6210: check len before memcpy() calls
    ba29035eb4bc cgroup: pids: use atomic64_t for pids->limit
    873f0623fcbe blk-mq: avoid sysfs buffer overflow with too many CPU cores
    758af427f60f md: improve handling of bio with REQ_PREFLUSH in md_flush_request()
    3882ad8fadb0 ASoC: fsl_audmix: Add spin lock to protect tdms
    141bba39e422 ASoC: Jack: Fix NULL pointer dereference in snd_soc_jack_report
    a99f0045c434 ASoC: rt5645: Fixed typo for buddy jack support.
    1ecdb55a6de6 ASoC: rt5645: Fixed buddy jack support.
    d78e1588f356 workqueue: Fix pwq ref leak in rescuer_thread()
    86226c42d8f7 workqueue: Fix spurious sanity check failures in destroy_workqueue()
    7b79872cb160 dm zoned: reduce overhead of backing device checks
    b7c4feffa872 dm writecache: handle REQ_FUA
    fa700de0abd2 hwrng: omap - Fix RNG wait loop timeout
    903867fe506a ovl: relax WARN_ON() on rename to self
    8b2e7fec9f26 ovl: fix corner case of non-unique st_dev;st_ino
    c73fe5396edf ovl: fix lookup failure on multi lower squashfs
    15fe8b7f7962 lib: raid6: fix awk build warnings
    b8f32a0e26fb rtlwifi: rtl8192de: Fix missing enable interrupt flag
    0917a96e2d3a rtlwifi: rtl8192de: Fix missing callback that tests for hw release of buffer
    32c6c1de1c05 rtlwifi: rtl8192de: Fix missing code to retrieve RX buffer address
    f1da748f078d btrfs: record all roots for rename exchange on a subvol
    017f00a09704 Btrfs: send, skip backreference walking for extents with many references
    f08e9d661548 btrfs: Remove btrfs_bio::flags member
    f01ca4344ffe btrfs: Avoid getting stuck during cyclic writebacks
    07383f0fced7 Btrfs: fix negative subv_writers counter and data space leak after buffered write
    69608bab8b1b Btrfs: fix metadata space leak on fixup worker failure to set range as delalloc
    6bab2f18b421 btrfs: use refcount_inc_not_zero in kill_all_nodes
    b703482bc2ec btrfs: check page->mapping when loading free space cache
    11b102bc593e iwlwifi: pcie: fix support for transmitting SKBs with fraglist
    7a569d85c92b usb: typec: fix use after free in typec_register_port()
    254d37011ab2 phy: renesas: rcar-gen3-usb2: Fix sysfs interface of "role"
    26593100f6a1 usb: dwc3: ep0: Clear started flag on completion
    d2e949f9d6c5 usb: dwc3: gadget: Clear started flag for non-IOC
    077399428186 usb: dwc3: gadget: Fix logical condition
    545da1614800 usb: dwc3: pci: add ID for the Intel Comet Lake -H variant
    393edc8f15ca virtio-balloon: fix managed page counts when migrating pages between zones
    15c579c3d104 virt_wifi: fix use-after-free in virt_wifi_newlink()
    3891c22e7b74 mtd: rawnand: Change calculating of position page containing BBM
    175a15f4c288 mtd: spear_smi: Fix Write Burst mode
    5738119a60ed brcmfmac: disable PCIe interrupts before bus reset
    ab35b8b9a235 EDAC/altera: Use fast register IO for S10 IRQs
    deda3f6b06dc tpm: add check after commands attribs tab allocation
    ebb7dae402e3 usb: mon: Fix a deadlock in usbmon between mmap and read
    650d955bc548 usb: core: urb: fix URB structure initialization function
    d54daa869ed5 USB: adutux: fix interface sanity check
    3e4a4cb54c04 usb: roles: fix a potential use after free
    14fa9bcb6a07 USB: serial: io_edgeport: fix epic endpoint lookup
    174f3783b4f0 USB: idmouse: fix interface sanity checks
    6facde75d1c8 USB: atm: ueagle-atm: add missing endpoint check
    b4972eba6831 iio: adc: ad7124: Enable internal reference
    b609ee0b3024 iio: adc: ad7606: fix reading unnecessary data from device
    bc27d17532dd iio: imu: inv_mpu6050: fix temperature reporting using bad unit
    edfeae1a5a70 iio: humidity: hdc100x: fix IIO_HUMIDITYRELATIVE channel reporting
    76a78a37799d iio: adis16480: Fix scales factors
    a8f0c5837cca iio: adis16480: Add debugfs_reg_access entry
    a02348d262b3 ARM: dts: pandora-common: define wl1251 as child node of mmc3
    43a05d85e421 interconnect: qcom: sdm845: Walk the list safely on node removal
    3ea35e60e8c8 xhci: make sure interrupts are restored to correct state
    0df691c29da9 xhci: handle some XHCI_TRUST_TX_LENGTH quirks cases as default behaviour.
    d10974513d17 xhci: Increase STS_HALT timeout in xhci_suspend()
    40ccc7fb3125 xhci: fix USB3 device initiated resume race with roothub autosuspend
    8f015d20b7d5 xhci: Fix memory leak in xhci_add_in_port()
    de53955ea0d3 usb: xhci: only set D3hot for pci device
    13d723a6c22c staging: gigaset: add endpoint-type sanity check
    ed9145e7d4a4 staging: gigaset: fix illegal free on probe errors
    a193faef6209 staging: gigaset: fix general protection fault on probe
    a48994561cab staging: vchiq: call unregister_chrdev_region() when driver registration fails
    38beaaec130c staging: rtl8712: fix interface sanity check
    238af85b081b staging: rtl8188eu: fix interface sanity check
    9517a9f133fd binder: fix incorrect calculation for num_valid
    a65c5b1d8762 usb: host: xhci-tegra: Correct phy enable sequence
    0da1ca92c578 usb: Allow USB device to be warm reset in suspended state
    fa74b02fa20f USB: documentation: flags on usb-storage versus UAS
    46f840a92233 USB: uas: heed CAPACITY_HEURISTICS
    9cc58d6fb42e USB: uas: honor flag to avoid CAPACITY16
    19ccc7083566 media: venus: remove invalid compat_ioctl32 handler
    6f4b7b312148 scsi: zfcp: trace channel log even for FCP command responses
    6975c6beb5f0 usb: gadget: pch_udc: fix use after free
    6f10fa4a113c rpmsg: char: release allocated memory
    f01eedaf4e09 mac80211: Do not send Layer 2 Update frame before authorization
    38b2d9bb7b57 libertas: fix a potential NULL pointer dereference
    2789290efc0b mwifiex: Fix heap overflow in mmwifiex_process_tdls_action_frame()
    fd820abb0696 Linux 5.2.30
    10f017c26642 spi: dw: Correct handling of native chipselect
    9e79f5ae512f spi: cadence: Correct handling of native chipselect
    db91ee312ada drm/sun4i: tcon: Set RGB DCLK min. divider based on hardware model
    9eeb986b4809 clk: samsung: exynos5420: Keep top G3D clocks enabled
    99232a68c619 block: fix "check bi_size overflow before merge"
    f54449c00a10 EDAC/ghes: Do not warn when incrementing refcount on 0
    4f18ed319605 ALSA: hda: Fix regression by strip mask fix
    a550c8d05657 io_uring: ensure req->submit is copied when req is deferred
    7b57a96cf3b7 Input: Fix memory leak in psxpad_spi_probe
    a006a5ae6b91 ALSA: hda: hdmi - fix pin setup on Tigerlake
    85435506e9e0 EDAC/ghes: Fix locking and memory barrier issues
    81a005d25b01 watchdog: aspeed: Fix clock behaviour for ast2600
    c3f6c163ac89 md/raid0: Fix an error message in raid0_make_request()
    e90488c1856c ALSA: hda - Fix pending unsol events at shutdown
    ac5a40962daf KVM: x86: fix out-of-bounds write in KVM_GET_EMULATED_CPUID (CVE-2019-19332)
    949540e93943 binder: Handle start==NULL in binder_update_page_range()
    75a11437a803 binder: Prevent repeated use of ->mmap() via NULL mapping
    e0a0299acecb binder: Fix race between mmap() and binder_alloc_print_pages()
    ba5d71130445 thermal: Fix deadlock in thermal thermal_zone_device_check
    cf162b1f1d6f iomap: Fix pipe page leakage during splicing
    1ede48d1d47e RDMA/qib: Validate ->show()/store() callbacks before calling them
    6df074625c15 can: ucan: fix non-atomic allocation in completion handler
    1233eadb99a9 spi: Fix NULL pointer when setting SPI_CS_HIGH for GPIO CS
    cad0ca361138 spi: Fix SPI_CS_HIGH setting when using native and GPIO CS
    25ac2d29646a spi: atmel: Fix CS high support
    efd56e6b1fbd spi: stm32-qspi: Fix kernel oops when unbinding driver
    dfbd2a22d8b1 spi: spi-fsl-qspi: Clear TDH bits in FLSHCR register
    d7e9115f21e0 spi: spi-fsl-qspi: change i.MX7D RX FIFO size
    76cde0d7ff39 crypto: ecdh - fix big endian bug in ECC library
    36759ce37925 crypto: ccp - fix uninitialized list head
    8ba8fa9fc2db crypto: geode-aes - switch to skcipher for cbc(aes) fallback
    86a44e8938be crypto: af_alg - cast ki_complete ternary op to int
    9ff009403999 crypto: atmel-aes - Fix IV handling when req->nbytes < ivsize
    2cbf74169383 crypto: crypto4xx - fix double-free in crypto4xx_destroy_sdr
    f6981b364dae KVM: x86: Grab KVM's srcu lock when setting nested state
    c08ddad72e7b KVM: x86: Remove a spurious export of a static function
    317fd0a0c93d KVM: x86: fix presentation of TSX feature in ARCH_CAPABILITIES
    7f70f6380882 KVM: x86: do not modify masked bits of shared MSRs
    6384ad0ab29b KVM: arm/arm64: vgic: Don't rely on the wrong pending table
    bdcecb6dd8e8 KVM: nVMX: Always write vmcs02.GUEST_CR3 during nested VM-Enter
    3600a4189d12 KVM: PPC: Book3S HV: XIVE: Set kvm->arch.xive when VPs are allocated
    34e8d4a0ef05 KVM: PPC: Book3S HV: XIVE: Fix potential page leak on error path
    4ebdbf4ff503 KVM: PPC: Book3S HV: XIVE: Free previous EQ page when setting up a new one
    cc73381579f9 arm64: dts: exynos: Revert "Remove unneeded address space mapping for soc node"
    1d19cc75f715 drm/i810: Prevent underflow in ioctl
    16f54bf33fce drm: damage_helper: Fix race checking plane->state->fb
    20a0047cdca4 drm/msm: fix memleak on release
    6c34f27046e3 jbd2: Fix possible overflow in jbd2_log_space_left()
    5b1ab9f1a2c0 kernfs: fix ino wrap-around detection
    910116ce4349 nfsd: restore NFSv3 ACL support
    6589961e5ec7 nfsd: Ensure CLONE persists data and metadata changes to the target file
    574498a02845 tty: vt: keyboard: reject invalid keycodes
    c75342d33dd5 CIFS: Fix SMB2 oplock break processing
    c8c867906145 CIFS: Fix NULL-pointer dereference in smb2_push_mandatory_locks
    2199093ff906 x86/PCI: Avoid AMD FCH XHCI USB PME# from D0 defect
    4d34c238f6ee x86/mm/32: Sync only to VMALLOC_END in vmalloc_sync_all()
    64a582385b92 media: rc: mark input device as pointing stick
    70fd4e1972e8 coresight: etm4x: Fix input validation for sysfs.
    55c0be64071e Input: goodix - add upside-down quirk for Teclast X89 tablet
    2405495a00f8 Input: synaptics-rmi4 - don't increment rmiaddr for SMBus transfers
    868c29a7efd0 Input: synaptics-rmi4 - re-enable IRQs in f34v7_do_reflash
    0e606e3626e6 Input: synaptics - switch another X1 Carbon 6 to RMI/SMbus
    94adc53b2c47 ALSA: hda: Modify stream stripe mask only when needed
    a527c3df9f54 ALSA: hda - Add mute led support for HP ProBook 645 G4
    accc2add3da3 ALSA: pcm: oss: Avoid potential buffer overflows
    55f6418b7ae3 ALSA: hda/realtek - Dell headphone has noise on unmute for ALC236
    bbad17075fe3 ALSA: hda/realtek - Enable the headset-mic on a Xiaomi's laptop
    fcfb4bce22aa ALSA: hda/realtek - Enable internal speaker of ASUS UX431FLC
    83753976cfae fuse: verify attributes
    a6f6439eb10f fuse: verify nlink
    31aa652b9a69 i2c: core: fix use after free in of_i2c_notify
    92084c0b356d net: ep93xx_eth: fix mismatch of request_mem_region in remove
    f75cb980f0ab afs: Fix race in commit bulk status fetch
    26167b5cf5df net: hns3: fix ETS bandwidth validation bug
    037e0cbe8863 net: hns3: reallocate SSU' buffer size when pfc_en changes
    423f97775629 ravb: implement MTU change while device is up
    ba49aa6bccbb rsxx: add missed destroy_workqueue calls in remove
    6dbf3b9cc169 selftests: kvm: fix build with glibc >= 2.30
    334204bdbd89 drm/sun4i: tcon: Set min division of TCON0_DCLK to 1.
    d2001cf2e8d3 x86/resctrl: Fix potential lockdep warning
    7bf14c3c120b ALSA: pcm: Fix stream lock usage in snd_pcm_period_elapsed()
    57dbe72b9638 perf/core: Consistently fail fork on allocation failures
    24a8ce6100ab sched/pelt: Fix update of blocked PELT ordering
    cadf46055b6f sched/core: Avoid spurious lock dependencies
    b8a654dde72b Input: cyttsp4_core - fix use after free bug
    9bcb8316e536 block: check bi_size overflow before merge
    f05d37196a77 xfrm: release device reference for invalid state
    e630f0eab8b3 NFC: nxp-nci: Fix NULL pointer dereference after I2C communication error
    14f8f24bfcbc ALSA: hda: Add Cometlake-S PCI ID
    85deda956139 ecryptfs: fix unlink and rmdir in face of underlying fs modifications
    7a7b13483234 audit_get_nd(): don't unlock parent too early
    6f26d186c431 exportfs_decode_fh(): negative pinned may become positive without the parent locked
    d5a9bd7dc9c2 cgroup: don't put ERR_PTR() into fc->root
    5490ae827b29 iwlwifi: pcie: don't consider IV len in A-MSDU
    5bc1282dfb21 RDMA/hns: Correct the value of srq_desc_size
    9b0df7c7e42c RDMA/hns: Correct the value of HNS_ROCE_HEM_CHUNK_LEN
    bf7d03571100 MIPS: SGI-IP27: fix exception handler replication
    b578c711e5e7 autofs: fix a leak in autofs_expire_indirect()
    81559b396efa aio: Fix io_pgetevents() struct __compat_aio_sigset layout
    03bd68a92f82 signal: simplify set_user_sigmask/restore_user_sigmask
    88300b370dbc serial: ifx6x60: add missed pm_runtime_disable
    06eb5d963912 serial: serial_core: Perform NULL checks for break_ctl ops
    c811b133b3e7 serial: pl011: Fix DMA ->flush_buffer()
    d451358ffe85 tty: serial: msm_serial: Fix flow control
    5b10978724e0 tty: serial: fsl_lpuart: use the sg count from dma_map_sg
    c38c3a52315f usb: gadget: u_serial: add missing port entry locking
    b30c295d649b time: Zero the upper 32-bits in __kernel_timespec on 32-bit
    9f06fb5da07e lp: fix sparc64 LPSETTIMEOUT ioctl
    068341cb7952 sparc64: implement ioremap_uc
    932b771c65b6 arm64: tegra: Fix 'active-low' warning for Jetson TX1 regulator
    edc3ff235784 net: fec: fix clock count mis-match
    ed9b79600a5d platform/x86: hp-wmi: Fix ACPI errors caused by passing 0 as input size
    952328f5193b platform/x86: hp-wmi: Fix ACPI errors caused by too small buffer
    da62cf911005 HID: core: check whether Usage Page item is after Usage ID items
    fb85a234fc39 tipc: fix link name length check
    0867e153690e selftests: bpf: test_sockmap: handle file creation failures gracefully
    cd73a77a2288 net/tls: use sg_next() to walk sg entries
    55c1ea6758d8 net/tls: remove the dead inplace_crypto code
    c824b8c9957b net: skmsg: fix TLS 1.3 crash with full sk_msg
    45c795cbee84 net: sockmap: use bitmap for copy info
    c1c89460bda2 net/tls: free the record on encryption error
    1468022cc8f2 net/tls: take into account that bpf_exec_tx_verdict() may free the record
    a3157970686f openvswitch: remove another BUG_ON()
    bacb11535532 openvswitch: drop unneeded BUG_ON() in ovs_flow_cmd_build_info()
    744916544dba sctp: cache netns in sctp_ep_common
    f4312b9ba27c sctp: Fix memory leak in sctp_sf_do_5_2_4_dupcook
    8d442143ccd4 openvswitch: fix flow command message size
    b834278b4d0a net: sched: fix `tc -s class show` no bstats on class with nolock subqueues
    2f47935914f8 net: psample: fix skb_over_panic
    8fc3ccb35fba net: macb: add missed tasklet_kill
    9243823cd73a net: dsa: sja1105: fix sja1105_parse_rgmii_delays()
    1e7ff496e195 mdio_bus: don't use managed reset-controller
    f458119c914d macvlan: schedule bc_work even if error
    442b4bac7514 xfrm: Fix memleak on xfrm state destroy
    d06561a292bf thunderbolt: Power cycle the router if NVM authentication fails
    97a4d0528c98 mei: me: add comet point V device id
    aa6a4bfabb1a mei: bus: prefix device names on bus with the bus name
    fb94cd58ee14 USB: serial: ftdi_sio: add device IDs for U-Blox C099-F9P
    33c6adbab912 staging: rtl8723bs: Add 024c:0525 to the list of SDIO device-ids
    34820fb849a8 staging: rtl8723bs: Drop ACPI device ids
    18ff3bb126fe staging: rtl8192e: fix potential use after free
    955068eb7918 staging: wilc1000: fix illegal memory access in wilc_parse_join_bss_param()
    afe6f4526509 usb: dwc2: use a longer core rest timeout in dwc2_core_reset()
    4b15bd43d8ed clk: at91: fix update bit maps on CFG_MOR write
    6ed6cd2d7f8a i40e: Fix for ethtool -m issue on X722 NIC
    ddcdd3cc96f1 i40e: Fix for missing "link modes" info in ethtool
    ae4d08f3a69b iavf: initialize ITRN registers with correct values
    12c0db2518f8 ice: fix potential infinite loop because loop counter being too small
    c105a4b2019d pwm: bcm-iproc: Prevent unloading the driver module while in use
    66f3f3c4da1e block: drbd: remove a stray unlock in __drbd_send_protocol()
    11748bed1eeb mac80211: fix station inactive_time shortly after boot
    2df48b15a9ca net/fq_impl: Switch to kvmalloc() for memory allocation
    1332a34432a5 ceph: return -EINVAL if given fsc mount option on kernel w/o support
    218333cf3e5b net: stmmac: xgmac: Disable Flow Control when 1 or more queues are in AV
    e8fec331b7e3 net: stmmac: xgmac: Fix TSA selection
    f7e0994188b2 net: stmmac: gmac4: bitrev32 returns u32
    d99d2e2d5c7d drm/amdgpu: add warning for GRBM 1-cycle delay issue in gfx9
    3db9d787fbbe net: mscc: ocelot: fix __ocelot_rmw_ix prototype
    23d1a942d638 net/mlx5e: Fix eswitch debug print of max fdb flow
    c26064b7eda5 drm/amdgpu: dont schedule jobs while in reset
    d61b5d11db4b net: bcmgenet: reapply manual settings to the PHY
    303f8e7b7d18 net: bcmgenet: use RGMII loopback for MAC reset
    82077751014a scripts/gdb: fix debugging modules compiled with hot/cold partitioning
    7b20840690f5 mm/gup_benchmark: fix MAP_HUGETLB case
    c7816d20058f ASoC: SOF: topology: Fix bytes control size checks
    1b3afeddab4a ARM: dts: stm32: Fix CAN RAM mapping on stm32mp157c
    4de26c8cbe50 ALSA: hda: hdmi - add Tigerlake support
    f43786eb3acb ASoC: stm32: sai: add restriction on mmap support
    36fa7d5299c2 watchdog: bd70528: Add MODULE_ALIAS to allow module auto loading
    f023dd202f6b watchdog: meson: Fix the wrong value of left time
    9054f01030f8 watchdog: pm8916_wdt: fix pretimeout registration flow
    2c25aa88640f nvme-multipath: fix crash in nvme_mpath_clear_ctrl_paths
    6fdb636145b0 nvme-rdma: fix a segmentation fault during module unload
    43bd0bf71860 can: mcp251x: mcp251x_restart_work_handler(): Fix potential force_quit race condition
    7091bcbccb6b perf scripting engines: Iterate on tep event arrays directly
    7371326920db x86/tsc: Respect tsc command line paraemeter for clocksource_tsc_early
    8efe12d76d7e can: flexcan: increase error counters if skb enqueueing via can_rx_offload_queue_sorted() fails
    4a3333ea25b1 can: rx-offload: can_rx_offload_irq_offload_fifo(): continue on error
    a26a27d53b40 can: rx-offload: can_rx_offload_irq_offload_timestamp(): continue on error
    39b89fc6625f can: rx-offload: can_rx_offload_offload_one(): use ERR_PTR() to propagate error value in case of errors
    f6b5da01db2f can: rx-offload: can_rx_offload_offload_one(): increment rx_fifo_errors on queue overflow or OOM
    acb9095493be can: rx-offload: can_rx_offload_offload_one(): do not increase the skb_queue beyond skb_queue_len_max
    189c1239632b can: rx-offload: can_rx_offload_queue_tail(): fix error handling, avoid skb mem leak
    7ac97e4ef4d9 can: c_can: D_CAN: c_can_chip_config(): perform a sofware reset on open
    1ac0d4885a34 can: peak_usb: report bus recovery as well
    b542266496fa stacktrace: Don't skip first entry on noncurrent tasks
    afe7ff5be406 bridge: ebtables: don't crash when using dnat target in output chains
    a19d86990335 netfilter: ipset: Fix nla_policies to fully support NL_VALIDATE_STRICT
    17db97a8e7d5 netfilter: ipset: Fix the last missing check of nla_parse_deprecated()
    5f4ada6390b6 net: fec: add missed clk_disable_unprepare in remove
    0b283b59a62f clk: ti: clkctrl: Fix failed to enable error with double udelay timeout
    b70eae1c4480 clk: ti: dra7-atl-clock: Remove ti_clk_add_alias call
    aab6b68e53eb ASoC: hdac_hda: fix race in device removal
    b23f8d6ca25f fbdev: c2p: Fix link failure on non-inlining
    51c019bf2c42 arm64: dts: zii-ultra: fix ARM regulator GPIO handle
    819ee4651182 x86/resctrl: Prevent NULL pointer dereference when reading mondata
    4d71464d5830 idr: Fix idr_alloc_u32 on 32-bit systems
    9956dbb774e4 idr: Fix integer overflow in idr_for_each_entry
    a530ec599a8a idr: Fix idr_get_next_ul race with idr_remove
    6909ddf4276c powerpc/bpf: Fix tail call implementation
    957928006316 samples/bpf: fix build by setting HAVE_ATTR_TEST to zero
    d3a556320b11 bpf: Allow narrow loads of bpf_sysctl fields with offset > 0
    4fd976da64d7 ARM: dts: sun8i-a83t-tbs-a711: Fix WiFi resume from suspend
    1d6d86b21245 clk: sunxi-ng: a80: fix the zero'ing of bits 16 and 18
    440f439c1041 clk: sunxi: Fix operator precedence in sunxi_divs_clk_setup
    b4c8fc7dcab9 clk: at91: avoid sleeping early
    c42ce4122e86 ASoC: ti: sdma-pcm: Add back the flags parameter for non standard dma names
    32ea5f2ae3b6 arm64: dts: imx8mm: fix compatible string for sdma
    4071d8976ac5 reset: fix reset_control_ops kerneldoc comment
    b178a6e8f8f3 soc: imx: gpc: fix initialiser format
    0a751a005ded ARM: dts: imx6qdl-sabreauto: Fix storm of accelerometer interrupts
    946654641741 pinctrl: cherryview: Allocate IRQ chip dynamic
    66c7b484cae0 clk: samsung: exynos5420: Preserve PLL configuration during suspend/resume
    30c758e0a731 arm64: dts: ls1028a: fix a compatible issue
    ba3e13683df7 ASoC: kirkwood: fix device remove ordering
    d7ee3bbc1085 ASoC: kirkwood: fix external clock probe defer
    7a754f5e5751 clk: samsung: exynos542x: Move G3D subsystem clocks to its sub-CMU
    2361cffc9775 clk: samsung: exynos5433: Fix error paths
    e1fc074e8178 reset: Fix memory leak in reset_control_array_put()
    b01838b0ca64 ASoC: compress: fix unsigned integer overflow check
    41360b33fec2 ASoC: msm8916-wcd-analog: Fix RX1 selection in RDAC2 MUX
    e7fc8cc79377 soundwire: intel: fix intel_register_dai PDI offsets and numbers
    82b111a092b1 clocksource/drivers/mediatek: Fix error handling
    85c26d3b879d thunderbolt: Fix lockdep circular locking depedency warning
    a41faef2aef6 thunderbolt: Read DP IN adapter first two dwords in one go
    0b4d76ea32e5 clk: at91: sam9x60: fix programmable clock
    3ac5085a98ba clk: meson: gxbb: let sar_adc_clk_div set the parent clock rate
    922eddf892e2 XArray: Fix xas_next() with a single entry at 0

(From OE-Core rev: 34278c33bf1f2f3a7810946ca07765014f228c9d)

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-29 13:04:48 +00:00
Alexander Kanavin
5ec5a0edd8 libgpg-error: upgrade 1.36 -> 1.37
(From OE-Core rev: 1038aaee556f32516129a536772850e5a401a331)

Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-29 13:04:48 +00:00
297 changed files with 5480 additions and 3856 deletions

View File

@@ -65,7 +65,6 @@ if 0:
format_str = "%(levelname)s: %(message)s"
conlogformat = bb.msg.BBLogFormatter(format_str)
consolelog = logging.FileHandler(logfilename)
bb.msg.addDefaultlogFilter(consolelog)
consolelog.setFormatter(conlogformat)
logger.addHandler(consolelog)
@@ -414,7 +413,7 @@ class BitbakeWorker(object):
def handle_workerdata(self, data):
self.workerdata = pickle.loads(data)
bb.msg.loggerDefaultDebugLevel = self.workerdata["logdefaultdebug"]
bb.msg.loggerDefaultLogLevel = self.workerdata["logdefaultlevel"]
bb.msg.loggerDefaultVerbose = self.workerdata["logdefaultverbose"]
bb.msg.loggerVerboseLogs = self.workerdata["logdefaultverboselogs"]
bb.msg.loggerDefaultDomains = self.workerdata["logdefaultdomain"]

View File

@@ -0,0 +1,13 @@
{
"version": 1,
"loggers": {
"BitBake.SigGen.HashEquiv": {
"level": "VERBOSE",
"handlers": ["BitBake.verbconsole"]
},
"BitBake.RunQueue.HashEquiv": {
"level": "VERBOSE",
"handlers": ["BitBake.verbconsole"]
}
}
}

View File

@@ -929,4 +929,101 @@
section.
</para>
</section>
<section id="logging">
<title>Logging</title>
<para>
In addition to the standard command line option to control how
verbose builds are when execute, bitbake also supports user defined
configuration of the
<ulink url='https://docs.python.org/3/library/logging.html'>Python logging</ulink>
facilities through the
<link linkend="var-bb-BB_LOGCONFIG"><filename>BB_LOGCONFIG</filename></link>
variable. This variable defines a json or yaml
<ulink url='https://docs.python.org/3/library/logging.config.html'>logging configuration</ulink>
that will be intelligently merged into the default configuration.
The logging configuration is merged using the following rules:
<itemizedlist>
<listitem><para>
The user defined configuration will completely replace the default
configuration if top level key
<filename>bitbake_merge</filename> is set to the value
<filename>False</filename>. In this case, all other rules
are ignored.
</para></listitem>
<listitem><para>
The user configuration must have a top level
<filename>version</filename> which must match the value of
the default configuration.
</para></listitem>
<listitem><para>
Any keys defined in the <filename>handlers</filename>,
<filename>formatters</filename>, or <filename>filters</filename>,
will be merged into the same section in the default
configuration, with the user specified keys taking
replacing a default one if there is a conflict. In
practice, this means that if both the default configuration
and user configuration specify a handler named
<filename>myhandler</filename>, the user defined one will
replace the default. To prevent the user from inadvertently
replacing a default handler, formatter, or filter, all of
the default ones are named with a prefix of
"<filename>BitBake.</filename>"
</para></listitem>
<listitem><para>
If a logger is defined by the user with the key
<filename>bitbake_merge</filename> set to
<filename>False</filename>, that logger will be completely
replaced by user configuration. In this case, no other
rules will apply to that logger.
</listitem></para>
<listitem><para>
All user defined <filename>filter</filename> and
<filename>handlers</filename> properties for a given logger
will be merged with corresponding properties from the
default logger. For example, if the user configuration adds
a filter called <filename>myFilter</filename> to the
<filename>BitBake.SigGen</filename>, and the default
configuration adds a filter called
<filename>BitBake.defaultFilter</filename>, both filters
will be applied to the logger
</listitem></para>
</itemizedlist>
</para>
<para>
As an example, consider the following user logging configuration
file which logs all Hash Equivalence related messages of VERBOSE or
higher to a file called <filename>hashequiv.log</filename>
<literallayout class='monospaced'>
{
"version": 1,
"handlers": {
"autobuilderlog": {
"class": "logging.FileHandler",
"formatter": "logfileFormatter",
"level": "DEBUG",
"filename": "hashequiv.log",
"mode": "w"
}
},
"formatters": {
"logfileFormatter": {
"format": "%(name)s: %(levelname)s: %(message)s"
}
},
"loggers": {
"BitBake.SigGen.HashEquiv": {
"level": "VERBOSE",
"handlers": ["autobuilderlog"]
},
"BitBake.RunQueue.HashEquiv": {
"level": "VERBOSE",
"handlers": ["autobuilderlog"]
}
}
}
</literallayout>
</para>
</section>
</chapter>

View File

@@ -539,6 +539,17 @@
</glossdef>
</glossentry>
<glossentry id='var-bb-BB_LOGCONFIG'><glossterm>BB_LOGCONFIG</glossterm>
<glossdef>
<para>
Specifies the name of a config file that contains the user
logging configuration. See
<link linkend="logging">Logging</link> for additional
information
</para>
</glossdef>
</glossentry>
<glossentry id='var-bb-BB_LOGFMT'><glossterm>BB_LOGFMT</glossterm>
<glossdef>
<para>

View File

@@ -43,12 +43,13 @@ class BBLogger(Logger):
Logger.__init__(self, name)
def bbdebug(self, level, msg, *args, **kwargs):
loglevel = logging.DEBUG - level + 1
if not bb.event.worker_pid:
if self.name in bb.msg.loggerDefaultDomains and level > (bb.msg.loggerDefaultDomains[self.name]):
if self.name in bb.msg.loggerDefaultDomains and loglevel > (bb.msg.loggerDefaultDomains[self.name]):
return
if level > (bb.msg.loggerDefaultDebugLevel):
if loglevel > bb.msg.loggerDefaultLogLevel:
return
return self.log(logging.DEBUG - level + 1, msg, *args, **kwargs)
return self.log(loglevel, msg, *args, **kwargs)
def plain(self, msg, *args, **kwargs):
return self.log(logging.INFO + 1, msg, *args, **kwargs)

View File

@@ -65,6 +65,8 @@ class TaskBase(event.Event):
self.taskname = self._task
self.logfile = logfile
self.time = time.time()
self.pn = d.getVar("PN")
self.pv = d.getVar("PV")
event.Event.__init__(self)
self._message = "recipe %s: task %s: %s" % (d.getVar("PF"), t, self.getDisplayName())

View File

@@ -414,7 +414,11 @@ class CommandsSync:
getAllAppends.readonly = True
def findProviders(self, command, params):
return command.cooker.findProviders()
try:
mc = params[0]
except IndexError:
mc = ''
return command.cooker.findProviders(mc)
findProviders.readonly = True
def findBestProvider(self, command, params):

View File

@@ -1023,16 +1023,16 @@ class BBCooker:
bb.event.fire(bb.event.FilesMatchingFound(filepattern, matches), self.data)
def findProviders(self, mc=''):
return bb.providers.findProviders(self.data, self.recipecaches[mc], self.recipecaches[mc].pkg_pn)
return bb.providers.findProviders(self.databuilder.mcdata[mc], self.recipecaches[mc], self.recipecaches[mc].pkg_pn)
def findBestProvider(self, pn, mc=''):
if pn in self.recipecaches[mc].providers:
filenames = self.recipecaches[mc].providers[pn]
eligible, foundUnique = bb.providers.filterProviders(filenames, pn, self.data, self.recipecaches[mc])
eligible, foundUnique = bb.providers.filterProviders(filenames, pn, self.databuilder.mcdata[mc], self.recipecaches[mc])
filename = eligible[0]
return None, None, None, filename
elif pn in self.recipecaches[mc].pkg_pn:
return bb.providers.findBestProvider(pn, self.data, self.recipecaches[mc], self.recipecaches[mc].pkg_pn)
return bb.providers.findBestProvider(pn, self.databuilder.mcdata[mc], self.recipecaches[mc], self.recipecaches[mc].pkg_pn)
else:
return None, None, None, None
@@ -1665,6 +1665,8 @@ class BBCooker:
self.command.reset()
self.databuilder.reset()
self.data = self.databuilder.data
self.parsecache_valid = False
self.baseconfig_valid = False
class CookerExit(bb.event.Event):

View File

@@ -34,6 +34,7 @@ _checksum_cache = bb.checksum.FileChecksumCache()
logger = logging.getLogger("BitBake.Fetcher")
CHECKSUM_LIST = [ "md5", "sha256", "sha1", "sha384", "sha512" ]
SHOWN_CHECKSUM_LIST = ["sha256"]
class BBFetchException(Exception):
"""Class all fetch exceptions inherit from"""
@@ -580,7 +581,9 @@ def verify_checksum(ud, d, precomputed={}):
checksum_dict = {ci["id"] : ci["data"] for ci in checksum_infos}
checksum_event = {"%ssum" % ci["id"] : ci["data"] for ci in checksum_infos}
checksum_lines = ["SRC_URI[%s] = \"%s\"" % (ci["name"], ci["data"]) for ci in checksum_infos]
for ci in checksum_infos:
if ci["id"] in SHOWN_CHECKSUM_LIST:
checksum_lines = ["SRC_URI[%s] = \"%s\"" % (ci["name"], ci["data"])]
# If no checksum has been provided
if ud.method.recommends_checksum(ud) and all(ci["expected"] is None for ci in checksum_infos):

View File

@@ -20,6 +20,8 @@ NOTE: Switching a SRC_URI from "git://" to "gitsm://" requires a clean of your r
import os
import bb
import copy
import shutil
import tempfile
from bb.fetch2.git import Git
from bb.fetch2 import runfetchcmd
from bb.fetch2 import logger
@@ -130,7 +132,7 @@ class GitSM(Git):
ld.setVar('SRCPV', d.getVar('SRCPV'))
ld.setVar('SRCREV_FORMAT', module)
function(ud, url, module, paths[module], ld)
function(ud, url, module, paths[module], workdir, ld)
return submodules != []
@@ -152,7 +154,7 @@ class GitSM(Git):
return False
def download(self, ud, d):
def download_submodule(ud, url, module, modpath, d):
def download_submodule(ud, url, module, modpath, workdir, d):
url += ";bareclone=1;nobranch=1"
# Is the following still needed?
@@ -163,16 +165,25 @@ class GitSM(Git):
newfetch.download()
# Drop a nugget to add each of the srcrevs we've fetched (used by need_update)
runfetchcmd("%s config --add bitbake.srcrev %s" % \
(ud.basecmd, ud.revisions[ud.names[0]]), d, workdir=ud.clonedir)
(ud.basecmd, ud.revisions[ud.names[0]]), d, workdir=workdir)
except Exception as e:
logger.error('gitsm: submodule download failed: %s %s' % (type(e).__name__, str(e)))
raise
Git.download(self, ud, d)
self.process_submodules(ud, ud.clonedir, download_submodule, d)
# If we're using a shallow mirror tarball it needs to be unpacked
# temporarily so that we can examine the .gitmodules file
if ud.shallow and os.path.exists(ud.fullshallow) and self.need_update(ud, d):
tmpdir = tempfile.mkdtemp(dir=d.getVar("DL_DIR"))
runfetchcmd("tar -xzf %s" % ud.fullshallow, d, workdir=tmpdir)
self.process_submodules(ud, tmpdir, download_submodule, d)
shutil.rmtree(tmpdir)
else:
self.process_submodules(ud, ud.clonedir, download_submodule, d)
def unpack(self, ud, destdir, d):
def unpack_submodules(ud, url, module, modpath, d):
def unpack_submodules(ud, url, module, modpath, workdir, d):
url += ";bareclone=1;nobranch=1"
# Figure out where we clone over the bare submodules...

View File

@@ -13,6 +13,7 @@ Message handling infrastructure for bitbake
import sys
import copy
import logging
import logging.config
from itertools import groupby
import bb
import bb.event
@@ -98,6 +99,9 @@ class BBLogFormatter(logging.Formatter):
def enable_color(self):
self.color_enabled = True
def __repr__(self):
return "%s fmt='%s' color=%s" % (self.__class__.__name__, self._fmt, "True" if self.color_enabled else "False")
class BBLogFilter(object):
def __init__(self, handler, level, debug_domains):
self.stdlevel = level
@@ -116,60 +120,59 @@ class BBLogFilter(object):
return True
return False
class BBLogFilterStdErr(BBLogFilter):
def filter(self, record):
if not BBLogFilter.filter(self, record):
return False
if record.levelno >= logging.ERROR:
return True
return False
class LogFilterGEQLevel(logging.Filter):
def __init__(self, level):
self.strlevel = str(level)
self.level = stringToLevel(level)
def __repr__(self):
return "%s level >= %s (%d)" % (self.__class__.__name__, self.strlevel, self.level)
class BBLogFilterStdOut(BBLogFilter):
def filter(self, record):
if not BBLogFilter.filter(self, record):
return False
if record.levelno < logging.ERROR:
return True
return False
return (record.levelno >= self.level)
class LogFilterLTLevel(logging.Filter):
def __init__(self, level):
self.strlevel = str(level)
self.level = stringToLevel(level)
def __repr__(self):
return "%s level < %s (%d)" % (self.__class__.__name__, self.strlevel, self.level)
def filter(self, record):
return (record.levelno < self.level)
# Message control functions
#
loggerDefaultDebugLevel = 0
loggerDefaultLogLevel = BBLogFormatter.NOTE
loggerDefaultVerbose = False
loggerVerboseLogs = False
loggerDefaultDomains = []
loggerDefaultDomains = {}
def init_msgconfig(verbose, debug, debug_domains=None):
"""
Set default verbosity and debug levels config the logger
"""
bb.msg.loggerDefaultDebugLevel = debug
bb.msg.loggerDefaultVerbose = verbose
if verbose:
bb.msg.loggerVerboseLogs = True
if debug_domains:
bb.msg.loggerDefaultDomains = debug_domains
else:
bb.msg.loggerDefaultDomains = []
def constructLogOptions():
debug = loggerDefaultDebugLevel
verbose = loggerDefaultVerbose
domains = loggerDefaultDomains
if debug:
level = BBLogFormatter.DEBUG - debug + 1
bb.msg.loggerDefaultLogLevel = BBLogFormatter.DEBUG - debug + 1
elif verbose:
level = BBLogFormatter.VERBOSE
bb.msg.loggerDefaultLogLevel = BBLogFormatter.VERBOSE
else:
level = BBLogFormatter.NOTE
bb.msg.loggerDefaultLogLevel = BBLogFormatter.NOTE
debug_domains = {}
for (domainarg, iterator) in groupby(domains):
dlevel = len(tuple(iterator))
debug_domains["BitBake.%s" % domainarg] = logging.DEBUG - dlevel + 1
return level, debug_domains
bb.msg.loggerDefaultDomains = {}
if debug_domains:
for (domainarg, iterator) in groupby(debug_domains):
dlevel = len(tuple(iterator))
bb.msg.loggerDefaultDomains["BitBake.%s" % domainarg] = logging.DEBUG - dlevel + 1
def constructLogOptions():
return loggerDefaultLogLevel, loggerDefaultDomains
def addDefaultlogFilter(handler, cls = BBLogFilter, forcelevel=None):
level, debug_domains = constructLogOptions()
@@ -179,6 +182,19 @@ def addDefaultlogFilter(handler, cls = BBLogFilter, forcelevel=None):
cls(handler, level, debug_domains)
def stringToLevel(level):
try:
return int(level)
except ValueError:
pass
try:
return getattr(logging, level)
except AttributeError:
pass
return getattr(BBLogFormatter, level)
#
# Message handling functions
#
@@ -212,3 +228,105 @@ def has_console_handler(logger):
if handler.stream in [sys.stderr, sys.stdout]:
return True
return False
def mergeLoggingConfig(logconfig, userconfig):
logconfig = copy.deepcopy(logconfig)
userconfig = copy.deepcopy(userconfig)
# Merge config with the default config
if userconfig.get('version') != logconfig['version']:
raise BaseException("Bad user configuration version. Expected %r, got %r" % (logconfig['version'], userconfig.get('version')))
# Set some defaults to make merging easier
userconfig.setdefault("loggers", {})
# If a handler, formatter, or filter is defined in the user
# config, it will replace an existing one in the default config
for k in ("handlers", "formatters", "filters"):
logconfig.setdefault(k, {}).update(userconfig.get(k, {}))
seen_loggers = set()
for name, l in logconfig["loggers"].items():
# If the merge option is set, merge the handlers and
# filters. Otherwise, if it is False, this logger won't get
# add to the set of seen loggers and will replace the
# existing one
if l.get('bitbake_merge', True):
ulogger = userconfig["loggers"].setdefault(name, {})
ulogger.setdefault("handlers", [])
ulogger.setdefault("filters", [])
# Merge lists
l.setdefault("handlers", []).extend(ulogger["handlers"])
l.setdefault("filters", []).extend(ulogger["filters"])
# Replace other properties if present
if "level" in ulogger:
l["level"] = ulogger["level"]
if "propagate" in ulogger:
l["propagate"] = ulogger["propagate"]
seen_loggers.add(name)
# Add all loggers present in the user config, but not any that
# have already been processed
for name in set(userconfig["loggers"].keys()) - seen_loggers:
logconfig["loggers"][name] = userconfig["loggers"][name]
return logconfig
def setLoggingConfig(defaultconfig, userconfigfile=None):
logconfig = copy.deepcopy(defaultconfig)
if userconfigfile:
with open(userconfigfile, 'r') as f:
if userconfigfile.endswith('.yml') or userconfigfile.endswith('.yaml'):
import yaml
userconfig = yaml.load(f)
elif userconfigfile.endswith('.json') or userconfigfile.endswith('.cfg'):
import json
userconfig = json.load(f)
else:
raise BaseException("Unrecognized file format: %s" % userconfigfile)
if userconfig.get('bitbake_merge', True):
logconfig = mergeLoggingConfig(logconfig, userconfig)
else:
# Replace the entire default config
logconfig = userconfig
# Convert all level parameters to integers in case users want to use the
# bitbake defined level names
for h in logconfig["handlers"].values():
if "level" in h:
h["level"] = bb.msg.stringToLevel(h["level"])
for l in logconfig["loggers"].values():
if "level" in l:
l["level"] = bb.msg.stringToLevel(l["level"])
conf = logging.config.dictConfigClass(logconfig)
conf.configure()
# The user may have specified logging domains they want at a higher debug
# level than the standard.
for name, l in logconfig["loggers"].items():
if not name.startswith("BitBake."):
continue
if not "level" in l:
continue
curlevel = bb.msg.loggerDefaultDomains.get(name)
# Note: level parameter should already be a int because of conversion
# above
newlevel = int(l["level"])
if curlevel is None or newlevel < curlevel:
bb.msg.loggerDefaultDomains[name] = newlevel
# TODO: I don't think that setting the global log level should be necessary
#if newlevel < bb.msg.loggerDefaultLogLevel:
# bb.msg.loggerDefaultLogLevel = newlevel
return conf

View File

@@ -27,6 +27,7 @@ import pprint
bblogger = logging.getLogger("BitBake")
logger = logging.getLogger("BitBake.RunQueue")
hashequiv_logger = logging.getLogger("BitBake.RunQueue.HashEquiv")
__find_sha256__ = re.compile( r'(?i)(?<![a-z0-9])[a-f0-9]{64}(?![a-z0-9])' )
@@ -920,9 +921,11 @@ class RunQueueData:
runq_build = {}
for task in self.cooker.configuration.runall:
if not task.startswith("do_"):
task = "do_{0}".format(task)
runall_tids = set()
for tid in list(self.runtaskentries):
wanttid = fn_from_tid(tid) + ":do_%s" % task
wanttid = "{0}:{1}".format(fn_from_tid(tid), task)
if wanttid in delcount:
self.runtaskentries[wanttid] = delcount[wanttid]
if wanttid in self.runtaskentries:
@@ -949,7 +952,9 @@ class RunQueueData:
runq_build = {}
for task in self.cooker.configuration.runonly:
runonly_tids = { k: v for k, v in self.runtaskentries.items() if taskname_from_tid(k) == "do_%s" % task }
if not task.startswith("do_"):
task = "do_{0}".format(task)
runonly_tids = { k: v for k, v in self.runtaskentries.items() if taskname_from_tid(k) == task }
for tid in list(runonly_tids):
mark_active(tid,1)
@@ -1250,7 +1255,7 @@ class RunQueue:
"fakerootdirs" : self.rqdata.dataCaches[mc].fakerootdirs,
"fakerootnoenv" : self.rqdata.dataCaches[mc].fakerootnoenv,
"sigdata" : bb.parse.siggen.get_taskdata(),
"logdefaultdebug" : bb.msg.loggerDefaultDebugLevel,
"logdefaultlevel" : bb.msg.loggerDefaultLogLevel,
"logdefaultverbose" : bb.msg.loggerDefaultVerbose,
"logdefaultverboselogs" : bb.msg.loggerVerboseLogs,
"logdefaultdomain" : bb.msg.loggerDefaultDomains,
@@ -2054,7 +2059,7 @@ class RunQueueExecute:
self.update_holdofftasks()
if not self.sq_live and not self.sqdone and not self.sq_deferred and not self.updated_taskhash_queue and not self.holdoff_tasks:
logger.info("Setscene tasks completed")
hashequiv_logger.verbose("Setscene tasks completed")
err = self.summarise_scenequeue_errors()
if err:
@@ -2259,7 +2264,7 @@ class RunQueueExecute:
self.updated_taskhash_queue.remove((tid, unihash))
if unihash != self.rqdata.runtaskentries[tid].unihash:
logger.info("Task %s unihash changed to %s" % (tid, unihash))
hashequiv_logger.verbose("Task %s unihash changed to %s" % (tid, unihash))
self.rqdata.runtaskentries[tid].unihash = unihash
bb.parse.siggen.set_unihash(tid, unihash)
toprocess.add(tid)
@@ -2304,7 +2309,7 @@ class RunQueueExecute:
elif tid in self.scenequeue_covered or tid in self.sq_live:
# Already ran this setscene task or it running. Report the new taskhash
bb.parse.siggen.report_unihash_equiv(tid, newhash, origuni, newuni, self.rqdata.dataCaches)
logger.info("Already covered setscene for %s so ignoring rehash (remap)" % (tid))
hashequiv_logger.verbose("Already covered setscene for %s so ignoring rehash (remap)" % (tid))
remapped = True
if not remapped:
@@ -2323,7 +2328,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>")
logger.debug(1, pprint.pformat("Tasks changed:\n%s" % (changed)))
hashequiv_logger.debug(1, pprint.pformat("Tasks changed:\n%s" % (changed)))
for tid in changed:
if tid not in self.rqdata.runq_setscene_tids:
@@ -2342,7 +2347,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:
logger.debug(2, "Task %s is running which blocks setscene for %s from running" % (dep, tid))
hashequiv_logger.debug(2, "Task %s is running which blocks setscene for %s from running" % (dep, tid))
valid = False
break
if not valid:
@@ -2405,7 +2410,7 @@ class RunQueueExecute:
for (tid, harddepfail, origvalid) in update_tasks:
if tid in self.sqdata.valid and not origvalid:
logger.info("Setscene task %s became valid" % tid)
hashequiv_logger.verbose("Setscene task %s became valid" % tid)
if harddepfail:
self.sq_task_failoutright(tid)

View File

@@ -16,6 +16,7 @@ from bb import runqueue
import hashserv
logger = logging.getLogger('BitBake.SigGen')
hashequiv_logger = logging.getLogger('BitBake.SigGen.HashEquiv')
def init(d):
siggens = [obj for obj in globals().values()
@@ -502,9 +503,9 @@ class SignatureGeneratorUniHashMixIn(object):
# A unique hash equal to the taskhash is not very interesting,
# so it is reported it at debug level 2. If they differ, that
# is much more interesting, so it is reported at debug level 1
bb.debug((1, 2)[unihash == taskhash], 'Found unihash %s in place of %s for %s from %s' % (unihash, taskhash, tid, self.server))
hashequiv_logger.debug((1, 2)[unihash == taskhash], 'Found unihash %s in place of %s for %s from %s' % (unihash, taskhash, tid, self.server))
else:
bb.debug(2, 'No reported unihash for %s:%s from %s' % (tid, taskhash, self.server))
hashequiv_logger.debug(2, '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)))
@@ -578,12 +579,12 @@ class SignatureGeneratorUniHashMixIn(object):
new_unihash = data['unihash']
if new_unihash != unihash:
bb.debug(1, 'Task %s unihash changed %s -> %s by server %s' % (taskhash, unihash, new_unihash, self.server))
hashequiv_logger.debug(1, '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:
bb.debug(1, 'Reported task %s as unihash %s to %s' % (taskhash, unihash, self.server))
hashequiv_logger.debug(1, '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:
@@ -606,7 +607,7 @@ class SignatureGeneratorUniHashMixIn(object):
method = method + self.extramethod[tid]
data = self.client().report_unihash_equiv(taskhash, method, wanted_unihash, extra_data)
bb.note('Reported task %s as unihash %s to %s (%s)' % (tid, wanted_unihash, self.server, str(data)))
hashequiv_logger.verbose('Reported task %s as unihash %s to %s (%s)' % (tid, wanted_unihash, self.server, str(data)))
if data is None:
bb.warn("Server unable to handle unihash report")
@@ -615,14 +616,14 @@ class SignatureGeneratorUniHashMixIn(object):
finalunihash = data['unihash']
if finalunihash == current_unihash:
bb.note('Task %s unihash %s unchanged by server' % (tid, finalunihash))
hashequiv_logger.verbose('Task %s unihash %s unchanged by server' % (tid, finalunihash))
elif finalunihash == wanted_unihash:
bb.note('Task %s unihash changed %s -> %s as wanted' % (tid, current_unihash, finalunihash))
hashequiv_logger.verbose('Task %s unihash changed %s -> %s as wanted' % (tid, current_unihash, finalunihash))
self.set_unihash(tid, finalunihash)
return True
else:
# TODO: What to do here?
bb.note('Task %s unihash reported as unwanted hash %s' % (tid, finalunihash))
hashequiv_logger.verbose('Task %s unihash reported as unwanted hash %s' % (tid, finalunihash))
except hashserv.client.HashConnectionError as e:
bb.warn('Error contacting Hash Equivalence Server %s: %s' % (self.server, str(e)))

View File

@@ -1691,6 +1691,47 @@ class GitShallowTest(FetcherTest):
# Verify the submodule is also shallow
self.assertRevCount(1, cwd=os.path.join(self.gitdir, 'gitsubmodule'))
def test_shallow_submodule_mirrors(self):
self.add_empty_file('a')
self.add_empty_file('b')
smdir = os.path.join(self.tempdir, 'gitsubmodule')
bb.utils.mkdirhier(smdir)
self.git('init', cwd=smdir)
# Make this look like it was cloned from a remote...
self.git('config --add remote.origin.url "%s"' % smdir, cwd=smdir)
self.git('config --add remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"', cwd=smdir)
self.add_empty_file('asub', cwd=smdir)
self.add_empty_file('bsub', cwd=smdir)
self.git('submodule init', cwd=self.srcdir)
self.git('submodule add file://%s' % smdir, cwd=self.srcdir)
self.git('submodule update', cwd=self.srcdir)
self.git('commit -m submodule -a', cwd=self.srcdir)
uri = 'gitsm://%s;protocol=file;subdir=${S}' % self.srcdir
# Fetch once to generate the shallow tarball
fetcher, ud = self.fetch(uri)
# Set up the mirror
mirrordir = os.path.join(self.tempdir, 'mirror')
os.rename(self.dldir, mirrordir)
self.d.setVar('PREMIRRORS', 'gitsm://.*/.* file://%s/\n' % mirrordir)
# Fetch from the mirror
bb.utils.remove(self.dldir, recurse=True)
bb.utils.remove(self.gitdir, recurse=True)
self.fetch_and_unpack(uri)
# Verify the main repository is shallow
self.assertRevCount(1)
# Verify the gitsubmodule directory is present
assert os.listdir(os.path.join(self.gitdir, 'gitsubmodule'))
# Verify the submodule is also shallow
self.assertRevCount(1, cwd=os.path.join(self.gitdir, 'gitsubmodule'))
if any(os.path.exists(os.path.join(p, 'git-annex')) for p in os.environ.get('PATH').split(':')):
def test_shallow_annex(self):

View File

@@ -127,12 +127,13 @@ class TinfoilCookerAdapter:
class TinfoilRecipeCacheAdapter:
""" cooker.recipecache adapter """
def __init__(self, tinfoil):
def __init__(self, tinfoil, mc=''):
self.tinfoil = tinfoil
self.mc = mc
self._cache = {}
def get_pkg_pn_fn(self):
pkg_pn = defaultdict(list, self.tinfoil.run_command('getRecipes') or [])
pkg_pn = defaultdict(list, self.tinfoil.run_command('getRecipes', self.mc) or [])
pkg_fn = {}
for pn, fnlist in pkg_pn.items():
for fn in fnlist:
@@ -151,27 +152,27 @@ class TinfoilCookerAdapter:
self.get_pkg_pn_fn()
return self._cache[name]
elif name == 'deps':
attrvalue = defaultdict(list, self.tinfoil.run_command('getRecipeDepends') or [])
attrvalue = defaultdict(list, self.tinfoil.run_command('getRecipeDepends', self.mc) or [])
elif name == 'rundeps':
attrvalue = defaultdict(lambda: defaultdict(list), self.tinfoil.run_command('getRuntimeDepends') or [])
attrvalue = defaultdict(lambda: defaultdict(list), self.tinfoil.run_command('getRuntimeDepends', self.mc) or [])
elif name == 'runrecs':
attrvalue = defaultdict(lambda: defaultdict(list), self.tinfoil.run_command('getRuntimeRecommends') or [])
attrvalue = defaultdict(lambda: defaultdict(list), self.tinfoil.run_command('getRuntimeRecommends', self.mc) or [])
elif name == 'pkg_pepvpr':
attrvalue = self.tinfoil.run_command('getRecipeVersions') or {}
attrvalue = self.tinfoil.run_command('getRecipeVersions', self.mc) or {}
elif name == 'inherits':
attrvalue = self.tinfoil.run_command('getRecipeInherits') or {}
attrvalue = self.tinfoil.run_command('getRecipeInherits', self.mc) or {}
elif name == 'bbfile_priority':
attrvalue = self.tinfoil.run_command('getBbFilePriority') or {}
attrvalue = self.tinfoil.run_command('getBbFilePriority', self.mc) or {}
elif name == 'pkg_dp':
attrvalue = self.tinfoil.run_command('getDefaultPreference') or {}
attrvalue = self.tinfoil.run_command('getDefaultPreference', self.mc) or {}
elif name == 'fn_provides':
attrvalue = self.tinfoil.run_command('getRecipeProvides') or {}
attrvalue = self.tinfoil.run_command('getRecipeProvides', self.mc) or {}
elif name == 'packages':
attrvalue = self.tinfoil.run_command('getRecipePackages') or {}
attrvalue = self.tinfoil.run_command('getRecipePackages', self.mc) or {}
elif name == 'packages_dynamic':
attrvalue = self.tinfoil.run_command('getRecipePackagesDynamic') or {}
attrvalue = self.tinfoil.run_command('getRecipePackagesDynamic', self.mc) or {}
elif name == 'rproviders':
attrvalue = self.tinfoil.run_command('getRProviders') or {}
attrvalue = self.tinfoil.run_command('getRProviders', self.mc) or {}
else:
raise AttributeError("%s instance has no attribute '%s'" % (self.__class__.__name__, name))
@@ -182,8 +183,9 @@ class TinfoilCookerAdapter:
self.tinfoil = tinfoil
self.collection = self.TinfoilCookerCollectionAdapter(tinfoil)
self.recipecaches = {}
# FIXME all machines
self.recipecaches[''] = self.TinfoilRecipeCacheAdapter(tinfoil)
for mc in (tinfoil.config_data.getVar('BBMULTICONFIG') or '').split():
self.recipecaches[mc] = self.TinfoilRecipeCacheAdapter(tinfoil, mc)
self._cache = {}
def __getattr__(self, name):
# Grab these only when they are requested since they aren't always used
@@ -501,11 +503,11 @@ class Tinfoil:
"""
return OrderedDict(self.run_command('getSkippedRecipes'))
def get_all_providers(self):
return defaultdict(list, self.run_command('allProviders'))
def get_all_providers(self, mc=''):
return defaultdict(list, self.run_command('allProviders', mc))
def find_providers(self):
return self.run_command('findProviders')
def find_providers(self, mc=''):
return self.run_command('findProviders', mc)
def find_best_provider(self, pn):
return self.run_command('findBestProvider', pn)
@@ -723,21 +725,9 @@ class Tinfoil:
# Borrowed from knotty, instead somewhat hackily we use the helper
# as the object to store "shutdown" on
helper = bb.ui.uihelper.BBUIHelper()
# We set up logging optionally in the constructor so now we need to
# grab the handlers to pass to TerminalFilter
console = None
errconsole = None
for handler in self.logger.handlers:
if isinstance(handler, logging.StreamHandler):
if handler.stream == sys.stdout:
console = handler
elif handler.stream == sys.stderr:
errconsole = handler
format_str = "%(levelname)s: %(message)s"
format = bb.msg.BBLogFormatter(format_str)
helper.shutdown = 0
parseprogress = None
termfilter = bb.ui.knotty.TerminalFilter(helper, helper, console, errconsole, format, quiet=self.quiet)
termfilter = bb.ui.knotty.TerminalFilter(helper, helper, self.logger.handlers, quiet=self.quiet)
try:
while True:
try:

View File

@@ -109,12 +109,11 @@ def pluralise(singular, plural, qty):
class InteractConsoleLogFilter(logging.Filter):
def __init__(self, tf, format):
def __init__(self, tf):
self.tf = tf
self.format = format
def filter(self, record):
if record.levelno == self.format.NOTE and (record.msg.startswith("Running") or record.msg.startswith("recipe ")):
if record.levelno == bb.msg.BBLogFormatter.NOTE and (record.msg.startswith("Running") or record.msg.startswith("recipe ")):
return False
self.tf.clearFooter()
return True
@@ -150,7 +149,7 @@ class TerminalFilter(object):
cr = (25, 80)
return cr
def __init__(self, main, helper, console, errconsole, format, quiet):
def __init__(self, main, helper, handlers, quiet):
self.main = main
self.helper = helper
self.cuu = None
@@ -180,7 +179,11 @@ class TerminalFilter(object):
termios.tcsetattr(fd, termios.TCSADRAIN, new)
curses.setupterm()
if curses.tigetnum("colors") > 2:
format.enable_color()
for h in handlers:
try:
h.formatter.enable_color()
except AttributeError:
pass
self.ed = curses.tigetstr("ed")
if self.ed:
self.cuu = curses.tigetstr("cuu")
@@ -196,10 +199,9 @@ class TerminalFilter(object):
self.interactive = False
bb.note("Unable to use interactive mode for this terminal, using fallback")
return
if console:
console.addFilter(InteractConsoleLogFilter(self, format))
if errconsole:
errconsole.addFilter(InteractConsoleLogFilter(self, format))
for h in handlers:
h.addFilter(InteractConsoleLogFilter(self))
self.main_progress = None
@@ -362,7 +364,11 @@ def _log_settings_from_server(server, observe_only):
if error:
logger.error("Unable to get the value of BB_CONSOLELOG variable: %s" % error)
raise BaseException(error)
return includelogs, loglines, consolelogfile
logconfigfile, error = server.runCommand([cmd, "BB_LOGCONFIG"])
if error:
logger.error("Unable to get the value of BB_LOGCONFIG variable: %s" % error)
raise BaseException(error)
return includelogs, loglines, consolelogfile, logconfigfile
_evt_list = [ "bb.runqueue.runQueueExitWait", "bb.event.LogExecTTY", "logging.LogRecord",
"bb.build.TaskFailed", "bb.build.TaskBase", "bb.event.ParseStarted",
@@ -379,7 +385,148 @@ def main(server, eventHandler, params, tf = TerminalFilter):
if not params.observe_only:
params.updateToServer(server, os.environ.copy())
includelogs, loglines, consolelogfile = _log_settings_from_server(server, params.observe_only)
includelogs, loglines, consolelogfile, logconfigfile = _log_settings_from_server(server, params.observe_only)
loglevel, _ = bb.msg.constructLogOptions()
if params.options.quiet == 0:
console_loglevel = loglevel
elif params.options.quiet > 2:
console_loglevel = bb.msg.BBLogFormatter.ERROR
else:
console_loglevel = bb.msg.BBLogFormatter.WARNING
logconfig = {
"version": 1,
"handlers": {
"BitBake.console": {
"class": "logging.StreamHandler",
"formatter": "BitBake.consoleFormatter",
"level": console_loglevel,
"stream": "ext://sys.stdout",
"filters": ["BitBake.stdoutFilter"],
".": {
"is_console": True,
},
},
"BitBake.errconsole": {
"class": "logging.StreamHandler",
"formatter": "BitBake.consoleFormatter",
"level": loglevel,
"stream": "ext://sys.stderr",
"filters": ["BitBake.stderrFilter"],
".": {
"is_console": True,
},
},
# This handler can be used if specific loggers should print on
# the console at a lower severity than the default. It will
# display any messages sent to it that are lower than then
# BitBake.console logging level (so as to prevent duplication of
# messages). Nothing is attached to this handler by default
"BitBake.verbconsole": {
"class": "logging.StreamHandler",
"formatter": "BitBake.consoleFormatter",
"level": 1,
"stream": "ext://sys.stdout",
"filters": ["BitBake.verbconsoleFilter"],
".": {
"is_console": True,
},
},
},
"formatters": {
# This format instance will get color output enabled by the
# terminal
"BitBake.consoleFormatter" : {
"()": "bb.msg.BBLogFormatter",
"format": "%(levelname)s: %(message)s"
},
# The file log requires a separate instance so that it doesn't get
# color enabled
"BitBake.logfileFormatter": {
"()": "bb.msg.BBLogFormatter",
"format": "%(levelname)s: %(message)s"
}
},
"filters": {
"BitBake.stdoutFilter": {
"()": "bb.msg.LogFilterLTLevel",
"level": "ERROR"
},
"BitBake.stderrFilter": {
"()": "bb.msg.LogFilterGEQLevel",
"level": "ERROR"
},
"BitBake.verbconsoleFilter": {
"()": "bb.msg.LogFilterLTLevel",
"level": console_loglevel
},
},
"loggers": {
"BitBake": {
"level": loglevel,
"handlers": ["BitBake.console", "BitBake.errconsole"],
}
},
"disable_existing_loggers": False
}
# Enable the console log file if enabled
if consolelogfile and not params.options.show_environment and not params.options.show_versions:
logconfig = bb.msg.mergeLoggingConfig(logconfig, {
"version": 1,
"handlers" : {
"BitBake.consolelog": {
"class": "logging.FileHandler",
"formatter": "BitBake.logfileFormatter",
"level": loglevel,
"filename": consolelogfile,
},
# Just like verbconsole, anything sent here will go to the
# log file, unless it would go to BitBake.consolelog
"BitBake.verbconsolelog" : {
"class": "logging.FileHandler",
"formatter": "BitBake.logfileFormatter",
"level": 1,
"filename": consolelogfile,
"filters": ["BitBake.verbconsolelogFilter"],
},
},
"filters": {
"BitBake.verbconsolelogFilter": {
"()": "bb.msg.LogFilterLTLevel",
"level": loglevel,
},
},
"loggers": {
"BitBake": {
"handlers": ["BitBake.consolelog"],
},
# Other interesting things that we want to keep an eye on
# in the log files in case someone has an issue, but not
# necessarily show to the user on the console
"BitBake.SigGen.HashEquiv": {
"level": "VERBOSE",
"handlers": ["BitBake.verbconsolelog"],
},
"BitBake.RunQueue.HashEquiv": {
"level": "VERBOSE",
"handlers": ["BitBake.verbconsolelog"],
}
}
})
bb.utils.mkdirhier(os.path.dirname(consolelogfile))
loglink = os.path.join(os.path.dirname(consolelogfile), 'console-latest.log')
bb.utils.remove(loglink)
try:
os.symlink(os.path.basename(consolelogfile), loglink)
except OSError:
pass
conf = bb.msg.setLoggingConfig(logconfig, logconfigfile)
if sys.stdin.isatty() and sys.stdout.isatty():
log_exec_tty = True
@@ -388,23 +535,9 @@ def main(server, eventHandler, params, tf = TerminalFilter):
helper = uihelper.BBUIHelper()
console = logging.StreamHandler(sys.stdout)
errconsole = logging.StreamHandler(sys.stderr)
format_str = "%(levelname)s: %(message)s"
format = bb.msg.BBLogFormatter(format_str)
if params.options.quiet == 0:
forcelevel = None
elif params.options.quiet > 2:
forcelevel = bb.msg.BBLogFormatter.ERROR
else:
forcelevel = bb.msg.BBLogFormatter.WARNING
bb.msg.addDefaultlogFilter(console, bb.msg.BBLogFilterStdOut, forcelevel)
bb.msg.addDefaultlogFilter(errconsole, bb.msg.BBLogFilterStdErr)
console.setFormatter(format)
errconsole.setFormatter(format)
if not bb.msg.has_console_handler(logger):
logger.addHandler(console)
logger.addHandler(errconsole)
# Look for the specially designated handlers which need to be passed to the
# terminal handler
console_handlers = [h for h in conf.config['handlers'].values() if getattr(h, 'is_console', False)]
bb.utils.set_process_name("KnottyUI")
@@ -412,24 +545,14 @@ def main(server, eventHandler, params, tf = TerminalFilter):
server.terminateServer()
return
consolelog = None
if consolelogfile and not params.options.show_environment and not params.options.show_versions:
bb.utils.mkdirhier(os.path.dirname(consolelogfile))
conlogformat = bb.msg.BBLogFormatter(format_str)
consolelog = logging.FileHandler(consolelogfile)
bb.msg.addDefaultlogFilter(consolelog)
consolelog.setFormatter(conlogformat)
logger.addHandler(consolelog)
loglink = os.path.join(os.path.dirname(consolelogfile), 'console-latest.log')
bb.utils.remove(loglink)
try:
os.symlink(os.path.basename(consolelogfile), loglink)
except OSError:
pass
llevel, debug_domains = bb.msg.constructLogOptions()
server.runCommand(["setEventMask", server.getEventHandle(), llevel, debug_domains, _evt_list])
# The logging_tree module is *extremely* helpful in debugging logging
# domains. Uncomment here to dump the logging tree when bitbake starts
#import logging_tree
#logging_tree.printout()
universe = False
if not params.observe_only:
params.updateFromServer(server)
@@ -464,7 +587,7 @@ def main(server, eventHandler, params, tf = TerminalFilter):
printinterval = 5000
lastprint = time.time()
termfilter = tf(main, helper, console, errconsole, format, params.options.quiet)
termfilter = tf(main, helper, console_handlers, params.options.quiet)
atexit.register(termfilter.finish)
while True:
@@ -503,26 +626,26 @@ def main(server, eventHandler, params, tf = TerminalFilter):
if isinstance(event, logging.LogRecord):
lastprint = time.time()
printinterval = 5000
if event.levelno >= format.ERROR:
if event.levelno >= bb.msg.BBLogFormatter.ERROR:
errors = errors + 1
return_value = 1
elif event.levelno == format.WARNING:
elif event.levelno == bb.msg.BBLogFormatter.WARNING:
warnings = warnings + 1
if event.taskpid != 0:
# For "normal" logging conditions, don't show note logs from tasks
# but do show them if the user has changed the default log level to
# include verbose/debug messages
if event.levelno <= format.NOTE and (event.levelno < llevel or (event.levelno == format.NOTE and llevel != format.VERBOSE)):
if event.levelno <= bb.msg.BBLogFormatter.NOTE and (event.levelno < llevel or (event.levelno == bb.msg.BBLogFormatter.NOTE and llevel != bb.msg.BBLogFormatter.VERBOSE)):
continue
# Prefix task messages with recipe/task
if event.taskpid in helper.pidmap and event.levelno != format.PLAIN:
if event.taskpid in helper.pidmap and event.levelno != bb.msg.BBLogFormatter.PLAIN:
taskinfo = helper.running_tasks[helper.pidmap[event.taskpid]]
event.msg = taskinfo['title'] + ': ' + event.msg
if hasattr(event, 'fn'):
event.msg = event.fn + ': ' + event.msg
logger.handle(event)
logging.getLogger(event.name).handle(event)
continue
if isinstance(event, bb.build.TaskFailedSilent):
@@ -748,8 +871,6 @@ def main(server, eventHandler, params, tf = TerminalFilter):
if e.errno == errno.EPIPE:
pass
if consolelog:
logger.removeHandler(consolelog)
consolelog.close()
logging.shutdown()
return return_value

View File

@@ -0,0 +1,398 @@
#
# TeamCity UI Implementation
#
# Implements a TeamCity frontend for the BitBake utility, via service messages.
# See https://www.jetbrains.com/help/teamcity/build-script-interaction-with-teamcity.html
#
# Based on ncurses.py and knotty.py, variously by Michael Lauer and Richard Purdie
#
# Copyright (C) 2006 Michael 'Mickey' Lauer
# Copyright (C) 2006-2012 Richard Purdie
# Copyright (C) 2018-2020 Agilent Technologies, Inc.
#
# SPDX-License-Identifier: GPL-2.0-only
#
# Author: Chris Laplante <chris.laplante@agilent.com>
from __future__ import division
import datetime
import logging
import math
import os
import re
import sys
import xmlrpc.client
from collections import deque
import bb
import bb.build
import bb.command
import bb.cooker
import bb.event
import bb.exceptions
import bb.runqueue
from bb.ui import uihelper
logger = logging.getLogger("BitBake")
class TeamCityUI:
def __init__(self):
self._block_stack = []
self._last_progress_state = None
@classmethod
def escape_service_value(cls, value):
"""
Escape a value for inclusion in a service message. TeamCity uses the vertical pipe character for escaping.
See: https://confluence.jetbrains.com/display/TCD10/Build+Script+Interaction+with+TeamCity#BuildScriptInteractionwithTeamCity-Escapedvalues
"""
return re.sub(r"(['|\[\]])", r"|\1", value).replace("\n", "|n").replace("\r", "|r")
@classmethod
def emit_service_message(cls, message_type, **kwargs):
print(cls.format_service_message(message_type, **kwargs), flush=True)
@classmethod
def format_service_message(cls, message_type, **kwargs):
payload = " ".join(["{0}='{1}'".format(k, cls.escape_service_value(v)) for k, v in kwargs.items()])
return "##teamcity[{0} {1}]".format(message_type, payload)
@classmethod
def emit_simple_service_message(cls, message_type, message):
print(cls.format_simple_service_message(message_type, message), flush=True)
@classmethod
def format_simple_service_message(cls, message_type, message):
return "##teamcity[{0} '{1}']".format(message_type, cls.escape_service_value(message))
@classmethod
def format_build_message(cls, text, status):
return cls.format_service_message("message", text=text, status=status)
def block_start(self, name):
self._block_stack.append(name)
self.emit_service_message("blockOpened", name=name)
def block_end(self):
if self._block_stack:
name = self._block_stack.pop()
self.emit_service_message("blockClosed", name=name)
def progress(self, message, percent, extra=None):
now = datetime.datetime.now()
percent = "{0: >3.0f}".format(percent)
report = False
if not self._last_progress_state \
or (self._last_progress_state[0] == message
and self._last_progress_state[1] != percent
and (now - self._last_progress_state[2]).microseconds >= 5000) \
or self._last_progress_state[0] != message:
report = True
self._last_progress_state = (message, percent, now)
if report or percent in [0, 100]:
self.emit_simple_service_message("progressMessage", "{0}: {1}%{2}".format(message, percent, extra or ""))
class TeamcityLogFormatter(logging.Formatter):
def format(self, record):
details = ""
if hasattr(record, 'bb_exc_formatted'):
details = ''.join(record.bb_exc_formatted)
elif hasattr(record, 'bb_exc_info'):
etype, value, tb = record.bb_exc_info
formatted = bb.exceptions.format_exception(etype, value, tb, limit=5)
details = ''.join(formatted)
if record.levelno in [bb.msg.BBLogFormatter.ERROR, bb.msg.BBLogFormatter.CRITICAL]:
# ERROR gets a separate errorDetails field
msg = TeamCityUI.format_service_message("message", text=record.getMessage(), status="ERROR",
errorDetails=details)
else:
payload = record.getMessage()
if details:
payload += "\n" + details
if record.levelno == bb.msg.BBLogFormatter.PLAIN:
msg = payload
elif record.levelno == bb.msg.BBLogFormatter.WARNING:
msg = TeamCityUI.format_service_message("message", text=payload, status="WARNING")
else:
msg = TeamCityUI.format_service_message("message", text=payload, status="NORMAL")
return msg
_evt_list = ["bb.runqueue.runQueueExitWait", "bb.event.LogExecTTY", "logging.LogRecord",
"bb.build.TaskFailed", "bb.build.TaskBase", "bb.event.ParseStarted",
"bb.event.ParseProgress", "bb.event.ParseCompleted", "bb.event.CacheLoadStarted",
"bb.event.CacheLoadProgress", "bb.event.CacheLoadCompleted", "bb.command.CommandFailed",
"bb.command.CommandExit", "bb.command.CommandCompleted", "bb.cooker.CookerExit",
"bb.event.MultipleProviders", "bb.event.NoProvider", "bb.runqueue.sceneQueueTaskStarted",
"bb.runqueue.runQueueTaskStarted", "bb.runqueue.runQueueTaskFailed", "bb.runqueue.sceneQueueTaskFailed",
"bb.event.BuildBase", "bb.build.TaskStarted", "bb.build.TaskSucceeded", "bb.build.TaskFailedSilent",
"bb.build.TaskProgress", "bb.event.ProcessStarted", "bb.event.ProcessProgress", "bb.event.ProcessFinished"]
def _log_settings_from_server(server):
# Get values of variables which control our output
includelogs, error = server.runCommand(["getVariable", "BBINCLUDELOGS"])
if error:
logger.error("Unable to get the value of BBINCLUDELOGS variable: %s" % error)
raise BaseException(error)
loglines, error = server.runCommand(["getVariable", "BBINCLUDELOGS_LINES"])
if error:
logger.error("Unable to get the value of BBINCLUDELOGS_LINES variable: %s" % error)
raise BaseException(error)
return includelogs, loglines
def main(server, eventHandler, params):
params.updateToServer(server, os.environ.copy())
includelogs, loglines = _log_settings_from_server(server)
ui = TeamCityUI()
helper = uihelper.BBUIHelper()
console = logging.StreamHandler(sys.stdout)
errconsole = logging.StreamHandler(sys.stderr)
format = TeamcityLogFormatter()
if params.options.quiet == 0:
forcelevel = None
elif params.options.quiet > 2:
forcelevel = bb.msg.BBLogFormatter.ERROR
else:
forcelevel = bb.msg.BBLogFormatter.WARNING
bb.msg.addDefaultlogFilter(console, bb.msg.BBLogFilterStdOut, forcelevel)
bb.msg.addDefaultlogFilter(errconsole, bb.msg.BBLogFilterStdErr)
console.setFormatter(format)
errconsole.setFormatter(format)
if not bb.msg.has_console_handler(logger):
logger.addHandler(console)
logger.addHandler(errconsole)
if params.options.remote_server and params.options.kill_server:
server.terminateServer()
return
if params.observe_only:
logger.error("Observe-only mode not supported in this UI")
return 1
llevel, debug_domains = bb.msg.constructLogOptions()
server.runCommand(["setEventMask", server.getEventHandle(), llevel, debug_domains, _evt_list])
try:
params.updateFromServer(server)
cmdline = params.parseActions()
if not cmdline:
logger.error("No task given")
return 1
if 'msg' in cmdline and cmdline['msg']:
logger.error(cmdline['msg'])
return 1
cmdline = cmdline['action']
ret, error = server.runCommand(cmdline)
if error:
logger.error("{0}: {1}".format(cmdline, error))
return 1
elif not ret:
logger.error("Couldn't get default commandline: {0}".format(re))
return 1
except xmlrpc.client.Fault as x:
logger.error("XMLRPC Fault getting commandline: {0}".format(x))
return 1
active_process_total = None
is_tasks_running = False
while True:
try:
event = eventHandler.waitEvent(0.25)
if not event:
continue
helper.eventHandler(event)
if isinstance(event, bb.build.TaskBase):
logger.info(event._message)
if isinstance(event, logging.LogRecord):
# Don't report sstate failures as errors, since Yocto will just run the tasks for real
if event.msg == "No suitable staging package found" or (event.msg.startswith(
"Fetcher failure: Unable to find file") and "downloadfilename" in event.msg and "sstate" in event.msg):
event.levelno = bb.msg.BBLogFormatter.WARNING
if event.taskpid != 0:
# For "normal" logging conditions, don't show note logs from tasks
# but do show them if the user has changed the default log level to
# include verbose/debug messages
if event.levelno <= bb.msg.BBLogFormatter.NOTE and (event.levelno < llevel or (
event.levelno == bb.msg.BBLogFormatter.NOTE and llevel != bb.msg.BBLogFormatter.VERBOSE)):
continue
# Prefix task messages with recipe/task
if event.taskpid in helper.running_tasks and event.levelno != bb.msg.BBLogFormatter.PLAIN:
taskinfo = helper.running_tasks[event.taskpid]
event.msg = taskinfo['title'] + ': ' + event.msg
if hasattr(event, 'fn'):
event.msg = event.fn + ': ' + event.msg
logger.handle(event)
if isinstance(event, bb.build.TaskFailedSilent):
logger.warning("Logfile for failed setscene task is %s" % event.logfile)
continue
if isinstance(event, bb.build.TaskFailed):
rt = "{0}-{1}:{2}".format(event.pn, event.pv.replace("AUTOINC", "0"), event.task)
logfile = event.logfile
if not logfile or not os.path.exists(logfile):
TeamCityUI.emit_service_message("buildProblem", description="{0}\nUnknown failure (no log file available)".format(rt))
if not event.task.endswith("_setscene"):
server.runCommand(["stateForceShutdown"])
continue
details = deque(maxlen=loglines)
error_lines = []
if includelogs and not event.errprinted:
with open(logfile, "r") as f:
while True:
line = f.readline()
if not line:
break
line = line.rstrip()
details.append(' | %s' % line)
# TODO: a less stupid check for errors
if (event.task == "do_compile") and ("error:" in line):
error_lines.append(line)
if error_lines:
TeamCityUI.emit_service_message("compilationStarted", compiler=rt)
for line in error_lines:
TeamCityUI.emit_service_message("message", text=line, status="ERROR")
TeamCityUI.emit_service_message("compilationFinished", compiler=rt)
else:
TeamCityUI.emit_service_message("buildProblem", description=rt)
err = "Logfile of failure stored in: %s" % logfile
if details:
ui.block_start("{0} task log".format(rt))
# TeamCity seems to choke on service messages longer than about 63800 characters, so if error
# details is longer than, say, 60000, batch it up into several messages.
first_message = True
while details:
detail_len = 0
batch = deque()
while details and detail_len < 60000:
# TODO: This code doesn't bother to handle lines that themselves are extremely long.
line = details.popleft()
batch.append(line)
detail_len += len(line)
if first_message:
batch.appendleft("Log data follows:")
first_message = False
TeamCityUI.emit_service_message("message", text=err, status="ERROR",
errorDetails="\n".join(batch))
else:
TeamCityUI.emit_service_message("message", text="[continued]", status="ERROR",
errorDetails="\n".join(batch))
ui.block_end()
else:
TeamCityUI.emit_service_message("message", text=err, status="ERROR", errorDetails="")
if not event.task.endswith("_setscene"):
server.runCommand(["stateForceShutdown"])
if isinstance(event, bb.event.ProcessStarted):
if event.processname in ["Initialising tasks", "Checking sstate mirror object availability"]:
active_process_total = event.total
ui.block_start(event.processname)
if isinstance(event, bb.event.ProcessFinished):
if event.processname in ["Initialising tasks", "Checking sstate mirror object availability"]:
ui.progress(event.processname, 100)
ui.block_end()
if isinstance(event, bb.event.ProcessProgress):
if event.processname in ["Initialising tasks",
"Checking sstate mirror object availability"] and active_process_total != 0:
ui.progress(event.processname, event.progress * 100 / active_process_total)
if isinstance(event, bb.event.CacheLoadStarted):
ui.block_start("Loading cache")
if isinstance(event, bb.event.CacheLoadProgress):
if event.total != 0:
ui.progress("Loading cache", math.floor(event.current * 100 / event.total))
if isinstance(event, bb.event.CacheLoadCompleted):
ui.progress("Loading cache", 100)
ui.block_end()
if isinstance(event, bb.event.ParseStarted):
ui.block_start("Parsing recipes and checking upstream revisions")
if isinstance(event, bb.event.ParseProgress):
if event.total != 0:
ui.progress("Parsing recipes", math.floor(event.current * 100 / event.total))
if isinstance(event, bb.event.ParseCompleted):
ui.progress("Parsing recipes", 100)
ui.block_end()
if isinstance(event, bb.command.CommandCompleted):
return
if isinstance(event, bb.command.CommandFailed):
logger.error(str(event))
return 1
if isinstance(event, bb.event.MultipleProviders):
logger.warning(str(event))
continue
if isinstance(event, bb.event.NoProvider):
logger.error(str(event))
continue
if isinstance(event, bb.command.CommandExit):
return
if isinstance(event, bb.cooker.CookerExit):
return
if isinstance(event, bb.runqueue.sceneQueueTaskStarted):
if not is_tasks_running:
is_tasks_running = True
ui.block_start("Running tasks")
if event.stats.total != 0:
ui.progress("Running setscene tasks", (
event.stats.completed + event.stats.active + event.stats.failed + 1) * 100 / event.stats.total)
if isinstance(event, bb.runqueue.runQueueTaskStarted):
if not is_tasks_running:
is_tasks_running = True
ui.block_start("Running tasks")
if event.stats.total != 0:
pseudo_total = event.stats.total - event.stats.skipped
pseudo_complete = event.stats.completed + event.stats.active - event.stats.skipped + event.stats.failed + 1
# TODO: sometimes this gives over 100%
ui.progress("Running runqueue tasks", (pseudo_complete) * 100 / pseudo_total,
" ({0}/{1})".format(pseudo_complete, pseudo_total))
if isinstance(event, bb.runqueue.sceneQueueTaskFailed):
logger.warning(str(event))
continue
if isinstance(event, bb.runqueue.runQueueTaskFailed):
logger.error(str(event))
return 1
if isinstance(event, bb.event.LogExecTTY):
pass
except EnvironmentError as ioerror:
# ignore interrupted io
if ioerror.args[0] == 4:
pass
except Exception as ex:
logger.error(str(ex))
# except KeyboardInterrupt:
# if shutdown == 2:
# mw.appendText("Third Keyboard Interrupt, exit.\n")
# exitflag = True
# if shutdown == 1:
# mw.appendText("Second Keyboard Interrupt, stopping...\n")
# _, error = server.runCommand(["stateForceShutdown"])
# if error:
# print("Unable to cleanly stop: %s" % error)
# if shutdown == 0:
# mw.appendText("Keyboard Interrupt, closing down...\n")
# _, error = server.runCommand(["stateShutdown"])
# if error:
# print("Unable to cleanly shutdown: %s" % error)
# shutdown = shutdown + 1
# pass

View File

@@ -46,7 +46,7 @@ layer, with the preferred version first. Note that skipped recipes that
are overlayed will also be listed, with a " (skipped)" suffix.
"""
items_listed = self.list_recipes('Overlayed recipes', None, True, args.same_version, args.filenames, False, True, None, False, None)
items_listed = self.list_recipes('Overlayed recipes', None, True, args.same_version, args.filenames, False, True, None, False, None, args.mc)
# Check for overlayed .bbclass files
classes = collections.defaultdict(list)
@@ -112,9 +112,9 @@ skipped recipes will also be listed, with a " (skipped)" suffix.
title = 'Matching recipes:'
else:
title = 'Available recipes:'
self.list_recipes(title, args.pnspec, False, False, args.filenames, args.recipes_only, args.multiple, args.layer, args.bare, inheritlist)
self.list_recipes(title, args.pnspec, False, False, args.filenames, args.recipes_only, args.multiple, args.layer, args.bare, inheritlist, args.mc)
def list_recipes(self, title, pnspec, show_overlayed_only, show_same_ver_only, show_filenames, show_recipes_only, show_multi_provider_only, selected_layer, bare, inherits):
def list_recipes(self, title, pnspec, show_overlayed_only, show_same_ver_only, show_filenames, show_recipes_only, show_multi_provider_only, selected_layer, bare, inherits, mc):
if inherits:
bbpath = str(self.tinfoil.config_data.getVar('BBPATH'))
for classname in inherits:
@@ -123,14 +123,18 @@ skipped recipes will also be listed, with a " (skipped)" suffix.
logger.error('No class named %s found in BBPATH', classfile)
sys.exit(1)
pkg_pn = self.tinfoil.cooker.recipecaches[''].pkg_pn
(latest_versions, preferred_versions) = self.tinfoil.find_providers()
allproviders = self.tinfoil.get_all_providers()
pkg_pn = self.tinfoil.cooker.recipecaches[mc].pkg_pn
(latest_versions, preferred_versions) = self.tinfoil.find_providers(mc)
allproviders = self.tinfoil.get_all_providers(mc)
# Ensure we list skipped recipes
# We are largely guessing about PN, PV and the preferred version here,
# but we have no choice since skipped recipes are not fully parsed
skiplist = list(self.tinfoil.cooker.skiplist.keys())
mcspec = 'mc:%s:' % mc
if mc:
skiplist = [s[len(mcspec):] for s in skiplist if s.startswith(mcspec)]
for fn in skiplist:
recipe_parts = os.path.splitext(os.path.basename(fn))[0].split('_')
p = recipe_parts[0]
@@ -187,7 +191,7 @@ skipped recipes will also be listed, with a " (skipped)" suffix.
# We only display once per recipe, we should prefer non extended versions of the
# recipe if present (so e.g. in OpenEmbedded, openssl rather than nativesdk-openssl
# which would otherwise sort first).
if realfn[1] and realfn[0] in self.tinfoil.cooker.recipecaches[''].pkg_fn:
if realfn[1] and realfn[0] in self.tinfoil.cooker.recipecaches[mc].pkg_fn:
continue
if inherits:
@@ -496,6 +500,7 @@ NOTE: .bbappend files can impact the dependencies.
parser_show_overlayed = self.add_command(sp, 'show-overlayed', self.do_show_overlayed)
parser_show_overlayed.add_argument('-f', '--filenames', help='instead of the default formatting, list filenames of higher priority recipes with the ones they overlay indented underneath', action='store_true')
parser_show_overlayed.add_argument('-s', '--same-version', help='only list overlayed recipes where the version is the same', action='store_true')
parser_show_overlayed.add_argument('--mc', help='use specified multiconfig', default='')
parser_show_recipes = self.add_command(sp, 'show-recipes', self.do_show_recipes)
parser_show_recipes.add_argument('-f', '--filenames', help='instead of the default formatting, list filenames of higher priority recipes with the ones they overlay indented underneath', action='store_true')
@@ -504,6 +509,7 @@ NOTE: .bbappend files can impact the dependencies.
parser_show_recipes.add_argument('-i', '--inherits', help='only list recipes that inherit the named class(es) - separate multiple classes using , (without spaces)', metavar='CLASS', default='')
parser_show_recipes.add_argument('-l', '--layer', help='only list recipes from the selected layer', default='')
parser_show_recipes.add_argument('-b', '--bare', help='output just names without the "(skipped)" marker', action='store_true')
parser_show_recipes.add_argument('--mc', help='use specified multiconfig', default='')
parser_show_recipes.add_argument('pnspec', nargs='*', help='optional recipe name specification (wildcards allowed, enclose in quotes to avoid shell expansion)')
parser_show_appends = self.add_command(sp, 'show-appends', self.do_show_appends)

View File

@@ -266,7 +266,7 @@
meta-toolchain
meta-ide-support
You can also run generated qemu images with a command like 'runqemu qemux86'
You can also run generated qemu images with a command like 'runqemu qemux86-64'
</literallayout>
Among other things, the script creates the
<ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>,
@@ -332,7 +332,7 @@
QEMU, which is a Quick EMUlator that ships with
the Yocto Project:
<literallayout class='monospaced'>
$ runqemu qemux86
$ runqemu qemux86-64
</literallayout>
If you want to learn more about running QEMU, see the
"<ulink url="&YOCTO_DOCS_DEV_URL;#dev-manual-qemu">Using the Quick EMUlator (QEMU)</ulink>"

View File

@@ -174,13 +174,15 @@
"ACTIVE RELEASES DOCUMENTATION" or "DOCUMENTS ARCHIVE"
pull-down menus.
</para></listitem>
<listitem><para>
<listitem>
<para>
To report any inaccuracies or problems with this
manual, send an email to the Yocto Project
discussion group at
<filename>yocto@yoctoproject.com</filename> or log into
the freenode <filename>#yocto</filename> channel.
</para></listitem>
(or any other Yocto Project) manual, send an email to
the Yocto Project documentation mailing list at
<filename>docs@lists.yoctoproject.org</filename> or
log into the freenode <filename>#yocto</filename> channel.
</para>
</listitem>
</itemizedlist>
</note>
</legalnotice>

View File

@@ -1397,7 +1397,7 @@
package specified in the <filename>PACKAGES</filename>
statement.
<note>
The <filename>inherit packages</filename> should be
The <filename>inherit packagegroup</filename> line should be
located near the top of the recipe, certainly before
the <filename>PACKAGES</filename> statement.
</note>
@@ -10822,7 +10822,7 @@
Use the following BitBake command form to fetch all the
necessary sources without starting the build:
<literallayout class='monospaced'>
$ bitbake -c <replaceable>target</replaceable> runall="fetch"
$ bitbake <replaceable>target</replaceable> --runall=fetch
</literallayout>
This variation of the BitBake command guarantees that you
have all the sources for that BitBake target should you

View File

@@ -151,13 +151,13 @@
<itemizedlist>
<listitem><para>
This example starts QEMU with
<replaceable>MACHINE</replaceable> set to "qemux86".
<replaceable>MACHINE</replaceable> set to "qemux86-64".
Assuming a standard
<ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>,
<filename>runqemu</filename> automatically finds the
<filename>bzImage-qemux86.bin</filename> image file and
<filename>bzImage-qemux86-64.bin</filename> image file and
the
<filename>core-image-minimal-qemux86-20140707074611.rootfs.ext3</filename>
<filename>core-image-minimal-qemux86-64-20200218002850.rootfs.ext4</filename>
(assuming the current build created a
<filename>core-image-minimal</filename> image).
<note>
@@ -166,7 +166,7 @@
timestamp.
</note>
<literallayout class='monospaced'>
$ runqemu qemux86
$ runqemu qemux86-64
</literallayout>
</para></listitem>
<listitem><para>
@@ -175,7 +175,7 @@
This command, however, specifically provides the image
and root filesystem type.
<literallayout class='monospaced'>
$ runqemu qemux86 core-image-minimal ext3
$ runqemu qemux86-64 core-image-minimal ext4
</literallayout>
</para></listitem>
<listitem><para>
@@ -188,7 +188,7 @@
be installed (see the previous description for the
<filename>audio</filename> option for more information).
<literallayout class='monospaced'>
$ runqemu qemux86 ramfs audio
$ runqemu qemux86-64 ramfs audio
</literallayout>
</para></listitem>
<listitem><para>
@@ -200,7 +200,7 @@
<replaceable>KERNEL</replaceable>, or
<replaceable>VM</replaceable> option.
<literallayout class='monospaced'>
$ runqemu ext3
$ runqemu ext4
</literallayout>
</para></listitem>
<listitem><para>
@@ -209,9 +209,9 @@
From the <filename>.wic.vmdk</filename>,
<filename>runqemu</filename> determines the QEMU
architecture (<replaceable>MACHINE</replaceable>) to be
"qemux86" and the root filesystem type to be "vmdk".
"qemux86-64" and the root filesystem type to be "vmdk".
<literallayout class='monospaced'>
$ runqemu /home/scott-lenovo/vm/core-image-minimal-qemux86.wic.vmdk
$ runqemu /home/scott-lenovo/vm/core-image-minimal-qemux86-64.wic.vmdk
</literallayout>
</para></listitem>
</itemizedlist>
@@ -296,7 +296,7 @@
extracts it to a directory named
<filename>test-nfs</filename>:
<literallayout class='monospaced'>
runqemu-extract-sdk ./tmp/deploy/images/qemux86/core-image-sato-qemux86.tar.bz2 test-nfs
runqemu-extract-sdk ./tmp/deploy/images/qemux86-64/core-image-sato-qemux86-64.tar.bz2 test-nfs
</literallayout>
</para></listitem>
<listitem><para>
@@ -310,7 +310,7 @@
Here is an example using the <filename>qemux86</filename>
image:
<literallayout class='monospaced'>
runqemu qemux86 ./test-nfs
runqemu qemux86-64 ./test-nfs
</literallayout>
</para></listitem>
</orderedlist>

View File

@@ -166,13 +166,15 @@
"ACTIVE RELEASES DOCUMENTATION" or "DOCUMENTS ARCHIVE"
pull-down menus.
</para></listitem>
<listitem><para>
<listitem>
<para>
To report any inaccuracies or problems with this
manual, send an email to the Yocto Project
discussion group at
<filename>yocto@yoctoproject.com</filename> or log into
the freenode <filename>#yocto</filename> channel.
</para></listitem>
(or any other Yocto Project) manual, send an email to
the Yocto Project documentation mailing list at
<filename>docs@lists.yoctoproject.org</filename> or
log into the freenode <filename>#yocto</filename> channel.
</para>
</listitem>
</itemizedlist>
</note>
</legalnotice>

View File

@@ -89,8 +89,8 @@
<emphasis>Prepare Your <filename>local.conf</filename> File:</emphasis>
By default, the
<ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>
variable is set to "qemux86", which is fine if you are
building for the QEMU emulator in 32-bit mode.
variable is set to "qemux86-64", which is fine if you are
building for the QEMU emulator in 64-bit mode.
However, if you are not, you need to set the
<filename>MACHINE</filename> variable appropriately in
your <filename>conf/local.conf</filename> file found in
@@ -104,10 +104,12 @@
<ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS'><filename>MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS</filename></ulink>
variable to include kernel modules.</para>
<para>This example uses the default "qemux86" for the
<filename>MACHINE</filename> variable but needs to
add the "kernel-modules":
<para>In this example we wish to build for qemux86 so
we must set the <filename>MACHINE</filename> variable
to "qemux86" and also add the "kernel-modules". As described
we do this by appending to <filename>conf/local.conf</filename>:
<literallayout class='monospaced'>
MACHINE = "qemux86"
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
</literallayout>
</para></listitem>
@@ -314,8 +316,8 @@
File:</emphasis>
By default, the
<ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>
variable is set to "qemux86", which is fine if you are
building for the QEMU emulator in 32-bit mode.
variable is set to "qemux86-64", which is fine if you are
building for the QEMU emulator in 64-bit mode.
However, if you are not, you need to set the
<filename>MACHINE</filename> variable appropriately in
your <filename>conf/local.conf</filename> file found
@@ -329,10 +331,12 @@
<ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS'><filename>MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS</filename></ulink>
variable to include kernel modules.</para>
<para>This example uses the default "qemux86" for the
<filename>MACHINE</filename> variable but needs to
add the "kernel-modules":
<para>In this example we wish to build for qemux86 so
we must set the <filename>MACHINE</filename> variable
to "qemux86" and also add the "kernel-modules". As described
we do this by appending to <filename>conf/local.conf</filename>:
<literallayout class='monospaced'>
MACHINE = "qemux86"
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules"
</literallayout>
</para></listitem>

View File

@@ -149,13 +149,15 @@
"ACTIVE RELEASES DOCUMENTATION" or "DOCUMENTS ARCHIVE"
pull-down menus.
</para></listitem>
<listitem><para>
<listitem>
<para>
To report any inaccuracies or problems with this
manual, send an email to the Yocto Project
discussion group at
<filename>yocto@yoctoproject.com</filename> or log into
the freenode <filename>#yocto</filename> channel.
</para></listitem>
(or any other Yocto Project) manual, send an email to
the Yocto Project documentation mailing list at
<filename>docs@lists.yoctoproject.org</filename> or
log into the freenode <filename>#yocto</filename> channel.
</para>
</listitem>
</itemizedlist>
</note>
</legalnotice>

View File

@@ -140,13 +140,15 @@
"ACTIVE RELEASES DOCUMENTATION" or "DOCUMENTS ARCHIVE"
pull-down menus.
</para></listitem>
<listitem><para>
<listitem>
<para>
To report any inaccuracies or problems with this
manual, send an email to the Yocto Project
discussion group at
<filename>yocto@yoctoproject.com</filename> or log into
the freenode <filename>#yocto</filename> channel.
</para></listitem>
(or any other Yocto Project) manual, send an email to
the Yocto Project documentation mailing list at
<filename>docs@lists.yoctoproject.org</filename> or
log into the freenode <filename>#yocto</filename> channel.
</para>
</listitem>
</itemizedlist>
</note>

View File

@@ -101,13 +101,15 @@
"ACTIVE RELEASES DOCUMENTATION" or "DOCUMENTS ARCHIVE"
pull-down menus.
</para></listitem>
<listitem><para>
<listitem>
<para>
To report any inaccuracies or problems with this
manual, send an email to the Yocto Project
discussion group at
<filename>yocto@yoctoproject.com</filename> or log into
the freenode <filename>#yocto</filename> channel.
</para></listitem>
(or any other Yocto Project) manual, send an email to
the Yocto Project documentation mailing list at
<filename>docs@lists.yoctoproject.org</filename> or
log into the freenode <filename>#yocto</filename> channel.
</para>
</listitem>
</itemizedlist>
</note>
</legalnotice>

View File

@@ -58,7 +58,7 @@
<!ENTITY OE_INIT_PATH "&YOCTO_POKY;/oe-init-build-env">
<!ENTITY OE_INIT_FILE "oe-init-build-env">
<!ENTITY UBUNTU_HOST_PACKAGES_ESSENTIAL "gawk wget git-core diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
build-essential chrpath socat cpio python3 python3-pip python3-pexpect \
xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \
pylint3 xterm">
<!ENTITY FEDORA_HOST_PACKAGES_ESSENTIAL "gawk make wget tar bzip2 gzip python3 unzip perl patch \

View File

@@ -2182,7 +2182,7 @@
meta-toolchain
meta-ide-support
You can also run generated qemu images with a command like 'runqemu qemux86'
You can also run generated qemu images with a command like 'runqemu qemux86-64'
</literallayout>
Once you've done that, you can cd to whatever directory

View File

@@ -151,13 +151,15 @@
"ACTIVE RELEASES DOCUMENTATION" or "DOCUMENTS ARCHIVE"
pull-down menus.
</para></listitem>
<listitem><para>
<listitem>
<para>
To report any inaccuracies or problems with this
manual, send an email to the Yocto Project
discussion group at
<filename>yocto@yoctoproject.com</filename> or log into
the freenode <filename>#yocto</filename> channel.
</para></listitem>
(or any other Yocto Project) manual, send an email to
the Yocto Project documentation mailing list at
<filename>docs@lists.yoctoproject.org</filename> or
log into the freenode <filename>#yocto</filename> channel.
</para>
</listitem>
</itemizedlist>
</note>
</legalnotice>

View File

@@ -2110,7 +2110,7 @@
such as the following:
<literallayout class='monospaced'>
inherit bluetooth
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)}
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)}"
PACKAGECONFIG[bluez4] = "--enable-bluetooth,--disable-bluetooth,bluez4"
PACKAGECONFIG[bluez5] = "--enable-bluez5,--disable-bluez5,bluez5"
</literallayout>
@@ -3624,7 +3624,7 @@ $ runqemu qemux86-64 tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.
image types, this part of the kernel image base name as been
removed leaving only the following:
<literallayout class='monospaced'>
KERNEL_IMAGE_BASE_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}
KERNEL_IMAGE_BASE_NAME ?= "${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${DATETIME}"
</literallayout>
If you have recipes or classes that use
<filename>KERNEL_IMAGE_BASE_NAME</filename> directly, you might

View File

@@ -175,13 +175,15 @@
"ACTIVE RELEASES DOCUMENTATION" or "DOCUMENTS ARCHIVE"
pull-down menus.
</para></listitem>
<listitem><para>
<listitem>
<para>
To report any inaccuracies or problems with this
manual, send an email to the Yocto Project
discussion group at
<filename>yocto@yoctoproject.com</filename> or log into
the freenode <filename>#yocto</filename> channel.
</para></listitem>
(or any other Yocto Project) manual, send an email to
the Yocto Project documentation mailing list at
<filename>docs@lists.yoctoproject.org</filename> or
log into the freenode <filename>#yocto</filename> channel.
</para>
</listitem>
</itemizedlist>
</note>
</legalnotice>

View File

@@ -217,7 +217,7 @@
meta-toolchain
meta-ide-support
You can also run generated qemu images with a command like 'runqemu qemux86'
You can also run generated qemu images with a command like 'runqemu qemux86-64'
</literallayout>
The script gets its default list of common targets from the
<filename>conf-notes.txt</filename> file, which is found in the
@@ -424,7 +424,7 @@
</section>
<section id='structure-build-conf-sanity_info'>
<title><filename>build/conf/sanity_info</filename></title>
<title><filename>build/cache/sanity_info</filename></title>
<para>
This file indicates the state of the sanity checks and is created

View File

@@ -367,7 +367,7 @@
<glossentry id='var-ASSUME_SHLIBS'><glossterm>ASSUME_SHLIBS</glossterm>
<info>
ASSUME_SHLIBS[doc] = Provides additional shlibs provider mapping information, which adds to or overwrites the information provided automatically by the system."
ASSUME_SHLIBS[doc] = "Provides additional shlibs provider mapping information, which adds to or overwrites the information provided automatically by the system."
</info>
<glossdef>
<para role="glossdeffirst">
@@ -495,6 +495,30 @@
</glossdef>
</glossentry>
<glossentry id='var-AVAILABLE_LICENSES'><glossterm>AVAILABLE_LICENSES</glossterm>
<info>
AVAILABLE_LICENSES[doc] = "List of licenses found in the directories specified by COMMON_LICENSE_DIR and LICENSE_PATH."
</info>
<glossdef>
<para role="glossdeffirst">
<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
List of licenses found in the directories specified
by <link linkend='var-COMMON_LICENSE_DIR'><filename>COMMON_LICENSE_DIR</filename></link>
and <link linkend='var-LICENSE_PATH'><filename>LICENSE_PATH</filename></link>.
<note>
It is assumed that all changes
to <filename>COMMON_LICENSE_DIR</filename>
and <filename>LICENSE_PATH</filename> have been done
before <filename>AVAILABLE_LICENSES</filename> is
defined
(in <link linkend='ref-classes-license'>license.bbclass</link>).
</note>
</para>
</glossdef>
</glossentry>
<glossentry id='var-AVAILTUNES'><glossterm>AVAILTUNES</glossterm>
<info>
AVAILTUNES[doc] = "The list of defined CPU and Application Binary Interface (ABI) tunings (i.e. "tunes") available for use by the OpenEmbedded build system."
@@ -1423,7 +1447,7 @@
Use the following format to export the variable to the
BitBake environment:
<literallayout class='monospaced'>
export BBSERVER=localhost:$port"
export BBSERVER=localhost:$port
</literallayout>
</para>
@@ -3786,7 +3810,7 @@
It is not intended to be user-configurable.
It is best to just reference the variable to see which distro features are
being backfilled for all distro configurations.
See the <link linkend='ref-features-backfill'>Feature Backfilling</link> section for
See the "<link linkend='ref-features-backfill'>Feature Backfilling</link>" section for
more information.
</para>
</glossdef>
@@ -6750,6 +6774,25 @@
components that are required to produce a functional system
image.
</note>
<note><title>Tips</title>
It is possible to define a list of licenses that are allowed
to be used instead of the licenses that are excluded. To do
this, define a
variable <filename>COMPATIBLE_LICENSES</filename> with the
names of the licences that are allowed. Then
define <filename>INCOMPATIBLE_LICENSE</filename> as:
<literallayout class='monospaced'>
INCOMPATIBLE_LICENSE = "${@' '.join(sorted(set(d.getVar('AVAILABLE_LICENSES').split()) - set(d.getVar('COMPATIBLE_LICENSES').split())))}"
</literallayout>
This will result
in <filename>INCOMPATIBLE_LICENSE</filename> containing the
names of all licences
from <link linkend='var-AVAILABLE_LICENSES'><filename>AVAILABLE_LICENSES</filename></link>
except the ones specified
in <filename>COMPATIBLE_LICENSES</filename>, thus only
allowing the latter licences to be used.
</note>
</glossdef>
</glossentry>
@@ -11054,7 +11097,7 @@
<glossentry id='var-PN'><glossterm>PN</glossterm>
<info>
PN[doc] = "PN refers to a recipe name in the context of a file used by the OpenEmbedded build system as input to create a package.
PN[doc] = "PN refers to a recipe name in the context of a file used by the OpenEmbedded build system as input to create a package."
</info>
<glossdef>
<para role="glossdeffirst">
@@ -13383,8 +13426,7 @@
<glossentry id='var-SKIP_FILEDEPS'><glossterm>SKIP_FILEDEPS</glossterm>
<info>
SKIP_FILEDEPS[doc] = "Enables you to remove all files from
the "Provides" section of an RPM package."
SKIP_FILEDEPS[doc] = "Enables you to remove all files from the 'Provides' section of an RPM package."
</info>
<glossdef>
<para role="glossdeffirst">
@@ -15331,7 +15373,7 @@
<glossentry id='var-TCLIBC'><glossterm>TCLIBC</glossterm>
<info>
TCLIBC[doc] = "Specifies GNU standard C library (libc) variant to use during the build process. You can select 'glibc', 'musl' or "newlib."
TCLIBC[doc] = "Specifies GNU standard C library (libc) variant to use during the build process. You can select 'glibc', 'musl' or 'newlib'."
</info>
<glossdef>
<para role="glossdeffirst">
@@ -16473,7 +16515,7 @@
Appends a string to the name of the local version of the
U-Boot image.
For example, assuming the version of the U-Boot image
built was "2013.10, the full version string reported by
built was "2013.10", the full version string reported by
U-Boot would be "2013.10-yocto" given the following
statement:
<literallayout class='monospaced'>
@@ -16771,18 +16813,21 @@
<glossentry id='var-USERADD_ERROR_DYNAMIC'><glossterm>USERADD_ERROR_DYNAMIC</glossterm>
<info>
USERADD_ERROR_DYNAMIC[doc] = "If set to 'error', forces the OpenEmbedded build system to produce an error if the user identification (uid) and group identification (gid) values are not defined in files/passwd and files/group files. If set to 'warn', a warning will be issued instead."
USERADD_ERROR_DYNAMIC[doc] = "If set to 'error', forces the OpenEmbedded build system to produce an error if the user identification (uid) and group identification (gid) values are not defined in any of the files listed in USERADD_UID_TABLES and USERADD_GID_TABLES. If set to 'warn', a warning will be issued instead."
</info>
<glossdef>
<para role="glossdeffirst">
<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
If set to "error", forces the OpenEmbedded build system to
produce an error if the user identification
(<filename>uid</filename>) and group identification
(<filename>gid</filename>) values are not defined
in <filename>files/passwd</filename>
and <filename>files/group</filename> files.
If set to "warn", a warning will be issued instead.
If set to <filename>error</filename>, forces the
OpenEmbedded build system to produce an error if the user
identification (<filename>uid</filename>) and group
identification (<filename>gid</filename>) values are not
defined in any of the files listed
in <link linkend='var-USERADD_UID_TABLES'><filename>USERADD_UID_TABLES</filename></link>
and <link linkend='var-USERADD_GID_TABLES'><filename>USERADD_GID_TABLES</filename></link>. If
set to <filename>warn</filename>, a warning will be issued
instead.
</para>
<para>
@@ -16809,6 +16854,20 @@
<link linkend='var-USERADD_GID_TABLES'><filename>USERADD_GID_TABLES</filename></link>
variables.
</para>
<note>
There is a difference in behavior between
setting <filename>USERADD_ERROR_DYNAMIC</filename>
to <filename>error</filename> and setting it
to <filename>warn</filename>. When it is set
to <filename>warn</filename>, the build system will report a
warning for every undefined <filename>uid</filename> and
<filename>gid</filename> in any recipe. But when it is set
to <filename>error</filename>, it will only report errors
for recipes that are actually built. This saves you from
having to add static IDs for recipes that you know will
never be built.
</note>
</glossdef>
</glossentry>
@@ -17108,7 +17167,7 @@
"<ulink url='&YOCTO_DOCS_DEV_URL;#creating-partitioned-images-using-wic'>Creating Partitioned Images Using Wic</ulink>"
section in the Yocto Project Development Tasks Manual.
For details on the kickstart file format, see the
"<link linkend='ref-kickstart'>OpenEmbedded Kickstart (<filename>.wks</filename>) Reference</link>
"<link linkend='ref-kickstart'>OpenEmbedded Kickstart (<filename>.wks</filename>) Reference</link>"
Chapter.
</para>
</glossdef>
@@ -17178,8 +17237,7 @@
<glossentry id='var-XSERVER'><glossterm>XSERVER</glossterm>
<info>
XSERVER[doc] = "Specifies the packages that should be installed
to provide an X server and drivers for the current machine."
XSERVER[doc] = "Specifies the packages that should be installed to provide an X server and drivers for the current machine."
</info>
<glossdef>
<para role="glossdeffirst">

View File

@@ -119,13 +119,15 @@
"ACTIVE RELEASES DOCUMENTATION" or "DOCUMENTS ARCHIVE"
pull-down menus.
</para></listitem>
<listitem><para>
<listitem>
<para>
To report any inaccuracies or problems with this
manual, send an email to the Yocto Project
discussion group at
<filename>yocto@yoctoproject.com</filename> or log into
the freenode <filename>#yocto</filename> channel.
</para></listitem>
(or any other Yocto Project) manual, send an email to
the Yocto Project documentation mailing list at
<filename>docs@lists.yoctoproject.org</filename> or
log into the freenode <filename>#yocto</filename> channel.
</para>
</listitem>
</itemizedlist>
</note>
</legalnotice>

View File

@@ -129,13 +129,15 @@
"ACTIVE RELEASES DOCUMENTATION" or "DOCUMENTS ARCHIVE"
pull-down menus.
</para></listitem>
<listitem><para>
<listitem>
<para>
To report any inaccuracies or problems with this
manual, send an email to the Yocto Project
discussion group at
<filename>yocto@yoctoproject.com</filename> or log into
the freenode <filename>#yocto</filename> channel.
</para></listitem>
(or any other Yocto Project) manual, send an email to
the Yocto Project documentation mailing list at
<filename>docs@lists.yoctoproject.org</filename> or
log into the freenode <filename>#yocto</filename> channel.
</para>
</listitem>
</itemizedlist>
</note>

View File

@@ -9,7 +9,7 @@ BBFILE_COLLECTIONS += "yocto"
BBFILE_PATTERN_yocto = "^${LAYERDIR}/"
BBFILE_PRIORITY_yocto = "5"
LAYERSERIES_COMPAT_yocto = "zeus"
LAYERSERIES_COMPAT_yocto = "dunfell"
# This should only be incremented on significant changes that will
# cause compatibility issues with other layers

View File

@@ -9,4 +9,4 @@ BBFILE_COLLECTIONS += "selftest"
BBFILE_PATTERN_selftest = "^${LAYERDIR}/"
BBFILE_PRIORITY_selftest = "5"
LAYERSERIES_COMPAT_selftest = "zeus"
LAYERSERIES_COMPAT_selftest = "dunfell"

View File

@@ -14,4 +14,4 @@ LAYERVERSION_skeleton = "1"
LAYERDEPENDS_skeleton = "core"
LAYERSERIES_COMPAT_skeleton = "zeus"
LAYERSERIES_COMPAT_skeleton = "dunfell"

View File

@@ -9,4 +9,4 @@ BBFILE_COLLECTIONS += "yoctobsp"
BBFILE_PATTERN_yoctobsp = "^${LAYERDIR}/"
BBFILE_PRIORITY_yoctobsp = "5"
LAYERVERSION_yoctobsp = "4"
LAYERSERIES_COMPAT_yoctobsp = "zeus"
LAYERSERIES_COMPAT_yoctobsp = "dunfell"

View File

@@ -1,23 +0,0 @@
KBRANCH_genericx86 = "v5.2/standard/base"
KBRANCH_genericx86-64 = "v5.2/standard/base"
KBRANCH_edgerouter = "v5.2/standard/edgerouter"
KBRANCH_beaglebone-yocto = "v5.2/standard/beaglebone"
KMACHINE_genericx86 ?= "common-pc"
KMACHINE_genericx86-64 ?= "common-pc-64"
KMACHINE_beaglebone-yocto ?= "beaglebone"
SRCREV_machine_genericx86 ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
SRCREV_machine_genericx86-64 ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
SRCREV_machine_edgerouter ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
SRCREV_machine_beaglebone-yocto ?= "25b14cdf9659c68ab32d66616dfdbbe2ece3fd94"
COMPATIBLE_MACHINE_genericx86 = "genericx86"
COMPATIBLE_MACHINE_genericx86-64 = "genericx86-64"
COMPATIBLE_MACHINE_edgerouter = "edgerouter"
COMPATIBLE_MACHINE_beaglebone-yocto = "beaglebone-yocto"
LINUX_VERSION_genericx86 = "5.2.17"
LINUX_VERSION_genericx86-64 = "5.2.17"
LINUX_VERSION_edgerouter = "5.2.17"
LINUX_VERSION_beaglebone-yocto = "5.2.17"

View File

@@ -393,7 +393,7 @@ python () {
# These take the form:
#
# PACKAGECONFIG ??= "<default options>"
# PACKAGECONFIG[foo] = "--enable-foo,--disable-foo,foo_depends,foo_runtime_depends,foo_runtime_recommends"
# PACKAGECONFIG[foo] = "--enable-foo,--disable-foo,foo_depends,foo_runtime_depends,foo_runtime_recommends,foo_conflict_packageconfig"
pkgconfigflags = d.getVarFlags("PACKAGECONFIG") or {}
if pkgconfigflags:
pkgconfig = (d.getVar('PACKAGECONFIG') or "").split()
@@ -440,8 +440,8 @@ python () {
for flag, flagval in sorted(pkgconfigflags.items()):
items = flagval.split(",")
num = len(items)
if num > 5:
bb.error("%s: PACKAGECONFIG[%s] Only enable,disable,depend,rdepend,rrecommend can be specified!"
if num > 6:
bb.error("%s: PACKAGECONFIG[%s] Only enable,disable,depend,rdepend,rrecommend,conflict_packageconfig can be specified!"
% (d.getVar('PN'), flag))
if flag in pkgconfig:
@@ -455,6 +455,20 @@ python () {
extraconf.append(items[0])
elif num >= 2 and items[1]:
extraconf.append(items[1])
if num >= 6 and items[5]:
conflicts = set(items[5].split())
invalid = conflicts.difference(set(pkgconfigflags.keys()))
if invalid:
bb.error("%s: PACKAGECONFIG[%s] Invalid conflict package config%s '%s' specified."
% (d.getVar('PN'), flag, 's' if len(invalid) > 1 else '', ' '.join(invalid)))
if flag in pkgconfig:
intersec = conflicts.intersection(set(pkgconfig))
if intersec:
bb.fatal("%s: PACKAGECONFIG[%s] Conflict package config%s '%s' set in PACKAGECONFIG."
% (d.getVar('PN'), flag, 's' if len(intersec) > 1 else '', ' '.join(intersec)))
appendVar('DEPENDS', extradeps)
appendVar('RDEPENDS_${PN}', extrardeps)
appendVar('RRECOMMENDS_${PN}', extrarrecs)

View File

@@ -56,10 +56,10 @@ python do_cve_check () {
patched_cves = get_patches_cves(d)
except FileNotFoundError:
bb.fatal("Failure in searching patches")
patched, unpatched = check_cves(d, patched_cves)
whitelisted, patched, unpatched = check_cves(d, patched_cves)
if patched or unpatched:
cve_data = get_cve_info(d, patched + unpatched)
cve_write_data(d, patched, unpatched, cve_data)
cve_write_data(d, patched, unpatched, whitelisted, cve_data)
else:
bb.note("No CVE database found, skipping CVE check")
@@ -179,13 +179,13 @@ def check_cves(d, patched_cves):
products = d.getVar("CVE_PRODUCT").split()
# If this has been unset then we're not scanning for CVEs here (for example, image recipes)
if not products:
return ([], [])
return ([], [], [])
pv = d.getVar("CVE_VERSION").split("+git")[0]
# If the recipe has been whitlisted we return empty lists
if d.getVar("PN") in d.getVar("CVE_CHECK_PN_WHITELIST").split():
bb.note("Recipe has been whitelisted, skipping check")
return ([], [])
return ([], [], [])
old_cve_whitelist = d.getVar("CVE_CHECK_CVE_WHITELIST")
if old_cve_whitelist:
@@ -263,7 +263,7 @@ def check_cves(d, patched_cves):
conn.close()
return (list(patched_cves), cves_unpatched)
return (list(cve_whitelist), list(patched_cves), cves_unpatched)
def get_cve_info(d, cves):
"""
@@ -287,7 +287,7 @@ def get_cve_info(d, cves):
conn.close()
return cve_data
def cve_write_data(d, patched, unpatched, cve_data):
def cve_write_data(d, patched, unpatched, whitelisted, cve_data):
"""
Write CVE information in WORKDIR; and to CVE_CHECK_DIR, and
CVE manifest if enabled.
@@ -303,7 +303,9 @@ def cve_write_data(d, patched, unpatched, cve_data):
write_string += "PACKAGE NAME: %s\n" % d.getVar("PN")
write_string += "PACKAGE VERSION: %s\n" % d.getVar("PV")
write_string += "CVE: %s\n" % cve
if cve in patched:
if cve in whitelisted:
write_string += "CVE STATUS: Whitelisted\n"
elif cve in patched:
write_string += "CVE STATUS: Patched\n"
else:
unpatched_cves.append(cve)

View File

@@ -88,6 +88,12 @@ python build_efi_cfg() {
for label in labels.split():
localdata = d.createCopy()
overrides = localdata.getVar('OVERRIDES')
if not overrides:
bb.fatal('OVERRIDES not defined')
localdata.setVar('OVERRIDES', 'grub_' + label + ':' + overrides)
for btype in btypes:
cfgfile.write('\nmenuentry \'%s%s\'{\n' % (label, btype[0]))
lb = label

View File

@@ -17,6 +17,16 @@ prelink_image () {
pre_prelink_size=`du -ks ${IMAGE_ROOTFS} | awk '{size = $1 ; print size }'`
echo "Size before prelinking $pre_prelink_size."
# The filesystem may not contain sysconfdir so establish what is present
# to enable cleanup after temporary creation of sysconfdir if needed
presentdir="${IMAGE_ROOTFS}${sysconfdir}"
while [ "${IMAGE_ROOTFS}" != "${presentdir}" ] ; do
[ ! -d "${presentdir}" ] || break
presentdir=`dirname "${presentdir}"`
done
mkdir -p "${IMAGE_ROOTFS}${sysconfdir}"
# We need a prelink conf on the filesystem, add one if it's missing
if [ ! -e ${IMAGE_ROOTFS}${sysconfdir}/prelink.conf ]; then
cp ${STAGING_ETCDIR_NATIVE}/prelink.conf \
@@ -59,6 +69,13 @@ prelink_image () {
rm $ldsoconf
fi
# Remove any directories temporarily created for sysconfdir
cleanupdir="${IMAGE_ROOTFS}${sysconfdir}"
while [ "${presentdir}" != "${cleanupdir}" ] ; do
rmdir "${cleanupdir}"
cleanupdir=`dirname ${cleanupdir}`
done
pre_prelink_size=`du -ks ${IMAGE_ROOTFS} | awk '{size = $1 ; print size }'`
echo "Size after prelinking $pre_prelink_size."
}

View File

@@ -1,5 +1,5 @@
# remove tasks that modify the source tree in case externalsrc is inherited
SRCTREECOVEREDTASKS += "do_kernel_configme do_validate_branches do_kernel_configcheck do_kernel_checkout do_fetch do_unpack do_patch"
SRCTREECOVEREDTASKS += "do_validate_branches do_kernel_configcheck do_kernel_checkout do_fetch do_unpack do_patch"
PATCH_GIT_USER_EMAIL ?= "kernel-yocto@oe"
PATCH_GIT_USER_NAME ?= "OpenEmbedded"
@@ -317,7 +317,7 @@ do_kernel_checkout() {
}
do_kernel_checkout[dirs] = "${S}"
addtask kernel_checkout before do_kernel_metadata after do_unpack
addtask kernel_checkout before do_kernel_metadata after do_symlink_kernsrc
addtask kernel_metadata after do_validate_branches do_unpack before do_patch
do_kernel_metadata[depends] = "kern-tools-native:do_populate_sysroot"
do_validate_branches[depends] = "kern-tools-native:do_populate_sysroot"
@@ -325,6 +325,7 @@ do_validate_branches[depends] = "kern-tools-native:do_populate_sysroot"
do_kernel_configme[depends] += "virtual/${TARGET_PREFIX}binutils:do_populate_sysroot"
do_kernel_configme[depends] += "virtual/${TARGET_PREFIX}gcc:do_populate_sysroot"
do_kernel_configme[depends] += "bc-native:do_populate_sysroot bison-native:do_populate_sysroot"
do_kernel_configme[depends] += "kern-tools-native:do_populate_sysroot"
do_kernel_configme[dirs] += "${S} ${B}"
do_kernel_configme() {
# translate the kconfig_mode into something that merge_config.sh

View File

@@ -294,14 +294,10 @@ kernel_do_compile() {
# kernel sources do not use do_unpack, so SOURCE_DATE_EPOCH may not
# be set....
if [ "${SOURCE_DATE_EPOCH}" = "" -o "${SOURCE_DATE_EPOCH}" = "0" ]; then
olddir=`pwd`
cd ${S}
SOURCE_DATE_EPOCH=`git log -1 --pretty=%ct`
# git repo not guaranteed, so fall back to REPRODUCIBLE_TIMESTAMP_ROOTFS
if [ $? -ne 0 ]; then
SOURCE_DATE_EPOCH=${REPRODUCIBLE_TIMESTAMP_ROOTFS}
fi
cd $olddir
# The source directory is not necessarily a git repository, so we
# specify the git-dir to ensure that git does not query a
# repository in any parent directory.
SOURCE_DATE_EPOCH=`git --git-dir="${S}/.git" log -1 --pretty=%ct 2>/dev/null || echo "${REPRODUCIBLE_TIMESTAMP_ROOTFS}"`
fi
ts=`LC_ALL=C date -d @$SOURCE_DATE_EPOCH`
@@ -570,9 +566,9 @@ RDEPENDS_${KERNEL_PACKAGE_NAME} = "${KERNEL_PACKAGE_NAME}-base"
# Allow machines to override this dependency if kernel image files are
# not wanted in images as standard
RDEPENDS_${KERNEL_PACKAGE_NAME}-base ?= "${KERNEL_PACKAGE_NAME}-image"
PKG_${KERNEL_PACKAGE_NAME}-image = "${KERNEL_PACKAGE_NAME}-image-${@legitimize_package_name('${KERNEL_VERSION}')}"
PKG_${KERNEL_PACKAGE_NAME}-image = "${KERNEL_PACKAGE_NAME}-image-${@legitimize_package_name(d.getVar('KERNEL_VERSION'))}"
RDEPENDS_${KERNEL_PACKAGE_NAME}-image += "${@oe.utils.conditional('KERNEL_IMAGETYPE', 'vmlinux', '${KERNEL_PACKAGE_NAME}-vmlinux', '', d)}"
PKG_${KERNEL_PACKAGE_NAME}-base = "${KERNEL_PACKAGE_NAME}-${@legitimize_package_name('${KERNEL_VERSION}')}"
PKG_${KERNEL_PACKAGE_NAME}-base = "${KERNEL_PACKAGE_NAME}-${@legitimize_package_name(d.getVar('KERNEL_VERSION'))}"
RPROVIDES_${KERNEL_PACKAGE_NAME}-base += "${KERNEL_PACKAGE_NAME}-${KERNEL_VERSION}"
ALLOW_EMPTY_${KERNEL_PACKAGE_NAME} = "1"
ALLOW_EMPTY_${KERNEL_PACKAGE_NAME}-base = "1"

View File

@@ -1,7 +1,7 @@
S = "${STAGING_KERNEL_DIR}"
deltask do_fetch
deltask do_unpack
do_patch[depends] += "virtual/kernel:do_patch"
do_patch[depends] += "virtual/kernel:do_shared_workdir"
do_patch[noexec] = "1"
do_package[depends] += "virtual/kernel:do_populate_sysroot"
KERNEL_VERSION = "${@get_kernelversion_file("${STAGING_KERNEL_BUILDDIR}")}"

View File

@@ -8,7 +8,7 @@ PACKAGE_WRITE_DEPS += "desktop-file-utils-native"
DESKTOPDIR = "${datadir}/applications"
# There are recipes out there installing their .desktop files as absolute
# symlinks. For us these are dangling and cannot be introspected for "MymeType"
# symlinks. For us these are dangling and cannot be introspected for "MimeType"
# easily. By addding package-names to MIME_XDG_PACKAGES, packager can force
# proper update-desktop-database handling. Note that all introspection is
# skipped for MIME_XDG_PACKAGES not empty

View File

@@ -388,9 +388,13 @@ python copy_buildsystem () {
bb.utils.mkdirhier(os.path.join(baseoutpath, 'cache'))
shutil.copyfile(builddir + '/cache/bb_unihashes.dat', baseoutpath + '/cache/bb_unihashes.dat')
# Write a templateconf.cfg
with open(baseoutpath + '/conf/templateconf.cfg', 'w') as f:
f.write('meta/conf\n')
# Use templateconf.cfg file from builddir if exists
if os.path.exists(builddir + '/conf/templateconf.cfg'):
shutil.copyfile(builddir + '/conf/templateconf.cfg', baseoutpath + '/conf/templateconf.cfg')
else:
# Write a templateconf.cfg
with open(baseoutpath + '/conf/templateconf.cfg', 'w') as f:
f.write('meta/conf\n')
# Ensure any variables set from the external environment (by way of
# BB_ENV_EXTRAWHITE) are set in the SDK's configuration

View File

@@ -150,11 +150,12 @@ def fixed_source_date_epoch():
bb.debug(1, "No tarball or git repo found to determine SOURCE_DATE_EPOCH")
return 0
python do_create_source_date_epoch_stamp() {
python create_source_date_epoch_stamp() {
epochfile = d.getVar('SDE_FILE')
# If it exists we need to regenerate as the sources may have changed
if os.path.isfile(epochfile):
bb.debug(1, "Reusing SOURCE_DATE_EPOCH from: %s" % epochfile)
return
bb.debug(1, "Deleting existing SOURCE_DATE_EPOCH from: %s" % epochfile)
os.remove(epochfile)
sourcedir = d.getVar('S')
source_date_epoch = (
@@ -197,5 +198,5 @@ BB_HASHBASE_WHITELIST += "SOURCE_DATE_EPOCH"
python () {
if d.getVar('BUILD_REPRODUCIBLE_BINARIES') == '1':
d.appendVarFlag("do_unpack", "postfuncs", " do_create_source_date_epoch_stamp")
d.appendVarFlag("do_unpack", "postfuncs", " create_source_date_epoch_stamp")
}

View File

@@ -966,10 +966,6 @@ def sstate_checkhashes(sq_data, d, siginfo=False, currentcount=0, summary=True,
if len(tasklist) >= min_tasks:
bb.event.fire(bb.event.ProcessFinished(msg), d)
# Likely checking an individual task hash again for multiconfig sharing of sstate tasks so skip reporting
if len(sq_data['hash']) == 1:
return found
inheritlist = d.getVar("INHERIT")
if "toaster" in inheritlist:
evdata = {'missed': [], 'found': []};

View File

@@ -795,7 +795,10 @@ BB_NUMBER_THREADS ?= "${@oe.utils.cpu_count()}"
PARALLEL_MAKE ?= "-j ${@oe.utils.cpu_count()}"
# Default parallelism and resource usage for xz
XZ_DEFAULTS ?= "--memlimit=50% --threads=${@oe.utils.cpu_count()}"
XZ_MEMLIMIT ?= "50%"
XZ_THREADS ?= "${@oe.utils.cpu_count(at_least=2)}"
XZ_DEFAULTS ?= "--memlimit=${XZ_MEMLIMIT} --threads=${XZ_THREADS}"
XZ_DEFAULTS[vardepsexclude] += "XZ_MEMLIMIT XZ_THREADS"
##################################################################
# Magic Cookie for SANITY CHECK

View File

@@ -15,6 +15,7 @@ DISTRO_PN_ALIAS_pn-alsa-utils-scripts = "OE-Core"
DISTRO_PN_ALIAS_pn-atk = "Fedora=atk OpenSuSE=atk"
DISTRO_PN_ALIAS_pn-avahi-ui = "Ubuntu=avahi-discover Debian=avahi-discover"
DISTRO_PN_ALIAS_pn-babeltrace = "OSPDT"
DISTRO_PN_ALIAS_pn-babeltrace2 = "OSPDT"
DISTRO_PN_ALIAS_pn-bjam = "OpenSuSE=boost-jam Debian=bjam"
DISTRO_PN_ALIAS_pn-blktool = "Debian=blktool Mandriva=blktool"
DISTRO_PN_ALIAS_pn-bluez5 = "Fedora=bluez Opensuse=bluez"

View File

@@ -59,6 +59,7 @@ RECIPE_MAINTAINER_pn-automake = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-avahi = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-avahi-ui = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER_pn-babeltrace = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-babeltrace2 = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-base-files = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-base-passwd = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-bash = "Hongxu Jia <hongxu.jia@windriver.com>"
@@ -193,7 +194,7 @@ RECIPE_MAINTAINER_pn-gcc-cross-canadian-${TRANSLATED_TARGET_ARCH} = "Khem Raj <r
RECIPE_MAINTAINER_pn-gcc-crosssdk-${SDK_SYS} = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-gcc-runtime = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-gcc-sanitizers = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-gcc-source-9.2.0 = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-gcc-source-9.3.0 = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-gconf = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-gcr = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-gdb = "Khem Raj <raj.khem@gmail.com>"
@@ -525,8 +526,6 @@ RECIPE_MAINTAINER_pn-nfs-export-root = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-nfs-utils = "Robert Yang <liezhi.yang@windriver.com>"
RECIPE_MAINTAINER_pn-ninja = "Khem Raj <raj.khem@gmail.com>"
RECIPE_MAINTAINER_pn-npth = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER_pn-nspr = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-nss = "Armin Kuster <akuster808@gmail.com>"
RECIPE_MAINTAINER_pn-nss-myhostname = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER_pn-ofono = "Ross Burton <ross.burton@intel.com>"
RECIPE_MAINTAINER_pn-opensbi = "Alistair Francis <alistair.francis@wdc.com>"

View File

@@ -64,7 +64,9 @@ PTESTS_FAST = "\
PTESTS_SLOW = "\
babeltrace-ptest \
babeltrace2-ptest \
busybox-ptest \
coreutils-ptest \
dbus-test-ptest \
e2fsprogs-ptest \
glib-2.0-ptest \

View File

@@ -20,7 +20,7 @@ GCCVERSION ?= "9.%"
SDKGCCVERSION ?= "${GCCVERSION}"
BINUVERSION ?= "2.34%"
GDBVERSION ?= "9.%"
GLIBCVERSION ?= "2.31"
GLIBCVERSION ?= "2.31%"
LINUXLIBCVERSION ?= "5.4%"
QEMUVERSION ?= "4.2%"
GOVERSION ?= "1.14%"

View File

@@ -6,9 +6,9 @@
# to the distro running on the build machine.
#
UNINATIVE_MAXGLIBCVERSION = "2.30"
UNINATIVE_MAXGLIBCVERSION = "2.31"
UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/2.7/"
UNINATIVE_CHECKSUM[aarch64] ?= "e76a45886ee8a0b3904b761c17ac8ff91edf9811ee455f1832d10763ba794dfc"
UNINATIVE_CHECKSUM[i686] ?= "810d027dfb1c7675226afbcec07808770516c969ee7378f6d8240281083f8924"
UNINATIVE_CHECKSUM[x86_64] ?= "9498d8bba047499999a7310ac2576d0796461184965351a56f6d32c888a1f216"
UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/2.8/"
UNINATIVE_CHECKSUM[aarch64] ?= "989187344bf9539b464fb7ed9c223e51f4bdb4c7a677d2c314e6fed393176efe"
UNINATIVE_CHECKSUM[i686] ?= "cc3e45bc8594488b407363e3fa9af5a099279dab2703c64342098719bd674990"
UNINATIVE_CHECKSUM[x86_64] ?= "a09922172c3a439105e0ae6b943daad2d83505b17da0aba97961ff433b8c21ab"

View File

@@ -7,12 +7,12 @@ BBFILE_COLLECTIONS += "core"
BBFILE_PATTERN_core = "^${LAYERDIR}/"
BBFILE_PRIORITY_core = "5"
LAYERSERIES_CORENAMES = "zeus"
LAYERSERIES_CORENAMES = "dunfell zeus"
# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
LAYERVERSION_core = "11"
LAYERSERIES_COMPAT_core = "warrior zeus"
LAYERSERIES_COMPAT_core = "zeus dunfell"
BBLAYERS_LAYERINDEX_NAME_core = "openembedded-core"

View File

@@ -13,7 +13,7 @@ SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;hvc0"
QB_SYSTEM_NAME = "qemu-system-aarch64"
QB_MACHINE = "-machine virt"
QB_CPU = "-cpu cortex-a57"
QB_CPU_KVM = "-cpu host"
QB_CPU_KVM = "-cpu host -machine gic-version=3"
# Standard Serial console
QB_KERNEL_CMDLINE_APPEND = "console=ttyAMA0"
# For graphics to work we need to define the VGA device as well as the necessary USB devices

View File

@@ -1,13 +1,8 @@
#!/bin/sh
[ -z "$ENVCLEANED" ] && exec /usr/bin/env -i ENVCLEANED=1 HOME="$HOME" \
LC_ALL=en_US.UTF-8 \
TERM=$TERM \
ICECC_PATH="$ICECC_PATH" \
http_proxy="$http_proxy" https_proxy="$https_proxy" ftp_proxy="$ftp_proxy" \
no_proxy="$no_proxy" all_proxy="$all_proxy" GIT_PROXY_COMMAND="$GIT_PROXY_COMMAND" "$0" "$@"
[ -f /etc/environment ] && . /etc/environment
export PATH=`echo "$PATH" | sed -e 's/:\.//' -e 's/::/:/'`
export LC_ALL=en_US.UTF-8
# Remove invalid PATH elements first (maybe from a previously setup toolchain now deleted
PATH=`python3 -c 'import os; print(":".join(e for e in os.environ["PATH"].split(":") if os.path.exists(e)))'`
tweakpath () {
case ":${PATH}:" in

View File

@@ -248,9 +248,10 @@ def trim_version(version, num_parts=2):
trimmed = ".".join(parts[:num_parts])
return trimmed
def cpu_count():
def cpu_count(at_least=1):
import multiprocessing
return multiprocessing.cpu_count()
cpus = multiprocessing.cpu_count()
return max(cpus, at_least)
def execute_pre_post_process(d, cmds):
if cmds is None:

View File

@@ -116,6 +116,9 @@ class OETestContextExecutor(object):
default=self.default_output_log,
help="results output log, default: %s" % self.default_output_log)
self.parser.add_argument('--json-result-dir', action='store',
help="json result output dir, create testresults.json here if set")
group = self.parser.add_mutually_exclusive_group()
group.add_argument('--run-tests', action='store', nargs='+',
default=self.default_tests,
@@ -178,6 +181,22 @@ class OETestContextExecutor(object):
self.module_paths = args.CASES_PATHS
def _get_json_result_dir(self, args):
return args.json_result_dir
def _get_configuration(self):
td = self.tc_kwargs['init']['td']
configuration = {'TEST_TYPE': self.name,
'MACHINE': td.get("MACHINE"),
'DISTRO': td.get("DISTRO"),
'IMAGE_BASENAME': td.get("IMAGE_BASENAME"),
'DATETIME': td.get("DATETIME")}
return configuration
def _get_result_id(self, configuration):
return '%s_%s_%s_%s' % (configuration['TEST_TYPE'], configuration['IMAGE_BASENAME'],
configuration['MACHINE'], configuration['DATETIME'])
def _pre_run(self):
pass
@@ -196,7 +215,16 @@ class OETestContextExecutor(object):
else:
self._pre_run()
rc = self.tc.runTests(**self.tc_kwargs['run'])
rc.logDetails()
json_result_dir = self._get_json_result_dir(args)
if json_result_dir:
configuration = self._get_configuration()
rc.logDetails(json_result_dir,
configuration,
self._get_result_id(configuration))
else:
rc.logDetails()
rc.logSummary(self.name)
output_link = os.path.join(os.path.dirname(args.output_log),

View File

@@ -319,10 +319,17 @@ class OETestResultJSONHelper(object):
the_file.write(file_content)
def dump_testresult_file(self, write_dir, configuration, result_id, test_result):
bb.utils.mkdirhier(write_dir)
lf = bb.utils.lockfile(os.path.join(write_dir, 'jsontestresult.lock'))
try:
import bb
has_bb = True
bb.utils.mkdirhier(write_dir)
lf = bb.utils.lockfile(os.path.join(write_dir, 'jsontestresult.lock'))
except ImportError:
has_bb = False
os.makedirs(write_dir, exist_ok=True)
test_results = self._get_existing_testresults_if_available(write_dir)
test_results[result_id] = {'configuration': configuration, 'result': test_result}
json_testresults = json.dumps(test_results, sort_keys=True, indent=4)
self._write_file(write_dir, self.testresult_filename, json_testresults)
bb.utils.unlockfile(lf)
if has_bb:
bb.utils.unlockfile(lf)

View File

@@ -59,7 +59,7 @@ class LtpTest(LtpTestBase):
ltp_groups = ["math", "syscalls", "dio", "io", "mm", "ipc", "sched", "nptl", "pty", "containers", "controllers", "filecaps", "cap_bounds", "fcntl-locktests", "connectors", "commands", "net.ipv6_lib", "input","fs_perms_simple"]
ltp_fs = ["fs", "fsx", "fs_bind", "fs_ext4"]
ltp_fs = ["fs", "fsx", "fs_bind"]
# skip kernel cpuhotplug
ltp_kernel = ["power_management_tests", "hyperthreading ", "kernel_misc", "hugetlb"]
ltp_groups += ltp_fs

View File

@@ -56,7 +56,8 @@ common_errors = [
"error retry time-out =",
"logind: cannot setup systemd-logind helper (-61), using legacy fallback",
"Error changing net interface name 'eth0' to ",
"Cannot find a map file"
"Cannot find a map file",
"[rdrand]: Initialization Failed"
]
video_related = [
@@ -130,6 +131,7 @@ ignore_errors = {
'(EE) Server terminated with error (1). Closing log file.',
'dmi: Firmware registration failed.',
'irq: type mismatch, failed to map hwirq-27 for /intc',
'logind: failed to get session seat',
] + common_errors,
'intel-core2-32' : [
'ACPI: No _BQC method, cannot determine initial brightness',

View File

@@ -2,6 +2,7 @@
# SPDX-License-Identifier: MIT
#
import os
import unittest
import pprint
import datetime

View File

@@ -77,7 +77,7 @@ class OERuntimeTestContextExecutor(OETestContextExecutor):
runtime_group.add_argument('--packages-manifest', action='store',
default=self.default_manifest,
help="Package manifest of the image under testi, default: %s" \
help="Package manifest of the image under test, default: %s" \
% self.default_manifest)
runtime_group.add_argument('--extract-dir', action='store',
@@ -184,7 +184,7 @@ class OERuntimeTestContextExecutor(OETestContextExecutor):
except:
obj = None
return obj
@staticmethod
def readPackagesManifest(manifest):
if not manifest or not os.path.exists(manifest):

View File

@@ -25,11 +25,8 @@ class TestSDKExt(TestSDKBase):
subprocesstweak.errors_have_output()
# extensible sdk can be contaminated if native programs are
# in PATH, i.e. use perl-native instead of eSDK one.
paths_to_avoid = [d.getVar('STAGING_DIR'),
d.getVar('BASE_WORKDIR')]
os.environ['PATH'] = avoid_paths_in_environ(paths_to_avoid)
# We need the original PATH for testing the eSDK, not with our manipulations
os.environ['PATH'] = d.getVar("BB_ORIGENV", False).getVar("PATH")
tcname = d.expand("${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.sh")
if not os.path.exists(tcname):

View File

@@ -46,7 +46,7 @@ class OESelftestTestContext(OETestContext):
oe.path.copytree(selftestdir, newselftestdir)
for e in os.environ:
if builddir in os.environ[e]:
if builddir + "/" in os.environ[e] or os.environ[e].endswith(builddir):
os.environ[e] = os.environ[e].replace(builddir, newbuilddir)
subprocess.check_output("git init; git add *; git commit -a -m 'initial'", cwd=newselftestdir, shell=True)

View File

@@ -52,6 +52,8 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', 'file://0001-Allow-using-obexd-without-systemd-in-the-user-sessio.patch', d)} \
file://0001-tests-add-a-target-for-building-tests-without-runnin.patch \
file://0001-test-gatt-Fix-hung-issue.patch \
file://CVE-2020-0556-1.patch \
file://CVE-2020-0556-2.patch \
"
S = "${WORKDIR}/bluez-${PV}"

View File

@@ -0,0 +1,35 @@
From 8cdbd3b09f29da29374e2f83369df24228da0ad1 Mon Sep 17 00:00:00 2001
From: Alain Michaud <alainm@chromium.org>
Date: Tue, 10 Mar 2020 02:35:16 +0000
Subject: [PATCH 1/2] HOGP must only accept data from bonded devices.
HOGP 1.0 Section 6.1 establishes that the HOGP must require bonding.
Reference:
https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00352.htm
Upstream-Status: Backport [https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=8cdbd3b09f29da29374e2f83369df24228da0ad1]
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
CVE: CVE-2020-0556
---
profiles/input/hog.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/profiles/input/hog.c b/profiles/input/hog.c
index 83c017dcb..dfac68921 100644
--- a/profiles/input/hog.c
+++ b/profiles/input/hog.c
@@ -186,6 +186,10 @@ static int hog_accept(struct btd_service *service)
return -EINVAL;
}
+ /* HOGP 1.0 Section 6.1 requires bonding */
+ if (!device_is_bonded(device, btd_device_get_bdaddr_type(device)))
+ return -ECONNREFUSED;
+
/* TODO: Replace GAttrib with bt_gatt_client */
bt_hog_attach(dev->hog, attrib);
--
2.24.1

View File

@@ -0,0 +1,143 @@
From 3cccdbab2324086588df4ccf5f892fb3ce1f1787 Mon Sep 17 00:00:00 2001
From: Alain Michaud <alainm@chromium.org>
Date: Tue, 10 Mar 2020 02:35:18 +0000
Subject: [PATCH 2/2] HID accepts bonded device connections only.
This change adds a configuration for platforms to choose a more secure
posture for the HID profile. While some older mice are known to not
support pairing or encryption, some platform may choose a more secure
posture by requiring the device to be bonded and require the
connection to be encrypted when bonding is required.
Reference:
https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00352.html
Upstream-Status: Backport [https://git.kernel.org/pub/scm/bluetooth/bluez.git/commit/?id=3cccdbab2324086588df4ccf5f892fb3ce1f1787]
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
CVE: CVE-2020-0556
---
profiles/input/device.c | 23 ++++++++++++++++++++++-
profiles/input/device.h | 1 +
profiles/input/input.conf | 8 ++++++++
profiles/input/manager.c | 13 ++++++++++++-
4 files changed, 43 insertions(+), 2 deletions(-)
diff --git a/profiles/input/device.c b/profiles/input/device.c
index 2cb3811c8..d89da2d7c 100644
--- a/profiles/input/device.c
+++ b/profiles/input/device.c
@@ -92,6 +92,7 @@ struct input_device {
static int idle_timeout = 0;
static bool uhid_enabled = false;
+static bool classic_bonded_only = false;
void input_set_idle_timeout(int timeout)
{
@@ -103,6 +104,11 @@ void input_enable_userspace_hid(bool state)
uhid_enabled = state;
}
+void input_set_classic_bonded_only(bool state)
+{
+ classic_bonded_only = state;
+}
+
static void input_device_enter_reconnect_mode(struct input_device *idev);
static int connection_disconnect(struct input_device *idev, uint32_t flags);
@@ -970,8 +976,18 @@ static int hidp_add_connection(struct input_device *idev)
if (device_name_known(idev->device))
device_get_name(idev->device, req->name, sizeof(req->name));
+ /* Make sure the device is bonded if required */
+ if (classic_bonded_only && !device_is_bonded(idev->device,
+ btd_device_get_bdaddr_type(idev->device))) {
+ error("Rejected connection from !bonded device %s", dst_addr);
+ goto cleanup;
+ }
+
/* Encryption is mandatory for keyboards */
- if (req->subclass & 0x40) {
+ /* Some platforms may choose to require encryption for all devices */
+ /* Note that this only matters for pre 2.1 devices as otherwise the */
+ /* device is encrypted by default by the lower layers */
+ if (classic_bonded_only || req->subclass & 0x40) {
if (!bt_io_set(idev->intr_io, &gerr,
BT_IO_OPT_SEC_LEVEL, BT_IO_SEC_MEDIUM,
BT_IO_OPT_INVALID)) {
@@ -1203,6 +1219,11 @@ static void input_device_enter_reconnect_mode(struct input_device *idev)
DBG("path=%s reconnect_mode=%s", idev->path,
reconnect_mode_to_string(idev->reconnect_mode));
+ /* Make sure the device is bonded if required */
+ if (classic_bonded_only && !device_is_bonded(idev->device,
+ btd_device_get_bdaddr_type(idev->device)))
+ return;
+
/* Only attempt an auto-reconnect when the device is required to
* accept reconnections from the host.
*/
diff --git a/profiles/input/device.h b/profiles/input/device.h
index 51a9aee18..3044db673 100644
--- a/profiles/input/device.h
+++ b/profiles/input/device.h
@@ -29,6 +29,7 @@ struct input_conn;
void input_set_idle_timeout(int timeout);
void input_enable_userspace_hid(bool state);
+void input_set_classic_bonded_only(bool state);
int input_device_register(struct btd_service *service);
void input_device_unregister(struct btd_service *service);
diff --git a/profiles/input/input.conf b/profiles/input/input.conf
index 3e1d65aae..166aff4a4 100644
--- a/profiles/input/input.conf
+++ b/profiles/input/input.conf
@@ -11,3 +11,11 @@
# Enable HID protocol handling in userspace input profile
# Defaults to false (HIDP handled in HIDP kernel module)
#UserspaceHID=true
+
+# Limit HID connections to bonded devices
+# The HID Profile does not specify that devices must be bonded, however some
+# platforms may want to make sure that input connections only come from bonded
+# device connections. Several older mice have been known for not supporting
+# pairing/encryption.
+# Defaults to false to maximize device compatibility.
+#ClassicBondedOnly=true
diff --git a/profiles/input/manager.c b/profiles/input/manager.c
index 1d31b0652..5cd27b839 100644
--- a/profiles/input/manager.c
+++ b/profiles/input/manager.c
@@ -96,7 +96,7 @@ static int input_init(void)
config = load_config_file(CONFIGDIR "/input.conf");
if (config) {
int idle_timeout;
- gboolean uhid_enabled;
+ gboolean uhid_enabled, classic_bonded_only;
idle_timeout = g_key_file_get_integer(config, "General",
"IdleTimeout", &err);
@@ -114,6 +114,17 @@ static int input_init(void)
input_enable_userspace_hid(uhid_enabled);
} else
g_clear_error(&err);
+
+ classic_bonded_only = g_key_file_get_boolean(config, "General",
+ "ClassicBondedOnly", &err);
+
+ if (!err) {
+ DBG("input.conf: ClassicBondedOnly=%s",
+ classic_bonded_only ? "true" : "false");
+ input_set_classic_bonded_only(classic_bonded_only);
+ } else
+ g_clear_error(&err);
+
}
btd_profile_register(&input_profile);
--
2.24.1

View File

@@ -34,7 +34,7 @@ PACKAGECONFIG ?= ""
PACKAGECONFIG_class-native = ""
PACKAGECONFIG_class-nativesdk = ""
PACKAGECONFIG[cryptodev-linux] = "enable-devcryptoeng,disable-devcryptoeng,cryptodev-linux"
PACKAGECONFIG[cryptodev-linux] = "enable-devcryptoeng,disable-devcryptoeng,cryptodev-linux,,cryptodev-module"
B = "${WORKDIR}/build"
do_configure[cleandirs] = "${B}"
@@ -123,7 +123,7 @@ do_configure () {
fi
# WARNING: do not set compiler/linker flags (-I/-D etc.) in EXTRA_OECONF, as they will fully replace the
# environment variables set by bitbake. Adjust the environment variables instead.
PERL5LIB="${S}/external/perl/Text-Template-1.46/lib/" \
HASHBANGPERL="/usr/bin/env perl" PERL=perl PERL5LIB="${S}/external/perl/Text-Template-1.46/lib/" \
perl ${S}/Configure ${EXTRA_OECONF} ${PACKAGECONFIG_CONFARGS} --prefix=$useprefix --openssldir=${libdir}/ssl-1.1 --libdir=${libdir} $target
perl ${B}/configdata.pm --dump
}

View File

@@ -0,0 +1,17 @@
#!/bin/sh
# remove any stale lock files so that the calls to groupadd/useradd don't stop
# the ptest if re-using the same image
rm -rf /etc/passwd.lock /etc/group.lock /etc/gshadow.lock
COREUTILSLIB=@libdir@/coreutils
LOG="${COREUTILSLIB}/ptest/coreutils_ptest_$(date +%Y%m%d-%H%M%S).log"
USERNAME="tester"
groupadd ugroup1
groupadd ugroup2
useradd -G ugroup1,ugroup2 $USERNAME || echo "user $USERNAME already exists"
su tester -c "cd ${COREUTILSLIB}/ptest && make check-TESTS top_srcdir=. srcdir=." 2>&1 | tee -a ${LOG}
userdel $USERNAME
groupdel ugroup1
groupdel ugroup2

View File

@@ -18,6 +18,7 @@ SRC_URI = "${GNU_MIRROR}/coreutils/${BP}.tar.xz \
file://0001-uname-report-processor-and-hardware-correctly.patch \
file://disable-ls-output-quoting.patch \
file://0001-local.mk-fix-cross-compiling-problem.patch \
file://run-ptest \
"
SRC_URI_append_libc-musl = "file://strtod_fix_clash_with_strtold.patch"
@@ -143,3 +144,47 @@ python __anonymous() {
}
BBCLASSEXTEND = "native nativesdk"
inherit ptest
RDEPENDS_${PN}-ptest += "bash findutils gawk liberror-perl libmodule-build-perl make perl perl-module-file-stat python3-core sed shadow"
# -dev automatic dependencies fails as we don't want libmodule-build-perl-dev, its too heavy
# may need tweaking if DEPENDS changes
RRECOMMENDS_coreutils-dev[nodeprrecs] = "1"
RRECOMMENDS_coreutils-dev = "acl-dev attr-dev gmp-dev libcap-dev bash-dev findutils-dev gawk-dev shadow-dev"
do_install_ptest () {
install -d ${D}${PTEST_PATH}/tests
cp -r ${S}/tests/* ${D}${PTEST_PATH}/tests
sed -i 's/ginstall/install/g' `grep -R ginstall ${D}${PTEST_PATH}/tests | awk -F: '{print $1}' | uniq`
install -d ${D}${PTEST_PATH}/build-aux
install ${S}/build-aux/test-driver ${D}${PTEST_PATH}/build-aux/
cp ${B}/Makefile ${D}${PTEST_PATH}/
cp ${S}/init.cfg ${D}${PTEST_PATH}/
cp -r ${B}/src ${D}${PTEST_PATH}/
cp -r ${S}/src/*.c ${D}${PTEST_PATH}/src
sed -i '/^VPATH/s/= .*$/= ./g' ${D}${PTEST_PATH}/Makefile
sed -i '/^PROGRAMS/s/^/#/g' ${D}${PTEST_PATH}/Makefile
sed -i '/^Makefile: /s/^.*$/Makefile:/g' ${D}${PTEST_PATH}/Makefile
sed -i '/^abs_srcdir/s/= .*$/= \$\{PWD\}/g' ${D}${PTEST_PATH}/Makefile
sed -i '/^abs_top_builddir/s/= .*$/= \$\{PWD\}/g' ${D}${PTEST_PATH}/Makefile
sed -i '/^abs_top_srcdir/s/= .*$/= \$\{PWD\}/g' ${D}${PTEST_PATH}/Makefile
sed -i '/^built_programs/s/ginstall/install/g' ${D}${PTEST_PATH}/Makefile
chmod -R 777 ${D}${PTEST_PATH}
# Disable subcase stty-pairs.sh, it will cause test framework hang
sed -i '/stty-pairs.sh/d' ${D}${PTEST_PATH}/Makefile
# Disable subcase tail-2/assert.sh as it has issues on 32-bit systems
sed -i '/assert.sh/d' ${D}${PTEST_PATH}/Makefile
# Tweak test d_type-check to use python3 instead of python
sed -i "1s@.*@#!/usr/bin/python3@" ${D}${PTEST_PATH}/tests/d_type-check
install ${B}/src/getlimits ${D}/${bindir}
# handle multilib
sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest
}
FILES_${PN}-ptest += "${bindir}/getlimits"

View File

@@ -0,0 +1,29 @@
From 9b912a47f790a7b282ec0c2295a188c5d8fb6a7c Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Fri, 6 Mar 2020 21:04:05 +0000
Subject: [PATCH] init-env.in: do not add C/CXX parameters
These are taken from the cross environment and include
sysroot paths, so are not reproducible.
Upstream-Status: Inappropriate [oe-core specific]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
gettext-tools/tests/init-env.in | 4 ----
1 file changed, 4 deletions(-)
diff --git a/gettext-tools/tests/init-env.in b/gettext-tools/tests/init-env.in
index cc84ffd..b69c990 100644
--- a/gettext-tools/tests/init-env.in
+++ b/gettext-tools/tests/init-env.in
@@ -3,10 +3,6 @@ top_builddir=../..
OBJEXT="@OBJEXT@"
EXEEXT="@EXEEXT@"
-CC="@CC@"
-CFLAGS="@CFLAGS@"
-CXX="@CXX@"
-CXXFLAGS="@CXXFLAGS@"
CPPFLAGS="@CPPFLAGS@"
LDFLAGS="@LDFLAGS@"
LTLIBINTL="@LTLIBINTL@"

View File

@@ -25,6 +25,7 @@ SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \
file://serial-tests-config.patch \
file://0001-msgmerge-Fix-behaviour-of-for-msgfmt-on-PO-files-wit.patch \
file://0001-tests-autopoint-3-unset-MAKEFLAGS.patch \
file://0001-init-env.in-do-not-add-C-CXX-parameters.patch \
"
SRC_URI[md5sum] = "bb5b0c0caa028105f3ca1905ddc306e2"
SRC_URI[sha256sum] = "66415634c6e8c3fa8b71362879ec7575e27da43da562c798a8a2f223e6e47f5c"

View File

@@ -128,6 +128,9 @@ do_install_append_class-target () {
rm ${D}${datadir}/installed-tests/glib/gdbus-serialization.test
fi
fi
if test "x${MLPREFIX}" != "x"; then
mv ${D}${datadir}/installed-tests/glib/static-link.test ${D}${datadir}/installed-tests/glib/${MLPREFIX}static-link.test
fi
}
# As we do not build python3 for windows, makes no sense to ship the script that's using it

View File

@@ -1,6 +1,6 @@
SRCBRANCH ?= "release/2.31/master"
PV = "2.31"
SRCREV_glibc ?= "9ea3686266dca3f004ba874745a4087a89682617"
PV = "2.31+git${SRCPV}"
SRCREV_glibc ?= "71f2b249a28e17eac0e47c53af44d5c5b65101aa"
SRCREV_localedef ?= "cd9f958c4c94a638fa7b2b4e21627364f1a1a655"
GLIBC_GIT_URI ?= "git://sourceware.org/git/glibc.git"

View File

@@ -9,8 +9,11 @@ inherit autotools texinfo features_check systemd
LEAD_SONAME = "libc.so"
# msgfmt could come from gettext-native but we don't depend on that and
# disable for reproducibility
CACHED_CONFIGUREVARS += " \
ac_cv_path_BASH_SHELL=${base_bindir}/bash \
ac_cv_prog_MSGFMT= \
libc_cv_slibdir=${base_libdir} \
libc_cv_rootsbindir=${base_sbindir} \
libc_cv_localedir=${localedir} \

View File

@@ -17,11 +17,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
locale/localeinfo.h | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/locale/findlocale.c b/locale/findlocale.c
index 9cd3b71a6d..84272310e0 100644
--- a/locale/findlocale.c
+++ b/locale/findlocale.c
@@ -56,7 +56,7 @@ struct __locale_data *const _nl_C[] attribute_hidden =
Index: git/locale/findlocale.c
===================================================================
--- git.orig/locale/findlocale.c
+++ git/locale/findlocale.c
@@ -56,7 +56,7 @@ struct __locale_data *const _nl_C[] attr
which are somehow addressed. */
struct loaded_l10nfile *_nl_locale_file_list[__LC_LAST];
@@ -30,7 +30,7 @@ index 9cd3b71a6d..84272310e0 100644
/* Checks if the name is actually present, that is, not NULL and not
empty. */
@@ -166,7 +166,7 @@ _nl_find_locale (const char *locale_path, size_t locale_path_len,
@@ -166,7 +166,7 @@ _nl_find_locale (const char *locale_path
/* Nothing in the archive. Set the default path to search below. */
locale_path = _nl_default_locale_path;
@@ -39,10 +39,10 @@ index 9cd3b71a6d..84272310e0 100644
}
else
/* We really have to load some data. First see whether the name is
diff --git a/locale/loadarchive.c b/locale/loadarchive.c
index ba0fe45648..9737fd4cda 100644
--- a/locale/loadarchive.c
+++ b/locale/loadarchive.c
Index: git/locale/loadarchive.c
===================================================================
--- git.orig/locale/loadarchive.c
+++ git/locale/loadarchive.c
@@ -42,7 +42,7 @@
@@ -52,11 +52,11 @@ index ba0fe45648..9737fd4cda 100644
/* Size of initial mapping window, optimal if large enough to
cover the header plus the initial locale. */
diff --git a/locale/localeinfo.h b/locale/localeinfo.h
index 1bfe22aa7f..fdc283c69a 100644
--- a/locale/localeinfo.h
+++ b/locale/localeinfo.h
@@ -331,7 +331,7 @@ _nl_lookup_word (locale_t l, int category, int item)
Index: git/locale/localeinfo.h
===================================================================
--- git.orig/locale/localeinfo.h
+++ git/locale/localeinfo.h
@@ -331,7 +331,7 @@ _nl_lookup_word (locale_t l, int categor
}
/* Default search path if no LOCPATH environment variable. */
@@ -65,3 +65,35 @@ index 1bfe22aa7f..fdc283c69a 100644
/* Load the locale data for CATEGORY from the file specified by *NAME.
If *NAME is "", use environment variables as specified by POSIX, and
Index: git/locale/programs/locale.c
===================================================================
--- git.orig/locale/programs/locale.c
+++ git/locale/programs/locale.c
@@ -632,6 +632,7 @@ nameentcmp (const void *a, const void *b
((const struct nameent *) b)->name);
}
+static char _write_archive_locales_path[4096] attribute_hidden __attribute__ ((section (".gccrelocprefix"))) = ARCHIVE_NAME;
static int
write_archive_locales (void **all_datap, char *linebuf)
@@ -645,7 +646,7 @@ write_archive_locales (void **all_datap,
int fd, ret = 0;
uint32_t cnt;
- fd = open64 (ARCHIVE_NAME, O_RDONLY);
+ fd = open64 (_write_archive_locales_path, O_RDONLY);
if (fd < 0)
return 0;
@@ -700,8 +701,8 @@ write_archive_locales (void **all_datap,
if (cnt)
putchar_unlocked ('\n');
- printf ("locale: %-15.15s archive: " ARCHIVE_NAME "\n%s\n",
- names[cnt].name, linebuf);
+ printf ("locale: %-15.15s archive: %s\n%s\n",
+ names[cnt].name, _write_archive_locales_path, linebuf);
locrec = (struct locrecent *) (addr + names[cnt].locrec_offset);

View File

@@ -0,0 +1,128 @@
From ce265ec5bc25ec35fba53807abac1b0c8469895e Mon Sep 17 00:00:00 2001
From: Joseph Myers <joseph@codesourcery.com>
Date: Wed, 12 Feb 2020 23:31:56 +0000
Subject: [PATCH] Avoid ldbl-96 stack corruption from range reduction of
pseudo-zero (bug 25487).
Bug 25487 reports stack corruption in ldbl-96 sinl on a pseudo-zero
argument (an representation where all the significand bits, including
the explicit high bit, are zero, but the exponent is not zero, which
is not a valid representation for the long double type).
Although this is not a valid long double representation, existing
practice in this area (see bug 4586, originally marked invalid but
subsequently fixed) is that we still seek to avoid invalid memory
accesses as a result, in case of programs that treat arbitrary binary
data as long double representations, although the invalid
representations of the ldbl-96 format do not need to be consistently
handled the same as any particular valid representation.
This patch makes the range reduction detect pseudo-zero and unnormal
representations that would otherwise go to __kernel_rem_pio2, and
returns a NaN for them instead of continuing with the range reduction
process. (Pseudo-zero and unnormal representations whose unbiased
exponent is less than -1 have already been safely returned from the
function before this point without going through the rest of range
reduction.) Pseudo-zero representations would previously result in
the value passed to __kernel_rem_pio2 being all-zero, which is
definitely unsafe; unnormal representations would previously result in
a value passed whose high bit is zero, which might well be unsafe
since that is not a form of input expected by __kernel_rem_pio2.
Tested for x86_64.
CVE: CVE-2020-10029
Upstream-Status: Backport [https://sourceware.org/git/gitweb.cgi?p=glibc.git;
a=patch;h=9333498794cde1d5cca518badf79533a24114b6f]
Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
---
sysdeps/ieee754/ldbl-96/Makefile | 3 ++-
sysdeps/ieee754/ldbl-96/e_rem_pio2l.c | 12 +++++++++
sysdeps/ieee754/ldbl-96/test-sinl-pseudo.c | 41 ++++++++++++++++++++++++++++++
3 files changed, 55 insertions(+), 1 deletion(-)
create mode 100644 sysdeps/ieee754/ldbl-96/test-sinl-pseudo.c
diff --git a/sysdeps/ieee754/ldbl-96/Makefile b/sysdeps/ieee754/ldbl-96/Makefile
index b103254..052c1c7 100644
--- a/sysdeps/ieee754/ldbl-96/Makefile
+++ b/sysdeps/ieee754/ldbl-96/Makefile
@@ -17,5 +17,6 @@
# <https://www.gnu.org/licenses/>.
ifeq ($(subdir),math)
-tests += test-canonical-ldbl-96 test-totalorderl-ldbl-96
+tests += test-canonical-ldbl-96 test-totalorderl-ldbl-96 test-sinl-pseudo
+CFLAGS-test-sinl-pseudo.c += -fstack-protector-all
endif
diff --git a/sysdeps/ieee754/ldbl-96/e_rem_pio2l.c b/sysdeps/ieee754/ldbl-96/e_rem_pio2l.c
index 805de22..1aeccb4 100644
--- a/sysdeps/ieee754/ldbl-96/e_rem_pio2l.c
+++ b/sysdeps/ieee754/ldbl-96/e_rem_pio2l.c
@@ -210,6 +210,18 @@ __ieee754_rem_pio2l (long double x, long double *y)
return 0;
}
+ if ((i0 & 0x80000000) == 0)
+ {
+ /* Pseudo-zero and unnormal representations are not valid
+ representations of long double. We need to avoid stack
+ corruption in __kernel_rem_pio2, which expects input in a
+ particular normal form, but those representations do not need
+ to be consistently handled like any particular floating-point
+ value. */
+ y[1] = y[0] = __builtin_nanl ("");
+ return 0;
+ }
+
/* Split the 64 bits of the mantissa into three 24-bit integers
stored in a double array. */
exp = j0 - 23;
diff --git a/sysdeps/ieee754/ldbl-96/test-sinl-pseudo.c b/sysdeps/ieee754/ldbl-96/test-sinl-pseudo.c
new file mode 100644
index 0000000..f59b977
--- /dev/null
+++ b/sysdeps/ieee754/ldbl-96/test-sinl-pseudo.c
@@ -0,0 +1,41 @@
+/* Test sinl for pseudo-zeros and unnormals for ldbl-96 (bug 25487).
+ Copyright (C) 2020 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <https://www.gnu.org/licenses/>. */
+
+#include <math.h>
+#include <math_ldbl.h>
+#include <stdint.h>
+
+static int
+do_test (void)
+{
+ for (int i = 0; i < 64; i++)
+ {
+ uint64_t sig = i == 63 ? 0 : 1ULL << i;
+ long double ld;
+ SET_LDOUBLE_WORDS (ld, 0x4141,
+ sig >> 32, sig & 0xffffffffULL);
+ /* The requirement is that no stack overflow occurs when the
+ pseudo-zero or unnormal goes through range reduction. */
+ volatile long double ldr;
+ ldr = sinl (ld);
+ (void) ldr;
+ }
+ return 0;
+}
+
+#include <support/test-driver.c>

View File

@@ -40,6 +40,7 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
file://0027-intl-Emit-no-lines-in-bison-generated-files.patch \
file://0028-inject-file-assembly-directives.patch \
file://0029-locale-prevent-maybe-uninitialized-errors-with-Os-BZ.patch \
file://CVE-2020-10029.patch \
"
S = "${WORKDIR}/git"
B = "${WORKDIR}/build-${TARGET_SYS}"

View File

@@ -24,7 +24,7 @@ IMAGE_FSTYPES = "wic.vmdk"
inherit core-image module-base setuptools3
SRCREV ?= "39d45ef825694705daf6d7ab4ab3066b1b8e3aa2"
SRCREV ?= "1adc7478a0548e1ebd75d96d2b938c5852c78365"
SRC_URI = "git://git.yoctoproject.org/poky \
file://Yocto_Build_Appliance.vmx \
file://Yocto_Build_Appliance.vmxf \

View File

@@ -41,6 +41,9 @@ udev_run() {
mkdir -p /run
mkdir -p /var/run
# Workaround if console=null, systemd-udevd needs valid stdin, stdout and stderr to work
sh -c "exec 4< /dev/console" || { exec 0> /dev/null; exec 1> /dev/null; exec 2> /dev/null; }
$_UDEV_DAEMON --daemon
udevadm trigger --action=add
udevadm settle

View File

@@ -32,4 +32,4 @@ CFLAGS += "-fcommon"
API = "--disable-obsolete-api"
EXTRA_OECONF += "${API}"
BBCLASSEXTEND = "nativesdk"
BBCLASSEXTEND = "native nativesdk"

View File

@@ -25,6 +25,8 @@ TOOLCHAIN_HOST_TASK += "\
nativesdk-libstdc++-dev \
nativesdk-libtool \
nativesdk-pkgconfig \
nativesdk-glibc-utils \
nativesdk-libxcrypt-dev \
"
TOOLCHAIN_OUTPUTNAME = "${SDK_ARCH}-buildtools-extended-nativesdk-standalone-${DISTRO_VERSION}"

View File

@@ -66,27 +66,20 @@ do_install() {
rm -f ${D}${bindir}/ldd ${D}${GLIBC_LDSO}
lnr ${D}${libdir}/libc.so ${D}${bindir}/ldd
lnr ${D}${libdir}/libc.so ${D}${GLIBC_LDSO}
for l in crypt dl m pthread resolv rt util xnet
do
ln -sf libc.so ${D}${libdir}/lib$l.so
done
for i in libc.so.6 libcrypt.so.1 libdl.so.2 libm.so.6 libpthread.so.0 libresolv.so.2 librt.so.1 libutil.so.1; do
ln -sf libc.so ${D}${libdir}/$i
done
}
PACKAGES =+ "${PN}-glibc-compat"
FILES_${PN}-glibc-compat += "\
${libdir}/libc.so.6 ${libdir}/libcrypt.so.1 \
${libdir}/libdl.so.2 ${libdir}/libm.so.6 \
${libdir}/libpthread.so.0 ${libdir}/libresolv.so.2 \
${libdir}/librt.so.1 ${libdir}/libutil.so.1 \
${GLIBC_LDSO} \
"
FILES_${PN}-glibc-compat += "${GLIBC_LDSO}"
FILES_${PN}-staticdev = "${libdir}/libc.a"
FILES_${PN}-dev =+ "${libdir}/libcrypt.a ${libdir}/libdl.a ${libdir}/libm.a \
${libdir}/libpthread.a ${libdir}/libresolv.a \
${libdir}/librt.a ${libdir}/libutil.a ${libdir}/libxnet.a \
"
RDEPENDS_${PN}-dev += "linux-libc-headers-dev bsd-headers-dev libssp-nonshared-staticdev"
RPROVIDES_${PN}-dev += "libc-dev virtual-libc-dev"
RPROVIDES_${PN} += "ldd libsegfault rtld(GNU_HASH)"
LEAD_SONAME = "libc.so"
INSANE_SKIP_${PN}-dev = "staticdev"

View File

@@ -10,4 +10,5 @@ S = "${WORKDIR}/git"
EXTRA_OECONF += "--with-abi-version=5 --cache-file=${B}/config.cache"
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+(\+\d+)*)"
CVE_VERSION = "6.1.${@d.getVar("PV").split('+')[1]}"
# This is needed when using patchlevel versions like 6.1+20181013
#CVE_VERSION = "${@d.getVar("PV").split('+')[0]}.${@d.getVar("PV").split('+')[1]}"

View File

@@ -8,8 +8,8 @@ PE = "1"
SRC_URI = "${DEBIAN_MIRROR}/main/n/${BPN}/${BPN}_${PV}.tar.xz"
SRC_URI[md5sum] = "3417b0487161f1a2b070a3308cd7f957"
SRC_URI[sha256sum] = "692baeb7b76eba5580c7edbc97ce1784a06b5aa4b367c5ed0b39e0ce7a97d594"
SRC_URI[md5sum] = "e5871a3a5c8390557b8033cf19316a55"
SRC_URI[sha256sum] = "084d743bd84d4d9380bac4c71c51e57406dce44f5a69289bb823c903e9b035d8"
UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/n/netbase/"
do_install () {

View File

@@ -46,6 +46,7 @@ LTTNGMODULES = "lttng-modules"
LTTNGMODULES_arc = ""
BABELTRACE = "babeltrace"
BABELTRACE2 = "babeltrace2"
# valgrind does not work on the following configurations/architectures
@@ -69,6 +70,7 @@ RDEPENDS_${PN} = "\
${LTTNGTOOLS} \
${LTTNGMODULES} \
${BABELTRACE} \
${BABELTRACE2} \
${SYSTEMTAP} \
${VALGRIND} \
"

View File

@@ -4,6 +4,7 @@ DefaultDependencies=no
RequiresMountsFor=/run
[Service]
Type=notify
ExecStart=/usr/bin/psplash
[Install]

View File

@@ -2,6 +2,7 @@
Description=Start psplash-systemd progress communication helper
DefaultDependencies=no
After=systemd-start.service
After=psplash-start.service
Requires=psplash-start.service
RequiresMountsFor=/run

View File

@@ -4,8 +4,9 @@ HOMEPAGE = "http://git.yoctoproject.org/cgit/cgit.cgi/psplash"
SECTION = "base"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://psplash.h;beginline=1;endline=8;md5=8f232c1e95929eacab37f00900580224"
DEPENDS = "gdk-pixbuf-native"
SRCREV = "773a3977d255e8f59a741ad6ce37c4d40f1feaa1"
SRCREV = "0a902f7cd875ccf018456451be369f05fa55f962"
PV = "0.1+git${SRCPV}"
PR = "r15"
@@ -23,7 +24,6 @@ python __anonymous() {
splashfiles = d.getVar('SPLASH_IMAGES').split()
pkgs = []
localpaths = []
haspng = False
for uri in splashfiles:
fetcher = bb.fetch2.Fetch([uri], d)
flocal = os.path.basename(fetcher.localpath(uri))
@@ -41,17 +41,12 @@ python __anonymous() {
bb.fatal("The output name '%s' derived from the URI %s is not valid, please specify the outsuffix parameter" % (outname, uri))
else:
pkgs.append(outname)
if flocal.endswith(".png"):
haspng = True
localpaths.append(flocal)
# Set these so that we have less work to do in do_compile and do_install_append
d.setVar("SPLASH_INSTALL", " ".join(pkgs))
d.setVar("SPLASH_LOCALPATHS", " ".join(localpaths))
if haspng:
d.appendVar("DEPENDS", " gdk-pixbuf-native")
d.prependVar("PACKAGES", "%s " % (" ".join(pkgs)))
mlprefix = d.getVar('MLPREFIX') or ''
pn = d.getVar('PN') or ''
@@ -84,7 +79,7 @@ python do_compile () {
# Build a separate executable for each splash image
workdir = d.getVar('WORKDIR')
convertscript = "%s/make-image-header.sh" % d.getVar('S')
destfile = "%s/psplash-poky-img.h" % d.getVar('S')
destfile = "%s/psplash-poky-img.h" % d.getVar('B')
localfiles = d.getVar('SPLASH_LOCALPATHS').split()
outputfiles = d.getVar('SPLASH_INSTALL').split()
for localfile, outputfile in zip(localfiles, outputfiles):

View File

@@ -102,7 +102,7 @@ PACKAGECONFIG_remove_libc-musl = " \
utmp \
"
CFLAGS_append_libc-musl = "-D__UAPI_DEF_ETHHDR=0 "
CFLAGS_append_libc-musl = " -D__UAPI_DEF_ETHHDR=0 "
# Use the upstream systemd serial-getty@.service and rely on
# systemd-getty-generator instead of using the OE-core specific

View File

@@ -8,7 +8,7 @@ SECTION = "base"
LICENSE = "GPLv2+ & LGPLv2.1+ & BSD-3-Clause & BSD-4-Clause"
LIC_FILES_CHKSUM = "file://README.licensing;md5=972a134f1e14b2b060e365df2fab0099 \
LIC_FILES_CHKSUM = "file://README.licensing;md5=0fd5c050c6187d2bf0a4492b7f4e33da \
file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://Documentation/licenses/COPYING.GPL-2.0-or-later;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://Documentation/licenses/COPYING.LGPL-2.1-or-later;md5=4fbd65380cdd255951079008b364516c \
@@ -105,6 +105,7 @@ EXTRA_OECONF = "\
EXTRA_OECONF_append_class-target = " --enable-setpriv"
EXTRA_OECONF_append_class-native = " --without-cap-ng --disable-setpriv"
EXTRA_OECONF_append_class-nativesdk = " --without-cap-ng --disable-setpriv"
EXTRA_OECONF_append = " --disable-hwclock-gplv3"
# enable pcre2 for native/nativesdk to match host distros
# this helps to keep same expectations when using the SDK or

View File

@@ -0,0 +1,137 @@
From 00e53f17c8462cb34ece08cc10db60a7da29a305 Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Tue, 4 Feb 2020 15:11:19 +0100
Subject: [PATCH] libfdisk: (script) accept sector-size, ignore unknown headers
- add sector-size between supported headers (already in --dump output)
- report unknown headers by -ENOTSUP
- ignore ENOTSUP in sfdisk (but print warning) and in fdisk_script_read_file()
Upstream-Status: Backport [https://github.com/karelzak/util-linux/commit/00e53f17c8462cb34ece08cc10db60a7da29a305]
Addresses: https://github.com/karelzak/util-linux/issues/949
Signed-off-by: Karel Zak <kzak@redhat.com>
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
---
disk-utils/sfdisk.c | 6 +++++-
libfdisk/src/script.c | 49 ++++++++++++++++++++++++++-----------------------
2 files changed, 31 insertions(+), 24 deletions(-)
diff --git a/disk-utils/sfdisk.c b/disk-utils/sfdisk.c
index bb6e1c6..c0bea70 100644
--- a/disk-utils/sfdisk.c
+++ b/disk-utils/sfdisk.c
@@ -1782,7 +1782,11 @@ static int command_fdisk(struct sfdisk *sf, int argc, char **argv)
}
rc = fdisk_script_read_line(dp, stdin, buf, sizeof(buf));
- if (rc < 0) {
+ if (rc == -ENOTSUP) {
+ buf[sizeof(buf) - 1] = '\0';
+ fdisk_warnx(sf->cxt, _("Unknown script header '%s' -- ignore."), buf);
+ continue;
+ } else if (rc < 0) {
DBG(PARSE, ul_debug("script parsing failed, trying sfdisk specific commands"));
buf[sizeof(buf) - 1] = '\0';
rc = loop_control_commands(sf, dp, buf);
diff --git a/libfdisk/src/script.c b/libfdisk/src/script.c
index a21771b..d3e67fa 100644
--- a/libfdisk/src/script.c
+++ b/libfdisk/src/script.c
@@ -805,8 +805,12 @@ static inline int is_header_line(const char *s)
/* parses "<name>: value", note modifies @s*/
static int parse_line_header(struct fdisk_script *dp, char *s)
{
- int rc = -EINVAL;
+ size_t i;
char *name, *value;
+ static const char *supported[] = {
+ "label", "unit", "label-id", "device", "grain",
+ "first-lba", "last-lba", "table-length", "sector-size"
+ };
DBG(SCRIPT, ul_debugobj(dp, " parse header '%s'", s));
@@ -816,7 +820,7 @@ static int parse_line_header(struct fdisk_script *dp, char *s)
name = s;
value = strchr(s, ':');
if (!value)
- goto done;
+ return -EINVAL;
*value = '\0';
value++;
@@ -825,32 +829,30 @@ static int parse_line_header(struct fdisk_script *dp, char *s)
ltrim_whitespace((unsigned char *) value);
rtrim_whitespace((unsigned char *) value);
+ if (!*name || !*value)
+ return -EINVAL;
+
+ /* check header name */
+ for (i = 0; i < ARRAY_SIZE(supported); i++) {
+ if (strcmp(name, supported[i]) == 0)
+ break;
+ }
+ if (i == ARRAY_SIZE(supported))
+ return -ENOTSUP;
+
+ /* header specific actions */
if (strcmp(name, "label") == 0) {
if (dp->cxt && !fdisk_get_label(dp->cxt, value))
- goto done; /* unknown label name */
+ return -EINVAL; /* unknown label name */
dp->force_label = 1;
+
} else if (strcmp(name, "unit") == 0) {
if (strcmp(value, "sectors") != 0)
- goto done; /* only "sectors" supported */
- } else if (strcmp(name, "label-id") == 0
- || strcmp(name, "device") == 0
- || strcmp(name, "grain") == 0
- || strcmp(name, "first-lba") == 0
- || strcmp(name, "last-lba") == 0
- || strcmp(name, "table-length") == 0) {
- ; /* whatever is possible */
- } else
- goto done; /* unknown header */
+ return -EINVAL; /* only "sectors" supported */
- if (*name && *value)
- rc = fdisk_script_set_header(dp, name, value);
-done:
- if (rc)
- DBG(SCRIPT, ul_debugobj(dp, "header parse error: "
- "[rc=%d, name='%s', value='%s']",
- rc, name, value));
- return rc;
+ }
+ return fdisk_script_set_header(dp, name, value);
}
/* returns zero terminated string with next token and @str is updated */
@@ -1363,7 +1365,8 @@ int fdisk_script_set_fgets(struct fdisk_script *dp,
*
* Reads next line into dump.
*
- * Returns: 0 on success, <0 on error, 1 when nothing to read.
+ * Returns: 0 on success, <0 on error, 1 when nothing to read. For unknown headers
+ * returns -ENOTSUP, it's usually safe to ignore this error.
*/
int fdisk_script_read_line(struct fdisk_script *dp, FILE *f, char *buf, size_t bufsz)
{
@@ -1428,7 +1431,7 @@ int fdisk_script_read_file(struct fdisk_script *dp, FILE *f)
while (!feof(f)) {
rc = fdisk_script_read_line(dp, f, buf, sizeof(buf));
- if (rc)
+ if (rc && rc != -ENOTSUP)
break;
}
--
2.7.4

View File

@@ -1,36 +0,0 @@
From e3bb9bfb76c17b1d05814436ced62c05c4011f48 Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Thu, 27 Jun 2019 09:22:18 +0200
Subject: [PATCH] lsblk: force to print PKNAME for partition
PKNAME (parent kernel device name) is based on printed tree according
to parent -> child relationship. The tree is optional and not printed
if partition specified (.e.g "lsblk -o+PKNAME /dev/sda1"), but old
versions print the PKNAME also in this case.
Upstream-Status: Backport [https://github.com/karelzak/util-linux/commit/e3bb9bfb76c17b1d05814436ced62c05c4011f48]
Addresses: https://github.com/karelzak/util-linux/issues/813
Signed-off-by: Karel Zak <kzak@redhat.com>
Signed-off-by: Liwei Song <liwei.song@windriver.com>
---
misc-utils/lsblk.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/misc-utils/lsblk.c b/misc-utils/lsblk.c
index e95af7af0256..3ce6da730264 100644
--- a/misc-utils/lsblk.c
+++ b/misc-utils/lsblk.c
@@ -1019,6 +1019,9 @@ static void device_to_scols(
DBG(DEV, ul_debugobj(dev, "add '%s' to scols", dev->name));
ON_DBG(DEV, if (ul_path_isopen_dirfd(dev->sysfs)) ul_debugobj(dev, " %s ---> is open!", dev->name));
+ if (!parent && dev->wholedisk)
+ parent = dev->wholedisk;
+
/* Do not print device more than one in --list mode */
if (!(lsblk->flags & LSBLK_TREE) && dev->is_printed)
return;
--
2.17.1

View File

@@ -7,8 +7,8 @@ SRC_URI += "file://configure-sbindir.patch \
file://run-ptest \
file://display_testname_for_subtest.patch \
file://avoid_parallel_tests.patch \
file://0001-lsblk-force-to-print-PKNAME-for-partition.patch \
file://0001-hwclock-fix-for-glibc-2.31-settimeofday.patch \
file://0001-libfdisk-script-accept-sector-size-ignore-unknown-he.patch \
"
SRC_URI[md5sum] = "a78cbeaed9c39094b96a48ba8f891d50"
SRC_URI[sha256sum] = "743f9d0c7252b6db246b659c1e1ce0bd45d8d4508b4dfa427bbb4a3e9b9f62b5"
SRC_URI[md5sum] = "7f64882f631225f0295ca05080cee1bf"
SRC_URI[sha256sum] = "d9de3edd287366cd908e77677514b9387b22bc7b88f45b83e1922c3597f1d7f9"

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